Timothy Flynn
27737f613c
LibTimeZone+LibJS: Update to TZDB version 2022e
...
https://mm.icann.org/pipermail/tz-announce/2022-October/000074.html
This version changes America/Chicago's transtion from LMT to CST from
1883 Nov 18 12:09:24 to 1883 Nov 18 18:00.
2022-10-18 16:01:44 +02:00
leeight
0d96468e9b
LibJS: Implement RegExp legacy static properties
...
RegExp legacy static properties Spec url is https://github.com/tc39/proposal-regexp-legacy-features
2022-10-17 17:08:33 +02:00
Linus Groh
4567ded8e4
LibJS: Reject relativeTo string such as "2022-08-18T17:01Z"
...
This is a normative change in the Temporal spec.
See: 2dc20bf
2022-10-17 12:56:05 +02:00
Luke Wilde
35c9e324b4
LibJS: Add fast path TimeZone conversion to PlainDate#toZonedDateTime
...
This is a normative chane in the Temporal spec.
See: fcab1af
2022-10-16 13:40:21 +02:00
Luke Wilde
707f12f927
LibJS: Remove extra property check from Instant#toZonedDateTimeISO
...
This is a normative change in the Temporal spec.
See: 7dfbd80
2022-10-16 13:40:21 +02:00
Luke Wilde
f7bb79d6d1
LibJS: Fast-path ToTemporalTimeZone when the argument is a TimeZone
...
This is a normative change in the Temporal spec.
See: 54cea53
2022-10-16 13:40:21 +02:00
Luke Wilde
8c3512d6ce
LibJS: Fast-path ToTemporalCalendar when the argument is a Calendar
...
This is a normative change in the Temporal spec.
See: 2a43b39
2022-10-16 13:40:21 +02:00
Luke Wilde
d5d1146cc3
LibJS/Temporal: Fix inconsistency in order of observable operations
...
This is a normative change in the Temporal spec.
See: a3a8237
2022-10-14 18:55:12 +02:00
davidot
1b0ca52c54
LibJS: Disallow one day long time zone offsets
...
This is a normative change in the Temporal spec.
See: 9cc8b29b
2022-10-14 11:23:50 +02:00
Timothy Flynn
7fc03e8967
LibJS: Use Unicode normalization within String.prototype.normalize
2022-10-06 22:14:44 +01:00
Timothy Flynn
82e730eba1
LibJS: Change default time display options to "always" for digital style
...
This is a normative change in the Intl.DurationFormat proposal. See:
d28076b
2022-09-22 14:39:24 +01:00
davidot
446a10a1ac
LibJS: Implement normative change in String.prototype.substr
...
And add spec comments while we're in the neighborhood.
2022-09-21 16:59:58 +01:00
Timothy Flynn
60a6bae53d
LibJS: Change digital default style from "narrow" to "short"
...
This is a normative change in the Intl.DurationFormat proposal. See:
4c24876
2022-09-21 16:09:38 +01:00
Timothy Flynn
887dac0929
LibJS: Handle NumberFormat's [[UseGrouping]] option for "true" / "false"
...
This is a normative change to the Intl NumberFormat V3 spec. See:
4751da5
2022-09-18 09:45:40 -04:00
davidot
03c468fb7d
LibJS: Parse date strings like "9/17/2022"
2022-09-17 18:53:14 +02:00
Brian Gianforcaro
d0a1775369
Everywhere: Fix a variety of typos
...
Spelling fixes found by `codespell`.
2022-09-14 04:46:49 +00:00
Timothy Flynn
c477425b9b
LibJS: Create DurationFormat's ListFormat object with type and style
...
This is a normative change in the Intl.DurationFormat spec. See:
1304e4b
2022-08-30 14:26:11 -04:00
Timothy Flynn
127b28c940
LibJS: Use numeric style if the previous style was numeric or 2-digit
...
This is a normative change in the Intl.DurationFormat proposal. See:
3a46ee3
2022-08-30 14:26:11 -04:00
Timothy Flynn
d57b92da09
LibJS: Default to "short" for DurationFormat's style option
...
This is a normative change in the Intl.DurationFormat proposal. See:
b289494
2022-08-30 14:26:11 -04:00
Timothy Flynn
765d016670
LibJS: Default to 0 for DurationFormat's fractionalDigits option
...
This is a normative change in the Intl.DurationFormat proposal. See:
ac7e184
2022-08-30 14:26:11 -04:00
Slappy826
f4b3bb519f
LibJS: Handle non-decimal integer literals in Value::to_number
...
Implements support for parsing binary and octal literals, and fixes
instances where a hex literal is parsed in ways the spec doesn't
allow.
2022-08-30 01:00:48 +01:00
Luke Wilde
9643a5c63f
LibJS: Accept and ignore calendar annotation in Instant strings
...
This is a normative change in the Temporal spec.
See: 3cd9669
2022-08-25 23:07:08 +01:00
Luke Wilde
54bb6bf2c0
LibJS: Avoid calling ToString on calendar when calendarName is "never"
...
This is a normative change in the Temporal spec.
See:
- 6122f4e
- cf586bc
2022-08-25 21:11:23 +01:00
Timothy Flynn
6309b8773d
LibJS: Guard IntegerIndexedElementSet with receiver check
...
This is a normative change in the ECMA-262 spec. See:
3620f11
2022-08-25 19:50:04 +01:00
Timothy Flynn
a803d9226f
LibJS: Always access RegExp flags by its "flags" property
...
This is a normative change in the ECMA-262 spec. See:
35b7eb2
Note there is a bit of weirdness between the mainline spec and the set
notation proposal as the latter has not been updated with this change.
For now, this implements what the spec PR and other prototypes indicate
how the proposal will behave.
2022-08-25 16:39:45 +01:00
davidot
b79f03182d
LibJS: Add special cases for Math.cosh and add spec comments
...
Although this already works in most cases in non-kvm serenity cases the
cosh and other math function tend to return incorrect values for
Infinity. This makes sure that whatever the underlying cosh function
returns Math.cosh conforms to the spec.
2022-08-20 23:53:55 +01:00
davidot
0f9434a02c
LibJS: Make StringToNumber case sensitive when falling back to strtod
...
We use strtod to convert a string to number after checking whether the
string is [+-]Infinity, however strtod also checks for either 'inf' or
'infinity' in a case-insensitive.
There are still valid cases for strtod to return infinity like 10e100000
so we just check if the "number" contains 'i' or 'I' in which case
the strtod infinity is not valid.
2022-08-17 23:56:24 +01:00
davidot
9d05ca7b20
LibJS: Don't assume a this argument for function.prototype.bind
...
Assuming we had at least one argument meant that the ...arg count would
underflow causing the bound function to have length 0 instead of the
given length when binding with no arguments.
2022-08-17 23:56:24 +01:00
davidot
da8715a07c
LibJS: Add extreme value tests for cos and sin
...
These sometimes produce different NaN patterns which can mess up the
value encoding.
2022-08-15 17:11:25 +02:00
Linus Groh
849495915b
LibJS: Make Function.prototype a callable function object
...
20.2.3 Properties of the Function Prototype Object
https://tc39.es/ecma262/#sec-properties-of-the-function-prototype-object
The Function prototype object:
- is itself a built-in function object.
2022-08-14 00:44:27 +01:00
davidot
301bba8c19
LibJS: Only coerce value once in BigInt constructor
...
See https://github.com/tc39/ecma262/pull/2812 .
2022-08-03 20:59:59 +01:00
Linus Groh
fed1498824
LibJS: Implement & use the {Ordinary,PrepareFor}WrappedFunctionCall AOs
...
This is a normative change in the ShadowRealm spec.
See: 5a3aae8
2022-07-31 14:39:06 +02:00
Linus Groh
6850f25840
LibJS: Support IANA legacy names in the Temporal ISO 8601 grammar
...
This is a normative change in the Temporal spec.
See: 2419680
2022-07-30 10:50:50 +01:00
Timothy Flynn
60f3880650
LibJS: Remove %TypedArray%.prototype.toSpliced
...
This was removed from the change-array-by-copy proposal. See:
4c194d9
2022-07-27 17:35:50 +01:00
Timothy Flynn
417a385db1
LibJS: Allow out-of-order plural ranges to be formatted
...
This is a normative change to the Intl NumberFormat V3 spec:
0c3d849
2022-07-26 10:46:08 -07:00
Timothy Flynn
fd7d97fba5
LibJS: Allow out-of-order number ranges to be formatted
...
This is a normative change to the Intl NumberFormat V3 spec:
0c3d849
2022-07-26 10:46:08 -07:00
Timothy Flynn
415742ab98
LibJS: Allow out-of-order date ranges to be formatted
...
This is a normative change to the Intl spec:
769df4b
2022-07-26 10:46:08 -07:00
Timothy Flynn
ae2acc8cdf
LibJS+LibUnicode: Generate a set of default DateTimeFormat patterns
...
This isn't called out in TR-35, but before ICU even looks at CLDR data,
it adds a hard-coded set of default patterns to each locale's calendar.
It has done this since 2006 when its DateTimeFormat feature was first
created. Several test262 tests depend on this, which under ECMA-402,
falls into "implementation defined" behavior. For compatibility, we
can do the same in LibUnicode.
2022-07-22 23:51:56 +01:00
Obinna Ikeh
9956d3d1e1
LibJS: Add tests for %TypedArray%.prototype.with
2022-07-22 17:17:15 +01:00
Luke Wilde
1e829c4ea8
LibJS: Check PlainMonthDay is in the ISO date time limits in creation
...
This is a normative change in the Temporal spec.
See: 374305c
2022-07-22 17:10:03 +01:00
Luke Wilde
61847b3cef
LibJS: Disallow negative day lengths in ZonedDateTime.protoype.round
...
This is a normative change in the Temporal spec.
See: 6f04074
2022-07-22 17:10:03 +01:00
Timothy Flynn
b8d4f8debf
LibJS: Selectively display DateTimeFormat day periods as noon
2022-07-21 20:36:03 +01:00
Timothy Flynn
0f26ab89ae
LibJS+LibUnicode: Handle flexible day periods on both sides of midnight
...
Commit ec7d535
only partially handled the case of flexible day periods
rolling over midnight, in that it only worked for hours after midnight.
For example, the en locale defines a day period range of [21:00, 06:00).
The previous method of adding 24 hours to the given hour would change
e.g. 23:00 to 47:00, which isn't valid.
2022-07-21 20:36:03 +01:00
Timothy Flynn
e9e187d15c
LibJS: Implement Intl.NumberFormat.prototype.formatRangeToParts
2022-07-20 22:30:16 +01:00
Timothy Flynn
b4a772cde2
LibJS: Implement Intl.NumberFormat.prototype.formatRange
2022-07-20 22:30:16 +01:00
Ali Mohammad Pur
f4b26b0cea
LibJS: Hook up the 'v' (unicodeSets) RegExp flag
2022-07-20 21:25:59 +01:00
Timothy Flynn
4b415a23c1
LibJS: Implement Intl.NumberFormat V3's [[RoundingIncrement]] changes
2022-07-18 23:37:31 +01:00
Timothy Flynn
8ee485c350
LibJS: Implement Intl.NumberFormat V3's [[RoundingMode]] changes
2022-07-18 23:37:31 +01:00
Timothy Flynn
37ab7cc694
LibJS: Implement Intl.NumberFormat V3's [[TrailingZeroDisplay]] changes
2022-07-18 08:51:07 +01:00
Timothy Flynn
bb9a44cd50
LibJS: Implement Intl.NumberFormat V3's [[RoundingPriority]] changes
2022-07-18 08:51:07 +01:00