Linus Groh
44a8b55c50
LibJS: Add preparation for Intl constructors and prototypes
...
Add a JS_ENUMERATE_INTL_OBJECTS macro and use it to generate:
- Forward declarations
- CommonPropertyNames class name members
- Constructor and prototype GlobalObject members, getters, visitors,
and initialize_constructor() calls
2021-08-08 20:14:59 +01:00
Linus Groh
a37dcf8ca7
LibJS: Add the Intl namespace object :^)
...
This is the start of implementing ECMA-402 in LibJS, better known as the
ECMAScript Internationalization API.
Much like Temporal this gets its own subdirectory (Runtime/Intl/) as
well as a new C++ namespace (JS::Intl) so we don't have to prefix all
the files and classes with "Intl".
https://tc39.es/ecma402/
2021-08-08 20:14:59 +01:00
Linus Groh
6852ba4d34
LibJS: Implement Temporal.Instant.prototype.subtract()
2021-08-07 13:10:35 +01:00
davidot
b6523906b3
LibJS: Implement proposed Array.prototype.findLast{,Index}
...
Proposal: https://tc39.es/proposal-array-find-from-last/
2021-08-06 16:17:25 +01:00
Linus Groh
96a0c201d5
LibJS: Implement Temporal.ZonedDateTime.prototype.toInstant()
2021-08-05 23:15:27 +01:00
Linus Groh
6c345c8107
LibJS: Implement Temporal.ZonedDateTime.prototype.offset
2021-08-05 19:19:40 +02:00
Linus Groh
f937e9b966
LibJS: Implement Temporal.ZonedDateTime.prototype.offsetNanoseconds
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
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
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
d1ee31c5de
LibJS: Implement Temporal.PlainTime.prototype.toPlainDateTime
2021-07-29 22:47:56 +01:00
Linus Groh
5e64156fce
LibJS: Implement Temporal.Now.plainTimeISO()
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
Timothy Flynn
2f8eb4f068
LibJS: Implement non-ECMA-402 String.prototype.toLocale{Lower,Upper}Case
...
In implementations without ECMA-402, these methods are to behave like
their non-locale equivalents.
2021-07-27 22:35:24 +01:00
Linus Groh
af3a26f4cc
LibJS: Implement Temporal.Now.plainDateTimeISO()
2021-07-27 19:51:44 +01:00
Linus Groh
0bb19fc51c
LibJS: Implement Temporal.Now.plainDateTime()
2021-07-27 19:51:44 +01:00
Linus Groh
f2a2e8e13c
LibJS: Implement Temporal.Now.plainDateISO()
2021-07-27 19:51:44 +01:00
Linus Groh
c303bbde54
LibJS: Implement Temporal.Now.plainDate()
...
...and ten required AOs we didn't have yet:
- BalanceISODate
- BalanceISODateTime
- BalanceISOYearMonth
- BalanceTime
- BuiltinTimeZoneGetPlainDateTimeFor
- GetISOPartsFromEpoch
- GetOffsetNanosecondsFor
- ParseTemporalTimeZone
- SystemDateTime
- ToTemporalTimeZone
2021-07-27 19:51:44 +01:00
davidot
7a56ca1250
LibJS: Implement a naive String.prototype.localeCompare
2021-07-26 15:56:15 +01:00
Linus Groh
96e63415b6
LibJS: Implement Temporal.TimeZone.prototype.getOffsetNanosecondsFor()
2021-07-25 23:44:36 +01:00
Idan Horowitz
c9ae7e1af1
LibJS: Implement Temporal.Calendar.prototype.inLeapYear
2021-07-23 22:00:23 +01:00
Idan Horowitz
342172da37
LibJS: Implement Temporal.Calendar.prototype.monthsInYear
2021-07-23 22:00:23 +01:00
Idan Horowitz
7f27035342
LibJS: Implement Temporal.Calendar.prototype.daysInYear
2021-07-23 22:00:23 +01:00
Idan Horowitz
69c8b8e8bd
LibJS: Implement Temporal.Calendar.prototype.daysInMonth
2021-07-23 22:00:23 +01:00
Idan Horowitz
623df361e6
LibJS: Implement Temporal.Calendar.prototype.daysInWeek
2021-07-23 22:00:23 +01:00
Idan Horowitz
d22fe25643
LibJS: Implement Temporal.Calendar.prototype.weekOfYear
2021-07-23 22:00:23 +01:00
Idan Horowitz
c0e7761758
LibJS: Implement Temporal.Calendar.prototype.dayOfYear
2021-07-23 22:00:23 +01:00
Idan Horowitz
339b0a17e8
LibJS: Implement Temporal.Calendar.prototype.dayOfWeek
2021-07-23 22:00:23 +01:00
Idan Horowitz
9fa8f19a0f
LibJS: Implement Temporal.PlainDate.prototype.withCalendar
2021-07-23 22:00:23 +01:00
Linus Groh
080112eb82
LibJS: Implement Temporal.PlainDateTime.prototype.getISOFields()
2021-07-23 08:18:11 +01:00
Linus Groh
18fd0d4011
LibJS: Implement Temporal.PlainDateTime.prototype.toPlainDate()
2021-07-23 08:18:11 +01:00
Idan Horowitz
cf78efaef5
LibJS: Implement the ToTemporalDate Abstract Operation
...
This is required by most Temporal.PlainDate.prototype methods.
2021-07-21 22:49:37 +01:00
Idan Horowitz
1e471e2e2f
LibJS: Add Temporal.Calendar.prototype.dateFromFields & required AOs
...
This is required for implementing the DateFromFields PlainDate AO.
2021-07-21 22:49:37 +01:00
Idan Horowitz
cc00ccec41
LibJS: Start implementing Temporal.PlainDate
...
This commit adds the PlainDate object itself, its constructor and
prototype (currently empty), and several required abstract operations.
2021-07-19 09:11:20 +01:00
Linus Groh
5516ad7158
LibJS: Rename Temporal.now => Temporal.Now
...
See:
- https://github.com/tc39/proposal-temporal/commit/d0acb66
- https://github.com/tc39/proposal-temporal/commit/0097fdd
2021-07-19 00:59:26 +01:00
Linus Groh
7df47bf3fb
LibJS: Implement Temporal.Duration.prototype.negated()
2021-07-16 21:59:13 +01:00
Linus Groh
9aa1e4b885
LibJS: Implement Temporal.Duration.prototype.with()
2021-07-16 21:59:13 +01:00
Linus Groh
a06b034a9a
LibJS: Implement Temporal.Duration.prototype.blank
2021-07-16 01:07:01 +01:00
Linus Groh
be5254dcac
LibJS: Implement Temporal.Duration.prototype.nanoseconds
2021-07-16 01:07:01 +01:00
Linus Groh
04e2d215a1
LibJS: Implement Temporal.Duration.prototype.microseconds
2021-07-16 01:07:01 +01:00
Linus Groh
db22f86055
LibJS: Implement Temporal.Duration.prototype.milliseconds
2021-07-16 01:07:01 +01:00
Linus Groh
b81331a110
LibJS: Implement Temporal.Duration.prototype.seconds
2021-07-16 01:07:01 +01:00