Useful data structures such as LRU-Cache, set-multi-map, Signal, EventEmitter, Disposable, Debouncer
npm install @dazl/patterns
@dazl/patterns on Github
Useful data structures such as LRU-Cache, set-multi-map, Signal, EventEmitter, Disposable, Debouncer
| Class | Description |
| -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| Debouncer | Cancelable debouncing of calls to trigger |
| Disposable_2 | |
| Disposables | |
| EventEmitter | Basic type safe event emitter |
| LRUCache | BASIC (not optimal) implementation of the LRU cache |
| SafeDisposable |
Adds dispose-safe methods to Disposables:
- setInterval/setTimeout - guard
|| Function | Description |
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| createDisposables(name, initialGroups) |
Disposables allow adding of disposal async functions, when dispose is called, these functions will be run sequentially
Disposal groups: You can set disposal groups with constraints (before, after) to ensure that disposal groups are disposed in the correct order
within each group disposables are disposed in the reverse order they were added
|| Interface | Description |
| -------------------------------------------------------------------------------- | ----------- |
| DisposalGroup | |
| IDisposable | |
| LRUCacheConfig | |
| Variable | Description |
| ---------------------------------------------------------------------------------- | ----------- |
| DEFAULT_GROUP | |
| DEFAULT_TIMEOUT | |
| Type Alias | Description |
| -------------------------------------------------------------------------------------- | ----------- |
| DisposableItem | |
| DisposableOptions | |
| GroupConstraints | |
| IEventEmitter | |
| Listener | |