es6-weak-map

2.0.3last stable release 6 years ago
Complexity Score
Low
Open Issues
1
Dependent Projects
145
Weekly Downloadsglobal
4,990,042

License

  • ISC
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Nopatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme

es6-weak-map

WeakMap collection as specified in ECMAScript6

Roughly inspired by Mark Miller’s and Kris Kowal’s WeakMap implementation.

Differences are:

  • Assumes compliant ES5 environment (no weird ES3 workarounds or hacks)
  • Well modularized CJS style
  • Based on one solution.

Limitations

  • Will fail on non extensible objects provided as keys

Installation

$ npm install es6-weak-map

To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack

Usage

If you want to make sure your environment implements WeakMap, do:

require("es6-weak-map/implement");

If you’d like to use native version when it exists and fallback to polyfill if it doesn’t, but without implementing WeakMap on global scope, do:

var WeakMap = require("es6-weak-map");

If you strictly want to use polyfill even if native WeakMap exists, do:

var WeakMap = require("es6-weak-map/polyfill");

API

Best is to refer to specification. Still if you want quick look, follow example:

var WeakMap = require("es6-weak-map");

var map = new WeakMap();
var obj = {};

map.set(obj, "foo"); // map
map.get(obj); // 'foo'
map.has(obj); // true
map.delete(obj); // true
map.get(obj); // undefined
map.has(obj); // false
map.set(obj, "bar"); // map
map.has(obj); // false

Tests

$ npm test

Security contact information

To report a security vulnerability, please use the Tidelift security contact. 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.

Dependencies

CVE IssuesActive
0
Scorecards Score
3.00
Test Coverage
No Data
Follows Semver
Yes
Github Stars
29
Dependenciestotal
7
DependenciesOutdated
3
DependenciesDeprecated
0
Threat Modelling
No
Repo Audits
No

Learn how to distribute es6-weak-map in your own private NPM registry

npm config set registry  https://npm.cloudsmith.com/owner/repo
Processing...
Done
npm install es6-weak-map
Processing...
Done

13 Releases

NPM on Cloudsmith

Getting started with NPM on Cloudsmith is fast and easy.