You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mn a0e4803194
test
11 months ago
..
ext test 11 months ago
lib test 11 months ago
node_modules/type test 11 months ago
primitive test 11 months ago
CHANGELOG.md test 11 months ago
CONTRIBUTING.md test 11 months ago
LICENSE test 11 months ago
README.md test 11 months ago
implement.js test 11 months ago
index.js test 11 months ago
is-implemented.js test 11 months ago
is-native-implemented.js test 11 months ago
is-set.js test 11 months ago
package.json test 11 months ago
polyfill.js test 11 months ago
valid-set.js test 11 months ago

README.md

Build status Tests coverage npm version

es6-set

Set collection as specified in ECMAScript6

Warning:
v0.1 version does not ensure O(1) algorithm complexity (but O(n)). This shortcoming will be addressed in v1.0

Usage

If you want to make sure your environment implements Set, do:

require("es6-set/implement");

If you'd like to use native version when it exists and fallback to polyfill if it doesn't, but without implementing Set on global scope, do:

var Set = require("es6-set");

If you strictly want to use polyfill even if native Set exists, do:

var Set = require("es6-set/polyfill");

Installation

$ npm install es6-set

To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack

API

Best is to refer to specification. Still if you want quick look, follow examples:

var Set = require("es6-set");

var set = new Set(["raz", "dwa", {}]);

set.size; // 3
set.has("raz"); // true
set.has("foo"); // false
set.add("foo"); // set
set.size; // 4
set.has("foo"); // true
set.has("dwa"); // true
set.delete("dwa"); // true
set.size; // 3

set.forEach(function (value) {
  // 'raz', {}, 'foo' iterated
});

// FF nightly only:
for (value of set) {
  // 'raz', {}, 'foo' iterated
}

var iterator = set.values();

iterator.next(); // { done: false, value: 'raz' }
iterator.next(); // { done: false, value: {} }
iterator.next(); // { done: false, value: 'foo' }
iterator.next(); // { done: true, value: undefined }

set.clear(); // undefined
set.size; // 0

Tests

$ npm test

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.


Get professional support for d with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.