1.1.1 • Published 7 years ago

weakmap-shim v1.1.1

Weekly downloads
114,703
License
-
Repository
github
Last release
7 years ago

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