1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 07:04:58 +00:00
Commit graph

940 commits

Author SHA1 Message Date
Linus Groh
6f75dcc7b8 LibJS: Handle ZonedDateTime in ToTemporalInstant 2021-08-01 20:31:31 +01:00
Linus Groh
1f5098f61e LibJS: Handle ZonedDateTime in ToTemporalTimeZone 2021-08-01 20:31:31 +01:00
Linus Groh
fa0d6d1045 LibJS: Handle ZonedDateTime in GetTemporalCalendarWithISODefault 2021-08-01 20:31:31 +01:00
Linus Groh
14e7eff43f LibJS: Handle ZonedDateTime in ToTemporalCalendar 2021-08-01 20:31:31 +01:00
Linus Groh
cfb77b66e5 LibJS: Start implementing Temporal.ZonedDateTime
This commit adds the ZonedDateTime object itself, its constructor and
prototype (currently empty), and the CreateTemporalZonedDateTime
abstract operation.
2021-08-01 20:31:31 +01:00
Linus Groh
1b9b995f93 LibJS: Use "T m_foo; // [[Foo]]" style for all Temporal internal slots 2021-08-01 20:31:31 +01:00
Linus Groh
dc80a258f6 LibJS: Implement Temporal.Calendar.from() 2021-08-01 11:40:25 +01:00
Linus Groh
e511390423 LibJS: Implement Temporal.TimeZone.prototype.getPlainDateTimeFor() 2021-08-01 10:24:38 +01:00
Linus Groh
c4123d8aad LibJS: Implement Temporal.TimeZone.prototype.getOffsetStringFor() 2021-08-01 10:24:38 +01:00
Linus Groh
f987c11464 LibJS: Implement Temporal.TimeZone.from() 2021-08-01 10:24:38 +01:00
Brian Gianforcaro
53166c10ca LibJS: Remove unused header includes 2021-08-01 08:10:16 +02:00
Brian Gianforcaro
b10657a2b6 LibJS: Remove unused includes out of Cell.h, move to the users
Almost everything in LibJS includes Cell.h, don't force all code to
include AK/TypeCasts.h + AK/String.h. Instead include them where they
are actually used and required.
2021-08-01 08:10:16 +02:00
Idan Horowitz
64a98d0f90 LibJS: Implement Temporal.PlainDateTime.prototype.toPlainTime 2021-07-31 00:16:41 +01:00
Idan Horowitz
010761aff4 LibJS: Implement Temporal.PlainDateTime.prototype.withPlainDate 2021-07-31 00:16:41 +01:00
Idan Horowitz
f657c86d58 LibJS: Implement Temporal.PlainDateTime.prototype.withCalendar 2021-07-31 00:16:41 +01:00
Timothy Flynn
f1dd770a8a LibJS: Parse RegExp literals at AST creation time, not execution time
The spec requires that invalid RegExp literals must cause a Syntax Error
before the JavaScript is executed. See:
https://tc39.es/ecma262/#sec-patterns-static-semantics-early-errors

This is explicitly tested in the RegExp/property-escapes test262 tests.
For example, see unsupported-property-Line_Break.js:

    $DONOTEVALUATE();
    /\p{Line_Break}/u;

That RegExp literal is invalid because Line_Break is not a supported
Unicode property. $DONOTEVALUATE() just throws an exception when it is
executed. The test expects that this file will fail to be parsed.

