Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
The es6-set npm package provides a polyfill for the ES6 Set data structure, allowing developers to use Set functionalities in environments that do not natively support ES6. It offers methods to add, delete, and manage unique values in a set.
Creating and Initializing a Set
This feature allows the creation of a Set object and initialization with an array of values. The 'has' method checks if a value exists in the set.
const Set = require('es6-set');
const mySet = new Set([1, 2, 3]);
console.log(mySet.has(1)); // true
Adding Values
This feature demonstrates adding values to a Set. The 'add' method appends a new element to the set if it does not already exist.
const Set = require('es6-set');
const mySet = new Set();
mySet.add(1);
mySet.add(2);
console.log(mySet.has(2)); // true
Deleting Values
This feature shows how to remove a specific element from a Set using the 'delete' method.
const Set = require('es6-set');
const mySet = new Set([1, 2, 3]);
mySet.delete(2);
console.log(mySet.has(2)); // false
Clearing the Set
This feature allows clearing all elements from a Set using the 'clear' method, effectively resetting the Set.
const Set = require('es6-set');
const mySet = new Set([1, 2, 3]);
mySet.clear();
console.log(mySet.size); // 0
core-js is a modular standard library for JavaScript, which includes polyfills for many ECMAScript features including Set. It offers broader functionality than es6-set, covering more ES6 features and beyond.
babel-polyfill provides a more comprehensive set of polyfills for ES6 features, including Set. It is typically used in conjunction with Babel for projects that require transpiling newer ECMAScript code to be compatible with older environments.
Warning:
v0.1 version does not ensure O(1) algorithm complexity (but O(n)). This shortcoming will be addressed in v1.0
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");
$ 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
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
$ npm test
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.
FAQs
ECMAScript6 Set polyfill
The npm package es6-set receives a total of 1,494,629 weekly downloads. As such, es6-set popularity was classified as popular.
We found that es6-set demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.