1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 05:48:12 +00:00
Commit graph

3111 commits

Author SHA1 Message Date
Linus Groh
c0986be2c1 LibJS: Use consistent alias names for object-copy steps
This is an editorial change in the Temporal spec.

See: 6669bad
2022-06-15 17:49:20 +01:00
Linus Groh
e68173b656 LibJS: Update AvailableCalendars AO to reflect spec changes
These are editorial and normative changes in the Temporal spec.

See:
- 2c977fc
- 3af75ec
- 75ea812
- e7be49b
- 883e00a
- 5b9d76a
2022-06-15 17:49:20 +01:00
Linus Groh
3025f77991 LibJS: Add an explicit operation for merging calendar field names
This is an editorial change in the Temporal spec.

See: 2bd7977
2022-06-15 17:49:20 +01:00
Linus Groh
ee80164ac1 LibJS: Remove unnecessary variable initialization in DifferenceISODate
This is an editorial change in the Temporal spec.

See: ca1abdc
2022-06-15 17:49:20 +01:00
Linus Groh
fafc9b07c4 LibJS: Mark AO calls creating a copy of built-in objects as infallible
This is an editorial change in the Temporal spec.

See: 536f067
2022-06-15 17:49:20 +01:00
Linus Groh
be2c86002a LibJS: Handle absent options in DifferenceZonedDateTime
This is an editorial change in the Temporal spec.

See: edc223c
2022-06-15 17:49:20 +01:00
Linus Groh
5eb48f6f3a LibJS: Remove constant arguments from CalculateOffsetShift
This is an editorial change in the Temporal spec.

See: 0bc5f9d
2022-06-15 17:49:20 +01:00
Linus Groh
2ce3d4389a LibJS: Use existing variable instead of re-reading internal slot
This is an editorial change in the Temporal spec.

See: 8d62569
2022-06-15 17:49:20 +01:00
Linus Groh
a7dfe9096c LibJS: Switch branches in RegulateISODate
This is an editorial change in the Temporal spec.

See: 2e4a06f
2022-06-15 17:49:20 +01:00
Linus Groh
07041498f8 LibJS: Inline ConstrainISOYearMonth into RegulateISOYearMonth
This is an editorial change in the Temporal spec.

See: c97932b
2022-06-15 17:49:20 +01:00
Linus Groh
aaa9524a52 LibJS: Add parentheses around modulo operation
This is an editorial change in the Temporal spec.

See: 90e4b34
2022-06-15 17:49:20 +01:00
Linus Groh
287dd03e2e LibJS: Use nsMinInstant / nsMaxInstant constants in ParseTemporalInstant
This is an editorial change in the Temporal spec.

See: a045682
2022-06-15 17:49:20 +01:00
Linus Groh
690585323d LibJS: Prefer Else + Assertion over If for constrained values
This is an editorial change in the Temporal spec.

See: 2088eaa
2022-06-15 17:49:20 +01:00
Linus Groh
9b3602d000 LibJS: Update missing/superfluous commas in various spec comments
These are editorial changes in the Temporal spec.

See:
- 9586746
- 3c76ecc
- 96eab07
2022-06-15 17:49:20 +01:00
Linus Groh
30328d74d0 LibJS: Use MaximumTemporalDurationRoundingIncrement in two more places
This is an editorial change in the Temporal spec.

See: de582e2
2022-06-15 17:49:20 +01:00
Linus Groh
6c82c9df79 LibJS: Fix GetIterator capitalization in Calendar.prototype.fields
This is an editorial change in the Temporal spec.

See: 8538970
2022-06-15 17:49:20 +01:00
Linus Groh
9d2377ff60 LibJS: Only call CanonicalizeTimeZoneName on valid time zone IDs
This is an editorial change in the Temporal spec.

See: 30122e6
2022-06-15 17:49:20 +01:00
Linus Groh
cf61d01140 LibJS: Add a named alias for parseResult.[[Name]] in ToTemporalTimeZone
This is an editorial change in the Temporal spec.

See: 8ddcb07
2022-06-15 17:49:20 +01:00
Linus Groh
71a519831d LibJS: Update to the latest ECMA-402 GetOption and move it into ECMA-262
This is an editorial change in the Temporal spec.

See: 4e79b69
2022-06-15 17:49:20 +01:00
Linus Groh
46d2ac6da4 LibJS: Align Temporal GetOption AO with ECMA-402
This is an editorial change in the Temporal spec.

See: 7b6a264
2022-06-15 17:49:20 +01:00
Linus Groh
c8d84f33b0 LibJS: Remove unused GetStringOrNumberOption operation
This is an editorial change in the Temporal spec.

See: d8b3423
2022-06-15 17:49:20 +01:00
Linus Groh
d1b71cba25 LibJS: Explicitly handle "auto" vs. number fractionalSecondDigits
This is an editorial change in the Temporal spec.

See:
- 4dd6713
- 4c2476b
- f1a839b
- c775ebe
- 0409774

(Changes across multiple commits, that ended up being reverted.)
2022-06-15 17:49:20 +01:00
Linus Groh
cbc4cf057d LibJS: Improve an alias name in ToSecondsStringPrecision
This is an editorial change in the Temporal spec.

See: b75bd9e
2022-06-15 17:49:20 +01:00
Linus Groh
4494be8cf2 LibJS: Inline call to AddISODate in ZonedDateTime.prototype.hoursInDay
This is an editorial change in the Temporal spec.

See: f034239
2022-06-15 17:49:20 +01:00
Linus Groh
810e9e32c9 LibJS: Remove RegulateISODate after BalanceISODate in AddISODate
This is an editorial change in the Temporal spec.

