@adviser/cement 0.5.2 → 0.5.4

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 (447) hide show
  1. package/cjs/base-basic-sys-abstraction.test.cjs +12 -13
  2. package/cjs/base-basic-sys-abstraction.test.cjs.map +1 -1
  3. package/cjs/bin2text.test.cjs +15 -14
  4. package/cjs/bin2text.test.cjs.map +1 -1
  5. package/cjs/coerce-binary.test.cjs +16 -15
  6. package/cjs/coerce-binary.test.cjs.map +1 -1
  7. package/cjs/crypto.test.cjs +9 -8
  8. package/cjs/crypto.test.cjs.map +1 -1
  9. package/cjs/future.test.cjs +12 -11
  10. package/cjs/future.test.cjs.map +1 -1
  11. package/cjs/http_header.test.cjs +13 -13
  12. package/cjs/http_header.test.cjs.map +1 -1
  13. package/cjs/index.cjs +3 -0
  14. package/cjs/index.cjs.map +1 -1
  15. package/cjs/index.d.ts +3 -0
  16. package/cjs/index.d.ts.map +1 -1
  17. package/cjs/is-json.test.cjs +59 -58
  18. package/cjs/is-json.test.cjs.map +1 -1
  19. package/cjs/is-promise.test.cjs +19 -19
  20. package/cjs/is-promise.test.cjs.map +1 -1
  21. package/cjs/json-en-decoder.test.cjs +13 -12
  22. package/cjs/json-en-decoder.test.cjs.map +1 -1
  23. package/cjs/keyed-ng.test.cjs +27 -26
  24. package/cjs/keyed-ng.test.cjs.map +1 -1
  25. package/cjs/logger.test.cjs +178 -179
  26. package/cjs/logger.test.cjs.map +1 -1
  27. package/cjs/lru-map-set.test.cjs +67 -66
  28. package/cjs/lru-map-set.test.cjs.map +1 -1
  29. package/cjs/mutable-url.test.cjs +44 -44
  30. package/cjs/mutable-url.test.cjs.map +1 -1
  31. package/cjs/node-fs/mock-file-service.test.cjs +7 -6
  32. package/cjs/node-fs/mock-file-service.test.cjs.map +1 -1
  33. package/cjs/node-fs/node-sys-abstraction.test.cjs +13 -12
  34. package/cjs/node-fs/node-sys-abstraction.test.cjs.map +1 -1
  35. package/cjs/on-func.cjs +15 -1
  36. package/cjs/on-func.cjs.map +1 -1
  37. package/cjs/on-func.d.ts +1 -0
  38. package/cjs/on-func.d.ts.map +1 -1
  39. package/cjs/on-func.test.cjs +62 -29
  40. package/cjs/on-func.test.cjs.map +1 -1
  41. package/cjs/on-func.test.d.ts.map +1 -1
  42. package/cjs/option.cjs +2 -2
  43. package/cjs/option.cjs.map +1 -1
  44. package/cjs/option.d.ts +1 -1
  45. package/cjs/option.d.ts.map +1 -1
  46. package/cjs/path-ops.test.cjs +40 -39
  47. package/cjs/path-ops.test.cjs.map +1 -1
  48. package/cjs/poller.test.cjs +51 -51
  49. package/cjs/poller.test.cjs.map +1 -1
  50. package/cjs/promise-sleep.test.cjs +35 -34
  51. package/cjs/promise-sleep.test.cjs.map +1 -1
  52. package/cjs/resolve-once.cjs +58 -39
  53. package/cjs/resolve-once.cjs.map +1 -1
  54. package/cjs/resolve-once.d.ts +32 -25
  55. package/cjs/resolve-once.d.ts.map +1 -1
  56. package/cjs/resolve-once.test.cjs +337 -309
  57. package/cjs/resolve-once.test.cjs.map +1 -1
  58. package/cjs/result.cjs +6 -0
  59. package/cjs/result.cjs.map +1 -1
  60. package/cjs/result.d.ts +2 -0
  61. package/cjs/result.d.ts.map +1 -1
  62. package/cjs/result.test.cjs +68 -44
  63. package/cjs/result.test.cjs.map +1 -1
  64. package/cjs/sys-env.test.cjs +67 -66
  65. package/cjs/sys-env.test.cjs.map +1 -1
  66. package/cjs/test/mock-logger.test.cjs +14 -13
  67. package/cjs/test/mock-logger.test.cjs.map +1 -1
  68. package/cjs/timeouted.cjs +13 -18
  69. package/cjs/timeouted.cjs.map +1 -1
  70. package/cjs/timeouted.d.ts +23 -27
  71. package/cjs/timeouted.d.ts.map +1 -1
  72. package/cjs/timeouted.test.cjs +337 -307
  73. package/cjs/timeouted.test.cjs.map +1 -1
  74. package/cjs/tracer.test.cjs +32 -31
  75. package/cjs/tracer.test.cjs.map +1 -1
  76. package/cjs/txt-en-decoder.test.cjs +31 -31
  77. package/cjs/txt-en-decoder.test.cjs.map +1 -1
  78. package/cjs/uri.test.cjs +239 -239
  79. package/cjs/uri.test.cjs.map +1 -1
  80. package/cjs/utils/consume.test.cjs +22 -22
  81. package/cjs/utils/consume.test.cjs.map +1 -1
  82. package/cjs/utils/rebuffer.test.cjs +40 -39
  83. package/cjs/utils/rebuffer.test.cjs.map +1 -1
  84. package/cjs/utils/relative-path.test.cjs +125 -124
  85. package/cjs/utils/relative-path.test.cjs.map +1 -1
  86. package/cjs/utils/sorted-object.test.cjs +8 -7
  87. package/cjs/utils/sorted-object.test.cjs.map +1 -1
  88. package/cjs/utils/stream-map.test.cjs +32 -31
  89. package/cjs/utils/stream-map.test.cjs.map +1 -1
  90. package/cjs/utils/stream2string.test.cjs +5 -5
  91. package/cjs/utils/stream2string.test.cjs.map +1 -1
  92. package/cjs/utils/string2stream.test.cjs +5 -5
  93. package/cjs/utils/string2stream.test.cjs.map +1 -1
  94. package/cjs/utils/stripper.test.cjs +21 -20
  95. package/cjs/utils/stripper.test.cjs.map +1 -1
  96. package/cjs/utils/to-sorted.d.ts +1 -1
  97. package/cjs/utils/to-sorted.d.ts.map +1 -1
  98. package/cjs/utils/to-sorted.test.cjs +27 -27
  99. package/cjs/utils/to-sorted.test.cjs.map +1 -1
  100. package/cjs/version.cjs +1 -1
  101. package/cjs/wait-for-value.cjs +49 -0
  102. package/cjs/wait-for-value.cjs.map +1 -0
  103. package/cjs/wait-for-value.d.ts +13 -0
  104. package/cjs/wait-for-value.d.ts.map +1 -0
  105. package/cjs/wait-for-value.test.cjs +86 -0
  106. package/cjs/wait-for-value.test.cjs.map +1 -0
  107. package/cjs/wait-for-value.test.d.ts +2 -0
  108. package/cjs/wait-for-value.test.d.ts.map +1 -0
  109. package/deno.json +1 -1
  110. package/esm/base-basic-sys-abstraction.test.js +1 -2
  111. package/esm/base-basic-sys-abstraction.test.js.map +1 -1
  112. package/esm/bin2text.test.js +2 -1
  113. package/esm/bin2text.test.js.map +1 -1
  114. package/esm/coerce-binary.test.js +1 -0
  115. package/esm/coerce-binary.test.js.map +1 -1
  116. package/esm/crypto.test.js +2 -1
  117. package/esm/crypto.test.js.map +1 -1
  118. package/esm/future.test.js +1 -0
  119. package/esm/future.test.js.map +1 -1
  120. package/esm/http_header.test.js +1 -1
  121. package/esm/http_header.test.js.map +1 -1
  122. package/esm/index.d.ts +3 -0
  123. package/esm/index.d.ts.map +1 -1
  124. package/esm/index.js +3 -0
  125. package/esm/index.js.map +1 -1
  126. package/esm/is-json.test.js +2 -1
  127. package/esm/is-json.test.js.map +1 -1
  128. package/esm/is-promise.test.js +2 -2
  129. package/esm/is-promise.test.js.map +1 -1
  130. package/esm/json-en-decoder.test.js +2 -1
  131. package/esm/json-en-decoder.test.js.map +1 -1
  132. package/esm/keyed-ng.test.js +8 -7
  133. package/esm/keyed-ng.test.js.map +1 -1
  134. package/esm/load-asset.test.js +2 -3
  135. package/esm/load-asset.test.js.map +1 -1
  136. package/esm/logger.test.js +2 -3
  137. package/esm/logger.test.js.map +1 -1
  138. package/esm/lru-map-set.test.js +1 -0
  139. package/esm/lru-map-set.test.js.map +1 -1
  140. package/esm/mutable-url.test.js +1 -1
  141. package/esm/mutable-url.test.js.map +1 -1
  142. package/esm/node-fs/mock-file-service.test.js +1 -0
  143. package/esm/node-fs/mock-file-service.test.js.map +1 -1
  144. package/esm/node-fs/node-sys-abstraction.test.js +1 -0
  145. package/esm/node-fs/node-sys-abstraction.test.js.map +1 -1
  146. package/esm/on-func.d.ts +1 -0
  147. package/esm/on-func.d.ts.map +1 -1
  148. package/esm/on-func.js +15 -1
  149. package/esm/on-func.js.map +1 -1
  150. package/esm/on-func.test.d.ts.map +1 -1
  151. package/esm/on-func.test.js +36 -3
  152. package/esm/on-func.test.js.map +1 -1
  153. package/esm/option.d.ts +1 -1
  154. package/esm/option.d.ts.map +1 -1
  155. package/esm/option.js +2 -2
  156. package/esm/option.js.map +1 -1
  157. package/esm/path-ops.test.js +2 -1
  158. package/esm/path-ops.test.js.map +1 -1
  159. package/esm/poller.test.js +2 -2
  160. package/esm/poller.test.js.map +1 -1
  161. package/esm/promise-sleep.test.js +2 -1
  162. package/esm/promise-sleep.test.js.map +1 -1
  163. package/esm/resolve-once.d.ts +32 -25
  164. package/esm/resolve-once.d.ts.map +1 -1
  165. package/esm/resolve-once.js +58 -39
  166. package/esm/resolve-once.js.map +1 -1
  167. package/esm/resolve-once.test.js +59 -31
  168. package/esm/resolve-once.test.js.map +1 -1
  169. package/esm/result.d.ts +2 -0
  170. package/esm/result.d.ts.map +1 -1
  171. package/esm/result.js +6 -0
  172. package/esm/result.js.map +1 -1
  173. package/esm/result.test.js +25 -1
  174. package/esm/result.test.js.map +1 -1
  175. package/esm/sys-env.test.js +1 -0
  176. package/esm/sys-env.test.js.map +1 -1
  177. package/esm/test/mock-logger.test.js +1 -0
  178. package/esm/test/mock-logger.test.js.map +1 -1
  179. package/esm/timeouted.d.ts +23 -27
  180. package/esm/timeouted.d.ts.map +1 -1
  181. package/esm/timeouted.js +13 -18
  182. package/esm/timeouted.js.map +1 -1
  183. package/esm/timeouted.test.js +33 -3
  184. package/esm/timeouted.test.js.map +1 -1
  185. package/esm/tracer.test.js +1 -0
  186. package/esm/tracer.test.js.map +1 -1
  187. package/esm/txt-en-decoder.test.js +2 -2
  188. package/esm/txt-en-decoder.test.js.map +1 -1
  189. package/esm/uri.test.js +2 -2
  190. package/esm/uri.test.js.map +1 -1
  191. package/esm/utils/consume.test.js +2 -2
  192. package/esm/utils/consume.test.js.map +1 -1
  193. package/esm/utils/rebuffer.test.js +2 -1
  194. package/esm/utils/rebuffer.test.js.map +1 -1
  195. package/esm/utils/relative-path.test.js +2 -1
  196. package/esm/utils/relative-path.test.js.map +1 -1
  197. package/esm/utils/sorted-object.test.js +2 -1
  198. package/esm/utils/sorted-object.test.js.map +1 -1
  199. package/esm/utils/stream-map.test.js +2 -1
  200. package/esm/utils/stream-map.test.js.map +1 -1
  201. package/esm/utils/stream2string.test.js +2 -2
  202. package/esm/utils/stream2string.test.js.map +1 -1
  203. package/esm/utils/string2stream.test.js +2 -2
  204. package/esm/utils/string2stream.test.js.map +1 -1
  205. package/esm/utils/stripper.test.js +2 -1
  206. package/esm/utils/stripper.test.js.map +1 -1
  207. package/esm/utils/to-sorted.d.ts +1 -1
  208. package/esm/utils/to-sorted.d.ts.map +1 -1
  209. package/esm/utils/to-sorted.test.js +2 -2
  210. package/esm/utils/to-sorted.test.js.map +1 -1
  211. package/esm/version.js +1 -1
  212. package/esm/wait-for-value.d.ts +13 -0
  213. package/esm/wait-for-value.d.ts.map +1 -0
  214. package/esm/wait-for-value.js +45 -0
  215. package/esm/wait-for-value.js.map +1 -0
  216. package/esm/wait-for-value.test.d.ts +2 -0
  217. package/esm/wait-for-value.test.d.ts.map +1 -0
  218. package/esm/wait-for-value.test.js +84 -0
  219. package/esm/wait-for-value.test.js.map +1 -0
  220. package/package.json +2 -2
  221. package/src/index.ts +3 -0
  222. package/src/on-func.ts +39 -1
  223. package/src/option.ts +2 -2
  224. package/src/resolve-once.ts +166 -139
  225. package/src/result.ts +7 -0
  226. package/src/timeouted.ts +39 -65
  227. package/src/utils/to-sorted.ts +1 -1
  228. package/src/wait-for-value.ts +111 -0
  229. package/ts/cjs/base-basic-sys-abstraction.test.js +12 -13
  230. package/ts/cjs/base-basic-sys-abstraction.test.js.map +1 -1
  231. package/ts/cjs/bin2text.test.js +15 -14
  232. package/ts/cjs/bin2text.test.js.map +1 -1
  233. package/ts/cjs/coerce-binary.test.js +16 -15
  234. package/ts/cjs/coerce-binary.test.js.map +1 -1
  235. package/ts/cjs/crypto.test.js +9 -8
  236. package/ts/cjs/crypto.test.js.map +1 -1
  237. package/ts/cjs/future.test.js +12 -11
  238. package/ts/cjs/future.test.js.map +1 -1
  239. package/ts/cjs/http_header.test.js +13 -13
  240. package/ts/cjs/http_header.test.js.map +1 -1
  241. package/ts/cjs/index.d.ts +3 -0
  242. package/ts/cjs/index.d.ts.map +1 -1
  243. package/ts/cjs/index.js +3 -0
  244. package/ts/cjs/index.js.map +1 -1
  245. package/ts/cjs/is-json.test.js +59 -58
  246. package/ts/cjs/is-json.test.js.map +1 -1
  247. package/ts/cjs/is-promise.test.js +19 -19
  248. package/ts/cjs/is-promise.test.js.map +1 -1
  249. package/ts/cjs/json-en-decoder.test.js +13 -12
  250. package/ts/cjs/json-en-decoder.test.js.map +1 -1
  251. package/ts/cjs/keyed-ng.test.js +27 -26
  252. package/ts/cjs/keyed-ng.test.js.map +1 -1
  253. package/ts/cjs/logger.test.js +178 -179
  254. package/ts/cjs/logger.test.js.map +1 -1
  255. package/ts/cjs/lru-map-set.test.js +67 -66
  256. package/ts/cjs/lru-map-set.test.js.map +1 -1
  257. package/ts/cjs/mutable-url.test.js +44 -44
  258. package/ts/cjs/mutable-url.test.js.map +1 -1
  259. package/ts/cjs/node-fs/mock-file-service.test.js +7 -6
  260. package/ts/cjs/node-fs/mock-file-service.test.js.map +1 -1
  261. package/ts/cjs/node-fs/node-sys-abstraction.test.js +13 -12
  262. package/ts/cjs/node-fs/node-sys-abstraction.test.js.map +1 -1
  263. package/ts/cjs/on-func.d.ts +1 -0
  264. package/ts/cjs/on-func.d.ts.map +1 -1
  265. package/ts/cjs/on-func.js +15 -1
  266. package/ts/cjs/on-func.js.map +1 -1
  267. package/ts/cjs/on-func.test.d.ts.map +1 -1
  268. package/ts/cjs/on-func.test.js +62 -29
  269. package/ts/cjs/on-func.test.js.map +1 -1
  270. package/ts/cjs/option.d.ts +1 -1
  271. package/ts/cjs/option.d.ts.map +1 -1
  272. package/ts/cjs/option.js +2 -2
  273. package/ts/cjs/option.js.map +1 -1
  274. package/ts/cjs/path-ops.test.js +40 -39
  275. package/ts/cjs/path-ops.test.js.map +1 -1
  276. package/ts/cjs/poller.test.js +51 -51
  277. package/ts/cjs/poller.test.js.map +1 -1
  278. package/ts/cjs/promise-sleep.test.js +35 -34
  279. package/ts/cjs/promise-sleep.test.js.map +1 -1
  280. package/ts/cjs/resolve-once.d.ts +32 -25
  281. package/ts/cjs/resolve-once.d.ts.map +1 -1
  282. package/ts/cjs/resolve-once.js +58 -39
  283. package/ts/cjs/resolve-once.js.map +1 -1
  284. package/ts/cjs/resolve-once.test.js +337 -309
  285. package/ts/cjs/resolve-once.test.js.map +1 -1
  286. package/ts/cjs/result.d.ts +2 -0
  287. package/ts/cjs/result.d.ts.map +1 -1
  288. package/ts/cjs/result.js +6 -0
  289. package/ts/cjs/result.js.map +1 -1
  290. package/ts/cjs/result.test.js +68 -44
  291. package/ts/cjs/result.test.js.map +1 -1
  292. package/ts/cjs/sys-env.test.js +67 -66
  293. package/ts/cjs/sys-env.test.js.map +1 -1
  294. package/ts/cjs/test/mock-logger.test.js +14 -13
  295. package/ts/cjs/test/mock-logger.test.js.map +1 -1
  296. package/ts/cjs/timeouted.d.ts +23 -27
  297. package/ts/cjs/timeouted.d.ts.map +1 -1
  298. package/ts/cjs/timeouted.js +13 -18
  299. package/ts/cjs/timeouted.js.map +1 -1
  300. package/ts/cjs/timeouted.test.js +337 -307
  301. package/ts/cjs/timeouted.test.js.map +1 -1
  302. package/ts/cjs/tracer.test.js +32 -31
  303. package/ts/cjs/tracer.test.js.map +1 -1
  304. package/ts/cjs/txt-en-decoder.test.js +31 -31
  305. package/ts/cjs/txt-en-decoder.test.js.map +1 -1
  306. package/ts/cjs/uri.test.js +239 -239
  307. package/ts/cjs/uri.test.js.map +1 -1
  308. package/ts/cjs/utils/consume.test.js +22 -22
  309. package/ts/cjs/utils/consume.test.js.map +1 -1
  310. package/ts/cjs/utils/rebuffer.test.js +40 -39
  311. package/ts/cjs/utils/rebuffer.test.js.map +1 -1
  312. package/ts/cjs/utils/relative-path.test.js +125 -124
  313. package/ts/cjs/utils/relative-path.test.js.map +1 -1
  314. package/ts/cjs/utils/sorted-object.test.js +8 -7
  315. package/ts/cjs/utils/sorted-object.test.js.map +1 -1
  316. package/ts/cjs/utils/stream-map.test.js +32 -31
  317. package/ts/cjs/utils/stream-map.test.js.map +1 -1
  318. package/ts/cjs/utils/stream2string.test.js +5 -5
  319. package/ts/cjs/utils/stream2string.test.js.map +1 -1
  320. package/ts/cjs/utils/string2stream.test.js +5 -5
  321. package/ts/cjs/utils/string2stream.test.js.map +1 -1
  322. package/ts/cjs/utils/stripper.test.js +21 -20
  323. package/ts/cjs/utils/stripper.test.js.map +1 -1
  324. package/ts/cjs/utils/to-sorted.d.ts +1 -1
  325. package/ts/cjs/utils/to-sorted.d.ts.map +1 -1
  326. package/ts/cjs/utils/to-sorted.test.js +27 -27
  327. package/ts/cjs/utils/to-sorted.test.js.map +1 -1
  328. package/ts/cjs/version.js +1 -1
  329. package/ts/cjs/wait-for-value.d.ts +13 -0
  330. package/ts/cjs/wait-for-value.d.ts.map +1 -0
  331. package/ts/cjs/wait-for-value.js +49 -0
  332. package/ts/cjs/wait-for-value.js.map +1 -0
  333. package/ts/cjs/wait-for-value.test.d.ts +2 -0
  334. package/ts/cjs/wait-for-value.test.d.ts.map +1 -0
  335. package/ts/cjs/wait-for-value.test.js +86 -0
  336. package/ts/cjs/wait-for-value.test.js.map +1 -0
  337. package/ts/esm/base-basic-sys-abstraction.test.js +1 -2
  338. package/ts/esm/base-basic-sys-abstraction.test.js.map +1 -1
  339. package/ts/esm/bin2text.test.js +2 -1
  340. package/ts/esm/bin2text.test.js.map +1 -1
  341. package/ts/esm/coerce-binary.test.js +1 -0
  342. package/ts/esm/coerce-binary.test.js.map +1 -1
  343. package/ts/esm/crypto.test.js +2 -1
  344. package/ts/esm/crypto.test.js.map +1 -1
  345. package/ts/esm/future.test.js +1 -0
  346. package/ts/esm/future.test.js.map +1 -1
  347. package/ts/esm/http_header.test.js +1 -1
  348. package/ts/esm/http_header.test.js.map +1 -1
  349. package/ts/esm/index.d.ts +3 -0
  350. package/ts/esm/index.d.ts.map +1 -1
  351. package/ts/esm/index.js +3 -0
  352. package/ts/esm/index.js.map +1 -1
  353. package/ts/esm/is-json.test.js +2 -1
  354. package/ts/esm/is-json.test.js.map +1 -1
  355. package/ts/esm/is-promise.test.js +2 -2
  356. package/ts/esm/is-promise.test.js.map +1 -1
  357. package/ts/esm/json-en-decoder.test.js +2 -1
  358. package/ts/esm/json-en-decoder.test.js.map +1 -1
  359. package/ts/esm/keyed-ng.test.js +8 -7
  360. package/ts/esm/keyed-ng.test.js.map +1 -1
  361. package/ts/esm/load-asset.test.js +2 -3
  362. package/ts/esm/load-asset.test.js.map +1 -1
  363. package/ts/esm/logger.test.js +2 -3
  364. package/ts/esm/logger.test.js.map +1 -1
  365. package/ts/esm/lru-map-set.test.js +1 -0
  366. package/ts/esm/lru-map-set.test.js.map +1 -1
  367. package/ts/esm/mutable-url.test.js +1 -1
  368. package/ts/esm/mutable-url.test.js.map +1 -1
  369. package/ts/esm/node-fs/mock-file-service.test.js +1 -0
  370. package/ts/esm/node-fs/mock-file-service.test.js.map +1 -1
  371. package/ts/esm/node-fs/node-sys-abstraction.test.js +1 -0
  372. package/ts/esm/node-fs/node-sys-abstraction.test.js.map +1 -1
  373. package/ts/esm/on-func.d.ts +1 -0
  374. package/ts/esm/on-func.d.ts.map +1 -1
  375. package/ts/esm/on-func.js +15 -1
  376. package/ts/esm/on-func.js.map +1 -1
  377. package/ts/esm/on-func.test.d.ts.map +1 -1
  378. package/ts/esm/on-func.test.js +36 -3
  379. package/ts/esm/on-func.test.js.map +1 -1
  380. package/ts/esm/option.d.ts +1 -1
  381. package/ts/esm/option.d.ts.map +1 -1
  382. package/ts/esm/option.js +2 -2
  383. package/ts/esm/option.js.map +1 -1
  384. package/ts/esm/path-ops.test.js +2 -1
  385. package/ts/esm/path-ops.test.js.map +1 -1
  386. package/ts/esm/poller.test.js +2 -2
  387. package/ts/esm/poller.test.js.map +1 -1
  388. package/ts/esm/promise-sleep.test.js +2 -1
  389. package/ts/esm/promise-sleep.test.js.map +1 -1
  390. package/ts/esm/resolve-once.d.ts +32 -25
  391. package/ts/esm/resolve-once.d.ts.map +1 -1
  392. package/ts/esm/resolve-once.js +58 -39
  393. package/ts/esm/resolve-once.js.map +1 -1
  394. package/ts/esm/resolve-once.test.js +59 -31
  395. package/ts/esm/resolve-once.test.js.map +1 -1
  396. package/ts/esm/result.d.ts +2 -0
  397. package/ts/esm/result.d.ts.map +1 -1
  398. package/ts/esm/result.js +6 -0
  399. package/ts/esm/result.js.map +1 -1
  400. package/ts/esm/result.test.js +25 -1
  401. package/ts/esm/result.test.js.map +1 -1
  402. package/ts/esm/sys-env.test.js +1 -0
  403. package/ts/esm/sys-env.test.js.map +1 -1
  404. package/ts/esm/test/mock-logger.test.js +1 -0
  405. package/ts/esm/test/mock-logger.test.js.map +1 -1
  406. package/ts/esm/timeouted.d.ts +23 -27
  407. package/ts/esm/timeouted.d.ts.map +1 -1
  408. package/ts/esm/timeouted.js +13 -18
  409. package/ts/esm/timeouted.js.map +1 -1
  410. package/ts/esm/timeouted.test.js +33 -3
  411. package/ts/esm/timeouted.test.js.map +1 -1
  412. package/ts/esm/tracer.test.js +1 -0
  413. package/ts/esm/tracer.test.js.map +1 -1
  414. package/ts/esm/txt-en-decoder.test.js +2 -2
  415. package/ts/esm/txt-en-decoder.test.js.map +1 -1
  416. package/ts/esm/uri.test.js +2 -2
  417. package/ts/esm/uri.test.js.map +1 -1
  418. package/ts/esm/utils/consume.test.js +2 -2
  419. package/ts/esm/utils/consume.test.js.map +1 -1
  420. package/ts/esm/utils/rebuffer.test.js +2 -1
  421. package/ts/esm/utils/rebuffer.test.js.map +1 -1
  422. package/ts/esm/utils/relative-path.test.js +2 -1
  423. package/ts/esm/utils/relative-path.test.js.map +1 -1
  424. package/ts/esm/utils/sorted-object.test.js +2 -1
  425. package/ts/esm/utils/sorted-object.test.js.map +1 -1
  426. package/ts/esm/utils/stream-map.test.js +2 -1
  427. package/ts/esm/utils/stream-map.test.js.map +1 -1
  428. package/ts/esm/utils/stream2string.test.js +2 -2
  429. package/ts/esm/utils/stream2string.test.js.map +1 -1
  430. package/ts/esm/utils/string2stream.test.js +2 -2
  431. package/ts/esm/utils/string2stream.test.js.map +1 -1
  432. package/ts/esm/utils/stripper.test.js +2 -1
  433. package/ts/esm/utils/stripper.test.js.map +1 -1
  434. package/ts/esm/utils/to-sorted.d.ts +1 -1
  435. package/ts/esm/utils/to-sorted.d.ts.map +1 -1
  436. package/ts/esm/utils/to-sorted.test.js +2 -2
  437. package/ts/esm/utils/to-sorted.test.js.map +1 -1
  438. package/ts/esm/version.js +1 -1
  439. package/ts/esm/wait-for-value.d.ts +13 -0
  440. package/ts/esm/wait-for-value.d.ts.map +1 -0
  441. package/ts/esm/wait-for-value.js +45 -0
  442. package/ts/esm/wait-for-value.js.map +1 -0
  443. package/ts/esm/wait-for-value.test.d.ts +2 -0
  444. package/ts/esm/wait-for-value.test.d.ts.map +1 -0
  445. package/ts/esm/wait-for-value.test.js +84 -0
  446. package/ts/esm/wait-for-value.test.js.map +1 -0
  447. package/tsconfig.json +1 -1
