summaryrefslogtreecommitdiff
path: root/runtime/js
diff options
context:
space:
mode:
authorKenta Moriuchi <moriken@kimamass.com>2024-08-02 17:56:14 +0900
committerGitHub <noreply@github.com>2024-08-02 10:56:14 +0200
commitd2b66e50fd0ea154d25a26eef9d766225a79bce9 (patch)
treee598c4b0d515ad18c570de032ab960c5b9312830 /runtime/js
parent930ccf928aee3ce5befc0a7494e0f9caaf0c8c63 (diff)
BREAKING(temporal/unstable): Remove obsoleted Temporal APIs (#24836)
Diffstat (limited to 'runtime/js')
-rw-r--r--runtime/js/99_main.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js
index e4d26b5de..f537f1775 100644
--- a/runtime/js/99_main.js
+++ b/runtime/js/99_main.js
@@ -849,6 +849,30 @@ function bootstrapMainRuntime(runtimeOptions, warmup = false) {
// Removes the `Temporal` API.
delete globalThis.Temporal;
delete globalThis.Date.prototype.toTemporalInstant;
+ } else {
+ // Removes the obsoleted `Temporal` API.
+ // https://github.com/tc39/proposal-temporal/pull/2895
+ // https://github.com/tc39/proposal-temporal/pull/2914
+ if (typeof Temporal.Instant.fromEpochSeconds === "undefined") {
+ throw "V8 removes obsoleted Temporal API now, no need to delete them!";
+ }
+ delete Temporal.Instant.fromEpochSeconds;
+ delete Temporal.Instant.fromEpochMicroseconds;
+ delete Temporal.Instant.prototype.epochSeconds;
+ delete Temporal.Instant.prototype.epochMicroseconds;
+ delete Temporal.PlainDateTime.prototype.withPlainDate;
+ delete Temporal.PlainDateTime.prototype.toPlainYearMonth;
+ delete Temporal.PlainDateTime.prototype.toPlainMonthDay;
+ delete Temporal.PlainTime.prototype.toPlainDateTime;
+ delete Temporal.PlainTime.prototype.toZonedDateTime;
+ delete Temporal.TimeZone.prototype.getNextTransition;
+ delete Temporal.TimeZone.prototype.getPreviousTransition;
+ delete Temporal.ZonedDateTime.prototype.withPlainDate;
+ delete Temporal.ZonedDateTime.prototype.toPlainYearMonth;
+ delete Temporal.ZonedDateTime.prototype.toPlainMonthDay;
+ delete Temporal.Now.zonedDateTime;
+ delete Temporal.Now.plainDateTime;
+ delete Temporal.Now.plainDate;
}
// Setup `Deno` global - we're actually overriding already existing global
@@ -1008,6 +1032,30 @@ function bootstrapWorkerRuntime(
// Removes the `Temporal` API.
delete globalThis.Temporal;
delete globalThis.Date.prototype.toTemporalInstant;
+ } else {
+ // Removes the obsoleted `Temporal` API.
+ // https://github.com/tc39/proposal-temporal/pull/2895
+ // https://github.com/tc39/proposal-temporal/pull/2914
+ if (typeof Temporal.Instant.fromEpochSeconds === "undefined") {
+ throw "V8 removes obsoleted Temporal API now, no need to delete them!";
+ }
+ delete Temporal.Instant.fromEpochSeconds;
+ delete Temporal.Instant.fromEpochMicroseconds;
+ delete Temporal.Instant.prototype.epochSeconds;
+ delete Temporal.Instant.prototype.epochMicroseconds;
+ delete Temporal.PlainDateTime.prototype.withPlainDate;
+ delete Temporal.PlainDateTime.prototype.toPlainYearMonth;
+ delete Temporal.PlainDateTime.prototype.toPlainMonthDay;
+ delete Temporal.PlainTime.prototype.toPlainDateTime;
+ delete Temporal.PlainTime.prototype.toZonedDateTime;
+ delete Temporal.TimeZone.prototype.getNextTransition;
+ delete Temporal.TimeZone.prototype.getPreviousTransition;
+ delete Temporal.ZonedDateTime.prototype.withPlainDate;
+ delete Temporal.ZonedDateTime.prototype.toPlainYearMonth;
+ delete Temporal.ZonedDateTime.prototype.toPlainMonthDay;
+ delete Temporal.Now.zonedDateTime;
+ delete Temporal.Now.plainDateTime;
+ delete Temporal.Now.plainDate;
}
// Setup `Deno` global - we're actually overriding already existing global