tc39-weakrefs-shim
Version:
Shim for TC39 Weakrefs proposal
42 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const iterable_js_1 = require("./iterable.js");
function intersects(a, b) {
if (a.size > b.size)
[b, a] = [a, b];
for (const elem of a) {
if (b.has(elem))
return true;
}
return false;
}
exports.intersects = intersects;
function difference(a, b) {
let res;
if (a.size <= b.size) {
res = new Set();
for (const info of a) {
if (!b.has(info))
res.add(info);
}
}
else {
res = new Set(a);
remove(res, b);
}
return res;
}
exports.difference = difference;
function merge(dest, ...iterables) {
for (const item of iterable_js_1.combine(...iterables)) {
dest.add(item);
}
}
exports.merge = merge;
function remove(dest, ...iterables) {
for (const item of iterable_js_1.combine(...iterables)) {
dest.delete(item);
}
}
exports.remove = remove;
//# sourceMappingURL=set.js.map