UNPKG

disposablestack

Version:

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

19 lines (15 loc) 552 B
'use strict'; var hasOwn = require('hasown'); var isArray = require('es-abstract/helpers/IsArray'); var every = require('es-abstract/helpers/every'); var isDisposableResourceRecord = require('./disposable-resource-record'); module.exports = function isDisposeCapabilityRecord(x) { return x && typeof x === 'object' && hasOwn(x, '[[DisposableResourceStack]]') && isArray(x['[[DisposableResourceStack]]']) && ( x['[[DisposableResourceStack]]'].length === 0 || every(x['[[DisposableResourceStack]]'], isDisposableResourceRecord) ); };