See: 32b22b1
2022-06-15 17:49:20 +01:00
Linus Groh
e96df3b7a7 LibJS: Leverage PrepareTemporalFields in ToTemporalTimeRecord
This is an editorial change in the Temporal spec.

See: b5ba981
2022-06-15 17:49:20 +01:00
Linus Groh
6cc69bbd8e LibJS: Rename ToPartialDuration to ToTemporalPartialDurationRecord
This is an editorial change in the Temporal spec.

See: 0509d41
2022-06-15 17:49:20 +01:00
Linus Groh
6982e53113 LibJS: Leverage ToPartialDuration in ToTemporalDurationRecord
This is an editorial change in the Temporal spec.

See: c3efde0
2022-06-15 17:49:20 +01:00
Linus Groh
9bcd88828f LibJS: Fold ToPartialTime into ToTemporalTimeRecord
This is an editorial change in the Temporal spec.

See: 58e476d
2022-06-15 17:49:20 +01:00
Linus Groh
3e6561c75f LibJS: Fold PreparePartialTemporalFields into PrepareTemporalFields
This is an editorial change in the Temporal spec.

See: 6ed1835
2022-06-15 17:49:20 +01:00
Linus Groh
631f270ac1 LibJS: Add missing conversion to integer values in Calendar AOs
This is an editorial change in the Temporal spec.

See: bfeb523
2022-06-15 17:49:20 +01:00
Linus Groh
03f48056d5 LibJS: Mark various uses of CreateTemporalTime as infallible
These are editorial changes in the Temporal spec.

See:
- dd35d5e
- 1ec6673
- 8c04e3b
- df7a802
- 5fc71ae
- ca305c6
2022-06-15 17:49:20 +01:00
Obinna Ikeh
3d99e83a86 LibJS: Update order of parameters in our is_less_than implementation
This change updates the parameter order of the is_less_than function
signature and calls to match accordingly with the spec
(https://tc39.es/ecma262/#sec-islessthan)
2022-06-13 17:37:11 -07:00
Linus Groh
698062b831 LibJS: Implement Array.prototype.with() 2022-06-13 20:26:54 +01:00
Linus Groh
ae81793f20 LibJS: Implement Array.prototype.toSpliced() 2022-06-13 20:26:54 +01:00
Linus Groh
ce17c868c0 LibJS: Implement Array.prototype.toSorted() 2022-06-13 20:26:54 +01:00
Linus Groh
e4370b7d82 LibJS: Implement Array.prototype.toReversed() 2022-06-13 20:26:54 +01:00
Linus Groh
e2a5a27302 LibJS: Implement the SortIndexedProperties AO
Also use it in array_merge_sort() instead of inlining the algorithm.
2022-06-13 20:26:54 +01:00
Linus Groh
5ddf0b0c99 LibJS: Implement the CompareArrayElements AO 2022-06-13 20:26:54 +01:00
Linus Groh
aa5d5bf1c8 LibJS: Remove redundant VM& parameter from array_merge_sort()
This is covered by GlobalObject& just fine.
2022-06-13 20:26:54 +01:00
Linus Groh
105c516a78 LibJS: Make array_merge_sort() public 2022-06-13 20:26:54 +01:00
Linus Groh
a4d0a6e1c1 LibJS: Update Array.prototype.group{,ToMap} spec URLs
This is an editorial change in the Array Grouping spec.

See: c51cac5
2022-06-13 20:15:56 +01:00
Linus Groh
013e2df858 LibJS: Rename Array.prototype.groupBy{,ToMap} => group{,ToMap}
This is a normative change in the Array Grouping spec.

See: 0cf4077
2022-06-13 20:05:24 +01:00
Matthias Zimmerman
c10d48b72c AK/ByteBuffer+Everywhere: Handle errors in ByteBuffer::slice() 2022-06-13 15:38:51 +01:00
Luke Wilde
125a71d36d LibJS/Bytecode: Define named functions as a variable inside their scope
This allows you to recurse into a named function that is stored in a
variable. For example, this would previously print "wrong" instead of
"right":
```js
function g() { console.log("wrong") }
f = function g(i) { if (i !== 1) g(1); else console.log("right"); }
f()
```
2022-06-13 07:13:03 +04:30
Luke Wilde
9ad807d08b LibJS/Bytecode: Pass contains_direct_call_to_eval into ESFO::create
Previously it would pass in `is_arrow_function` as
`contains_direct_call_to_eval`, which broke strict mode propagation in
arrow functions. This makes test-js work without falling apart because
`this` is mysteriously undefined because of the use of arrow functions
inside classes, which are strict mode by default.
2022-06-13 07:13:03 +04:30
Luke Wilde
77f88d00e0 LibJS/Bytecode: Make return; return undefined
Previously it would return whatever was in the accumulator.
2022-06-13 07:13:03 +04:30
Luke Wilde
482a827346 LibJS/Bytecode: Make typeof return "undefined" on unresolvable IDs
Previously it would throw instead of returning "undefined" for
`typeof Identifier` if Identifier does not exist.
2022-06-13 07:13:03 +04:30
Luke Wilde
c0fadfb9b7 LibJS/Bytecode: Implement break/continue labels
This is done by keeping track of all the labels that apply to a given
break/continue scope alongside their bytecode target. When a
break/continue with a label is generated, we scan from the most inner
scope to the most outer scope looking for the label, performing any
necessary unwinds on the way. Once the label is found, it is then
jumped to.
2022-06-13 07:13:03 +04:30
Linus Groh
4c77575ec5 LibJS: Simplify Temporal unit AOs
This is an editorial change in the Temporal spec.

See: 1b3d018
2022-06-10 12:39:11 +02:00