performance-helpers 1.0.0 → 1.0.1

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 (287) hide show
  1. package/README.md +12 -2
  2. package/package.json +146 -1
  3. package/src/index.js +1 -0
  4. package/.eslintrc.cjs +0 -22
  5. package/.nojekyll +0 -0
  6. package/.prettierrc +0 -6
  7. package/CONTRIBUTING.md +0 -178
  8. package/assets/1_Caching.md +0 -4
  9. package/assets/2_Parallelizing.md +0 -18
  10. package/assets/3_Logging.md +0 -3
  11. package/assets/404.md +0 -3
  12. package/assets/4_Utils.md +0 -10
  13. package/assets/logo.png +0 -0
  14. package/assets/navigation.md +0 -10
  15. package/bench/README.md +0 -97
  16. package/bench/results.json +0 -94
  17. package/bench/results.md +0 -233
  18. package/bench/run.js +0 -2639
  19. package/bench/worker.js +0 -43
  20. package/docs/README.md +0 -38
  21. package/docs/docs-typedoc.json +0 -38714
  22. package/docs/helpers/constants/README.md +0 -34
  23. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_BACKOFF_MAX_MULTIPLIER.md +0 -9
  24. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_COOLDOWN_MS.md +0 -9
  25. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_INTERVAL_MS.md +0 -9
  26. package/docs/helpers/constants/variables/DEFAULT_AUTOSCALE_MIN_INTERVAL_MS.md +0 -9
  27. package/docs/helpers/constants/variables/DEFAULT_BACKPRESSURE_QUEUE_CAPACITY.md +0 -9
  28. package/docs/helpers/constants/variables/DEFAULT_BACKPRESSURE_REFILL_INTERVAL_MS.md +0 -9
  29. package/docs/helpers/constants/variables/DEFAULT_BATCH_MAX_SIZE.md +0 -9
  30. package/docs/helpers/constants/variables/DEFAULT_CACHE_DEFAULT_TTL_MS.md +0 -9
  31. package/docs/helpers/constants/variables/DEFAULT_CACHE_MAX_POOL_SIZE.md +0 -9
  32. package/docs/helpers/constants/variables/DEFAULT_CACHE_MAX_WEIGHT_BYTES.md +0 -9
  33. package/docs/helpers/constants/variables/DEFAULT_HISTOGRAM_BUCKET_COUNT.md +0 -9
  34. package/docs/helpers/constants/variables/DEFAULT_HISTOGRAM_MAX_VALUE.md +0 -9
  35. package/docs/helpers/constants/variables/DEFAULT_MAX_CLEANUP_PER_TICK.md +0 -9
  36. package/docs/helpers/constants/variables/DEFAULT_QUEUE_CAPACITY.md +0 -9
  37. package/docs/helpers/constants/variables/DEFAULT_REAPER_MIN_INTERVAL_MS.md +0 -9
  38. package/docs/helpers/constants/variables/DEFAULT_REFILL_INTERVAL_MS.md +0 -9
  39. package/docs/helpers/constants/variables/DEFAULT_RETRY_BASE_DELAY_MS.md +0 -9
  40. package/docs/helpers/constants/variables/DEFAULT_RETRY_MAX_DELAY_MS.md +0 -9
  41. package/docs/helpers/constants/variables/DEFAULT_TIMEOUT_MS.md +0 -9
  42. package/docs/helpers/constants/variables/ENCODE_CACHE_LARGE_KEY_LENGTH.md +0 -9
  43. package/docs/helpers/constants/variables/MAX_DEEP_EQUAL_DEPTH.md +0 -9
  44. package/docs/helpers/constants/variables/MS_PER_MIN.md +0 -9
  45. package/docs/helpers/constants/variables/MS_PER_SEC.md +0 -9
  46. package/docs/helpers/constants/variables/default.md +0 -103
  47. package/docs/helpers/jsdoc-types/README.md +0 -33
  48. package/docs/helpers/jsdoc-types/interfaces/BufferDecoder.md +0 -23
  49. package/docs/helpers/jsdoc-types/interfaces/BufferEncoder.md +0 -23
  50. package/docs/helpers/jsdoc-types/interfaces/CacheNode.md +0 -43
  51. package/docs/helpers/jsdoc-types/interfaces/CommonPoolOptions.md +0 -31
  52. package/docs/helpers/jsdoc-types/interfaces/PendingResponseEntry.md +0 -51
  53. package/docs/helpers/jsdoc-types/interfaces/PostMessageOptions.md +0 -39
  54. package/docs/helpers/jsdoc-types/interfaces/PowerBatchOptions.md +0 -13
  55. package/docs/helpers/jsdoc-types/interfaces/PowerCacheOptions.md +0 -115
  56. package/docs/helpers/jsdoc-types/interfaces/PowerChunkingOptions.md +0 -31
  57. package/docs/helpers/jsdoc-types/interfaces/PowerCircuitOptions.md +0 -45
  58. package/docs/helpers/jsdoc-types/interfaces/PowerDeadlineOptions.md +0 -101
  59. package/docs/helpers/jsdoc-types/interfaces/PowerDeferOptions.md +0 -13
  60. package/docs/helpers/jsdoc-types/interfaces/PowerEventBusOptions.md +0 -19
  61. package/docs/helpers/jsdoc-types/interfaces/PowerLatchOptions.md +0 -23
  62. package/docs/helpers/jsdoc-types/interfaces/PowerLoggerOptions.md +0 -51
  63. package/docs/helpers/jsdoc-types/interfaces/PowerObserverOptions.md +0 -25
  64. package/docs/helpers/jsdoc-types/interfaces/PowerPoolOptions.md +0 -85
  65. package/docs/helpers/jsdoc-types/interfaces/PowerQueueOptions.md +0 -13
  66. package/docs/helpers/jsdoc-types/interfaces/PowerRetryOptions.md +0 -83
  67. package/docs/helpers/jsdoc-types/interfaces/PowerSlidingWindowOptions.md +0 -19
  68. package/docs/helpers/jsdoc-types/interfaces/PowerTTLMapOptions.md +0 -27
  69. package/docs/helpers/jsdoc-types/interfaces/PowerThrottleOptions.md +0 -31
  70. package/docs/helpers/jsdoc-types/interfaces/WorkerObj.md +0 -55
  71. package/docs/helpers/powerBackpressure/README.md +0 -17
  72. package/docs/helpers/powerBackpressure/classes/PowerBackpressure.md +0 -368
  73. package/docs/helpers/powerBatch/README.md +0 -17
  74. package/docs/helpers/powerBatch/classes/PowerBatch.md +0 -139
  75. package/docs/helpers/powerBuffer/README.md +0 -26
  76. package/docs/helpers/powerBuffer/functions/b2o.md +0 -25
  77. package/docs/helpers/powerBuffer/functions/o2b.md +0 -23
  78. package/docs/helpers/powerBuffer/functions/o2u8.md +0 -33
  79. package/docs/helpers/powerBuffer/functions/u82o.md +0 -30
  80. package/docs/helpers/powerBulkhead/README.md +0 -17
  81. package/docs/helpers/powerBulkhead/classes/PowerBulkhead.md +0 -302
  82. package/docs/helpers/powerCache/README.md +0 -29
  83. package/docs/helpers/powerCache/classes/PowerCache.md +0 -933
  84. package/docs/helpers/powerCache/classes/PowerMemoizer.md +0 -244
  85. package/docs/helpers/powerCache/classes/PowerTimedCache.md +0 -302
  86. package/docs/helpers/powerCache/functions/simpleArgsKey.md +0 -31
  87. package/docs/helpers/powerChunking/README.md +0 -17
  88. package/docs/helpers/powerChunking/classes/PowerChunker.md +0 -78
  89. package/docs/helpers/powerCircuit/README.md +0 -23
  90. package/docs/helpers/powerCircuit/classes/PowerCircuit.md +0 -167
  91. package/docs/helpers/powerDeadline/README.md +0 -23
  92. package/docs/helpers/powerDeadline/classes/PowerDeadline.md +0 -88
  93. package/docs/helpers/powerDefer/README.md +0 -17
  94. package/docs/helpers/powerDefer/classes/PowerDefer.md +0 -134
  95. package/docs/helpers/powerEventBus/README.md +0 -23
  96. package/docs/helpers/powerEventBus/classes/PowerEventBus.md +0 -330
  97. package/docs/helpers/powerHistogram/README.md +0 -17
  98. package/docs/helpers/powerHistogram/classes/PowerHistogram.md +0 -285
  99. package/docs/helpers/powerLatch/README.md +0 -17
  100. package/docs/helpers/powerLatch/classes/PowerLatch.md +0 -264
  101. package/docs/helpers/powerLogger/README.md +0 -17
  102. package/docs/helpers/powerLogger/classes/PowerLogger.md +0 -290
  103. package/docs/helpers/powerObserver/README.md +0 -23
  104. package/docs/helpers/powerObserver/classes/PowerObserver.md +0 -213
  105. package/docs/helpers/powerPermitGate/README.md +0 -11
  106. package/docs/helpers/powerPermitGate/classes/PowerPermitGate.md +0 -248
  107. package/docs/helpers/powerPool/README.md +0 -36
  108. package/docs/helpers/powerPool/classes/PowerPool.md +0 -973
  109. package/docs/helpers/powerPool/classes/PowerPoolShutdownError.md +0 -67
  110. package/docs/helpers/powerQueue/README.md +0 -11
  111. package/docs/helpers/powerQueue/classes/PowerQueue.md +0 -302
  112. package/docs/helpers/powerRateLimit/README.md +0 -17
  113. package/docs/helpers/powerRateLimit/classes/PowerRateLimit.md +0 -187
  114. package/docs/helpers/powerRetry/README.md +0 -23
  115. package/docs/helpers/powerRetry/classes/PowerRetry.md +0 -106
  116. package/docs/helpers/powerScheduler/README.md +0 -11
  117. package/docs/helpers/powerScheduler/classes/PowerScheduler.md +0 -135
  118. package/docs/helpers/powerSemaphore/README.md +0 -17
  119. package/docs/helpers/powerSemaphore/classes/PowerSemaphore.md +0 -173
  120. package/docs/helpers/powerSlidingWindow/README.md +0 -11
  121. package/docs/helpers/powerSlidingWindow/classes/PowerSlidingWindow.md +0 -83
  122. package/docs/helpers/powerSubscriberSet/README.md +0 -15
  123. package/docs/helpers/powerSubscriberSet/classes/PowerSubscriberSet.md +0 -251
  124. package/docs/helpers/powerSubscriberSet/functions/cleanupWeakRefs.md +0 -21
  125. package/docs/helpers/powerTTLMap/README.md +0 -17
  126. package/docs/helpers/powerTTLMap/classes/PowerTTLMap.md +0 -326
  127. package/docs/helpers/powerThrottle/README.md +0 -17
  128. package/docs/helpers/powerThrottle/classes/PowerThrottle.md +0 -216
  129. package/docs/index/README.md +0 -205
  130. package/docs/utils/errors/README.md +0 -12
  131. package/docs/utils/errors/functions/formatErrorObj.md +0 -30
  132. package/docs/utils/errors/functions/normalizeError.md +0 -50
  133. package/docs/utils/now/README.md +0 -19
  134. package/docs/utils/now/functions/measureAsync.md +0 -37
  135. package/docs/utils/now/functions/measureSync.md +0 -54
  136. package/docs/utils/now/functions/nowMs.md +0 -24
  137. package/guides/autoscale.md +0 -80
  138. package/guides/errors.md +0 -41
  139. package/guides/metaGuide.md +0 -440
  140. package/guides/now.md +0 -56
  141. package/guides/powerBackpressure.md +0 -110
  142. package/guides/powerBatch.md +0 -82
  143. package/guides/powerBuffer.md +0 -86
  144. package/guides/powerBulkhead.md +0 -61
  145. package/guides/powerCache.md +0 -269
  146. package/guides/powerChunking.md +0 -130
  147. package/guides/powerCircuit.md +0 -84
  148. package/guides/powerDeadline.md +0 -99
  149. package/guides/powerDefer.md +0 -56
  150. package/guides/powerEventBus.md +0 -89
  151. package/guides/powerHistogram.md +0 -71
  152. package/guides/powerLatch.md +0 -94
  153. package/guides/powerLogger.md +0 -129
  154. package/guides/powerObserver.md +0 -65
  155. package/guides/powerPermitGate.md +0 -52
  156. package/guides/powerPool.md +0 -321
  157. package/guides/powerQueue.md +0 -112
  158. package/guides/powerRateLimit.md +0 -37
  159. package/guides/powerRetry.md +0 -54
  160. package/guides/powerScheduler.md +0 -41
  161. package/guides/powerSemaphore.md +0 -65
  162. package/guides/powerSlidingWindow.md +0 -63
  163. package/guides/powerSubscriberSet.md +0 -48
  164. package/guides/powerTTLMap.md +0 -58
  165. package/guides/powerThrottle.md +0 -152
  166. package/index.html +0 -57
  167. package/results.json +0 -6692
  168. package/scripts/find-missing-jsdoc.js +0 -62
  169. package/scripts/modernize-optional-chaining.cjs +0 -36
  170. package/scripts/pool-debug.mjs +0 -29
  171. package/scripts/repro_powercache.js +0 -14
  172. package/scripts/static-audit-exports.cjs +0 -93
  173. package/scripts/static-audit-exports.json +0 -518
  174. package/test/powerBackpressure.test.js +0 -114
  175. package/test/powerBatch.branches.extra.test.js +0 -122
  176. package/test/powerBatch.test.js +0 -79
  177. package/test/powerBuffer.test.js +0 -125
  178. package/test/powerBulkhead.test.js +0 -210
  179. package/test/powerCache.branches.test.js +0 -233
  180. package/test/powerCache.bulk.test.js +0 -31
  181. package/test/powerCache.getorset.test.js +0 -110
  182. package/test/powerCache.hitRate.test.js +0 -35
  183. package/test/powerCache.inflight.test.js +0 -24
  184. package/test/powerCache.iterator.test.js +0 -18
  185. package/test/powerCache.misses.test.js +0 -52
  186. package/test/powerCache.more.test.js +0 -118
  187. package/test/powerCache.test.js +0 -37
  188. package/test/powerCache.timeout.test.js +0 -25
  189. package/test/powerCache.touch.test.js +0 -46
  190. package/test/powerChunking.branches.extra.test.js +0 -155
  191. package/test/powerChunking.errors.test.js +0 -177
  192. package/test/powerChunking.test.js +0 -39
  193. package/test/powerCircuit.observability.test.js +0 -71
  194. package/test/powerCircuit.test.js +0 -74
  195. package/test/powerDeadline.test.js +0 -140
  196. package/test/powerDefer.test.js +0 -55
  197. package/test/powerErrors.test.js +0 -32
  198. package/test/powerEventBus.branches.extra.test.js +0 -70
  199. package/test/powerEventBus.extra.test.js +0 -72
  200. package/test/powerEventBus.max.test.js +0 -43
  201. package/test/powerEventBus.more.test.js +0 -121
  202. package/test/powerEventBus.once_off.test.js +0 -17
  203. package/test/powerEventBus.test.js +0 -74
  204. package/test/powerEventBus.uncovered.test.js +0 -57
  205. package/test/powerEventBus.weak.test.js +0 -18
  206. package/test/powerHistogram.test.js +0 -73
  207. package/test/powerLatch.branches.extra.test.js +0 -115
  208. package/test/powerLatch.test.js +0 -57
  209. package/test/powerLogger.branches.test.js +0 -98
  210. package/test/powerLogger.formatter.name.test.js +0 -58
  211. package/test/powerLogger.json.test.js +0 -88
  212. package/test/powerLogger.output.test.js +0 -81
  213. package/test/powerLogger.table.debug.test.js +0 -77
  214. package/test/powerLogger.test.js +0 -59
  215. package/test/powerMemoizer.memoize.test.js +0 -100
  216. package/test/powerMemoizer.test.js +0 -85
  217. package/test/powerObserver.test.js +0 -129
  218. package/test/powerPermitGate.test.js +0 -66
  219. package/test/powerPool.autoTransfer.test.js +0 -100
  220. package/test/powerPool.autoscale.extra.test.js +0 -88
  221. package/test/powerPool.autoscale.test.js +0 -136
  222. package/test/powerPool.awaitDefaultTimeout.test.js +0 -52
  223. package/test/powerPool.awaitTimeout.test.js +0 -22
  224. package/test/powerPool.batch.test.js +0 -170
  225. package/test/powerPool.branches.extra2.test.js +0 -42
  226. package/test/powerPool.branches.test.js +0 -102
  227. package/test/powerPool.browser.messageerror.test.js +0 -45
  228. package/test/powerPool.correlation.test.js +0 -26
  229. package/test/powerPool.correlationId.test.js +0 -63
  230. package/test/powerPool.dispose.test.js +0 -49
  231. package/test/powerPool.drain.test.js +0 -57
  232. package/test/powerPool.events.test.js +0 -131
  233. package/test/powerPool.more.extra.test.js +0 -99
  234. package/test/powerPool.more.test.js +0 -283
  235. package/test/powerPool.node.messageerror.test.js +0 -46
  236. package/test/powerPool.postMessage.promise.test.js +0 -83
  237. package/test/powerPool.queueHigh.test.js +0 -55
  238. package/test/powerPool.queueSaturation.test.js +0 -51
  239. package/test/powerPool.rapidResize.test.js +0 -55
  240. package/test/powerPool.resize.overload.test.js +0 -65
  241. package/test/powerPool.resize.test.js +0 -70
  242. package/test/powerPool.shutdown.test.js +0 -38
  243. package/test/powerPool.stats.test.js +0 -40
  244. package/test/powerPool.stopThePress.test.js +0 -94
  245. package/test/powerPool.terminateShutdown.test.js +0 -22
  246. package/test/powerPool.test.js +0 -525
  247. package/test/powerPool.timers.test.js +0 -55
  248. package/test/powerPool.uncovered.test.js +0 -407
  249. package/test/powerPool.workerId.test.js +0 -47
  250. package/test/powerQueue.iterators.test.js +0 -67
  251. package/test/powerQueue.saturation.test.js +0 -18
  252. package/test/powerQueue.test.js +0 -48
  253. package/test/powerQueue.unshiftMany.test.js +0 -49
  254. package/test/powerRateLimit.atomic.test.js +0 -80
  255. package/test/powerRateLimit.extra.test.js +0 -145
  256. package/test/powerRateLimit.functions.test.js +0 -106
  257. package/test/powerRateLimit.test.js +0 -38
  258. package/test/powerRetry.attemptTimeout.test.js +0 -51
  259. package/test/powerRetry.test.js +0 -121
  260. package/test/powerScheduler.test.js +0 -126
  261. package/test/powerSemaphore.test.js +0 -108
  262. package/test/powerSlidingWindow.pool.test.js +0 -55
  263. package/test/powerSlidingWindow.test.js +0 -25
  264. package/test/powerSubscriberSet.test.js +0 -125
  265. package/test/powerTTLMap.test.js +0 -125
  266. package/test/powerThrottle.pool.test.js +0 -54
  267. package/test/powerThrottle.refill.test.js +0 -22
  268. package/test/powerThrottle.reserve.test.js +0 -46
  269. package/test/powerThrottle.test.js +0 -45
  270. package/test/powerTimedCache.test.js +0 -73
  271. package/test/umd.bundle.branches.test.js +0 -100
  272. package/test/umd.bundle.cache-timers.test.js +0 -48
  273. package/test/umd.bundle.exhaustive.test.js +0 -158
  274. package/test/umd.bundle.fuzz.test.js +0 -86
  275. package/test/umd.bundle.hasEqual.more.test.js +0 -68
  276. package/test/umd.bundle.hasEqual.test.js +0 -104
  277. package/test/umd.bundle.logger-extra.test.js +0 -48
  278. package/test/umd.bundle.more-coverage-2.test.js +0 -67
  279. package/test/umd.bundle.pool.test.js +0 -134
  280. package/test/umd.bundle.test.js +0 -265
  281. package/test/utils.measure.test.js +0 -49
  282. package/test/utils.now.extra.test.js +0 -30
  283. package/test/utils.now.more.test.js +0 -57
  284. package/tsconfig.json +0 -16
  285. package/typedoc.json +0 -25
  286. package/vite.config.js +0 -31
  287. package/vitest.config.js +0 -17
