Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eriwen/es6-map-shim
Implements the evolving ES6 Map specification as closely as possible
https://github.com/eriwen/es6-map-shim
Last synced: about 2 months ago
JSON representation
Implements the evolving ES6 Map specification as closely as possible
- Host: GitHub
- URL: https://github.com/eriwen/es6-map-shim
- Owner: eriwen
- License: mit
- Archived: true
- Created: 2012-11-12T15:56:27.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-10-12T17:17:15.000Z (about 10 years ago)
- Last Synced: 2024-10-29T01:19:01.039Z (2 months ago)
- Language: JavaScript
- Homepage:
- Size: 5.71 MB
- Stars: 23
- Watchers: 3
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- es6-tools - ES6 Map Shim - destructive shim that follows the latest specification as closely as possible. (Polyfills / Brunch Plugins)
README
# DEPRECATED: New ES6 Map Spec cannot be shimmed
# es6-map-shim - A polyfill for ES6 Maps
This is a *destructive* shim that implements the ES6 Map specification as closely as possible.It is *slow* (lookups in O(n) time for now) and not intended for use in a production environment.
```js
var map = new Map([['foo', 'bar'], [-0, function(){}]]);
map.set(null, 42);map.get(-0);
=> function(){}map.has(null);
=> truemap.keys();
=> ['foo', -0, null]map.values();
=> ['bar', function(){}, 42]map.items();
=> [['foo', 'bar'], [-0, function(){}], [null, 42]]map.forEach(function(value, key, mapReference) {
console.log(typeof value);
});
=> 'string'\n'function'\n'number'\nvar iterator = map.iterator();
iterator.next();
=> ['foo', 'bar']
iterator.next();
=> [-0, function(){}]map.delete(null);
=> true// Remove all items
map.clear();
map.size;
=> 0map.toString();
=> '[object Map]'
```## Installation
In browsers, include [es6-map-shim.js](https://github.com/eriwen/es6-map-shim/downloads) in your page:```html
```
You can install this via:
* npm for [node.js](http://nodejs.org) v0.8+: `npm install es6-map-shim`
* [component(1)](https://github.com/component/component): `component install eriwen/es6-map-shim`
* [bower](http://twitter.github.com/bower/): `bower install es6-map-shim`### Environment Support
If you also use the [es5-shim](https://github.com/kriskowal/es5-shim), you can use this in:* IE7+ (not fully tested yet)
* Firefox 15+
* Google Chrome 21+
* Safari 4+
* Opera 12+
* Node.js 0.8+
* PhantomJS