summaryrefslogtreecommitdiff
path: root/runtime/js/99_main.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/99_main.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