1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 18:25:06 +00:00
Commit graph

584 commits

Author SHA1 Message Date
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