Note that RegExp patterns can still be parsed at execution time by way
of "new RegExp(...)".
2021-07-30 21:26:31 +01:00
Linus Groh
116c45d668 LibJS: Take prepare_temporal_fields() Vector arguments by const& 2021-07-30 20:52:39 +01:00
Linus Groh
4d0f849654 LibJS: Replace TypeError with RangeError in GetOffsetNanosecondsFor
Also fix "a integral number" => "an integral number".
2021-07-30 19:53:25 +01:00
Linus Groh
e7c5c3d507 LibJS: Implement Temporal.PlainTime.prototype.getISOFields() 2021-07-30 09:41:11 +01:00
Linus Groh
c7bef42975 LibJS: Implement Temporal.PlainDate.prototype.getISOFields() 2021-07-30 09:41:11 +01:00
Idan Horowitz
d1ee31c5de LibJS: Implement Temporal.PlainTime.prototype.toPlainDateTime 2021-07-29 22:47:56 +01:00
Idan Horowitz
8f9b4a5ea6 LibJS: Implement Temporal.PlainDateTime.prototype.inLeapYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
b9ed19c850 LibJS: Implement Temporal.PlainDateTime.prototype.monthsInYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
fb5c0ed0d0 LibJS: Implement Temporal.PlainDateTime.prototype.daysInYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
2d86cbae45 LibJS: Implement Temporal.PlainDateTime.prototype.daysInMonth 2021-07-29 22:47:56 +01:00
Idan Horowitz
01d33174c8 LibJS: Implement Temporal.PlainDateTime.prototype.daysInWeek 2021-07-29 22:47:56 +01:00
Idan Horowitz
d4e9d572f5 LibJS: Implement Temporal.PlainDateTime.prototype.weekOfYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
0800c2a958 LibJS: Implement Temporal.PlainDateTime.prototype.dayOfYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
c41b7b27c9 LibJS: Implement Temporal.PlainDateTime.prototype.dayOfWeek 2021-07-29 22:47:56 +01:00
Idan Horowitz
518a9f3eab LibJS: Implement Temporal.PlainDateTime.prototype.nanosecond 2021-07-29 22:47:56 +01:00
Idan Horowitz
23bf840326 LibJS: Implement Temporal.PlainDateTime.prototype.microsecond 2021-07-29 22:47:56 +01:00
Idan Horowitz
b2f66a06ac LibJS: Implement Temporal.PlainDateTime.prototype.millisecond 2021-07-29 22:47:56 +01:00
Idan Horowitz
3fdb314a39 LibJS: Implement Temporal.PlainDateTime.prototype.second 2021-07-29 22:47:56 +01:00
Idan Horowitz
6dd0815fad LibJS: Implement Temporal.PlainDateTime.prototype.minute 2021-07-29 22:47:56 +01:00
Idan Horowitz
f553ab3104 LibJS: Implement Temporal.PlainDateTime.prototype.hour 2021-07-29 22:47:56 +01:00
Idan Horowitz
f93b6ea58c LibJS: Implement Temporal.PlainDateTime.prototype.day 2021-07-29 22:47:56 +01:00
Idan Horowitz
677a631e87 LibJS: Implement Temporal.PlainDateTime.prototype.monthCode 2021-07-29 22:47:56 +01:00
Idan Horowitz
78e63b34fa LibJS: Implement Temporal.PlainDateTime.prototype.month 2021-07-29 22:47:56 +01:00
Idan Horowitz
23d0fd2659 LibJS: Implement Temporal.PlainDateTime.prototype.year 2021-07-29 22:47:56 +01:00
Linus Groh
4e4d8d6905 LibJS: Reflect infallibility editorial changes in the Temporal spec
See:

- 3c0671f
- fe28b86
2021-07-28 23:48:56 +01:00
Linus Groh
5e64156fce LibJS: Implement Temporal.Now.plainTimeISO() 2021-07-28 21:57:30 +01:00
Linus Groh
2aa2c56891 LibJS: Update Temporal.Now spec section numbers
The addition of @@toStringTag shifted them all by 1.
2021-07-28 21:57:30 +01:00
Linus Groh
817be1b292 LibJS: Handle PlainTime objects in GetTemporalCalendarWithISODefault 2021-07-28 21:57:30 +01:00
Linus Groh
c2d45e5a83 LibJS: Handle PlainTime objects in ToTemporalCalendar 2021-07-28 21:57:30 +01:00
Linus Groh
d3bed13f4b LibJS: Implement Temporal.PlainTime.prototype.nanosecond 2021-07-28 21:57:30 +01:00
Linus Groh
65b90e93ad LibJS: Implement Temporal.PlainTime.prototype.microsecond 2021-07-28 21:57:30 +01:00
Linus Groh
8bcccf2577 LibJS: Implement Temporal.PlainTime.prototype.millisecond 2021-07-28 21:57:30 +01:00
Linus Groh
c5f03bc921 LibJS: Implement Temporal.PlainTime.prototype.second 2021-07-28 21:57:30 +01:00
Linus Groh
574f474d27 LibJS: Implement Temporal.PlainTime.prototype.minute 2021-07-28 21:57:30 +01:00
Linus Groh
524a56f7b6 LibJS: Implement Temporal.PlainTime.prototype.hour 2021-07-28 21:57:30 +01:00