UNPKG

disposablestack

Version:

An ESnext spec-compliant `DisposableStack`, `AsyncDisposableStack`, `Symbol.dispose`, and `Symbol.asyncDispose` shim/polyfill/replacement that works as far down as ES3.

22 lines (16 loc) 480 B
'use strict'; var hasSymbols = require('has-symbols'); var DefinePropertyOrThrow = require('es-abstract/2025/DefinePropertyOrThrow'); var polyfill = require('./polyfill'); module.exports = function shimSymbolAsyncDispose() { var asyncDispose = polyfill(); if (hasSymbols()) { DefinePropertyOrThrow(Symbol, 'asyncDispose', { '[[Configurable]]': false, '[[Enumerable]]': false, '[[Writable]]': false, '[[Value]]': asyncDispose }); } return asyncDispose; };