/
githubmirror
/
deno
Обзор
Документация
Войти
/
githubmirror
/
deno
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ext/web/04_global_interfaces.js
88 строк
2 KB
Kenta Moriuchi
fix: bugs in primordials related to `ObjectCreate` and `ObjectDefineProperties` (#36541)
12 авг 2026, 13:15
Не верифицирован
12 авг 2026, 13:15
1b1fd2a
Код
Авторство
О чём код?
// Copyright 2018-2026 the Deno authors. MIT license. // @ts-check /// <reference path="../../core/internal.d.ts" /> (function () { const { core, primordials } = __bootstrap; const { Symbol, SymbolToStringTag, TypeError, } = primordials; const { EventTarget } = core.loadExtScript("ext:deno_web/02_event.js"); const illegalConstructorKey = Symbol("illegalConstructorKey"); class Window extends EventTarget { constructor(key = null) { if (key !== illegalConstructorKey) { throw new TypeError("Illegal constructor"); } super(); } get [SymbolToStringTag]() { return "Window"; } } class WorkerGlobalScope extends EventTarget { constructor(key = null) { if (key != illegalConstructorKey) { throw new TypeError("Illegal constructor"); } super(); } get [SymbolToStringTag]() { return "WorkerGlobalScope"; } } class DedicatedWorkerGlobalScope extends WorkerGlobalScope { constructor(key = null) { if (key != illegalConstructorKey) { throw new TypeError("Illegal constructor"); } super(); } get [SymbolToStringTag]() { return "DedicatedWorkerGlobalScope"; } } const dedicatedWorkerGlobalScopeConstructorDescriptor = { __proto__: null, configurable: true, enumerable: false, value: DedicatedWorkerGlobalScope, writable: true, }; const windowConstructorDescriptor = { __proto__: null, configurable: true, enumerable: false, value: Window, writable: true, }; const workerGlobalScopeConstructorDescriptor = { __proto__: null, configurable: true, enumerable: false, value: WorkerGlobalScope, writable: true, }; return { DedicatedWorkerGlobalScope, dedicatedWorkerGlobalScopeConstructorDescriptor, Window, windowConstructorDescriptor, WorkerGlobalScope, workerGlobalScopeConstructorDescriptor, }; })();