set.prototype.intersection (original) (raw)

1.1.7 • Public • Published 8 months ago

set.prototype.intersection Version Badge

github actions coverage License Downloads

npm badge

ES Proposal spec-compliant shim for Set.prototype.intersection. Invoke its "shim" method to shim Set.prototype.intersection 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 intersection = require('set.prototype.intersection');

var set1 = new Set([1, 2]); var set2 = new Set([2, 3]); var result = intersection(set1, set2);

assert.deepEqual(result, new Set([2]));

intersection.shim();

var shimmedResult = set1.intersection(set2); assert.deepEqual(shimmedResult, new Set([2]));

Compatibility

node v22 and equivalent versions of Chrome have Set intersection, but has a bug with set-like arguments with non-SMI integer sizes.

Tests

Simply clone the repo, npm install, and run npm test