'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 }); 
 | 
  } 
 | 
} 
 |