es6-set

0.1.6 • Public • Published

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.

Dependencies (6)

Dev Dependencies (7)

Package Sidebar

Install

npm i es6-set

Weekly Downloads

1,923,917

Version

0.1.6

License

ISC

Unpacked Size

22.2 kB

Total Files

21

Last publish

Collaborators

  • medikoo