Jason Williams
c977b8e5aa
changelog v0.13 ( #1590 )
...
Co-authored-by: Iban Eguia <iban.eguia@cern.ch>
3 years ago
jedel1043
dd84439ea0
Refactor the `Math` builtin object ( #1584 )
...
* Document the `Math` builtin object
* Fix typos and rename variables
3 years ago
Iban Eguia
9a915c3ee9
Added "js" feature for getrandom for WebAssembly builds ( #1521 )
3 years ago
jedel1043
25ac4cc67a
Allow moving `NativeObject` variables into closures as external captures ( #1523 )
...
* Allow passing additional `NativeObject` captures to closures
* Add test for external closure captures
3 years ago
neeldug
21ef83940e
missing normalization improvement for has ( #1578 )
...
related to: #1445
3 years ago
raskad
e4226c855d
Refactor `JSON.parse` ( #1535 )
3 years ago
raskad
c5a4be02e6
Refactor `EnvironmentRecordTrait` functions ( #1569 )
3 years ago
dependabot[bot]
0d2f53657c
Bump serde_json from 1.0.67 to 1.0.68 ( #1577 )
3 years ago
raskad
9b8f50ee58
Implement `ComputedPropertyName` for accessor properties in `ObjectLiteral` ( #1526 )
3 years ago
jedel1043
8ba500a26a
Refactor builtin `Map` intrinsics to follow more closely the spec ( #1572 )
...
* Refactor builtin `Map` object and document methods
* Replace some calls to `is_function` with `is_callable`
* Remove `expect_map` methods and cleanup some `expect`s
3 years ago
neeldug
2f8c35db57
improve map conformance without losing perf ( #1445 )
...
* improve map conformance without losing perf
add clear & foreach & delete
3 years ago
Halid Odat
13482493d7
Optimize integer negation ( #1464 )
...
* Optimize integer negation
* Check for `-0`
* Make `JsValue::rem` spec compliant
Co-authored-by: jedel1043 <jedel0124@gmail.com>
3 years ago
raskad
f1b5358834
Add strict mode flag to `Context` ( #1550 )
...
* Add strict mode flag to `Context`
* Add strict mode handling of `delete`
* Add strict mode test
* Handle non-strict functions in strict functions
* Enable strict mode for functions defined in a strict context
3 years ago
jedel1043
c91af158d0
Implement abstract operation `GetPrototypeFromConstructor` ( #1561 )
3 years ago
Kevin Velasco
9f5ee5f012
Implement Display for function objects ( #1309 )
...
* Do the naive thing for questions
* Move all the rendering code to the builtin function struct
* prevent panics when called unconventionally
* remove unnecessary clone
* fix clippy issues
* Docs: minor phrasing fix
Co-authored-by: João Borges <rageknify@gmail.com>
3 years ago
jedel1043
87e7ca345a
Replace more instances with `get_or_undefined`
3 years ago
jedel1043
2a8d343fdd
Implement new `get_or_undefined` method for `[JsValue]` ( #1492 )
...
* Create `JsArgs` trait
* Implement trait `JsArgs` for `[JsValue]`
* Replace calls to `get/unwrap_or` with `get_or_undefined`
3 years ago
neeldug
e9d7ac9333
Add `Array.prototype.splice` ( #1365 )
...
* Add `Array.prototype.splice` (#1365 )
3 years ago
dependabot[bot]
24febf4612
Bump num-bigint from 0.4.1 to 0.4.2 ( #1556 )
3 years ago
raskad
6115182ab9
Replace `FxHashMap` with `IndexMap` in object properties ( #1547 )
...
* Replace `FxHashMap` with `IndexMap` in object properties
* Add test for property order
* Remove unneeded sort from `JSON.stringify`
3 years ago
dependabot[bot]
a11a8a9d20
Bump serde from 1.0.129 to 1.0.130 ( #1537 )
3 years ago
dependabot[bot]
f6ac657f28
Bump num-bigint from 0.4.0 to 0.4.1 ( #1538 )
3 years ago
dependabot[bot]
a72dd46ec7
Bump serde_json from 1.0.66 to 1.0.67 ( #1536 )
3 years ago
raskad
4464a8cc5e
Always return `undefined` from functions that do not `return` ( #1528 )
3 years ago
Francis Murillo
22d0c37b2d
Implement spread for objects ( #1364 )
...
* Implement spread for objects
* Use copy_data_properties for object spread
* Use check_output for object spread test
3 years ago
Halid Odat
ae73c261a3
Implement `Object.preventExtensions()` and `Object.isExtensible()` ( #1525 )
3 years ago
jedel1043
f9a82b4a13
Restrict `ClosureFunction` to only `Copy` closures ( #1518 )
3 years ago
Halid Odat
25efd220c8
Constant `JsString`s ( #1435 )
3 years ago
Halid Odat
23dc134f63
Implement JsStirng::concat_array() ( #1509 )
3 years ago
Iban Eguia
aa087a421d
Fixed Array.of panic with a non-conforming type error ( #1520 )
3 years ago
raskad
1687ecf877
Implement `ComputedPropertyName` in `ObjectLiteral` ( #1514 )
3 years ago
Halid Odat
383f648313
Implement `Object.seal/isSealed/freeze/isFrozen` ( #1511 )
...
* Implement `Object.seal/isSealed/freeze/isFrozen`
* Doc fix
3 years ago
jedel1043
8afd50fb22
Proposal of new `Object` design ( #1354 )
...
* Implement `InternalObjectMethods` struct for `Object`
* Implement remaining string internal methods
* Split object internal methods and operations in modules
* Store internal object methods as static struct
* Document `ObjectData` and order indices on `[[OwnPropertyKeys]]`
* Document and rearrange internal object methods
3 years ago
Iban Eguia
ca9120de05
Fixed tests compilation ( #1516 )
3 years ago
David M
d86b56927e
Implement parsing for object shorthand properties ( #1324 )
3 years ago
Halid Odat
cd54ff5c5b
Implement `Object.prototype.valueOf` ( #1510 )
3 years ago
raskad
a0c65c9f9b
Fix `Number.MIN_VALUE` ( #1513 )
3 years ago
raskad
3313ad6096
Refactor `JSON.stringify` ( #1495 )
3 years ago
Bartek Iwańczuk
26e149795a
Rename `GcObject` to `JsObject` ( #1489 )
...
* Rename `GcObject` to `JsObject`
* fmt
3 years ago
raskad
8c733c3821
Make `BigInt.prototype.toString` spec compliant ( #1503 )
3 years ago
Halid Odat
f6749f9dbf
Implement `Object.values()` ( #1508 )
3 years ago
dependabot[bot]
42610ace44
Bump serde from 1.0.128 to 1.0.129 ( #1507 )
3 years ago
jedel1043
02d917bb9d
Fix panic on example `classes.rs` ( #1496 )
...
* Set prototype of `NativeObject` object instances
* Improve documentation of example `classes.rs`
* Run example `classes.rs` on CI
3 years ago
Iban Eguia
aefa314e3f
Updated dependencies ( #1500 )
3 years ago
raskad
42686de9f4
Allow `NewExpression` without arguments ( #1505 )
...
* Allow `NewExpression` without arguments
* Fix arrow functions to not be constructable
3 years ago
jedel1043
d3a70e8a81
Reuse `PropertyNameKind` for all iterators ( #1494 )
3 years ago
raskad
0f66054b47
Adjust `EnumerableOwnPropertyNames` to use all `String` type property keys ( #1502 )
...
* Adjust `EnumerableOwnPropertyNames` to use all `String` type property keys
* Change if-else to match
* Match on PropertyNameKind
3 years ago
Bartek Iwańczuk
42d8f20917
Rename `boa::Result` to `JsResult` ( #1493 )
...
* Rename `boa::Result` to `JsResult`
* fix vm/mod.rs
* rustfmt
3 years ago
dependabot[bot]
59c56c50f3
Bump serde from 1.0.127 to 1.0.128 ( #1497 )
3 years ago
raskad
eaaae85440
Date refactor ( #1488 )
...
* Handle high and negative values in `new Date()`
* Refactor `Date` setter methods
* Refactor some `Date` getter methods
* Adhere to spec in `Date.prototype[Symbol.toPrimitive]`
3 years ago