ES Proposal spec-compliant shim for Set.prototype.isDisjointFrom. Invoke its "shim" method to shim Set.prototype.isDisjointFrom
if it is unavailable or noncompliant.
This package implements the es-shim API interface. It works in an ES3-supported environment, and complies with the proposed spec. When shimmed, it uses es-set
to shim the Set
implementation itself if needed.
Most common usage:
var assert = require('assert');
var isDisjointFrom = require('set.prototype.isdisjointfrom');
var set1 = new Set([1, 2]);
var set2 = new Set([2, 3]);
var set3 = new Set([1]);
assert.equal(isDisjointFrom(set1, set2), false);
assert.equal(isDisjointFrom(set2, set1), false);
assert.equal(isDisjointFrom(set1, set3), false);
assert.equal(isDisjointFrom(set2, set3), true);
assert.equal(isDisjointFrom(set3, set2), true);
isDisjointFrom.shim();
assert.equal(set1.isDisjointFrom(set2), false);
assert.equal(set2.isDisjointFrom(set1), false);
assert.equal(set1.isDisjointFrom(set3), false);
assert.equal(set2.isDisjointFrom(set3), true);
assert.equal(set3.isDisjointFrom(set2), true);
node v22 and equivalent versions of Chrome have Set isDisjointFrom, but has a bug with set-like arguments with non-SMI integer sizes.
Simply clone the repo, npm install
, and run npm test