memoize is a JavaScript package for accelerating repeated function calls by caching results for previously seen inputs. By default, it builds cache identity from the function's first argument using strict equality. Developers can supply custom cache-key functions when multiple arguments or value-based object comparisons are required. Cache entries can expire after a configurable duration, and storage can be replaced with Map-compatible implementations such as LRU caches. Utilities are provided for clearing cached values and checking whether a particular call is currently cached. The package also includes a decorator for memoizing class methods and getters in modern TypeScript and JavaScript environments. It can work with promise-returning functions, although the project recommends specialized alternatives for advanced async behavior.
Features
- Function result caching
- Configurable cache expiration
- Custom cache-key generation
- Replaceable Map-compatible cache storage
- Cache clearing and presence checking
- Class method and getter memoization decorators