Idan Horowitz
32fc81c186
LibJS: Implement Temporal.PlainDateTime.prototype.equals()
2021-08-27 16:40:16 +01:00
Idan Horowitz
9ed877e8e7
LibJS: Implement Temporal.PlainDateTime.compare()
2021-08-27 16:40:16 +01:00
Idan Horowitz
28fa4d1568
LibJS: Add the CompareTemporalTime & CompareISODateTime AOs
...
These are required for implementing comparisons between `PlainTime`s and
`PlainDateTime`s.
2021-08-27 16:40:16 +01:00
Timothy Flynn
86b99fd9a6
LibJS: Extend Intl.DisplayNames.of to support currency tags
2021-08-27 12:32:24 +01:00
Timothy Flynn
a029e3d38a
LibJS: Extend Intl.DisplayNames.of to support script tags
2021-08-27 12:32:24 +01:00
Timothy Flynn
ca77a7c573
LibJS: Extend Intl.DisplayNames.of to support language tags
2021-08-27 12:32:24 +01:00
Timothy Flynn
a061d874c9
LibJS: Implement Intl.DisplayNames.prototype.resolvedOptions
2021-08-26 22:04:09 +01:00
Timothy Flynn
17bb652775
LibJS: Implement Intl.DisplayNames.prototype.of
...
Note that only option type=region is really implemented. Other types
will resort to the fallback option. This prototype method will be able
to implement other type options once LibUnicode supports more.
2021-08-26 22:04:09 +01:00
Timothy Flynn
38d29a40dc
LibJS: Implement Intl.getCanonicalLocales
2021-08-26 22:04:09 +01:00
Timothy Flynn
e8dd2eea74
LibJS: Implement the Intl.DisplayNames constructor
...
There is notably FIXME notations in this commit regarding Unicode locale
extensions. We are not parsing extensions (or private use extensions) at
all yet.
2021-08-26 22:04:09 +01:00
Timothy Flynn
0fb4e8b749
LibJS: Implement a nearly empty Intl.DisplayNames object
...
This adds plumbing for the Intl.DisplayNames object, constructor, and
prototype.
2021-08-26 22:04:09 +01:00
Linus Groh
6ce05026b4
LibJS: Implement Temporal.ZonedDateTime.prototype.toPlainMonthDay()
2021-08-24 01:53:30 +02:00
Linus Groh
ef581be4ec
LibJS: Implement Temporal.ZonedDateTime.prototype.toPlainYearMonth()
2021-08-24 01:53:30 +02:00
Linus Groh
fc58f93734
LibJS: Implement Temporal.PlainDateTime.prototype.toPlainMonthDay()
2021-08-24 01:53:30 +02:00
Linus Groh
5573efa3bd
LibJS: Implement Temporal.PlainDateTime.prototype.toPlainYearMonth()
2021-08-24 01:53:30 +02:00
Linus Groh
ad427f85ca
LibJS: Implement Temporal.PlainDateTime.from()
2021-08-23 20:54:52 +01:00
Linus Groh
573587b83a
LibJS: Fix logic error in RegulateISODate
2021-08-23 20:54:52 +01:00
Timothy Flynn
4f186a9a1f
LibJS: Implement Promise.race on the Promise constructor
2021-08-23 00:01:46 +01:00
Timothy Flynn
949f294444
LibJS: Implement Promise.allSettled on the Promise constructor
2021-08-23 00:01:46 +01:00
Timothy Flynn
4dffa40a8d
LibJS: Implement Promise.any on the Promise constructor
2021-08-23 00:01:46 +01:00
Timothy Flynn
98d8a858cd
LibJS: Set the function names for the resolve, reject, and executor
...
These should all have a name with an empty string. Not only does test262
verify this, but it also verifies that (for the executor) the name
property is defined after the length property.
2021-08-23 00:01:46 +01:00
Timothy Flynn
5b303721e0
LibJS: Generalize PerformPromiseAll common functionality
...
PerformPromiseAll, PerformPromiseAny, PerformPromiseAllSettled, etc, all
have very similar iteration loops. To avoid duplicating this rather
large block of code, extract the common functionality into a separate
method.
2021-08-23 00:01:46 +01:00
Timothy Flynn
417523507e
LibJS: Generalize PromiseAllResolveElementFunction common functionality
...
The element-resolving functions on the Promise constructor are all very
similar. To prepare for more of these functions to be implemented, break
out common parts into a base class.
2021-08-23 00:01:46 +01:00
Linus Groh
969aee2022
LibJS: Add missing builtin calendar check to ParseTemporalCalendarString
...
See: 48b11d6
2021-08-22 21:20:00 +01:00
Timothy Flynn
dee3b7b8c9
LibJS: Implement Promise.all on the Promise constructor
2021-08-21 23:08:49 +01:00
Timothy Flynn
cdf2854fdf
LibJS: Fix copy-paste mistake in GetCapabilitiesExecutor
2021-08-21 23:08:49 +01:00
Timothy Flynn
6337eb52d8
LibJS: Implement RegExp.prototype.compile
...
This is an Annex B extension to RegExp.prototype.
2021-08-20 19:16:33 +02:00
Timothy Flynn
7c54b6bd45
LibJS: Separate RegExpCreate into RegExpAlloc and RegExpInitialize
...
RegExp.prototype.compile will require invoking RegExpInitialize on an
already-existing RegExpObject. Break up RegExpCreate into RegExpAlloc
and RegExpInitialize to support this.
2021-08-20 19:16:33 +02:00
Linus Groh
5d116372a8
LibJS: Implement Temporal.PlainMonthDay.prototype.toJSON()
2021-08-20 18:12:15 +01:00
Linus Groh
5904c6bf18
LibJS: Implement Temporal.PlainMonthDay.prototype.toLocaleString()
2021-08-20 18:12:15 +01:00
Linus Groh
ea44f33d5b
LibJS: Implement Temporal.PlainMonthDay.prototype.toString()
2021-08-20 18:12:15 +01:00
Linus Groh
c1c8d7861c
LibJS: Implement Temporal.PlainYearMonth.prototype.toJSON()
2021-08-20 18:12:15 +01:00
Linus Groh
70fb7bf57e
LibJS: Implement Temporal.PlainYearMonth.prototype.toLocaleString()
2021-08-20 18:12:15 +01:00
Linus Groh
421ad73b4f
LibJS: Implement Temporal.PlainYearMonth.prototype.toString()
2021-08-20 18:12:15 +01:00
Timothy Flynn
c5b5c779ff
LibRegex+LibJS: Change capture group names from a String to a FlyString
...
The parser now stores this as a FlyString everywhere, so consumers can
also use it as a FlyString.
2021-08-19 23:49:25 +02:00
Idan Horowitz
ee608f58ee
LibJS: Add type range checks to the Date make_day AO
...
As the specification says "but if this is not possible (because some
argument is out of range), return NaN."
2021-08-19 19:15:00 +01:00
Linus Groh
0e201fbb42
LibJS: Implement Temporal.PlainDate.prototype.toJSON()
2021-08-19 00:26:09 +01:00
Linus Groh
73d888e9e6
LibJS: Implement Temporal.PlainDate.prototype.toLocaleString()
2021-08-19 00:23:48 +01:00
Linus Groh
402f04c2fc
LibJS: Implement Temporal.PlainDate.prototype.toString()
2021-08-19 00:14:17 +02:00
Linus Groh
310192f918
LibJS: Make Temporal's get_option() take a PropertyName directly
...
Instead of constructing a String and converting that to a PropertyName
on the fly, we can just leverage CommonPropertyNames, add a couple more
and directly pass ready-to-use PropertyNames with pre-allocated Strings.
2021-08-19 00:14:17 +02:00
Linus Groh
092f924cfd
LibJS: Reflect naming consistency editorial changes in the Temporal spec
...
See:
- 2aa7dce
- 13daa33
- 8085873
2021-08-18 23:03:22 +01:00
Linus Groh
b2badd6333
LibJS: Update some Temporal spec section numbers
...
These shifted due to the addition of the ParseTemporalRelativeToString
AO in ad06578
.
2021-08-18 19:26:08 +01:00
Linus Groh
0cdad283c0
LibJS: Reflect Record wording editorial change in the Temporal spec
...
See: c8f14d0
2021-08-17 21:59:35 +01:00
Linus Groh
74ee1c9a8c
LibJS: Add PlainDateTime fast path to various Calendar.prototype getters
...
This is a recent editorial change in the Temporal spec.
See: c3880a3
2021-08-17 21:59:35 +01:00
Linus Groh
d46c531023
LibJS: Add and use newly introduced ToIntegerThrowOnInfinity Temporal AO
...
See: 2ed58f4
2021-08-17 21:59:35 +01:00
Linus Groh
1292d80b93
LibJS: Implement Temporal.Calendar.prototype.mergeFields()
2021-08-17 00:26:19 +01:00
davidot
47bc72bcf6
LibJS: Correctly handle Unicode characters in JS source text
...
Also recognize additional white space characters.
2021-08-16 23:20:04 +01:00
Linus Groh
cbe7015c0c
LibJS: Add missing spec link to YearMonthFromFields
2021-08-16 20:40:21 +01:00
Linus Groh
795e077eb8
LibJS: Implement Temporal.PlainDate.prototype.toPlainMonthDay()
2021-08-16 20:40:21 +01:00
Linus Groh
31f65b8c50
LibJS: Implement Temporal.Calendar.prototype.monthDayFromFields()
2021-08-16 20:40:21 +01:00