performance-helpers 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/.eslintrc.cjs +22 -0
  2. package/.nojekyll +0 -0
  3. package/.prettierrc +6 -0
  4. package/CONTRIBUTING.md +178 -0
  5. package/LICENSE.md +21 -0
  6. package/README.md +194 -0
  7. package/assets/1_Caching.md +4 -0
  8. package/assets/2_Parallelizing.md +18 -0
  9. package/assets/3_Logging.md +3 -0
  10. package/assets/404.md +3 -0
  11. package/assets/4_Utils.md +10 -0
  12. package/assets/logo.png +0 -0
  13. package/assets/navigation.md +10 -0
  14. package/bench/README.md +97 -0
  15. package/bench/results.json +94 -0
  16. package/bench/results.md +233 -0
  17. package/bench/run.js +2639 -0
  18. package/bench/worker.js +43 -0
  19. package/docs/README.md +38 -0
  20. package/docs/docs-typedoc.json +38714 -0
  21. package/docs/helpers/constants/README.md +34 -0
  22. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_BACKOFF_MAX_MULTIPLIER.md +9 -0
  23. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_COOLDOWN_MS.md +9 -0
  24. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_INTERVAL_MS.md +9 -0
  25. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_MIN_INTERVAL_MS.md +9 -0
  26. package/docs/helpers/constants/variables/DEFAULT_BACKPRESSURE_QUEUE_CAPACITY.md +9 -0
  27. package/docs/helpers/constants/variables/DEFAULT_BACKPRESSURE_REFILL_INTERVAL_MS.md +9 -0
  28. package/docs/helpers/constants/variables/DEFAULT_BATCH_MAX_SIZE.md +9 -0
  29. package/docs/helpers/constants/variables/DEFAULT_CACHE_DEFAULT_TTL_MS.md +9 -0
  30. package/docs/helpers/constants/variables/DEFAULT_CACHE_MAX_POOL_SIZE.md +9 -0
  31. package/docs/helpers/constants/variables/DEFAULT_CACHE_MAX_WEIGHT_BYTES.md +9 -0
  32. package/docs/helpers/constants/variables/DEFAULT_HISTOGRAM_BUCKET_COUNT.md +9 -0
  33. package/docs/helpers/constants/variables/DEFAULT_HISTOGRAM_MAX_VALUE.md +9 -0
  34. package/docs/helpers/constants/variables/DEFAULT_MAX_CLEANUP_PER_TICK.md +9 -0
  35. package/docs/helpers/constants/variables/DEFAULT_QUEUE_CAPACITY.md +9 -0
  36. package/docs/helpers/constants/variables/DEFAULT_REAPER_MIN_INTERVAL_MS.md +9 -0
  37. package/docs/helpers/constants/variables/DEFAULT_REFILL_INTERVAL_MS.md +9 -0
  38. package/docs/helpers/constants/variables/DEFAULT_RETRY_BASE_DELAY_MS.md +9 -0
  39. package/docs/helpers/constants/variables/DEFAULT_RETRY_MAX_DELAY_MS.md +9 -0
  40. package/docs/helpers/constants/variables/DEFAULT_TIMEOUT_MS.md +9 -0
  41. package/docs/helpers/constants/variables/ENCODE_CACHE_LARGE_KEY_LENGTH.md +9 -0
  42. package/docs/helpers/constants/variables/MAX_DEEP_EQUAL_DEPTH.md +9 -0
  43. package/docs/helpers/constants/variables/MS_PER_MIN.md +9 -0
  44. package/docs/helpers/constants/variables/MS_PER_SEC.md +9 -0
  45. package/docs/helpers/constants/variables/default.md +103 -0
  46. package/docs/helpers/jsdoc-types/README.md +33 -0
  47. package/docs/helpers/jsdoc-types/interfaces/BufferDecoder.md +23 -0
  48. package/docs/helpers/jsdoc-types/interfaces/BufferEncoder.md +23 -0
  49. package/docs/helpers/jsdoc-types/interfaces/CacheNode.md +43 -0
  50. package/docs/helpers/jsdoc-types/interfaces/CommonPoolOptions.md +31 -0
  51. package/docs/helpers/jsdoc-types/interfaces/PendingResponseEntry.md +51 -0
  52. package/docs/helpers/jsdoc-types/interfaces/PostMessageOptions.md +39 -0
  53. package/docs/helpers/jsdoc-types/interfaces/PowerBatchOptions.md +13 -0
  54. package/docs/helpers/jsdoc-types/interfaces/PowerCacheOptions.md +115 -0
  55. package/docs/helpers/jsdoc-types/interfaces/PowerChunkingOptions.md +31 -0
  56. package/docs/helpers/jsdoc-types/interfaces/PowerCircuitOptions.md +45 -0
  57. package/docs/helpers/jsdoc-types/interfaces/PowerDeadlineOptions.md +101 -0
  58. package/docs/helpers/jsdoc-types/interfaces/PowerDeferOptions.md +13 -0
  59. package/docs/helpers/jsdoc-types/interfaces/PowerEventBusOptions.md +19 -0
  60. package/docs/helpers/jsdoc-types/interfaces/PowerLatchOptions.md +23 -0
  61. package/docs/helpers/jsdoc-types/interfaces/PowerLoggerOptions.md +51 -0
  62. package/docs/helpers/jsdoc-types/interfaces/PowerObserverOptions.md +25 -0
  63. package/docs/helpers/jsdoc-types/interfaces/PowerPoolOptions.md +85 -0
  64. package/docs/helpers/jsdoc-types/interfaces/PowerQueueOptions.md +13 -0
  65. package/docs/helpers/jsdoc-types/interfaces/PowerRetryOptions.md +83 -0
  66. package/docs/helpers/jsdoc-types/interfaces/PowerSlidingWindowOptions.md +19 -0
  67. package/docs/helpers/jsdoc-types/interfaces/PowerTTLMapOptions.md +27 -0
  68. package/docs/helpers/jsdoc-types/interfaces/PowerThrottleOptions.md +31 -0
  69. package/docs/helpers/jsdoc-types/interfaces/WorkerObj.md +55 -0
  70. package/docs/helpers/powerBackpressure/README.md +17 -0
  71. package/docs/helpers/powerBackpressure/classes/PowerBackpressure.md +368 -0
  72. package/docs/helpers/powerBatch/README.md +17 -0
  73. package/docs/helpers/powerBatch/classes/PowerBatch.md +139 -0
  74. package/docs/helpers/powerBuffer/README.md +26 -0
  75. package/docs/helpers/powerBuffer/functions/b2o.md +25 -0
  76. package/docs/helpers/powerBuffer/functions/o2b.md +23 -0
  77. package/docs/helpers/powerBuffer/functions/o2u8.md +33 -0
  78. package/docs/helpers/powerBuffer/functions/u82o.md +30 -0
  79. package/docs/helpers/powerBulkhead/README.md +17 -0
  80. package/docs/helpers/powerBulkhead/classes/PowerBulkhead.md +302 -0
  81. package/docs/helpers/powerCache/README.md +29 -0
  82. package/docs/helpers/powerCache/classes/PowerCache.md +933 -0
  83. package/docs/helpers/powerCache/classes/PowerMemoizer.md +244 -0
  84. package/docs/helpers/powerCache/classes/PowerTimedCache.md +302 -0
  85. package/docs/helpers/powerCache/functions/simpleArgsKey.md +31 -0
  86. package/docs/helpers/powerChunking/README.md +17 -0
  87. package/docs/helpers/powerChunking/classes/PowerChunker.md +78 -0
  88. package/docs/helpers/powerCircuit/README.md +23 -0
  89. package/docs/helpers/powerCircuit/classes/PowerCircuit.md +167 -0
  90. package/docs/helpers/powerDeadline/README.md +23 -0
  91. package/docs/helpers/powerDeadline/classes/PowerDeadline.md +88 -0
  92. package/docs/helpers/powerDefer/README.md +17 -0
  93. package/docs/helpers/powerDefer/classes/PowerDefer.md +134 -0
  94. package/docs/helpers/powerEventBus/README.md +23 -0
  95. package/docs/helpers/powerEventBus/classes/PowerEventBus.md +330 -0
  96. package/docs/helpers/powerHistogram/README.md +17 -0
  97. package/docs/helpers/powerHistogram/classes/PowerHistogram.md +285 -0
  98. package/docs/helpers/powerLatch/README.md +17 -0
  99. package/docs/helpers/powerLatch/classes/PowerLatch.md +264 -0
  100. package/docs/helpers/powerLogger/README.md +17 -0
  101. package/docs/helpers/powerLogger/classes/PowerLogger.md +290 -0
  102. package/docs/helpers/powerObserver/README.md +23 -0
  103. package/docs/helpers/powerObserver/classes/PowerObserver.md +213 -0
  104. package/docs/helpers/powerPermitGate/README.md +11 -0
  105. package/docs/helpers/powerPermitGate/classes/PowerPermitGate.md +248 -0
  106. package/docs/helpers/powerPool/README.md +36 -0
  107. package/docs/helpers/powerPool/classes/PowerPool.md +973 -0
  108. package/docs/helpers/powerPool/classes/PowerPoolShutdownError.md +67 -0
  109. package/docs/helpers/powerQueue/README.md +11 -0
  110. package/docs/helpers/powerQueue/classes/PowerQueue.md +302 -0
  111. package/docs/helpers/powerRateLimit/README.md +17 -0
  112. package/docs/helpers/powerRateLimit/classes/PowerRateLimit.md +187 -0
  113. package/docs/helpers/powerRetry/README.md +23 -0
  114. package/docs/helpers/powerRetry/classes/PowerRetry.md +106 -0
  115. package/docs/helpers/powerScheduler/README.md +11 -0
  116. package/docs/helpers/powerScheduler/classes/PowerScheduler.md +135 -0
  117. package/docs/helpers/powerSemaphore/README.md +17 -0
  118. package/docs/helpers/powerSemaphore/classes/PowerSemaphore.md +173 -0
  119. package/docs/helpers/powerSlidingWindow/README.md +11 -0
  120. package/docs/helpers/powerSlidingWindow/classes/PowerSlidingWindow.md +83 -0
  121. package/docs/helpers/powerSubscriberSet/README.md +15 -0
  122. package/docs/helpers/powerSubscriberSet/classes/PowerSubscriberSet.md +251 -0
  123. package/docs/helpers/powerSubscriberSet/functions/cleanupWeakRefs.md +21 -0
  124. package/docs/helpers/powerTTLMap/README.md +17 -0
  125. package/docs/helpers/powerTTLMap/classes/PowerTTLMap.md +326 -0
  126. package/docs/helpers/powerThrottle/README.md +17 -0
  127. package/docs/helpers/powerThrottle/classes/PowerThrottle.md +216 -0
  128. package/docs/index/README.md +205 -0
  129. package/docs/utils/errors/README.md +12 -0
  130. package/docs/utils/errors/functions/formatErrorObj.md +30 -0
  131. package/docs/utils/errors/functions/normalizeError.md +50 -0
  132. package/docs/utils/now/README.md +19 -0
  133. package/docs/utils/now/functions/measureAsync.md +37 -0
  134. package/docs/utils/now/functions/measureSync.md +54 -0
  135. package/docs/utils/now/functions/nowMs.md +24 -0
  136. package/guides/autoscale.md +80 -0
  137. package/guides/errors.md +41 -0
  138. package/guides/metaGuide.md +440 -0
  139. package/guides/now.md +56 -0
  140. package/guides/powerBackpressure.md +110 -0
  141. package/guides/powerBatch.md +82 -0
  142. package/guides/powerBuffer.md +86 -0
  143. package/guides/powerBulkhead.md +61 -0
  144. package/guides/powerCache.md +269 -0
  145. package/guides/powerChunking.md +130 -0
  146. package/guides/powerCircuit.md +84 -0
  147. package/guides/powerDeadline.md +99 -0
  148. package/guides/powerDefer.md +56 -0
  149. package/guides/powerEventBus.md +89 -0
  150. package/guides/powerHistogram.md +71 -0
  151. package/guides/powerLatch.md +94 -0
  152. package/guides/powerLogger.md +129 -0
  153. package/guides/powerObserver.md +65 -0
  154. package/guides/powerPermitGate.md +52 -0
  155. package/guides/powerPool.md +321 -0
  156. package/guides/powerQueue.md +112 -0
  157. package/guides/powerRateLimit.md +37 -0
  158. package/guides/powerRetry.md +54 -0
  159. package/guides/powerScheduler.md +41 -0
  160. package/guides/powerSemaphore.md +65 -0
  161. package/guides/powerSlidingWindow.md +63 -0
  162. package/guides/powerSubscriberSet.md +48 -0
  163. package/guides/powerTTLMap.md +58 -0
  164. package/guides/powerThrottle.md +152 -0
  165. package/index.html +57 -0
  166. package/package.json +81 -0
  167. package/results.json +6692 -0
  168. package/scripts/find-missing-jsdoc.js +62 -0
  169. package/scripts/modernize-optional-chaining.cjs +36 -0
  170. package/scripts/pool-debug.mjs +29 -0
  171. package/scripts/repro_powercache.js +14 -0
  172. package/scripts/static-audit-exports.cjs +93 -0
  173. package/scripts/static-audit-exports.json +518 -0
  174. package/src/helpers/constants.js +69 -0
  175. package/src/helpers/jsdoc-types.js +221 -0
  176. package/src/helpers/powerBackpressure.js +182 -0
  177. package/src/helpers/powerBatch.js +161 -0
  178. package/src/helpers/powerBuffer.js +161 -0
  179. package/src/helpers/powerBulkhead.js +203 -0
  180. package/src/helpers/powerCache.js +1740 -0
  181. package/src/helpers/powerChunking.js +340 -0
  182. package/src/helpers/powerCircuit.js +160 -0
  183. package/src/helpers/powerDeadline.js +181 -0
  184. package/src/helpers/powerDefer.js +100 -0
  185. package/src/helpers/powerEventBus.js +405 -0
  186. package/src/helpers/powerHistogram.js +174 -0
  187. package/src/helpers/powerLatch.js +247 -0
  188. package/src/helpers/powerLogger.js +348 -0
  189. package/src/helpers/powerObserver.js +146 -0
  190. package/src/helpers/powerPermitGate.js +142 -0
  191. package/src/helpers/powerPool.js +2793 -0
  192. package/src/helpers/powerQueue.js +253 -0
  193. package/src/helpers/powerRateLimit.js +273 -0
  194. package/src/helpers/powerRetry.js +114 -0
  195. package/src/helpers/powerScheduler.js +91 -0
  196. package/src/helpers/powerSemaphore.js +94 -0
  197. package/src/helpers/powerSlidingWindow.js +86 -0
  198. package/src/helpers/powerSubscriberSet.js +260 -0
  199. package/src/helpers/powerTTLMap.js +253 -0
  200. package/src/helpers/powerThrottle.js +171 -0
  201. package/src/index.js +27 -0
  202. package/src/utils/errors.js +45 -0
  203. package/src/utils/now.js +129 -0
  204. package/test/powerBackpressure.test.js +114 -0
  205. package/test/powerBatch.branches.extra.test.js +122 -0
  206. package/test/powerBatch.test.js +79 -0
  207. package/test/powerBuffer.test.js +125 -0
  208. package/test/powerBulkhead.test.js +210 -0
  209. package/test/powerCache.branches.test.js +233 -0
  210. package/test/powerCache.bulk.test.js +31 -0
  211. package/test/powerCache.getorset.test.js +110 -0
  212. package/test/powerCache.hitRate.test.js +35 -0
  213. package/test/powerCache.inflight.test.js +24 -0
  214. package/test/powerCache.iterator.test.js +18 -0
  215. package/test/powerCache.misses.test.js +52 -0
  216. package/test/powerCache.more.test.js +118 -0
  217. package/test/powerCache.test.js +37 -0
  218. package/test/powerCache.timeout.test.js +25 -0
  219. package/test/powerCache.touch.test.js +46 -0
  220. package/test/powerChunking.branches.extra.test.js +155 -0
  221. package/test/powerChunking.errors.test.js +177 -0
  222. package/test/powerChunking.test.js +39 -0
  223. package/test/powerCircuit.observability.test.js +71 -0
  224. package/test/powerCircuit.test.js +74 -0
  225. package/test/powerDeadline.test.js +140 -0
  226. package/test/powerDefer.test.js +55 -0
  227. package/test/powerErrors.test.js +32 -0
  228. package/test/powerEventBus.branches.extra.test.js +70 -0
  229. package/test/powerEventBus.extra.test.js +72 -0
  230. package/test/powerEventBus.max.test.js +43 -0
  231. package/test/powerEventBus.more.test.js +121 -0
  232. package/test/powerEventBus.once_off.test.js +17 -0
  233. package/test/powerEventBus.test.js +74 -0
  234. package/test/powerEventBus.uncovered.test.js +57 -0
  235. package/test/powerEventBus.weak.test.js +18 -0
  236. package/test/powerHistogram.test.js +73 -0
  237. package/test/powerLatch.branches.extra.test.js +115 -0
  238. package/test/powerLatch.test.js +57 -0
  239. package/test/powerLogger.branches.test.js +98 -0
  240. package/test/powerLogger.formatter.name.test.js +58 -0
  241. package/test/powerLogger.json.test.js +88 -0
  242. package/test/powerLogger.output.test.js +81 -0
  243. package/test/powerLogger.table.debug.test.js +77 -0
  244. package/test/powerLogger.test.js +59 -0
  245. package/test/powerMemoizer.memoize.test.js +100 -0
  246. package/test/powerMemoizer.test.js +85 -0
  247. package/test/powerObserver.test.js +129 -0
  248. package/test/powerPermitGate.test.js +66 -0
  249. package/test/powerPool.autoTransfer.test.js +100 -0
  250. package/test/powerPool.autoscale.extra.test.js +88 -0
  251. package/test/powerPool.autoscale.test.js +136 -0
  252. package/test/powerPool.awaitDefaultTimeout.test.js +52 -0
  253. package/test/powerPool.awaitTimeout.test.js +22 -0
  254. package/test/powerPool.batch.test.js +170 -0
  255. package/test/powerPool.branches.extra2.test.js +42 -0
  256. package/test/powerPool.branches.test.js +102 -0
  257. package/test/powerPool.browser.messageerror.test.js +45 -0
  258. package/test/powerPool.correlation.test.js +26 -0
  259. package/test/powerPool.correlationId.test.js +63 -0
  260. package/test/powerPool.dispose.test.js +49 -0
  261. package/test/powerPool.drain.test.js +57 -0
  262. package/test/powerPool.events.test.js +131 -0
  263. package/test/powerPool.more.extra.test.js +99 -0
  264. package/test/powerPool.more.test.js +283 -0
  265. package/test/powerPool.node.messageerror.test.js +46 -0
  266. package/test/powerPool.postMessage.promise.test.js +83 -0
  267. package/test/powerPool.queueHigh.test.js +55 -0
  268. package/test/powerPool.queueSaturation.test.js +51 -0
  269. package/test/powerPool.rapidResize.test.js +55 -0
  270. package/test/powerPool.resize.overload.test.js +65 -0
  271. package/test/powerPool.resize.test.js +70 -0
  272. package/test/powerPool.shutdown.test.js +38 -0
  273. package/test/powerPool.stats.test.js +40 -0
  274. package/test/powerPool.stopThePress.test.js +94 -0
  275. package/test/powerPool.terminateShutdown.test.js +22 -0
  276. package/test/powerPool.test.js +525 -0
  277. package/test/powerPool.timers.test.js +55 -0
  278. package/test/powerPool.uncovered.test.js +407 -0
  279. package/test/powerPool.workerId.test.js +47 -0
  280. package/test/powerQueue.iterators.test.js +67 -0
  281. package/test/powerQueue.saturation.test.js +18 -0
  282. package/test/powerQueue.test.js +48 -0
  283. package/test/powerQueue.unshiftMany.test.js +49 -0
  284. package/test/powerRateLimit.atomic.test.js +80 -0
  285. package/test/powerRateLimit.extra.test.js +145 -0
  286. package/test/powerRateLimit.functions.test.js +106 -0
  287. package/test/powerRateLimit.test.js +38 -0
  288. package/test/powerRetry.attemptTimeout.test.js +51 -0
  289. package/test/powerRetry.test.js +121 -0
  290. package/test/powerScheduler.test.js +126 -0
  291. package/test/powerSemaphore.test.js +108 -0
  292. package/test/powerSlidingWindow.pool.test.js +55 -0
  293. package/test/powerSlidingWindow.test.js +25 -0
  294. package/test/powerSubscriberSet.test.js +125 -0
  295. package/test/powerTTLMap.test.js +125 -0
  296. package/test/powerThrottle.pool.test.js +54 -0
  297. package/test/powerThrottle.refill.test.js +22 -0
  298. package/test/powerThrottle.reserve.test.js +46 -0
  299. package/test/powerThrottle.test.js +45 -0
  300. package/test/powerTimedCache.test.js +73 -0
  301. package/test/umd.bundle.branches.test.js +100 -0
  302. package/test/umd.bundle.cache-timers.test.js +48 -0
  303. package/test/umd.bundle.exhaustive.test.js +158 -0
  304. package/test/umd.bundle.fuzz.test.js +86 -0
  305. package/test/umd.bundle.hasEqual.more.test.js +68 -0
  306. package/test/umd.bundle.hasEqual.test.js +104 -0
  307. package/test/umd.bundle.logger-extra.test.js +48 -0
  308. package/test/umd.bundle.more-coverage-2.test.js +67 -0
  309. package/test/umd.bundle.pool.test.js +134 -0
  310. package/test/umd.bundle.test.js +265 -0
  311. package/test/utils.measure.test.js +49 -0
  312. package/test/utils.now.extra.test.js +30 -0
  313. package/test/utils.now.more.test.js +57 -0
  314. package/tsconfig.json +16 -0
  315. package/typedoc.json +25 -0
  316. package/types/helpers/constants.d.ts +49 -0
  317. package/types/helpers/jsdoc-types.d.ts +250 -0
  318. package/types/helpers/powerBackpressure.d.ts +40 -0
  319. package/types/helpers/powerBatch.d.ts +73 -0
  320. package/types/helpers/powerBuffer.d.ts +6 -0
  321. package/types/helpers/powerBulkhead.d.ts +78 -0
  322. package/types/helpers/powerCache.d.ts +613 -0
  323. package/types/helpers/powerChunking.d.ts +41 -0
  324. package/types/helpers/powerCircuit.d.ts +43 -0
  325. package/types/helpers/powerDeadline.d.ts +36 -0
  326. package/types/helpers/powerDefer.d.ts +47 -0
  327. package/types/helpers/powerEventBus.d.ts +108 -0
  328. package/types/helpers/powerHistogram.d.ts +57 -0
  329. package/types/helpers/powerLatch.d.ts +89 -0
  330. package/types/helpers/powerLogger.d.ts +139 -0
  331. package/types/helpers/powerObserver.d.ts +44 -0
  332. package/types/helpers/powerPermitGate.d.ts +68 -0
  333. package/types/helpers/powerPool.d.ts +555 -0
  334. package/types/helpers/powerQueue.d.ts +126 -0
  335. package/types/helpers/powerRateLimit.d.ts +90 -0
  336. package/types/helpers/powerRetry.d.ts +35 -0
  337. package/types/helpers/powerScheduler.d.ts +44 -0
  338. package/types/helpers/powerSemaphore.d.ts +44 -0
  339. package/types/helpers/powerSlidingWindow.d.ts +44 -0
  340. package/types/helpers/powerSubscriberSet.d.ts +78 -0
  341. package/types/helpers/powerTTLMap.d.ts +108 -0
  342. package/types/helpers/powerThrottle.d.ts +86 -0
  343. package/types/index.d.ts +26 -0
  344. package/types/utils/errors.d.ts +30 -0
  345. package/types/utils/now.d.ts +45 -0
  346. package/vite.config.js +31 -0
  347. package/vitest.config.js +17 -0

There are too many changes on this page to be displayed.


The amount of changes on this page would crash your brower.

You can still verify the content by downloading the package file manually.