A simple, performant utility to determine if a value is a Weak Set.
Full documentation is available at the zerodep.app page.
All @zerodep packages support both ESM and CJS.
import { isWeakSet } from '@zerodep/is-weakset';
// or
const { isWeakSet } = require('@zerodep/is-weakset');
// prepare a weak map
const ws = new WeakSet();
const obj = {};
ws.add(obj);
isWeakSet(ws); // true
isWeakSet(['a', 'b', 'c']); // false
isWeakSet(1000n); // false
isWeakSet(true); // false
isWeakSet(new Date()); // false
isWeakSet(''); // false
isWeakSet(new Error('message')); // false
isWeakSet(3.14); // false
isWeakSet(() => 'function'); // false
isWeakSet(42); // false
isWeakSet(
new Map([
['a', 1],
['b', 2],
])
); // false
isWeakSet(null); // false
isWeakSet({ an: 'object' }); // false
isWeakSet(new Promise(() => {})); // false
isWeakSet(/[regex]+/gi); // false
isWeakSet(new Set([1, 2, 3])); // false
isWeakSet('a string'); // false
isWeakSet(Symbol()); // false
isWeakSet(new Int32Array(2)); // false
isWeakSet(undefined); // false