Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0c4378330b67f1dc802edd25a80a78f446b3be09
https://github.com/WebKit/WebKit/commit/0c4378330b67f1dc802edd25a80a78f446b3be09
Author: Ross Kirsling <[email protected]>
Date: 2022-09-23 (Fri, 23 Sep 2022)
Changed paths:
M JSTests/stress/temporal-calendar.js
M JSTests/stress/temporal-plaindate.js
M JSTests/test262/config.yaml
M JSTests/test262/expectations.yaml
M Source/JavaScriptCore/runtime/TemporalCalendar.cpp
M Source/JavaScriptCore/runtime/TemporalCalendar.h
M Source/JavaScriptCore/runtime/TemporalCalendarPrototype.cpp
M Source/JavaScriptCore/runtime/TemporalObject.cpp
M Source/JavaScriptCore/runtime/TemporalObject.h
M Source/JavaScriptCore/runtime/TemporalPlainDate.cpp
M Source/JavaScriptCore/runtime/TemporalPlainDate.h
M Source/JavaScriptCore/runtime/TemporalPlainDateConstructor.cpp
M Source/JavaScriptCore/runtime/TemporalPlainDatePrototype.cpp
M Source/JavaScriptCore/runtime/TemporalPlainDateTime.cpp
M Source/JavaScriptCore/runtime/TemporalPlainTime.cpp
Log Message:
-----------
Implement Temporal.PlainDate#{since, until}
https://bugs.webkit.org/show_bug.cgi?id=245550
Reviewed by Yusuke Suzuki.
This patch implements the `since` / `until` methods for PlainDate (and
accordingly the `dateUntil` method for Calendar).
Since we haven't implemented `relativeTo` support for Duration yet, we must
postpone implementation of:
1. the path where `smallestUnit` is set to `year`, `month`, or `week`
2. the entirety of `since` / `until` for PlainDateTime
Otherwise, this completes the "ISO8601-only" implementation for PlainDate and
PlainDateTime.
* JSTests/stress/temporal-calendar.js:
* JSTests/stress/temporal-plaindate.js:
* JSTests/test262/config.yaml:
* JSTests/test262/expectations.yaml:
* Source/JavaScriptCore/runtime/TemporalCalendar.cpp:
(JSC::TemporalCalendar::isoDateDifference): Added.
(JSC::TemporalCalendar::isoDateCompare): Moved from TemporalPlainDate.
* Source/JavaScriptCore/runtime/TemporalCalendar.h:
* Source/JavaScriptCore/runtime/TemporalCalendarPrototype.cpp:
* Source/JavaScriptCore/runtime/TemporalObject.cpp:
(JSC::extractDifferenceOptions): Moved from TemporalPlainTime.
(JSC::negateTemporalRoundingMode): Added.
* Source/JavaScriptCore/runtime/TemporalObject.h:
* Source/JavaScriptCore/runtime/TemporalPlainDate.cpp:
(JSC::TemporalPlainDate::until): Added.
(JSC::TemporalPlainDate::since): Added.
(JSC::TemporalPlainDate::compare): Moved to TemporalCalendar.
* Source/JavaScriptCore/runtime/TemporalPlainDate.h:
* Source/JavaScriptCore/runtime/TemporalPlainDateConstructor.cpp:
* Source/JavaScriptCore/runtime/TemporalPlainDatePrototype.cpp:
* Source/JavaScriptCore/runtime/TemporalPlainDateTime.cpp:
(JSC::TemporalPlainDateTime::compare):
* Source/JavaScriptCore/runtime/TemporalPlainTime.cpp:
(JSC::TemporalPlainTime::until const):
(JSC::TemporalPlainTime::since const):
(JSC::extractDifferenceOptions): Moved to TemporalObject.
Canonical link: https://commits.webkit.org/254780@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes