Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/medikoo/es6-map
Map collection as specified in ECMAScript6
https://github.com/medikoo/es6-map
Last synced: about 13 hours ago
JSON representation
Map collection as specified in ECMAScript6
- Host: GitHub
- URL: https://github.com/medikoo/es6-map
- Owner: medikoo
- License: mit
- Created: 2013-05-17T10:24:03.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2021-06-30T16:03:45.000Z (over 3 years ago)
- Last Synced: 2024-05-01T22:17:22.727Z (9 months ago)
- Language: JavaScript
- Homepage:
- Size: 43.9 KB
- Stars: 73
- Watchers: 3
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-ponyfills - es6-map - [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) (Uncategorised)
README
# es6-map
## Map 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
It’s safest to use *es6-map* as a [ponyfill](https://ponyfill.com) – a polyfill which doesn’t touch global objects:
```javascript
var Map = require('es6-map');
```If you want to make sure your environment implements `Map` globally, do:
```javascript
require('es6-map/implement');
```If you strictly want to use the polyfill even if the native `Map` exists, do:
```javascript
var Map = require('es6-map/polyfill');
```### Installation
$ npm install es6-map
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
#### API
Best is to refer to [specification](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-objects). Still if you want quick look, follow examples:
```javascript
var Map = require('es6-map');var x = {}, y = {}, map = new Map([['raz', 'one'], ['dwa', 'two'], [x, y]]);
map.size; // 3
map.get('raz'); // 'one'
map.get(x); // y
map.has('raz'); // true
map.has(x); // true
map.has('foo'); // false
map.set('trzy', 'three'); // map
map.size // 4
map.get('trzy'); // 'three'
map.has('trzy'); // true
map.has('dwa'); // true
map.delete('dwa'); // true
map.size; // 3map.forEach(function (value, key) {
// { 'raz', 'one' }, { x, y }, { 'trzy', 'three' } iterated
});// FF nightly only:
for (value of map) {
// ['raz', 'one'], [x, y], ['trzy', 'three'] iterated
}var iterator = map.values();
iterator.next(); // { done: false, value: 'one' }
iterator.next(); // { done: false, value: y }
iterator.next(); // { done: false, value: 'three' }
iterator.next(); // { done: true, value: undefined }map.clear(); // undefined
map.size; // 0
```## Tests [![Build Status](https://travis-ci.org/medikoo/es6-map.png)](https://travis-ci.org/medikoo/es6-map)
$ npm test
## Security contact information
To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). 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.