123456789101112131415161718192021 |
- 'use strict';
- var globalThis = require('../internals/global-this');
- var defineWellKnownSymbol = require('../internals/well-known-symbol-define');
- var defineProperty = require('../internals/object-define-property').f;
- var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
-
- var Symbol = globalThis.Symbol;
-
- // `Symbol.asyncDispose` well-known symbol
- // https://github.com/tc39/proposal-async-explicit-resource-management
- defineWellKnownSymbol('asyncDispose');
-
- if (Symbol) {
- var descriptor = getOwnPropertyDescriptor(Symbol, 'asyncDispose');
- // workaround of NodeJS 20.4 bug
- // https://github.com/nodejs/node/issues/48699
- // and incorrect descriptor from some transpilers and userland helpers
- if (descriptor.enumerable && descriptor.configurable && descriptor.writable) {
- defineProperty(Symbol, 'asyncDispose', { value: descriptor.value, enumerable: false, configurable: false, writable: false });
- }
- }
|