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
dee3b7b8c9
LibJS: Implement Promise.all on the Promise constructor
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
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
4f2cbe119b
LibRegex: Allow Unicode escape sequences in capture group names
...
Unfortunately, this requires a slight divergence in the way the capture
group names are stored. Previously, the generated byte code would simply
store a view into the regex pattern string, so no string copying was
required.
Now, the escape sequences are decoded into a new string, and a vector
of all parsed capture group names are stored in a vector in the parser
result structure. The byte code then stores a view into the
corresponding string in that vector.
2021-08-19 23:49:25 +02: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
90f7e01179
LibJS/Tests: Add Temporal.Calendar.from() tests for more object types
2021-08-17 23:06:05 +01:00
Linus Groh
1292d80b93
LibJS: Implement Temporal.Calendar.prototype.mergeFields()
2021-08-17 00:26:19 +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
Linus Groh
c1ffc17134
LibJS: Implement Temporal.Calendar.prototype.fields()
2021-08-16 20:02:02 +01:00
Linus Groh
6709c915aa
LibJS: Implement Temporal.PlainDate.prototype.toPlainYearMonth()
2021-08-16 14:10:41 +01:00
Linus Groh
ed9d37bd40
LibJS: Implement Temporal.Calendar.prototype.yearMonthFromFields()
2021-08-16 14:10:41 +01:00
Linus Groh
fa8e9cb683
LibJS/Tests: Skip flaky FinalizationRegistry.prototype.cleanupSome test
2021-08-15 16:44:01 +01:00
Robert Stefanic
e26cfd313e
LibJS: Prevent stack overflow in flatten_into_array()
...
The check for stack space in VM from push_execution_context has been
moved to a method on VM called did_reach_stack_space_limit. This
allows us to check the stack size in other places besides
push_execution_context.
We can now verify that we have enough space on the stack before calling
flatten_into_array to ensure that we don't cause a stack overflow error
when calling the function with a large depth.
2021-08-15 11:24:30 +01:00
Linus Groh
4520863c0e
LibJS/Tests: Add test for PlainMonthDay default reference year
2021-08-15 10:36:36 +01:00
Linus Groh
8f7a9e1e5c
LibJS/Tests: Add test for PlainYearMonth default reference day
2021-08-15 10:36:36 +01:00
Linus Groh
1549845389
LibJS: Implement Temporal.PlainMonthDay.prototype.getISOFields()
2021-08-15 10:36:36 +01:00
Linus Groh
7fb05eb878
LibJS: Implement Temporal.PlainMonthDay.prototype.valueOf()
2021-08-15 10:36:36 +01:00
Linus Groh
c2ed3ad66b
LibJS: Implement Temporal.PlainMonthDay.prototype.day
2021-08-15 10:36:36 +01:00
Linus Groh
9551aa17d3
LibJS: Implement Temporal.PlainMonthDay.prototype.monthCode
2021-08-15 10:36:36 +01:00
Linus Groh
1382be1707
LibJS: Implement Temporal.PlainMonthDay.prototype.calendar
2021-08-15 10:36:36 +01:00
Linus Groh
37b5a0715e
LibJS: Implement Temporal.PlainMonthDay.prototype[@@toStringTag]
2021-08-15 10:36:36 +01:00
Linus Groh
0cf526d0c4
LibJS: Handle PlainMonthDay in the Calendar.prototype getters
2021-08-15 10:36:36 +01:00
Linus Groh
be07e2e91b
LibJS: Start implementing Temporal.PlainMonthDay
...
This commit adds the PlainMonthDay object itself, its constructor and
prototype (currently empty), and the CreateTemporalMonthDay abstract
operations.
2021-08-15 10:36:36 +01:00
Linus Groh
301d622b46
LibJS/Tests: Tweak PlainYearMonth Infinity test values
...
Since we want to test that +/- Infinity fails as an argument, we should
provide valid arguments for everything else - 0 for month isn't :^)
2021-08-15 10:36:36 +01:00
Linus Groh
f51f5e135a
LibJS/Tests: Remove outdated FIXME comment
2021-08-13 23:59:22 +01:00
Linus Groh
95059b9549
LibJS/Tests: Enable Proxy handler apply() thisArg test that now passes
2021-08-13 23:57:33 +01:00
Linus Groh
419c21c66f
LibJS/Tests: Test iteration order of Map.prototype.entries()
2021-08-13 23:54:08 +01:00
Linus Groh
455b94af7f
LibJS/Tests: Test iteration order of Map.prototype.values()
2021-08-13 23:54:02 +01:00
Linus Groh
ea44d9e194
LibJS/Tests: Test iteration order of Map.prototype.keys()
2021-08-13 23:53:40 +01:00
Linus Groh
84053816d5
LibJS: Use Checked<T> for offsets in the SetViewValue AO
...
Fixes #9338 .
2021-08-11 22:56:58 +01:00
Linus Groh
6fc0b2a43d
LibJS: Use Checked<T> for offsets in the GetViewValue AO
...
Fixes #9336 .
2021-08-11 22:56:58 +01:00
Linus Groh
97010d4903
LibJS: Implement Intl[@@toStringTag]
2021-08-08 20:14:59 +01:00
Linus Groh
7d8c182359
LibJS: Implement Temporal.PlainYearMonth.prototype.getISOFields()
2021-08-08 17:45:06 +01:00
Linus Groh
5a260fcad1
LibJS: Implement Temporal.PlainYearMonth.prototype.valueOf()
2021-08-08 17:45:06 +01:00
Linus Groh
d9ed0f1f47
LibJS: Implement Temporal.PlainYearMonth.prototype.inLeapYear
2021-08-08 17:45:06 +01:00
Linus Groh
3592a748b6
LibJS: Implement Temporal.PlainYearMonth.prototype.monthsInYear
2021-08-08 17:45:06 +01:00
Linus Groh
703eb1f7b4
LibJS: Implement Temporal.PlainYearMonth.prototype.daysInMonth
2021-08-08 17:45:06 +01:00
Linus Groh
1f1d7144bf
LibJS: Implement Temporal.PlainYearMonth.prototype.daysInYear
2021-08-08 17:45:06 +01:00
Linus Groh
5ec70792fd
LibJS: Implement Temporal.PlainYearMonth.prototype.monthCode
2021-08-08 17:45:06 +01:00
Linus Groh
0edec6578b
LibJS: Implement Temporal.PlainYearMonth.prototype.month
2021-08-08 17:45:06 +01:00