37ffd941b0 | ||
---|---|---|
.. | ||
ext | ||
lib | ||
node_modules/type | ||
primitive | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
implement.js | ||
index.js | ||
is-implemented.js | ||
is-native-implemented.js | ||
is-set.js | ||
package.json | ||
polyfill.js | ||
valid-set.js |
README.md
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.
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.