Idan Horowitz
684e62476b
LibJS: Implement Temporal.PlainTime.compare()
2021-08-27 19:01:30 +01:00
Idan Horowitz
a77cdc5f92
LibJS: Implement Temporal.PlainTime.from()
2021-08-27 19:01:30 +01:00
Idan Horowitz
bb857330d2
LibJS: Implement Temporal.PlainDate.prototype.toPlainDateTime()
2021-08-27 19:01:30 +01:00
Idan Horowitz
f6370fe3f7
LibJS: Add the ToTemporalTime AO and stub the ParseTemporalTimeString AO
...
This AO is required for a bunch of PlainTime related methods.
As part of this change the `TemporalTime` record was renamed to
`UnregulatedTemporalTime` and a new `TemporalTime` record that matches
the other Temporal parse result records was added. This also has the
added benefit of getting rid of a would be round-trip cast from integer
to double and back in `ParseTemporalTimeString`.
2021-08-27 19:01:30 +01:00
Idan Horowitz
32fc81c186
LibJS: Implement Temporal.PlainDateTime.prototype.equals()
2021-08-27 16:40:16 +01:00
Idan Horowitz
9ed877e8e7
LibJS: Implement Temporal.PlainDateTime.compare()
2021-08-27 16:40:16 +01:00
Idan Horowitz
28fa4d1568
LibJS: Add the CompareTemporalTime & CompareISODateTime AOs
...
These are required for implementing comparisons between `PlainTime`s and
`PlainDateTime`s.
2021-08-27 16:40:16 +01:00
Linus Groh
6ce05026b4
LibJS: Implement Temporal.ZonedDateTime.prototype.toPlainMonthDay()
2021-08-24 01:53:30 +02:00
Linus Groh
ef581be4ec
LibJS: Implement Temporal.ZonedDateTime.prototype.toPlainYearMonth()
2021-08-24 01:53:30 +02:00
Linus Groh
fc58f93734
LibJS: Implement Temporal.PlainDateTime.prototype.toPlainMonthDay()
2021-08-24 01:53:30 +02:00
Linus Groh
5573efa3bd
LibJS: Implement Temporal.PlainDateTime.prototype.toPlainYearMonth()
2021-08-24 01:53:30 +02:00
Linus Groh
ad427f85ca
LibJS: Implement Temporal.PlainDateTime.from()
2021-08-23 20:54:52 +01:00
Linus Groh
573587b83a
LibJS: Fix logic error in RegulateISODate
2021-08-23 20:54:52 +01:00
Linus Groh
969aee2022
LibJS: Add missing builtin calendar check to ParseTemporalCalendarString
...
See: 48b11d6
2021-08-22 21:20:00 +01: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
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
310192f918
LibJS: Make Temporal's get_option() take a PropertyName directly
...
Instead of constructing a String and converting that to a PropertyName
on the fly, we can just leverage CommonPropertyNames, add a couple more
and directly pass ready-to-use PropertyNames with pre-allocated Strings.
2021-08-19 00:14:17 +02:00
Linus Groh
092f924cfd
LibJS: Reflect naming consistency editorial changes in the Temporal spec
...
See:
- 2aa7dce
- 13daa33
- 8085873
2021-08-18 23:03:22 +01:00
Linus Groh
b2badd6333
LibJS: Update some Temporal spec section numbers
...
These shifted due to the addition of the ParseTemporalRelativeToString
AO in ad06578
.
2021-08-18 19:26:08 +01:00
Linus Groh
0cdad283c0
LibJS: Reflect Record wording editorial change in the Temporal spec
...
See: c8f14d0
2021-08-17 21:59:35 +01:00
Linus Groh
74ee1c9a8c
LibJS: Add PlainDateTime fast path to various Calendar.prototype getters
...
This is a recent editorial change in the Temporal spec.
See: c3880a3
2021-08-17 21:59:35 +01:00
Linus Groh
d46c531023
LibJS: Add and use newly introduced ToIntegerThrowOnInfinity Temporal AO
...
See: 2ed58f4
2021-08-17 21:59:35 +01:00
Linus Groh
1292d80b93
LibJS: Implement Temporal.Calendar.prototype.mergeFields()
2021-08-17 00:26:19 +01:00
Linus Groh
cbe7015c0c
LibJS: Add missing spec link to YearMonthFromFields
2021-08-16 20:40:21 +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
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
b76bae13fd
LibJS: Handle PlainMonthDay in ISO{Year,Month,MonthCode,Day}
2021-08-15 10:36:36 +01:00
Linus Groh
ec00d4729a
LibJS: Handle PlainMonthDay in GetTemporalCalendarWithISODefault
2021-08-15 10:36:36 +01:00
Linus Groh
1e54e37228
LibJS: Handle PlainMonthDay in ToTemporalCalendar
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
Andreas Kling
286a7ecd92
LibJS: Call base class visit_edges() in various Temporal objects
...
When overriding visit_edges() in a JS::Object subclass, we must make
sure to call the base class visit_edges(), or the object's Shape (and
any properties) will not get marked.
2021-08-14 20:12:22 +02:00
davidot
151447bdf7
LibJS: Move Object::invoke to Value::invoke and fix it for primitives
...
This is a tiny difference and only changes anything for primitives in
strict mode. However this is tested in test262 and can be noticed by
overriding toString of primitive values.
This does now require one to wrap an object in a Value to call invoke
but all code using invoke has been migrated.
2021-08-09 17:33:14 +01:00
Linus Groh
312946059b
LibJS+Spreadsheet: Use js_string(VM&, ...) overload more
2021-08-08 21:32:58 +01:00