Linus Groh
752b3eb0c0
LibJS: Implement Temporal.ZonedDateTime.prototype.millisecond
2021-08-05 19:19:40 +02:00
Linus Groh
9d9ab492df
LibJS: Implement Temporal.ZonedDateTime.prototype.second
2021-08-05 19:19:40 +02:00
Linus Groh
a6775517ad
LibJS: Implement Temporal.ZonedDateTime.prototype.minute
2021-08-05 19:19:40 +02:00
Linus Groh
32f1e17e71
LibJS: Implement Temporal.ZonedDateTime.prototype.hour
2021-08-05 19:19:40 +02:00
Linus Groh
0580f102e4
LibJS: Implement Temporal.ZonedDateTime.prototype.day
2021-08-05 19:19:40 +02:00
Linus Groh
30e27f6483
LibJS: Implement Temporal.ZonedDateTime.prototype.monthCode
2021-08-05 19:19:40 +02:00
Linus Groh
fd18dc782f
LibJS: Implement Temporal.ZonedDateTime.prototype.month
2021-08-05 19:19:40 +02:00
Linus Groh
b8ac31500c
LibJS: Implement Temporal.ZonedDateTime.prototype.year
2021-08-05 19:19:40 +02:00
Linus Groh
a06bd451d4
LibJS: Implement Temporal.Now.zonedDateTimeISO()
2021-08-01 20:31:31 +01:00
Linus Groh
36c79c2989
LibJS: Implement Temporal.Now.zonedDateTime()
2021-08-01 20:31:31 +01:00
Linus Groh
49c5f87274
LibJS: Implement Temporal.ZonedDateTime.prototype.timeZone
2021-08-01 20:31:31 +01:00
Linus Groh
d022b74d33
LibJS: Implement Temporal.ZonedDateTime.prototype.calendar
2021-08-01 20:31:31 +01:00
Linus Groh
bc416ab802
LibJS: Implement Temporal.ZonedDateTime.prototype[@@toStringTag]
2021-08-01 20:31:31 +01:00
Linus Groh
4640643019
LibJS: Handle ZonedDateTime in ToTemporalDate
2021-08-01 20:31:31 +01:00
Linus Groh
6f75dcc7b8
LibJS: Handle ZonedDateTime in ToTemporalInstant
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
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
Linus Groh
95331ea864
LibJS/Tests: Fix Temporal.Now.plainDateTime{,ISO}() epoch calculation
...
Combining month and day like this doesn't always yield correct results.
Use dayOfYear multiplied by the seconds per day instead, which does.
2021-07-31 13:54:25 +01:00
Linus Groh
cab1015a03
LibJS/Tests: Fix Temporal.Now.plainDate{,ISO}() at end of month/year
...
Evidently, going one day forward on the last day of month increases the
month number by one and resets the day to 1. Doing the same on the last
day of the year resets the month to 1.
2021-07-31 13:54:25 +01: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
Linus Groh
9ea8aa7ffe
LibJS/Tests: Compare results in Temporal.Now.plainDateTimeISO() test
2021-07-30 22:13:13 +01:00
Linus Groh
2c85f076c8
LibJS/Tests: Compare results in Temporal.Now.plainDateTime() test
2021-07-30 22:13:13 +01:00
Timothy Flynn
b3569fab7c
LibJS: Add tests for Unicode property escapes
...
LibJS gets this for free from LibRegex, but let's add test cases for it.
2021-07-30 21:26:31 +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
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