@@ -1,64 +1,65 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const promise_sleep_js_1 = require("./promise-sleep.js");
4
- it("sleeps for the specified duration", async () => {
3
+ const vitest_1 = require("vitest");
4
+ const cement_1 = require("@adviser/cement");
5
+ (0, vitest_1.it)("sleeps for the specified duration", async () => {
5
6
  const start = performance.now();
6
- const result = await (0, promise_sleep_js_1.sleep)(100);
7
+ const result = await (0, cement_1.sleep)(100);
7
8
  const duration = performance.now() - start;
8
- expect(duration).toBeGreaterThanOrEqual(95);
9
- expect(duration).toBeLessThan(150);
10
- expect(result.isOk).toBe(true);
9
+ (0, vitest_1.expect)(duration).toBeGreaterThanOrEqual(95);
10
+ (0, vitest_1.expect)(duration).toBeLessThan(150);
11
+ (0, vitest_1.expect)(result.isOk).toBe(true);
11
12
  });
12
- it("returns immediately for zero milliseconds", async () => {
13
+ (0, vitest_1.it)("returns immediately for zero milliseconds", async () => {
13
14
  const start = performance.now();
14
- const result = await (0, promise_sleep_js_1.sleep)(0);
15
+ const result = await (0, cement_1.sleep)(0);
15
16
  const duration = performance.now() - start;
16
- expect(duration).toBeLessThan(10);
17
- expect(result.isOk).toBe(true);
17
+ (0, vitest_1.expect)(duration).toBeLessThan(10);
18
+ (0, vitest_1.expect)(result.isOk).toBe(true);
18
19
  });
19
- it("returns immediately for negative milliseconds", async () => {
20
+ (0, vitest_1.it)("returns immediately for negative milliseconds", async () => {
20
21
  const start = performance.now();
21
- const result = await (0, promise_sleep_js_1.sleep)(-100);
22
+ const result = await (0, cement_1.sleep)(-100);
22
23
  const duration = performance.now() - start;
23
- expect(duration).toBeLessThan(10);
24
- expect(result.isOk).toBe(true);
24
+ (0, vitest_1.expect)(duration).toBeLessThan(10);
25
+ (0, vitest_1.expect)(result.isOk).toBe(true);
25
26
  });
26
- it("returns error when aborted before sleep starts", async () => {
27
+ (0, vitest_1.it)("returns error when aborted before sleep starts", async () => {
27
28
  const controller = new AbortController();
28
29
  controller.abort();
29
- const result = (await (0, promise_sleep_js_1.sleep)(100, controller.signal));
30
- expect(result.isOk).toBe(false);
31
- expect(result.isAborted).toBe(true);
32
- expect(result.reason.message).toBe("sleep aborted");
30
+ const result = (await (0, cement_1.sleep)(100, controller.signal));
31
+ (0, vitest_1.expect)(result.isOk).toBe(false);
32
+ (0, vitest_1.expect)(result.isAborted).toBe(true);
33
+ (0, vitest_1.expect)(result.reason.message).toBe("sleep aborted");
33
34
  });
34
- it("returns error when aborted during sleep", async () => {
35
+ (0, vitest_1.it)("returns error when aborted during sleep", async () => {
35
36
  const controller = new AbortController();
36
37
  const start = performance.now();
37
- const sleepPromise = (0, promise_sleep_js_1.sleep)(200, controller.signal);
38
+ const sleepPromise = (0, cement_1.sleep)(200, controller.signal);
38
39
  setTimeout(() => controller.abort(), 50);
39
40
  const result = (await sleepPromise);
40
41
  const duration = performance.now() - start;
41
- expect(duration).toBeGreaterThanOrEqual(45);
42
- expect(duration).toBeLessThan(150);
43
- expect(result.isOk).toBe(false);
44
- expect(result.reason.message).toBe("sleep aborted");
42
+ (0, vitest_1.expect)(duration).toBeGreaterThanOrEqual(45);
43
+ (0, vitest_1.expect)(duration).toBeLessThan(150);
44
+ (0, vitest_1.expect)(result.isOk).toBe(false);
45
+ (0, vitest_1.expect)(result.reason.message).toBe("sleep aborted");
45
46
  });
46
- it("completes successfully if not aborted", async () => {
47
+ (0, vitest_1.it)("completes successfully if not aborted", async () => {
47
48
  const controller = new AbortController();
48
- const result = await (0, promise_sleep_js_1.sleep)(50, controller.signal);
49
- expect(result.isOk).toBe(true);
49
+ const result = await (0, cement_1.sleep)(50, controller.signal);
50
+ (0, vitest_1.expect)(result.isOk).toBe(true);
50
51
  });
51
- it("cleans up timeout and event listener on abort", async () => {
52
+ (0, vitest_1.it)("cleans up timeout and event listener on abort", async () => {
52
53
  const controller = new AbortController();
53
- const sleepPromise = (0, promise_sleep_js_1.sleep)(100, controller.signal);
54
+ const sleepPromise = (0, cement_1.sleep)(100, controller.signal);
54
55
  controller.abort();
55
56
  const result = await sleepPromise;
56
- expect(result.isOk).toBe(false);
57
+ (0, vitest_1.expect)(result.isOk).toBe(false);
57
58
  });
58
- it("cleans up timeout and event listener on success", async () => {
59
+ (0, vitest_1.it)("cleans up timeout and event listener on success", async () => {
59
60
  const controller = new AbortController();
60
- const result = await (0, promise_sleep_js_1.sleep)(50, controller.signal);
61
- expect(result.isOk).toBe(true);
61
+ const result = await (0, cement_1.sleep)(50, controller.signal);
62
+ (0, vitest_1.expect)(result.isOk).toBe(true);
62
63
  controller.abort();
63
64
  });
64
65
  //# sourceMappingURL=promise-sleep.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise-sleep.test.js","sourceRoot":"","sources":["../../../src/promise-sleep.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promise-sleep.test.js","sourceRoot":"","sources":["../../../src/promise-sleep.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Future } from "./future.js";
2
- import { UnPromisify } from "./is-promise.js";
3
2
  import { UnregFn } from "./lru-map-set.js";
4
3
  import { Result } from "./result.js";
5
4
  import { Option } from "./option.js";
@@ -20,33 +19,44 @@ export declare class ResolveSeq<T, CTX extends NonNullable<object> = object> {
20
19
  add<R extends Promise<T> | T>(fn: (c: CTX) => R, id?: number): R;
21
20
  }
22
21
  type ResolveState = "initial" | "processed" | "waiting" | "processing";
23
- export type ResultOnce<R> = R extends Promise<infer T> ? Promise<T> : R;
24
- export interface ResolveOnceIf<R, CTX = void> {
22
+ export type ResultOnce<R> = R extends Promise<unknown> ? Promise<Awaited<R>> : R;
23
+ export interface OnceActionArg<R, CTX> {
24
+ readonly ctx: CTX;
25
+ readonly self: ResolveOnceIf<R, CTX>;
26
+ }
27
+ export interface ResolveOnceIf<R, CTX> {
25
28
  get ready(): boolean;
26
- get value(): UnPromisify<R> | undefined;
29
+ get value(): R | undefined;
27
30
  get error(): Error | undefined;
28
31
  get state(): ResolveState;
29
- once<R>(fn: (c?: CTX) => R): ResultOnce<R>;
30
- reset<R>(fn?: (c?: CTX) => R): ResultOnce<R>;
32
+ setResetAfter(ms?: number): void;
33
+ once<RET extends R | Promise<R>>(fn: (arg: OnceActionArg<R, CTX>) => RET): ResultOnce<RET>;
34
+ reset<RET extends R | Promise<R>>(fn?: (arg: OnceActionArg<R, CTX>) => RET): ResultOnce<RET>;
35
+ setProcessed(state: StateInstance): void;
31
36
  }
32
- export declare class SyncResolveOnce<T, CTX = void> {
37
+ export interface SyncOrAsyncIf<T> {
38
+ get value(): T | undefined;
39
+ get error(): Error | undefined;
40
+ get queueLength(): number;
41
+ resolve<RET extends T | Promise<T>>(fn: () => RET): ResultOnce<RET>;
42
+ }
43
+ export type SyncOrAsync<T> = Option<SyncOrAsyncIf<T>>;
44
+ export declare class SyncResolveOnce<T, CTX> implements SyncOrAsyncIf<T> {
33
45
  #private;
34
46
  readonly queueLength: number;
35
47
  constructor(rOnce: ResolveOnce<T, CTX>, state: StateInstance);
36
48
  get value(): T | undefined;
37
49
  get error(): Error | undefined;
38
50
  get ready(): boolean;
39
- resolve(fn: (ctx?: CTX) => T): T;
40
- reset(fn?: (c?: CTX) => T): T | undefined;
51
+ resolve<RET extends T | Promise<T>>(fn: () => RET): ResultOnce<RET>;
41
52
  }
42
- export declare class AsyncResolveOnce<T, CTX = void> {
53
+ export declare class AsyncResolveOnce<T, CTX> implements SyncOrAsyncIf<T> {
43
54
  #private;
44
- constructor(rOnce: ResolveOnce<T, CTX>, state: StateInstance, prev: SyncOrAsync<T, CTX>);
55
+ constructor(rOnce: ResolveOnceIf<T, CTX>, state: StateInstance, prev: SyncOrAsync<T>);
45
56
  get queueLength(): number;
46
- get value(): UnPromisify<T> | undefined;
57
+ get value(): T | undefined;
47
58
  get error(): Error | undefined;
48
- resolve(fn: (ctx?: CTX) => T): T;
49
- reset(fn?: (c?: CTX) => T): T;
59
+ resolve<RET extends T | Promise<T>>(fn: () => RET): ResultOnce<RET>;
50
60
  }
51
61
  export interface ResolveOnceOpts {
52
62
  readonly resetAfter?: number;
@@ -65,20 +75,20 @@ declare class StateInstance {
65
75
  setWaiting(): void;
66
76
  equals(other: StateInstance): boolean;
67
77
  }
68
- type SyncOrAsync<T, CTX> = Option<SyncResolveOnce<T, CTX> | AsyncResolveOnce<T, CTX>>;
69
78
  export declare class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
70
79
  #private;
71
80
  resetAfterTimer?: ReturnType<typeof setTimeout>;
72
- readonly _ctx?: CTX;
81
+ readonly _onceArg: OnceActionArg<T, CTX>;
73
82
  constructor(ctx?: CTX, opts?: ResolveOnceOpts);
74
83
  get state(): ResolveState;
75
84
  setProcessed(state: StateInstance): void;
76
85
  get ready(): boolean;
77
- get value(): UnPromisify<T> | undefined;
86
+ get value(): T | undefined;
78
87
  get queueLength(): number;
79
88
  get error(): Error | undefined;
80
- once<R>(fn: (c: CTX, prev?: T) => R): ResultOnce<R>;
81
- reset<R>(fn?: (c: CTX) => R): ResultOnce<R>;
89
+ once<RET extends T | Promise<T>>(fn: (arg: OnceActionArg<T, CTX>) => RET): ResultOnce<RET>;
90
+ reset<RET extends T | Promise<T>>(fn?: (arg: OnceActionArg<T, CTX>) => RET): ResultOnce<RET>;
91
+ setResetAfter(ms?: number): void;
82
92
  }
83
93
  export interface KeyItem<K, V> {
84
94
  readonly key: K;
@@ -88,16 +98,13 @@ export type AddKeyedParam<K, V, CTX extends NonNullable<object>> = Omit<KeyedNgO
88
98
  export type WithKey<X extends NonNullable<object>, K> = X & {
89
99
  readonly key: K;
90
100
  };
91
- export type WithOptionalReset<V> = V & {
92
- readonly reset?: () => void;
93
- };
94
101
  export interface KeyedResolveOnceItem<K, T, CTX extends NonNullable<object>> {
95
102
  readonly key: K;
96
103
  readonly value: Result<T>;
97
- readonly item: KeyedNgItem<K, ResolveOnce<WithOptionalReset<T>, KeyedNgItemWithoutValue<K, CTX>>, CTX>;
104
+ readonly item: KeyedNgItem<K, ResolveOnce<T, KeyedNgItemWithoutValue<K, CTX>>, CTX>;
98
105
  }
99
- export declare class KeyedResolvOnce<T extends WithOptionalReset<PT>, K = string, CTX extends NonNullable<object> = object, PT = T> implements Omit<KeyedIf<KeyedNgItem<K, ResolveOnce<T, KeyedNgItemWithoutValue<K, CTX>>, CTX>, ResolveOnce<T, KeyedNgItemWithoutValue<K, CTX>>, K, CTX>, "entries" | "forEach" | "onSet" | "onDelete" | "values" | "setParam"> {
100
- readonly _keyed: KeyedNg<K, ResolveOnce<WithOptionalReset<T>, KeyedNgItemWithoutValue<K, CTX>>, CTX>;
106
+ export declare class KeyedResolvOnce<T, K = string, CTX extends NonNullable<object> = object> implements Omit<KeyedIf<KeyedNgItem<K, ResolveOnce<T, KeyedNgItemWithoutValue<K, CTX>>, CTX>, ResolveOnce<T, KeyedNgItemWithoutValue<K, CTX>>, K, CTX>, "entries" | "forEach" | "onSet" | "onDelete" | "values" | "setParam"> {
107
+ readonly _keyed: KeyedNg<K, ResolveOnce<T, KeyedNgItemWithoutValue<K, CTX>>, CTX>;
101
108
  constructor(kp?: Partial<AddKeyedParam<K, T, CTX>>);
102
109
  keys(): K[];
103
110
  values(): KeyedResolveOnceItem<K, T, CTX>[];
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const is_promise_js_1 = require("./is-promise.js");
7
7
  const result_js_1 = require("./result.js");
8
8
  const option_js_1 = require("./option.js");
9
9
  const keyed_ng_js_1 = require("./keyed-ng.js");
10
+ const runtime_js_1 = require("./runtime.js");
10
11
  class ResolveSeq {
11
12
  ctx;
12
13
  _seqFutures = [];
@@ -81,7 +82,7 @@ class SyncResolveOnce {
81
82
  resolve(fn) {
82
83
  if (this.#state.isProcessing()) {
83
84
  try {
84
- this.#value = fn(this.#rOnce._ctx);
85
+ this.#value = fn();
85
86
  }
86
87
  catch (e) {
87
88
  this.#error = e;
@@ -99,15 +100,6 @@ class SyncResolveOnce {
99
100
  }
100
101
  return this.#value;
101
102
  }
102
- reset(fn) {
103
- this.#value = undefined;
104
- this.#error = undefined;
105
- if (fn) {
106
- this.#state.setProcessing();
107
- return this.resolve(fn);
108
- }
109
- return undefined;
110
- }
111
103
  }
112
104
  exports.SyncResolveOnce = SyncResolveOnce;
113
105
  class AsyncResolveItem {
@@ -156,7 +148,7 @@ class AsyncResolveItem {
156
148
  }
157
149
  throw new Error(`AsyncResolveItem.#promiseResult impossible: ${this.#state.getResolveState()}`);
158
150
  }
159
- resolve() {
151
+ resolve(_fn) {
160
152
  if (this.#state.isWaiting()) {
161
153
  const future = new future_js_1.Future();
162
154
  this.#queue.push(future);
@@ -226,7 +218,7 @@ class AsyncResolveOnce {
226
218
  this.#state.setWaiting();
227
219
  let promiseResult;
228
220
  try {
229
- const couldBePromise = fn(this.#rOnce._ctx);
221
+ const couldBePromise = fn();
230
222
  if (!(0, is_promise_js_1.isPromise)(couldBePromise)) {
231
223
  promiseResult = Promise.resolve(couldBePromise);
232
224
  }
@@ -245,14 +237,7 @@ class AsyncResolveOnce {
245
237
  .filter((i) => i !== undefined)
246
238
  .reverse()
247
239
  .forEach((idx) => this.#queue.splice(idx, 1));
248
- return this.#active().resolve();
249
- }
250
- reset(fn) {
251
- this.#state.setProcessing();
252
- if (fn) {
253
- return this.resolve(fn);
254
- }
255
- return undefined;
240
+ return this.#active().resolve(fn);
256
241
  }
257
242
  }
258
243
  exports.AsyncResolveOnce = AsyncResolveOnce;
@@ -292,10 +277,13 @@ class ResolveOnce {
292
277
  #syncOrAsync = option_js_1.Option.None();
293
278
  #opts;
294
279
  resetAfterTimer;
295
- _ctx;
280
+ _onceArg;
296
281
  constructor(ctx, opts) {
297
- this._ctx = ctx;
298
- this.#opts = opts ?? {};
282
+ this.#opts = { ...(opts ?? {}) };
283
+ this._onceArg = {
284
+ ctx: ctx,
285
+ self: this,
286
+ };
299
287
  }
300
288
  get state() {
301
289
  return this.#state.getResolveState();
@@ -308,15 +296,39 @@ class ResolveOnce {
308
296
  this.#state.setProcessed();
309
297
  if (typeof this.#opts.resetAfter === "number" && this.#opts.resetAfter > 0) {
310
298
  this.resetAfterTimer = setTimeout(() => {
311
- this.reset();
299
+ void this.reset();
312
300
  }, this.#opts.resetAfter);
313
- if (!this.#opts.skipUnref) {
314
- const hasUnref = this.resetAfterTimer;
315
- if (typeof hasUnref === "object" && typeof hasUnref.unref === "function") {
316
- hasUnref.unref();
317
- }
318
- else if (typeof globalThis.Deno === "object") {
319
- globalThis.Deno.unrefTimer(this.resetAfterTimer);
301
+ if (!this.#opts.skipUnref && this.resetAfterTimer) {
302
+ const runtime = (0, runtime_js_1.runtimeFn)();
303
+ switch (true) {
304
+ case runtime.isDeno:
305
+ {
306
+ let id = this.resetAfterTimer;
307
+ if (typeof Deno.unrefTimer === "function") {
308
+ if (typeof this.resetAfterTimer === "number") {
309
+ id = this.resetAfterTimer;
310
+ }
311
+ else {
312
+ try {
313
+ const ret = Reflect.ownKeys(this.resetAfterTimer).find((key) => {
314
+ return key.toString().includes("timerId");
315
+ });
316
+ if (ret) {
317
+ id = this.resetAfterTimer[ret];
318
+ console.warn("Deno.unrefTimer timerId from struct:", id, "version:", globalThis.Deno?.version);
319
+ }
320
+ }
321
+ catch (e) {
322
+ console.warn("Deno.unrefTimer failed to get timerId", e, "id:", this.resetAfterTimer, "version:", globalThis.Deno?.version);
323
+ }
324
+ }
325
+ Deno.unrefTimer(id);
326
+ }
327
+ }
328
+ break;
329
+ case runtime.isNodeIsh:
330
+ this.resetAfterTimer.unref();
331
+ break;
320
332
  }
321
333
  }
322
334
  }
@@ -349,11 +361,7 @@ class ResolveOnce {
349
361
  const state = this.#state;
350
362
  try {
351
363
  state.setProcessing();
352
- let prev = undefined;
353
- if (this.#syncOrAsync.IsSome()) {
354
- prev = this.#syncOrAsync.Unwrap().value;
355
- }
356
- const isSyncOrAsync = fn(this._ctx ?? {}, prev);
364
+ const isSyncOrAsync = fn(this._onceArg);
357
365
  if ((0, is_promise_js_1.isPromise)(isSyncOrAsync)) {
358
366
  this.#syncOrAsync = option_js_1.Option.Some(new AsyncResolveOnce(this, state, this.#syncOrAsync));
359
367
  }
@@ -370,7 +378,7 @@ class ResolveOnce {
370
378
  }
371
379
  }
372
380
  else {
373
- resultFn = fn;
381
+ resultFn = () => fn(this._onceArg);
374
382
  }
375
383
  if (!this.#syncOrAsync) {
376
384
  throw new Error(`ResolveOnce.once impossible: state=${this.#state.getResolveState()}`);
@@ -396,6 +404,17 @@ class ResolveOnce {
396
404
  }
397
405
  return ret;
398
406
  }
407
+ setResetAfter(ms) {
408
+ if (this.resetAfterTimer) {
409
+ clearTimeout(this.resetAfterTimer);
410
+ }
411
+ if (typeof ms === "number" && ms > 0) {
412
+ this.#opts.resetAfter = ms;
413
+ }
414
+ else {
415
+ this.#opts.resetAfter = undefined;
416
+ }
417
+ }
399
418
  }
400
419
  exports.ResolveOnce = ResolveOnce;
401
420
  class KeyedResolvOnce {
@@ -461,12 +480,12 @@ class KeyedResolvOnce {
461
480
  }
462
481
  unget(key) {
463
482
  const item = this._keyed.getItem(key);
464
- item.value.reset?.();
483
+ void item.value.reset?.();
465
484
  return this._keyed.delete(item.givenKey);
466
485
  }
467
486
  reset() {
468
487
  for (const v of this._keyed.values()) {
469
- v.value.reset?.();
488
+ void v.value.reset?.();
470
489
  }
471
490
  }
472
491
  forEach(fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}