@philiprehberger/memo-ts
v0.1.3
Published
Advanced memoization with TTL, LRU, and WeakMap support
Readme
@philiprehberger/ts-memo
Advanced memoization with TTL, LRU, and WeakMap support.
Installation
npm install @philiprehberger/ts-memoUsage
import { memo, weakMemo } from '@philiprehberger/ts-memo';
const getUser = memo(fetchUser, { ttl: '5m', maxSize: 1000 });
const user = await getUser('123'); // cached
getUser.clear();
const getNodeData = weakMemo((node: HTMLElement) => expensiveCalc(node));
// Auto-GC when node is removed from DOMAPI
| Function | Description |
|----------|-------------|
| memo(fn, options?) | Memoize with optional TTL and LRU |
| weakMemo(fn) | WeakMap-based memoization |
| .clear() | Clear all cached entries |
| .delete(...args) | Remove specific cache entry |
| .size | Number of cached entries |
Development
npm install
npm run build
npm testLicense
MIT
