Sha256: 3d6be0487a1115b22f9d60579bfcc31fcdb7c0fc9ed6cc9ac87b5b971a3b20f2
Contents?: true
Size: 753 Bytes
Versions: 26
Compression:
Stored size: 753 Bytes
Contents
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); exports.memoize3 = memoize3; /** * Memoizes the provided three-argument function. */ function memoize3(fn) { let cache0; return function memoized(a1, a2, a3) { if (cache0 === undefined) { cache0 = new WeakMap(); } let cache1 = cache0.get(a1); if (cache1 === undefined) { cache1 = new WeakMap(); cache0.set(a1, cache1); } let cache2 = cache1.get(a2); if (cache2 === undefined) { cache2 = new WeakMap(); cache1.set(a2, cache2); } let fnResult = cache2.get(a3); if (fnResult === undefined) { fnResult = fn(a1, a2, a3); cache2.set(a3, fnResult); } return fnResult; }; }
Version data entries
26 entries across 26 versions & 1 rubygems