Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

es6-set

medikoo6.3mISC0.1.6

ECMAScript6 Set polyfill

set, collection, es6, harmony, list, hash

readme

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.

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.1.6 (2022-08-17)

Maintenance Improvements

  • Switch LICENSE from MIT to ISC (50f0cae)
  • Add .editorconfig (c1f97aa)
  • Add CONTRIBUTING.md (2c9907c)
  • Configure coverage script (3a1fb7a)
  • Configure Prettier (192cbf2)
  • Switch linter from xlint to eslint (1d77dc3)

Changelog for previous versions

See CHANGES file