1.0.7 • Published 7 years ago

memoizeref v1.0.7

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

memoizeref

Memoizer that compare arguments by reference. Useful for:

  • Immutable values (only reference is compared thus faster)
  • Functions as argumnets (functions can be compared by reference, memoizers that use string comparission doesn't support functions as arguments)

Function definition

import memoize = require("memoizeref");
function memoize(func, maxDepth? : number) { ... }

//func - The function to memoize
//maxDepth Max number of results to store in cache. Default is 5

Example

function sum(a,b) {
    return a + b;
}

const mem = memoize(sum);

//3
mem(1,2);
//3 (from cache)
mem(1,2);

Example with functions as arguments

//A function that takes another function as argument
const filter = (items, predicate) => {
    return items.filter(predicate);
}

const filterMemo = memoize(filter);

const array = [1,2,3];
const greaterThan2 = x => x > 2;
const equals1 = x => x == 1;

filterMemo(array, greaterThan2);
//memoized value returned here:
filterMemo(array, greaterThan2);

//function reference changed, filter is called
filterMemo(array, equals1);
//memoized value returned:
filterMemo(array, equals1);
1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago