weakmap-shim

1.1.1 • Public • Published

weakmap-shim

A minimal weakmap shim

Example

var weakMap = require("weakmap-shim")
 
var map = weakMap()
var key = {}
 
map.set(key, 'some value')
var v = map.get(key) // 'some value'

create-store Example

var createStore = require('weakmap-shim/create-store')
 
var store = createStore()
var key = {}
 
var value = store(key)
 
// `value` is weakly bound to `key`. `value` is a plain object
value.foo = 'bar'
 
var value2 = store(key)
 
var v = value2.foo; // 'bar'
var bool = value === value2; // true

Motivation

Benvie has an excellent weakmap module that's far more robust. However it contains quite a bit of loc.

  • weakmap : 7451 bytes
  • weakmap-shim : 2106 bytes
  • weakmap-shim/create-store : 1311 bytes

This module is only worthwhile if you want to add a weakmap to a small module (10 - 30 loc) and dont want to bloat it with a heavier weakmap

Installation

npm install weakmap-shim

Contributors

  • Raynos

MIT Licenced

Readme

Keywords

none

Package Sidebar

Install

npm i weakmap-shim

Weekly Downloads

107,544

Version

1.1.1

License

none

Last publish

Collaborators

  • raynos