UNPKG

prom-utils

Version:

Promise utilities: rate limiting, queueing/batching, defer, etc.

93 lines (57 loc) 2.29 kB
# 0.16.0 - Dependencies updated. # 0.15.0 - `rateLimit` - Added `maxItemsPerPeriod` option along with the options from `throughputLimiter`. - Added `bypass` option to `add`. - `throughputLimiter` - Added `minWindowLength`, `period`, `expireAfter`, and `getTimeframe` options. - The `windowLength` option is now `maxWindowLength`. - Separated `throttle` and `append`. These two convenience methods were also created: `throttleAndAppend` and `appendAndThrottle`. # 0.14.0 - `batchQueue` - Added `lastFlush`. # 0.13.0 - Added debug statements for `pausable`. - Bumped dependencies. # 0.12.1 - Fixed type for `raceTimeout`. # 0.12.0 - Added `raceTimeout`. # 0.11.0 - Fixed: `rateLimit` should remove an item if it has rejected. - `rateLimit` - `.finish` swallows exceptions. - `rateLimit` - Added `length` getter. - `batchQueue` - Added `length` getter. - BREAKING: `pausable.proceed` changed to `pausable.maybeBlock`. # 0.10.0 - Added `throughputLimiter` - Limit throughput (items/sec). - Added `sleep` - Sleep for `time` ms before resolving the Promise. - `batchQueue` - Added `maxItemsPerSec` and `maxBytesPerSec` options for throughput throttling. - Changed testing library from jest to vitest. - Bumped packages. # 0.9.0 - Better types - removed all use of `any`. - `rateLimit` - Changed the return type of the `finish` method to `Promise<void>`. # 0.8.0 - Added `waitUntil` - Wait until the predicate returns truthy or the timeout expires. - Changed function signature to use generics for `batchQueue`. # 0.7.0 - Changed dependency for determining size in bytes of a value for `batchQueue`. # 0.6.1 - `rateLimit` - Catch promise exceptions which will be re-thrown in `.add` or `.finish`. # 0.6.0 - Added `pacemaker`. # 0.5.0 - Changed debug code to be more logical. # 0.4.0 - Added `batchBytes` option to `batchQueue` which triggers a queue flush if the total size of the queue is greater than or equal to `batchBytes`. # 0.3.0 - `defer` - `pausable` # 0.2.0 - `batchQueue` now accepts an option object which includes `batchSize` and `timeout`. - A timer will be set if the `timeout` option is passed when the first item is enqueued. If the timeout occurs before `batchSize` is reached, `flush` is called. # 0.1.0 - Initial release.