UNPKG

@emotion/weak-memoize

Version:

A memoization function that uses a WeakMap

21 lines (16 loc) 500 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var weakMemoize = function weakMemoize(func) { var cache = new WeakMap(); return function (arg) { if (cache.has(arg)) { // Use non-null assertion because we just checked that the cache `has` it // This allows us to remove `undefined` from the return value return cache.get(arg); } var ret = func(arg); cache.set(arg, ret); return ret; }; }; exports["default"] = weakMemoize;