@@ -1,518 +0,0 @@
1
- {
2
- "generatedAt": "2026-04-09T16:27:29.928Z",
3
- "report": [
4
- {
5
- "symbol": "PowerBackpressure",
6
- "definedIn": "src/helpers/powerBackpressure.js",
7
- "referencedIn": [
8
- "dist/performance-helpers.cjs.js",
9
- "dist/performance-helpers.es.js",
10
- "src/index.js",
11
- "test/powerBackpressure.test.js"
12
- ]
13
- },
14
- {
15
- "symbol": "PowerBatch",
16
- "definedIn": "src/helpers/powerBatch.js",
17
- "referencedIn": [
18
- "dist/performance-helpers.cjs.js",
19
- "dist/performance-helpers.es.js",
20
- "src/index.js",
21
- "test/powerBatch.branches.extra.test.js",
22
- "test/powerBatch.test.js"
23
- ]
24
- },
25
- {
26
- "symbol": "o2u8",
27
- "definedIn": "src/helpers/powerBuffer.js",
28
- "referencedIn": [
29
- "bench/run.js",
30
- "dist/performance-helpers.cjs.js",
31
- "dist/performance-helpers.es.js",
32
- "src/helpers/powerPool.js",
33
- "src/index.js",
34
- "test/powerBuffer.test.js",
35
- "test/powerChunking.branches.extra.test.js",
36
- "test/umd.bundle.branches.test.js",
37
- "test/umd.bundle.exhaustive.test.js",
38
- "test/umd.bundle.test.js"
39
- ]
40
- },
41
- {
42
- "symbol": "u82o",
43
- "definedIn": "src/helpers/powerBuffer.js",
44
- "referencedIn": [
45
- "dist/performance-helpers.cjs.js",
46
- "dist/performance-helpers.es.js",
47
- "src/helpers/powerChunking.js",
48
- "src/helpers/powerPool.js",
49
- "src/index.js",
50
- "test/powerBuffer.test.js",
51
- "test/umd.bundle.branches.test.js",
52
- "test/umd.bundle.exhaustive.test.js",
53
- "test/umd.bundle.more-coverage-2.test.js",
54
- "test/umd.bundle.test.js"
55
- ]
56
- },
57
- {
58
- "symbol": "o2b",
59
- "definedIn": "src/helpers/powerBuffer.js",
60
- "referencedIn": [
61
- "dist/performance-helpers.cjs.js",
62
- "dist/performance-helpers.es.js",
63
- "src/index.js",
64
- "test/powerBuffer.test.js",
65
- "test/umd.bundle.exhaustive.test.js",
66
- "test/umd.bundle.hasEqual.more.test.js",
67
- "test/umd.bundle.test.js"
68
- ]
69
- },
70
- {
71
- "symbol": "b2o",
72
- "definedIn": "src/helpers/powerBuffer.js",
73
- "referencedIn": [
74
- "dist/performance-helpers.cjs.js",
75
- "dist/performance-helpers.es.js",
76
- "src/index.js",
77
- "test/powerBuffer.test.js",
78
- "test/umd.bundle.exhaustive.test.js",
79
- "test/umd.bundle.test.js"
80
- ]
81
- },
82
- {
83
- "symbol": "PowerBulkhead",
84
- "definedIn": "src/helpers/powerBulkhead.js",
85
- "referencedIn": [
86
- "dist/performance-helpers.cjs.js",
87
- "dist/performance-helpers.es.js",
88
- "src/index.js",
89
- "test/powerBulkhead.test.js"
90
- ]
91
- },
92
- {
93
- "symbol": "PowerCache",
94
- "definedIn": "src/helpers/powerCache.js",
95
- "referencedIn": [
96
- "bench/run.js",
97
- "dist/performance-helpers.cjs.js",
98
- "dist/performance-helpers.es.js",
99
- "dist/performance-helpers.js",
100
- "scripts/repro_powercache.js",
101
- "src/index.js",
102
- "test/powerCache.branches.test.js",
103
- "test/powerCache.bulk.test.js",
104
- "test/powerCache.getorset.test.js",
105
- "test/powerCache.hitRate.test.js",
106
- "test/powerCache.iterator.test.js",
107
- "test/powerCache.misses.test.js",
108
- "test/powerCache.more.test.js",
109
- "test/powerCache.test.js",
110
- "test/powerCache.timeout.test.js",
111
- "test/powerCache.touch.test.js",
112
- "test/umd.bundle.branches.test.js",
113
- "test/umd.bundle.cache-timers.test.js",
114
- "test/umd.bundle.exhaustive.test.js",
115
- "test/umd.bundle.hasEqual.more.test.js",
116
- "test/umd.bundle.hasEqual.test.js",
117
- "test/umd.bundle.more-coverage-2.test.js",
118
- "test/umd.bundle.test.js"
119
- ]
120
- },
121
- {
122
- "symbol": "PowerMemoizer",
123
- "definedIn": "src/helpers/powerCache.js",
124
- "referencedIn": [
125
- "dist/performance-helpers.cjs.js",
126
- "dist/performance-helpers.es.js",
127
- "src/index.js",
128
- "test/powerMemoizer.memoize.test.js",
129
- "test/powerMemoizer.test.js",
130
- "test/umd.bundle.exhaustive.test.js"
131
- ]
132
- },
133
- {
134
- "symbol": "PowerTimedCache",
135
- "definedIn": "src/helpers/powerCache.js",
136
- "referencedIn": [
137
- "dist/performance-helpers.cjs.js",
138
- "dist/performance-helpers.es.js",
139
- "src/index.js",
140
- "test/powerTimedCache.test.js"
141
- ]
142
- },
143
- {
144
- "symbol": "deepEqualWithSeen",
145
- "definedIn": "src/helpers/powerCache.js",
146
- "referencedIn": []
147
- },
148
- {
149
- "symbol": "simpleArgsKey",
150
- "definedIn": "src/helpers/powerCache.js",
151
- "referencedIn": [
152
- "test/powerTimedCache.test.js"
153
- ]
154
- },
155
- {
156
- "symbol": "PowerChunker",
157
- "definedIn": "src/helpers/powerChunking.js",
158
- "referencedIn": [
159
- "dist/performance-helpers.cjs.js",
160
- "dist/performance-helpers.es.js",
161
- "dist/performance-helpers.js",
162
- "src/index.js",
163
- "test/powerChunking.branches.extra.test.js",
164
- "test/powerChunking.errors.test.js",
165
- "test/powerChunking.test.js"
166
- ]
167
- },
168
- {
169
- "symbol": "PowerCircuit",
170
- "definedIn": "src/helpers/powerCircuit.js",
171
- "referencedIn": [
172
- "dist/performance-helpers.cjs.js",
173
- "dist/performance-helpers.es.js",
174
- "src/index.js",
175
- "test/powerCircuit.observability.test.js",
176
- "test/powerCircuit.test.js"
177
- ]
178
- },
179
- {
180
- "symbol": "PowerDeadline",
181
- "definedIn": "src/helpers/powerDeadline.js",
182
- "referencedIn": [
183
- "dist/performance-helpers.cjs.js",
184
- "dist/performance-helpers.es.js",
185
- "src/index.js",
186
- "test/powerDeadline.test.js"
187
- ]
188
- },
189
- {
190
- "symbol": "PowerDefer",
191
- "definedIn": "src/helpers/powerDefer.js",
192
- "referencedIn": [
193
- "dist/performance-helpers.cjs.js",
194
- "dist/performance-helpers.es.js",
195
- "src/helpers/powerLatch.js",
196
- "src/index.js",
197
- "test/powerDefer.test.js"
198
- ]
199
- },
200
- {
201
- "symbol": "PowerEventBus",
202
- "definedIn": "src/helpers/powerEventBus.js",
203
- "referencedIn": [
204
- "dist/performance-helpers.cjs.js",
205
- "dist/performance-helpers.es.js",
206
- "src/helpers/powerCircuit.js",
207
- "src/helpers/powerPool.js",
208
- "src/index.js",
209
- "test/powerCircuit.observability.test.js",
210
- "test/powerEventBus.branches.extra.test.js",
211
- "test/powerEventBus.extra.test.js",
212
- "test/powerEventBus.max.test.js",
213
- "test/powerEventBus.more.test.js",
214
- "test/powerEventBus.test.js",
215
- "test/powerEventBus.uncovered.test.js",
216
- "test/powerEventBus.weak.test.js"
217
- ]
218
- },
219
- {
220
- "symbol": "PowerHistogram",
221
- "definedIn": "src/helpers/powerHistogram.js",
222
- "referencedIn": [
223
- "dist/performance-helpers.cjs.js",
224
- "dist/performance-helpers.es.js",
225
- "src/index.js",
226
- "test/powerHistogram.test.js"
227
- ]
228
- },
229
- {
230
- "symbol": "PowerLatch",
231
- "definedIn": "src/helpers/powerLatch.js",
232
- "referencedIn": [
233
- "dist/performance-helpers.cjs.js",
234
- "dist/performance-helpers.es.js",
235
- "src/index.js",
236
- "test/powerLatch.branches.extra.test.js",
237
- "test/powerLatch.test.js"
238
- ]
239
- },
240
- {
241
- "symbol": "PowerLogger",
242
- "definedIn": "src/helpers/powerLogger.js",
243
- "referencedIn": [
244
- "dist/performance-helpers.cjs.js",
245
- "dist/performance-helpers.es.js",
246
- "src/helpers/powerPool.js",
247
- "src/index.js",
248
- "test/powerLogger.branches.test.js",
249
- "test/powerLogger.formatter.name.test.js",
250
- "test/powerLogger.json.test.js",
251
- "test/powerLogger.output.test.js",
252
- "test/powerLogger.table.debug.test.js",
253
- "test/umd.bundle.exhaustive.test.js",
254
- "test/umd.bundle.hasEqual.test.js",
255
- "test/umd.bundle.test.js"
256
- ]
257
- },
258
- {
259
- "symbol": "PowerObserver",
260
- "definedIn": "src/helpers/powerObserver.js",
261
- "referencedIn": [
262
- "dist/performance-helpers.cjs.js",
263
- "dist/performance-helpers.es.js",
264
- "src/index.js",
265
- "test/powerObserver.test.js"
266
- ]
267
- },
268
- {
269
- "symbol": "PowerPermitGate",
270
- "definedIn": "src/helpers/powerPermitGate.js",
271
- "referencedIn": [
272
- "dist/performance-helpers.cjs.js",
273
- "dist/performance-helpers.es.js",
274
- "dist/performance-helpers.js",
275
- "src/helpers/powerBackpressure.js",
276
- "src/helpers/powerBulkhead.js",
277
- "src/helpers/powerSemaphore.js",
278
- "src/index.js",
279
- "test/powerPermitGate.test.js"
280
- ]
281
- },
282
- {
283
- "symbol": "PowerPoolShutdownError",
284
- "definedIn": "src/helpers/powerPool.js",
285
- "referencedIn": [
286
- "dist/performance-helpers.cjs.js",
287
- "dist/performance-helpers.es.js",
288
- "test/powerPool.shutdown.test.js",
289
- "test/powerPool.terminateShutdown.test.js"
290
- ]
291
- },
292
- {
293
- "symbol": "PowerPool",
294
- "definedIn": "src/helpers/powerPool.js",
295
- "referencedIn": [
296
- "bench/run.js",
297
- "dist/performance-helpers.cjs.js",
298
- "dist/performance-helpers.es.js",
299
- "dist/performance-helpers.js",
300
- "src/helpers/powerChunking.js",
301
- "src/index.js",
302
- "test/powerChunking.branches.extra.test.js",
303
- "test/powerPool.autoTransfer.test.js",
304
- "test/powerPool.autoscale.extra.test.js",
305
- "test/powerPool.autoscale.test.js",
306
- "test/powerPool.awaitTimeout.test.js",
307
- "test/powerPool.batch.test.js",
308
- "test/powerPool.branches.extra2.test.js",
309
- "test/powerPool.branches.test.js",
310
- "test/powerPool.correlation.test.js",
311
- "test/powerPool.correlationId.test.js",
312
- "test/powerPool.dispose.test.js",
313
- "test/powerPool.drain.test.js",
314
- "test/powerPool.events.test.js",
315
- "test/powerPool.more.extra.test.js",
316
- "test/powerPool.more.test.js",
317
- "test/powerPool.postMessage.promise.test.js",
318
- "test/powerPool.queueHigh.test.js",
319
- "test/powerPool.queueSaturation.test.js",
320
- "test/powerPool.resize.overload.test.js",
321
- "test/powerPool.resize.test.js",
322
- "test/powerPool.shutdown.test.js",
323
- "test/powerPool.stats.test.js",
324
- "test/powerPool.stopThePress.test.js",
325
- "test/powerPool.test.js",
326
- "test/powerPool.timers.test.js",
327
- "test/powerPool.uncovered.test.js",
328
- "test/powerPool.workerId.test.js",
329
- "test/powerSlidingWindow.pool.test.js",
330
- "test/powerThrottle.pool.test.js",
331
- "test/umd.bundle.branches.test.js",
332
- "test/umd.bundle.exhaustive.test.js",
333
- "test/umd.bundle.pool.test.js",
334
- "test/umd.bundle.test.js"
335
- ]
336
- },
337
- {
338
- "symbol": "PowerQueue",
339
- "definedIn": "src/helpers/powerQueue.js",
340
- "referencedIn": [
341
- "dist/performance-helpers.cjs.js",
342
- "dist/performance-helpers.es.js",
343
- "src/helpers/powerBatch.js",
344
- "src/helpers/powerBulkhead.js",
345
- "src/helpers/powerPermitGate.js",
346
- "src/helpers/powerPool.js",
347
- "src/helpers/powerSlidingWindow.js",
348
- "src/index.js",
349
- "test/powerQueue.iterators.test.js",
350
- "test/powerQueue.saturation.test.js",
351
- "test/powerQueue.test.js",
352
- "test/powerQueue.unshiftMany.test.js"
353
- ]
354
- },
355
- {
356
- "symbol": "PowerRateLimit",
357
- "definedIn": "src/helpers/powerRateLimit.js",
358
- "referencedIn": [
359
- "dist/performance-helpers.cjs.js",
360
- "dist/performance-helpers.es.js",
361
- "src/index.js",
362
- "test/powerRateLimit.atomic.test.js",
363
- "test/powerRateLimit.extra.test.js",
364
- "test/powerRateLimit.functions.test.js",
365
- "test/powerRateLimit.test.js"
366
- ]
367
- },
368
- {
369
- "symbol": "PowerRetry",
370
- "definedIn": "src/helpers/powerRetry.js",
371
- "referencedIn": [
372
- "dist/performance-helpers.cjs.js",
373
- "dist/performance-helpers.es.js",
374
- "src/helpers/powerDeadline.js",
375
- "src/index.js",
376
- "test/powerRetry.attemptTimeout.test.js",
377
- "test/powerRetry.test.js"
378
- ]
379
- },
380
- {
381
- "symbol": "PowerScheduler",
382
- "definedIn": "src/helpers/powerScheduler.js",
383
- "referencedIn": [
384
- "dist/performance-helpers.cjs.js",
385
- "dist/performance-helpers.es.js",
386
- "dist/performance-helpers.js",
387
- "src/helpers/powerBatch.js",
388
- "src/helpers/powerObserver.js",
389
- "src/index.js",
390
- "test/powerScheduler.test.js"
391
- ]
392
- },
393
- {
394
- "symbol": "PowerSemaphore",
395
- "definedIn": "src/helpers/powerSemaphore.js",
396
- "referencedIn": [
397
- "dist/performance-helpers.cjs.js",
398
- "dist/performance-helpers.es.js",
399
- "src/index.js",
400
- "test/powerSemaphore.test.js"
401
- ]
402
- },
403
- {
404
- "symbol": "PowerSlidingWindow",
405
- "definedIn": "src/helpers/powerSlidingWindow.js",
406
- "referencedIn": [
407
- "dist/performance-helpers.cjs.js",
408
- "dist/performance-helpers.es.js",
409
- "src/helpers/powerRateLimit.js",
410
- "src/index.js",
411
- "test/powerRateLimit.test.js",
412
- "test/powerSlidingWindow.pool.test.js",
413
- "test/powerSlidingWindow.test.js"
414
- ]
415
- },
416
- {
417
- "symbol": "PowerSubscriberSet",
418
- "definedIn": "src/helpers/powerSubscriberSet.js",
419
- "referencedIn": [
420
- "dist/performance-helpers.cjs.js",
421
- "dist/performance-helpers.es.js",
422
- "dist/performance-helpers.js",
423
- "src/helpers/powerEventBus.js",
424
- "src/helpers/powerObserver.js",
425
- "src/index.js",
426
- "test/powerSubscriberSet.test.js"
427
- ]
428
- },
429
- {
430
- "symbol": "cleanupWeakRefs",
431
- "definedIn": "src/helpers/powerSubscriberSet.js",
432
- "referencedIn": [
433
- "src/helpers/powerEventBus.js",
434
- "test/powerSubscriberSet.test.js"
435
- ]
436
- },
437
- {
438
- "symbol": "PowerTTLMap",
439
- "definedIn": "src/helpers/powerTTLMap.js",
440
- "referencedIn": [
441
- "dist/performance-helpers.cjs.js",
442
- "dist/performance-helpers.es.js",
443
- "src/index.js",
444
- "test/powerTTLMap.test.js"
445
- ]
446
- },
447
- {
448
- "symbol": "PowerThrottle",
449
- "definedIn": "src/helpers/powerThrottle.js",
450
- "referencedIn": [
451
- "dist/performance-helpers.cjs.js",
452
- "dist/performance-helpers.es.js",
453
- "src/helpers/powerRateLimit.js",
454
- "src/index.js",
455
- "test/powerRateLimit.test.js",
456
- "test/powerThrottle.pool.test.js",
457
- "test/powerThrottle.refill.test.js",
458
- "test/powerThrottle.reserve.test.js",
459
- "test/powerThrottle.test.js"
460
- ]
461
- },
462
- {
463
- "symbol": "nowMs",
464
- "definedIn": "src/index.js",
465
- "referencedIn": [
466
- "dist/performance-helpers.cjs.js",
467
- "dist/performance-helpers.es.js",
468
- "src/helpers/powerCache.js",
469
- "src/helpers/powerCircuit.js",
470
- "src/helpers/powerLogger.js",
471
- "src/helpers/powerPool.js",
472
- "src/helpers/powerSlidingWindow.js",
473
- "src/helpers/powerTTLMap.js",
474
- "src/helpers/powerThrottle.js",
475
- "src/utils/now.js",
476
- "test/utils.now.extra.test.js",
477
- "test/utils.now.more.test.js"
478
- ]
479
- },
480
- {
481
- "symbol": "measureSync",
482
- "definedIn": "src/index.js",
483
- "referencedIn": [
484
- "dist/performance-helpers.cjs.js",
485
- "dist/performance-helpers.es.js",
486
- "src/utils/now.js",
487
- "test/utils.measure.test.js"
488
- ]
489
- },
490
- {
491
- "symbol": "measureAsync",
492
- "definedIn": "src/index.js",
493
- "referencedIn": [
494
- "dist/performance-helpers.cjs.js",
495
- "dist/performance-helpers.es.js",
496
- "src/utils/now.js",
497
- "test/utils.measure.test.js"
498
- ]
499
- },
500
- {
501
- "symbol": "normalizeError",
502
- "definedIn": "src/utils/errors.js",
503
- "referencedIn": [
504
- "src/helpers/powerChunking.js",
505
- "src/helpers/powerLogger.js",
506
- "test/powerErrors.test.js"
507
- ]
508
- },
509
- {
510
- "symbol": "formatErrorObj",
511
- "definedIn": "src/utils/errors.js",
512
- "referencedIn": [
513
- "src/helpers/powerLogger.js",
514
- "test/powerErrors.test.js"
515
- ]
516
- }
517
- ]
518
- }
@@ -1,114 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { PowerBackpressure } from '../src/helpers/powerBackpressure.js';
3
-
4
- describe('PowerBackpressure', () => {
5
- it('exposes queue-related getters', () => {
6
- const bp = new PowerBackpressure({ capacity: 2, queueCapacity: 3 });
7
- expect(bp.capacity).toBe(2);
8
- expect(bp.queueCapacity).toBe(3);
9
- expect(bp.isFull).toBe(false);
10
- });
11
-
12
- it('acquires and releases permits immediately when available', async () => {
13
- const bp = new PowerBackpressure({ capacity: 2 });
14
- const release1 = await bp.acquire();
15
- const release2 = await bp.acquire();
16
-
17
- expect(bp.available).toBe(0);
18
- expect(bp.pending).toBe(0);
19
-
20
- release1();
21
- expect(bp.available).toBe(1);
22
-
23
- release2();
24
- expect(bp.available).toBe(2);
25
- });
26
-
27
- it('queues producers when permits are exhausted', async () => {
28
- const bp = new PowerBackpressure({ capacity: 1, queueCapacity: 2, refillInterval: 10 });
29
- const release = await bp.acquire();
30
- const waiter = bp.acquire();
31
-
32
- expect(bp.available).toBe(0);
33
- expect(bp.pending).toBe(1);
34
-
35
- release();
36
- const callback = await waiter;
37
- expect(typeof callback).toBe('function');
38
- expect(bp.pending).toBe(0);
39
- callback();
40
- });
41
-
42
- it('rejects when wait queue is full', async () => {
43
- const bp = new PowerBackpressure({ capacity: 1, queueCapacity: 1 });
44
- const release = await bp.acquire();
45
- const queued = bp.acquire();
46
- expect(bp.isFull).toBe(true);
47
- await expect(bp.acquire()).rejects.toThrow('PowerBackpressure queue is full');
48
- release();
49
- const callback = await queued;
50
- callback();
51
- });
52
-
53
- it('supports tryAcquire for immediate grant or null when unavailable', () => {
54
- const bp = new PowerBackpressure({ capacity: 1 });
55
- const release = bp.tryAcquire();
56
- expect(typeof release).toBe('function');
57
- expect(bp.tryAcquire()).toBeNull();
58
- release();
59
- expect(bp.tryAcquire()).not.toBeNull();
60
- });
61
-
62
- it('reset clears queued producers and restores full capacity', async () => {
63
- const bp = new PowerBackpressure({ capacity: 1, queueCapacity: 2, refillInterval: 50 });
64
- const release = await bp.acquire();
65
- const queued = bp.acquire();
66
-
67
- bp.reset();
68
-
69
- await expect(queued).rejects.toThrow('PowerBackpressure reset');
70
- expect(bp.available).toBe(1);
71
- expect(bp.pending).toBe(0);
72
- release();
73
- expect(bp.available).toBe(1);
74
- });
75
-
76
- it('performs adaptive refill when backpressure is high', async () => {
77
- const bp = new PowerBackpressure({
78
- capacity: 1,
79
- queueCapacity: 2,
80
- lowWaterMark: 1,
81
- refillAmount: 1,
82
- refillInterval: 10,
83
- });
84
- const release = await bp.acquire();
85
- const waiter = bp.acquire();
86
-
87
- expect(bp.pending).toBe(1);
88
- release();
89
-
90
- const callback = await waiter;
91
- expect(typeof callback).toBe('function');
92
- callback();
93
- });
94
-
95
- it('preserves leftover permits after adaptive refill grants a waiter', async () => {
96
- const bp = new PowerBackpressure({
97
- capacity: 3,
98
- initialTokens: 0,
99
- queueCapacity: 2,
100
- lowWaterMark: 3,
101
- refillAmount: 2,
102
- refillInterval: 10,
103
- });
104
-
105
- const release = await bp.acquire();
106
-
107
- expect(typeof release).toBe('function');
108
- expect(bp.pending).toBe(0);
109
- expect(bp.available).toBe(2);
110
-
111
- release();
112
- expect(bp.available).toBe(3);
113
- });
114
- });