Sha256: e591d1130e20fdae7dfd40517e2a5600ff6ba581ad94e927a039fcfb4752b139
Contents?: true
Size: 1.15 KB
Versions: 14
Compression:
Stored size: 1.15 KB
Contents
'use strict'; var memoize = require('../..'); module.exports = { "": function (a) { var i = 0, fn = function (x, y, z) { ++i; return x + y + z; }, mfn , y = { toString: function () { return 'foo'; } }; mfn = memoize(fn, { primitive: true }); a(mfn(y, 'bar', 'zeta'), 'foobarzeta', "#1"); a(mfn('foo', 'bar', 'zeta'), 'foobarzeta', "#2"); a(i, 1, "Called once"); }, Delete: function (a) { var i = 0, fn = function (x, y, z) { ++i; return x + y + z; }, mfn , y = { toString: function () { return 'foo'; } }; mfn = memoize(fn, { primitive: true }); a(mfn(y, 'bar', 'zeta'), 'foobarzeta', "#1"); a(mfn('foo', 'bar', 'zeta'), 'foobarzeta', "#2"); a(i, 1, "Called once"); mfn.delete('foo', { toString: function () { return 'bar'; } }, 'zeta'); a(mfn(y, 'bar', 'zeta'), 'foobarzeta', "#3"); a(i, 2, "Called twice"); }, Clear: function (a) { var i = 0, fn; fn = memoize(function (x) { if (++i < 2) fn(x); }); a.throws(function () { fn('foo'); }, 'CIRCULAR_INVOCATION'); i = 0; fn = memoize(function (x, y) { if (++i < 2) fn(x, y); }); a.throws(function () { fn('foo', 'bar'); }, 'CIRCULAR_INVOCATION'); } };
Version data entries
14 entries across 7 versions & 1 rubygems