amis-rpc-design/node_modules/core-js/modules/esnext.symbol.async-dispose.js
2023-10-07 19:42:30 +08:00

22 lines
942 B
JavaScript

'use strict';
var global = require('../internals/global');
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 = global.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 });
}
}