Memoization of synchronous and asynchronous functions
Tasks:
- see examples
- implement time expiration cash
- implement memoize with max records count and removing least used
- implement memoize with max total stored data size
- implement universal memoize compatible with both sync and async function
- implement functional object with following properties methods and events:
memoized.clear()
- clear cachememoized.add(key, value)
- add value to cachmemoized.del(key)
- remove value from cachmemoized.get(key)
- returns saved valuememoized.timeout: Number
- cache timoutmemoized.maxSize: Number
- maximum cache size in bytesmemoized.maxCount: Number
- maximum cache size in item countmemoized.on('add', Function)
memoized.on('del', Function)
memoized.on('clear', Function)