smap.js - A forward polyfill for ES6 Maps
Use ES6 Maps with a bunch of convenience methods. Help improve the ES6 spec!
var map = 'foo' 'bar';map; // Filter map by a functionmap; 0 42 // Merge Mapsmap; 0 42 'baz' 'thing' // map.get with a defaultmap; 'default' // Invert map (makes keys->values and vice versa)map; 42 0 'thing' 'baz' // Destructive filter (inline map delete)map;map; false // Remove all itemsmapclear; // Check if Map has no itemsmap; true
Installation
In browsers, include smap-shim.js in your page:
You can install this via:
- npm for node.js v0.8+:
npm install smap
- component(1):
component install eriwen/smap.js
- bower:
bower install smap
Environment Support
If you also use the es5-shim, you can use this in:
- IE9+
- Firefox 13+
- Google Chrome 21+
- Safari 4+
- Opera 12+
- Node.js 0.8+
- PhantomJS
Why this project exists
Boris Smus makes an excellent suggestion for moving the web forward: forward polyfills. I hope this project can be the basis for a future proposal to TC39. Please gratuitously discuss Map and WeakMap workings in issues, and add methods/tests with pull requests.
This is for everyone, not just JavaScript gurus. Standards bodies want feedback from developers like you.