summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.h
AgeCommit message (Collapse)Author
2023-03-15LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtrMatthew Olsson
2023-01-26LibJS: Port temporal_date_to_string() to StringLinus Groh
2023-01-26LibJS: Port pad_iso_year() to StringLinus Groh
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-08-29LibJS: Hide all the constructors!Andreas Kling
Now that the GC allocator is able to invoke Cell subclass constructors directly via friendship, we no longer need to keep them public. :^)
2022-08-23LibJS: Replace GlobalObject with VM in Temporal AOs [Part 2/19]Linus Groh
2022-05-16LibJS: Introduce ISO Date RecordsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/d264341
2022-05-08LibJS: Refactor Temporal since/until to common AOsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/85a9f57
2022-04-08LibJS: Make options object const in more Temporal AOsLinus Groh
2022-03-10LibJS: Describe various kinds of "Duration Records"Linus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/983902e We already had these defined as structs, but now they're properly defined in the spec (opposed to the previous anonymous records), and we don't have to make up our own names anymore :^) Note that while we're usually not including 'record' in the name, in this case the 'Duration Record' has a name clash with the Duration object. Additionally, later editorial changes introduce CreateFooRecord AOs, so let's just go with FooRecord structs here.
2021-10-11LibJS: Implement Temporal.Calendar.prototype.dateUntil()Linus Groh
2021-09-17LibJS: Convert PlainDate AOs to ThrowCompletionOrLinus Groh
2021-09-09LibJS: Make new_target parameter of all Temporal AOs a const*Linus Groh
These are passed to ordinary_create_from_constructor() in each case, which takes the parameter as a const&, so these can also be const.
2021-09-08LibJS: Replace String const& with StringView in various Temporal AOsLinus Groh
This is especially helpful where we already pass StringView literals and only compare them with others, e.g. overflow and largest/smallest unit, in which case there's no need to actually allocate a string.
2021-08-30LibJS: Implement Temporal.Calendar.prototype.dateAdd()Linus Groh
2021-08-19LibJS: Implement Temporal.PlainDate.prototype.toString()Linus Groh
2021-08-16LibJS: Implement Temporal.Calendar.prototype.yearMonthFromFields()Linus Groh
2021-08-05LibJS: Make regulate_iso_date() and iso_date_from_fields() use ISODateLinus Groh
No need for TemporalDate, we don't use the calendar field here anyway.
2021-07-27LibJS: Implement Temporal.Now.plainDate()Linus Groh
...and ten required AOs we didn't have yet: - BalanceISODate - BalanceISODateTime - BalanceISOYearMonth - BalanceTime - BuiltinTimeZoneGetPlainDateTimeFor - GetISOPartsFromEpoch - GetOffsetNanosecondsFor - ParseTemporalTimeZone - SystemDateTime - ToTemporalTimeZone
2021-07-26LibJS: Implement Temporal.PlainDate.compareIdan Horowitz
2021-07-26LibJS: Use narrower types in Temporal PlainDate/PlainDateTime/CalendarIdan Horowitz
These are bounds-checked during construction of PlainDate/PlainDateTime and as such theres no need to widen them in these internal AO calls.
2021-07-22LibJS: Remove pointless 'explicit' from a couple of constructorsLinus Groh
2021-07-21LibJS: Implement the ToTemporalDate Abstract OperationIdan Horowitz
This is required by most Temporal.PlainDate.prototype methods.
2021-07-21LibJS: Add Temporal.Calendar.prototype.dateFromFields & required AOsIdan Horowitz
This is required for implementing the DateFromFields PlainDate AO.
2021-07-19LibJS: Start implementing Temporal.PlainDateIdan Horowitz
This commit adds the PlainDate object itself, its constructor and prototype (currently empty), and several required abstract operations.
2021-07-12LibJS: Add the ToTemporalInstant Abstract Operation & its requirementsIdan Horowitz
This is Abstract Operation is required for the majority of InstantConstructor's and InstantPrototype's methods. The implementation is not entirely complete, (specifically 2 of the underlying required abstract operations, ParseTemporalTimeZoneString and ParseISODateTime are missing the required lexing, and as such are TODO()-ed) but the majority of it is done.