Collections-ES6
Provides support for ES6
Map
, Set
, WeakMap
and WeakSet
in ES5
for older JS environments i.e. older browsers or NodeJS
.
ES6 Map, Set, WeakMap and WeakSet polyfill in pure ES5.
Install
It depends on symbol-es6 module, so you need to include both.
NPM
Install it from npm
and require
it before any other modules:
$ npm install --save collections-es6
;;
CDN
If you prefer CDN, then just insert it into your HTML page on the top of other scripts:
Examples
"use strict"; var ES6 = ;ES6 = ; var map = 1 2 "Hi" "Hello World"; console; //trueconsole; //true map;map;map;map; console; //4console; //trueconsole; //4console; //trueconsole; //true var set = NaN 0 -0 "Hi" "Hello World";set; console; //trueconsole; //trueconsole; //5console; //trueconsole; //false var wm = ;wm;wm;wm; console; //trueconsole; //false var ws = ;ws;ws; console; //falseconsole; //true console; //trueconsole; //trueconsole; //trueconsole; //true
Polyfills
-
Map
Map.prototype.size
Map.prototype.set()
Map.prototype.get()
Map.prototype.has()
Map.prototype.clear()
Map.prototype.delete()
Map.prototype.entries()
Map.prototype.forEach()
Map.prototype.keys()
Map.prototype.values()
Map.prototype[@@iterator]()
Map.prototype[@@toStringTag]()
-
Set
Set.prototype.size
Set.prototype.add()
Set.prototype.clear()
Set.prototype.delete()
Set.prototype.entries()
Set.prototype.forEach()
Set.prototype.has()
Set.prototype.keys()
Set.prototype.values()
Set.prototype[@@iterator]()
Set.prototype[@@toStringTag]()
-
WeakMap
WeakMap.prototype.delete()
WeakMap.prototype.get()
WeakMap.prototype.has()
WeakMap.prototype.set()
WeakMap.prototype[@@toStringTag]()
-
WeakSet
WeakSet.prototype.add()
WeakSet.prototype.delete()
WeakSet.prototype.has()
WeakSet.prototype[@@toStringTag]()
Contributing
Your PRs and stars are always welcome.
Please, try to follow:
- Clone the repository.
- Checkout
develop
branch. - Install dependencies.
- Add your new features or fixes.
- Build the project.
$ git clone https://github.com/rousan/collections-es6.git$ cd collections-es6$ git checkout develop$ npm i$ npm run build