A function that memoizes the result of a function and caches this result for a limited amount of time. The cache key is either defined by provided resolver function or created from the memoized function.
Run npm test
to execute the unit tests via Chai.
A general introduction into memoization: https://en.wikipedia.org/wiki/Memoization