Timothy Flynn
4d32f38a76
LibJS: Partially implement Intl.Locale.prototype.collations property
...
We do not yet parse collation data from the CLDR. This stubs out the
collations property, analogous to Intl.supportedValuesOf.
2022-07-06 16:56:42 +02:00
Timothy Flynn
e9bc35d805
LibJS: Implement Intl.Locale.prototype.calendars property
2022-07-06 16:56:42 +02:00
Linus Groh
028a6b90b1
LibJS: Revert partial resizable ArrayBuffer implementation
...
This is a manual but clean revert of all commits from #12595 .
Adding a partial implementation of the resizable ArrayBuffer proposal
without implementing all the updates to TypedArray infrastructure that
is also covered by the spec introduced a bunch of crashes, so we
decided to revert it for now until a full implementation is completed.
2022-07-06 15:52:57 +02:00
Idan Horowitz
d9a4b3e46a
LibJS: Implement Intl.DurationFormat.prototype.resolvedOptions
2022-07-01 01:00:05 +03:00
Idan Horowitz
97fe37bcc2
LibJS: Start implementing the stage 3 Intl.DurationFormat proposal
2022-07-01 01:00:05 +03: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
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
stelar7
771e3b9868
LibJS: Stub out String.prototype.normalize
2022-06-02 23:04:27 +01:00
ForLoveOfCats
f350c153e8
LibJS: Implement and test ArrayBuffer.prototype.resize
2022-03-02 20:53:18 +01:00
ForLoveOfCats
b29e19c52a
LibJS: Implement and test getters added by resizable ArrayBuffer
2022-03-02 20:53:18 +01:00
ForLoveOfCats
e8416b603f
LibJS: Accept ArrayBuffer constructor options argument
...
Test262 seems to test the changes in the "Resizable ArrayBuffer and
growable SharedArrayBuffer" proposal. Begin implementing this proposal
by accepting the new options object argument to the ArrayBuffer
constructor.
https://tc39.es/proposal-resizablearraybuffer
https://github.com/tc39/test262/blob/main/test/built-ins/ArrayBuffer/options-maxbytelength-diminuitive.js
2022-03-02 20:53:18 +01:00
Hendiadyoin1
89c82abf1f
LibJS: Implement non standard error.stack attribute
...
All other browser already support this feature.
There is a Stage 1 proposal to standardize this, but it does not seem
to be active.
2022-02-07 14:17:57 +00:00
Idan Horowitz
366468f1de
LibJS: Implement Intl %SegmentsPrototype%.containing
2022-01-31 21:05:04 +02:00
Idan Horowitz
96af50bbba
LibJS: Implement the Intl CreateSegmentDataObject AO
2022-01-31 21:05:04 +02:00
Timothy Flynn
fb08a5a896
LibJS: Implement Intl.supportedValuesOf
...
This is a stage 3 ECMA-402 proposal:
https://tc39.es/proposal-intl-enumeration/
2022-01-31 00:32:41 +00:00
Idan Horowitz
9001a8cbe1
LibJS: Implement Intl.Segmenter.prototype.segment
2022-01-30 19:47:01 +00:00
Idan Horowitz
a3bc06bb23
LibJS: Start implementing Intl.Segmenter
2022-01-30 19:47:01 +00:00
Timothy Flynn
06a6100b12
LibJS: Implement the Intl.Collator constructor
2022-01-29 20:27:24 +00:00
Timothy Flynn
74939eb943
LibJS: Implement Intl.PluralRules.prototype.resolvedOptions
2022-01-28 19:38:47 +00:00
Timothy Flynn
71f7e67a20
LibJS: Parse new Intl.DisplayNames "type" and "languageDisplay" options
...
Intl.DisplayNames v2 adds "calendar" and "dateTimeField" types, as well
as a "languageDisplay" option for the "language" type. This just adds
these options to the constructor.
2022-01-13 13:43:57 +01:00
Luke Wilde
0b9ea712be
LibJS: Implement Array.prototype.groupByToMap
2022-01-05 11:21:38 +01:00
Luke Wilde
48cc1c97d5
LibJS: Implement Array.prototype.groupBy
2022-01-05 11:21:38 +01:00
Timothy Flynn
534b2be16f
LibJS: Implement Number.prototype.toExponential
2022-01-04 13:07:42 +00:00
Timothy Flynn
dc984c53d8
LibJS: Implement Number.prototype.toPrecision
...
As noted in the prototype comments, this implementation becomes less
accurate as the precision approaches the limit of 100. For example:
(3).toPrecision(100)
Should result in "3." followed by 99 "0"s. However, due to the loss of
accuracy in the floating point computations, we currently result in
"2.9999999...".
2022-01-04 13:07:42 +00:00
Sam Atkins
1fba221b46
LibJS: Implement console.time/timeLog/timeEnd() methods
2021-12-27 21:44:07 +01:00
Sam Atkins
d702678d16
LibJS+WebContent+Browser+js: Implement console.group() methods
...
This implements:
- console.group()
- console.groupCollapsed()
- console.groupEnd()
In the Browser, we use `<details>` for the groups, which is not actually
implemented yet, so groups are always open.
In the REPL, groups are non-interactive, but still indent any output.
This looks weird since the console prompt and return values remain on
the far left, but this matches what Node does so it's probably fine. :^)
I expect `console.group()` is not used much outside of browsers.
2021-12-27 21:44:07 +01:00
Timothy Flynn
53df13fed7
LibJS: Implement Intl.DateTimeFormat.prototype.formatRangeToParts
2021-12-09 23:43:04 +00:00
Timothy Flynn
04f8fb07e1
LibJS: Implement Intl.DateTimeFormat.prototype.formatRange
2021-12-09 23:43:04 +00:00
Timothy Flynn
16151aa7d5
LibJS+LibUnicode: Implement the Intl.DateTimeFormat constructor
2021-11-29 22:48:46 +00:00
Linus Groh
dbe70e7c55
LibJS: Implement Temporal.Duration.prototype.total()
2021-11-13 18:50:54 +00:00
Luke Wilde
29072f4b09
LibJS: Implement the required AOs for Temporal.Duration.compare
2021-11-11 21:06:54 +00:00
Luke Wilde
dc72d416b2
LibJS: Implement the required AOs for ZonedDateTime stringifiers
2021-11-10 12:56:56 +00:00
Luke Wilde
58bb73b60f
LibJS: Implement Temporal.ZonedDateTime.prototype.withTimeZone
2021-11-05 09:49:47 +01:00
Luke Wilde
c001926752
LibJS: Implement Temporal.ZonedDateTime.prototype.startOfDay
2021-11-04 12:11:33 +01:00
Luke Wilde
84f79d4c51
LibJS: Implement Temporal.ZonedDateTime.prototype.hoursInDay
2021-11-03 17:55:04 +01:00
Linus Groh
e27bb94038
LibJS: Implement Temporal.PlainDate.prototype.toZonedDateTime()
2021-11-02 18:40:37 +01:00
Linus Groh
97f6c6029f
LibJS: Implement Temporal.TimeZone.prototype.getInstantFor()
2021-11-01 21:39:45 +01:00
Linus Groh
92fdae178b
LibJS: Implement Temporal.TimeZone.prototype.getPreviousTransition()
2021-10-30 16:32:20 +02:00
Linus Groh
e9cbeeac45
LibJS: Implement Temporal.TimeZone.prototype.getNextTransition()
2021-10-30 16:32:20 +02:00
Linus Groh
5fde02184d
LibJS: Implement Temporal.TimeZone.prototype.getPossibleInstantsFor()
2021-10-30 16:32:20 +02:00
Andreas Kling
398c181c79
LibJS: Rename PropertyName to PropertyKey
...
Let's use the same name as the spec. :^)
2021-10-24 17:18:07 +02:00
Linus Groh
5910a41adb
LibJS: Implement ShadowRealm.prototype.importValue()
...
Well... sort of. This adds the function itself and all the scaffolding
from the ShadowRealm API (and basically completes its implementation).
However, we do not nearly have enough support for modules and imports,
so we currently pretend whatever was attempted to be imported failed -
once we have HostImportModuleDynamically it should be relatively easy to
complete the implementation.
2021-10-15 09:36:21 +01:00
Linus Groh
c70784bb82
LibJS: Implement ShadowRealm.prototype.evaluate()
2021-10-14 00:41:41 +01:00
Linus Groh
99adb54391
LibJS: Implement Temporal.Calendar.prototype.dateUntil()
2021-10-11 08:31:39 +01:00
Ben Wiederhake
a95b321bf1
LibJS: Add missing headers
2021-10-06 23:52:40 +01:00
Timothy Flynn
e42ba7f748
LibJS: Implement the Intl.NumberFormat constructor
2021-09-11 11:05:50 +01:00
Linus Groh
d3fcf5a570
LibJS: Implement Temporal.Instant.prototype.toZonedDateTimeISO()
2021-09-09 08:52:48 +01:00
Linus Groh
6607d1dfb1
LibJS: Implement Temporal.Instant.prototype.toZonedDateTime()
2021-09-09 08:52:48 +01:00