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