diff options
author | Kenta Moriuchi <moriken@kimamass.com> | 2024-08-02 17:56:14 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-02 10:56:14 +0200 |
commit | d2b66e50fd0ea154d25a26eef9d766225a79bce9 (patch) | |
tree | e598c4b0d515ad18c570de032ab960c5b9312830 /runtime/js/99_main.js | |
parent | 930ccf928aee3ce5befc0a7494e0f9caaf0c8c63 (diff) |
BREAKING(temporal/unstable): Remove obsoleted Temporal APIs (#24836)
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r-- | runtime/js/99_main.js | 48 |
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 |