@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
@@ -34,12 +34,11 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const cement_1 = require("@adviser/cement");
37
- const is_promise_js_1 = require("./is-promise.cjs");
38
- const promise_sleep_js_1 = require("./promise-sleep.cjs");
39
- describe("resolve-once", () => {
40
- it("sequence", async () => {
37
+ const vitest_1 = require("vitest");
38
+ (0, vitest_1.describe)("resolve-once", () => {
39
+ (0, vitest_1.it)("sequence", async () => {
41
40
  const once = new cement_1.ResolveOnce();
42
- const reallyOnce = vi.fn(async () => {
41
+ const reallyOnce = vitest_1.vi.fn(async () => {
43
42
  return new Promise((resolve) => {
44
43
  setTimeout(() => {
45
44
  resolve(42);
@@ -48,20 +47,20 @@ describe("resolve-once", () => {
48
47
  });
49
48
  const start = performance.now();
50
49
  const fn = () => once.once(async () => reallyOnce());
51
- expect(reallyOnce).toHaveBeenCalledTimes(0);
52
- expect(await fn()).toBe(42);
53
- expect(reallyOnce).toHaveBeenCalledTimes(1);
54
- expect(await fn()).toBe(42);
55
- expect(reallyOnce).toHaveBeenCalledTimes(1);
56
- expect(await fn()).toBe(42);
57
- expect(reallyOnce).toHaveBeenCalledTimes(1);
50
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(0);
51
+ (0, vitest_1.expect)(await fn()).toBe(42);
52
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
53
+ (0, vitest_1.expect)(await fn()).toBe(42);
54
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
55
+ (0, vitest_1.expect)(await fn()).toBe(42);
56
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
58
57
  const diff = performance.now() - start;
59
- expect(diff).toBeGreaterThanOrEqual(90);
60
- expect(diff).toBeLessThan(150);
58
+ (0, vitest_1.expect)(diff).toBeGreaterThanOrEqual(90);
59
+ (0, vitest_1.expect)(diff).toBeLessThan(150);
61
60
  });
62
- it("parallel", async () => {
61
+ (0, vitest_1.it)("parallel", async () => {
63
62
  const once = new cement_1.ResolveOnce();
64
- const reallyOnce = vi.fn(async () => {
63
+ const reallyOnce = vitest_1.vi.fn(async () => {
65
64
  return new Promise((resolve) => {
66
65
  setTimeout(() => {
67
66
  resolve(42);
@@ -70,18 +69,18 @@ describe("resolve-once", () => {
70
69
  });
71
70
  const fn = () => once.once(async () => reallyOnce());
72
71
  const start = performance.now();
73
- expect(await Promise.all(Array(100)
72
+ (0, vitest_1.expect)(await Promise.all(Array(100)
74
73
  .fill(fn)
75
74
  .map((fn) => fn()))).toEqual(Array(100).fill(42));
76
- expect(reallyOnce).toHaveBeenCalledTimes(1);
75
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
77
76
  const diff = performance.now() - start;
78
- expect(diff).toBeGreaterThanOrEqual(95);
79
- expect(diff).toBeLessThan(150);
77
+ (0, vitest_1.expect)(diff).toBeGreaterThanOrEqual(95);
78
+ (0, vitest_1.expect)(diff).toBeLessThan(150);
80
79
  });
81
- it("async works with void", async () => {
80
+ (0, vitest_1.it)("async works with void", async () => {
82
81
  const cnt = 1;
83
82
  const once = new cement_1.ResolveOnce();
84
- const reallyOnce = vi.fn(async () => {
83
+ const reallyOnce = vitest_1.vi.fn(async () => {
85
84
  return new Promise((resolve) => {
86
85
  setTimeout(() => {
87
86
  resolve();
@@ -92,26 +91,26 @@ describe("resolve-once", () => {
92
91
  return reallyOnce();
93
92
  });
94
93
  const start = performance.now();
95
- expect(await Promise.all(Array(cnt)
94
+ (0, vitest_1.expect)(await Promise.all(Array(cnt)
96
95
  .fill(fn)
97
96
  .map((fn) => fn()))).toEqual(Array(cnt).fill(undefined));
98
- expect(reallyOnce).toHaveBeenCalledTimes(1);
97
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
99
98
  const diff = performance.now() - start;
100
- expect(diff).toBeGreaterThanOrEqual(95);
101
- expect(diff).toBeLessThan(150);
99
+ (0, vitest_1.expect)(diff).toBeGreaterThanOrEqual(95);
100
+ (0, vitest_1.expect)(diff).toBeLessThan(150);
102
101
  });
103
- it("sync works with void", () => {
102
+ (0, vitest_1.it)("sync works with void", () => {
104
103
  const once = new cement_1.ResolveOnce();
105
- const reallyOnce = vi.fn(() => 19);
104
+ const reallyOnce = vitest_1.vi.fn(() => 19);
106
105
  const val = once.once(() => {
107
106
  reallyOnce();
108
107
  });
109
- expect(Array(100).fill(val)).toEqual(Array(100).fill(undefined));
110
- expect(reallyOnce).toHaveBeenCalledTimes(1);
108
+ (0, vitest_1.expect)(Array(100).fill(val)).toEqual(Array(100).fill(undefined));
109
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
111
110
  });
112
- it("throws", async () => {
111
+ (0, vitest_1.it)("throws", async () => {
113
112
  const once = new cement_1.ResolveOnce();
114
- const reallyOnce = vi.fn(async () => {
113
+ const reallyOnce = vitest_1.vi.fn(async () => {
115
114
  return new Promise((rs, rj) => {
116
115
  setTimeout(() => {
117
116
  rj(new Error("nope"));
@@ -124,11 +123,11 @@ describe("resolve-once", () => {
124
123
  for (let i = 0; i < 100; i++) {
125
124
  fn()
126
125
  .then(() => {
127
- assert.fail("should not happen");
126
+ vitest_1.assert.fail("should not happen");
128
127
  })
129
128
  .catch((e) => {
130
- expect(e).toEqual(new Error("nope"));
131
- expect(reallyOnce).toHaveBeenCalledTimes(1);
129
+ (0, vitest_1.expect)(e).toEqual(new Error("nope"));
130
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
132
131
  if (i === 99) {
133
132
  rs(undefined);
134
133
  }
@@ -136,12 +135,12 @@ describe("resolve-once", () => {
136
135
  }
137
136
  });
138
137
  const diff = performance.now() - start;
139
- expect(diff).toBeGreaterThanOrEqual(99);
140
- expect(diff).toBeLessThan(250);
138
+ (0, vitest_1.expect)(diff).toBeGreaterThanOrEqual(99);
139
+ (0, vitest_1.expect)(diff).toBeLessThan(250);
141
140
  });
142
- it("preserves order", async () => {
141
+ (0, vitest_1.it)("preserves order", async () => {
143
142
  const once = new cement_1.ResolveOnce();
144
- const reallyOnce = vi.fn(async () => {
143
+ const reallyOnce = vitest_1.vi.fn(async () => {
145
144
  return new Promise((resolve) => {
146
145
  setTimeout(() => {
147
146
  resolve(42);
@@ -155,19 +154,19 @@ describe("resolve-once", () => {
155
154
  return `${o}:${ret}`;
156
155
  };
157
156
  const start = performance.now();
158
- expect(await Promise.all(Array(100)
157
+ (0, vitest_1.expect)(await Promise.all(Array(100)
159
158
  .fill(fn)
160
159
  .map((fn) => fn()))).toEqual(Array(100)
161
160
  .fill(undefined)
162
161
  .map((_, i) => `${i}:42`));
163
- expect(reallyOnce).toHaveBeenCalledTimes(1);
162
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
164
163
  const diff = performance.now() - start;
165
- expect(diff).toBeGreaterThanOrEqual(95);
166
- expect(diff).toBeLessThan(150);
164
+ (0, vitest_1.expect)(diff).toBeGreaterThanOrEqual(95);
165
+ (0, vitest_1.expect)(diff).toBeLessThan(150);
167
166
  });
168
- it("preserves call order to resolv order", async () => {
167
+ (0, vitest_1.it)("preserves call order to resolv order", async () => {
169
168
  const once = new cement_1.ResolveOnce();
170
- const reallyOnce = vi.fn(async () => {
169
+ const reallyOnce = vitest_1.vi.fn(async () => {
171
170
  return new Promise((resolve) => {
172
171
  setTimeout(() => {
173
172
  resolve(42);
@@ -175,7 +174,7 @@ describe("resolve-once", () => {
175
174
  });
176
175
  });
177
176
  const start = performance.now();
178
- const orderFn = vi.fn();
177
+ const orderFn = vitest_1.vi.fn();
179
178
  const fns = Array(100)
180
179
  .fill(0)
181
180
  .map((_, i) => {
@@ -186,21 +185,21 @@ describe("resolve-once", () => {
186
185
  return `${i}:${once}`;
187
186
  });
188
187
  });
189
- expect(await Promise.all(fns)).toEqual(Array(100)
188
+ (0, vitest_1.expect)(await Promise.all(fns)).toEqual(Array(100)
190
189
  .fill(undefined)
191
190
  .map((_, i) => `${i}:42`));
192
- expect(reallyOnce).toHaveBeenCalledTimes(1);
191
+ (0, vitest_1.expect)(reallyOnce).toHaveBeenCalledTimes(1);
193
192
  const diff = performance.now() - start;
194
- expect(diff).toBeGreaterThanOrEqual(95);
195
- expect(diff).toBeLessThan(150);
196
- expect(orderFn).toHaveBeenCalledTimes(100);
197
- expect(orderFn.mock.calls.map(([i]) => i)).toEqual(Array(100)
193
+ (0, vitest_1.expect)(diff).toBeGreaterThanOrEqual(95);
194
+ (0, vitest_1.expect)(diff).toBeLessThan(150);
195
+ (0, vitest_1.expect)(orderFn).toHaveBeenCalledTimes(100);
196
+ (0, vitest_1.expect)(orderFn.mock.calls.map(([i]) => i)).toEqual(Array(100)
198
197
  .fill(0)
199
198
  .map((_, i) => i));
200
199
  });
201
- it("reset", async () => {
200
+ (0, vitest_1.it)("reset", async () => {
202
201
  const once = new cement_1.ResolveOnce();
203
- const orderFn = vi.fn(() => Promise.resolve(42));
202
+ const orderFn = vitest_1.vi.fn(() => Promise.resolve(42));
204
203
  await once.once(orderFn);
205
204
  await once.once(orderFn);
206
205
  await once.once(orderFn);
@@ -211,105 +210,106 @@ describe("resolve-once", () => {
211
210
  await once.once(orderFn);
212
211
  await once.once(orderFn);
213
212
  void once.reset();
214
- expect(orderFn).toHaveBeenCalledTimes(3);
213
+ (0, vitest_1.expect)(orderFn).toHaveBeenCalledTimes(3);
215
214
  });
216
- it("keyed", async () => {
215
+ (0, vitest_1.it)("keyed", async () => {
217
216
  const keyed = new cement_1.KeyedResolvOnce();
218
- const a_orderFn = vi.fn(() => Promise.resolve(42));
219
- const b_orderFn = vi.fn(() => Promise.resolve(42));
217
+ const a_orderFn = vitest_1.vi.fn(() => Promise.resolve(42));
218
+ const b_orderFn = vitest_1.vi.fn(() => Promise.resolve(42));
220
219
  for (let i = 0; i < 5; i++) {
221
220
  await keyed.get("a").once(a_orderFn);
222
221
  await keyed.get(() => "a").once(a_orderFn);
223
222
  await keyed.get("b").once(b_orderFn);
224
223
  await keyed.get(() => "b").once(b_orderFn);
225
- expect(a_orderFn).toHaveBeenCalledTimes(i + 1);
226
- expect(b_orderFn).toHaveBeenCalledTimes(i + 1);
224
+ (0, vitest_1.expect)(a_orderFn).toHaveBeenCalledTimes(i + 1);
225
+ (0, vitest_1.expect)(b_orderFn).toHaveBeenCalledTimes(i + 1);
227
226
  keyed.reset();
228
227
  }
229
228
  });
230
- it("keyed with pass ctx", async () => {
229
+ (0, vitest_1.it)("keyed with pass ctx", async () => {
231
230
  const keyed = new cement_1.KeyedResolvOnce();
232
- const a_orderFn = vi.fn((key) => Promise.resolve(key));
233
- const b_orderFn = vi.fn((key) => Promise.resolve(key));
231
+ const a_orderFn = vitest_1.vi.fn((key) => Promise.resolve(key));
232
+ const b_orderFn = vitest_1.vi.fn((key) => Promise.resolve(key));
234
233
  await Promise.all([
235
234
  keyed.get("a").once(a_orderFn),
236
235
  keyed.get(() => "a").once(a_orderFn),
237
236
  keyed.get("b").once(b_orderFn),
238
237
  keyed.get(() => "b").once(b_orderFn),
239
238
  ]);
240
- expect(a_orderFn).toHaveBeenCalledTimes(1);
241
- expect(a_orderFn).toHaveBeenCalledWith({
239
+ (0, vitest_1.expect)(a_orderFn).toHaveBeenCalledTimes(1);
240
+ (0, vitest_1.expect)(a_orderFn.mock.calls[0][0].ctx).toEqual({
242
241
  refKey: "a",
243
242
  givenKey: "a",
244
243
  value: undefined,
245
244
  ctx: {},
246
- }, undefined);
247
- expect(b_orderFn).toHaveBeenCalledTimes(1);
248
- expect(b_orderFn).toHaveBeenCalledWith({
245
+ });
246
+ (0, vitest_1.expect)(b_orderFn).toHaveBeenCalledTimes(1);
247
+ (0, vitest_1.expect)(b_orderFn.mock.calls[0][0].ctx).toEqual({
249
248
  refKey: "b",
250
249
  givenKey: "b",
251
250
  value: undefined,
252
251
  ctx: {},
253
- }, undefined);
252
+ });
254
253
  });
255
- it("keyedResolvOnce with pass ctx & {key: K}", () => {
254
+ (0, vitest_1.it)("keyedResolvOnce with pass ctx & {key: K}", () => {
256
255
  const my = new cement_1.KeyedResolvOnce({ ctx: { wurst: "world" } });
257
- my.get(1).once((item) => {
258
- assertType(item);
259
- assertType(item);
260
- assertType(item.givenKey);
261
- assertType(item.ctx.wurst);
262
- expect(item.givenKey).toBe(1);
263
- expect(item.ctx.wurst).toBe("world");
256
+ my.get(1).once(({ ctx: item }) => {
257
+ (0, vitest_1.assertType)(item);
258
+ (0, vitest_1.assertType)(item);
259
+ (0, vitest_1.assertType)(item.givenKey);
260
+ (0, vitest_1.assertType)(item.ctx.wurst);
261
+ (0, vitest_1.expect)(item.givenKey).toBe(1);
262
+ (0, vitest_1.expect)(item.ctx.wurst).toBe("world");
264
263
  return { hello: "world" };
265
264
  });
266
265
  });
267
- it("keyedResolvSeq with pass ctx & {key: K}", () => {
266
+ (0, vitest_1.it)("keyedResolvSeq with pass ctx & {key: K}", () => {
268
267
  const my = new cement_1.KeyedResolvSeq({ ctx: { wurst: "world" } });
269
268
  my.get(1).add((item) => {
270
- assertType(item);
271
- assertType(item);
272
- assertType(item.givenKey);
273
- assertType(item.ctx.wurst);
274
- expect(item.ctx.wurst).toBe("world");
275
- expect(item.givenKey).toBe(1);
269
+ (0, vitest_1.assertType)(item);
270
+ (0, vitest_1.assertType)(item);
271
+ (0, vitest_1.assertType)(item.givenKey);
272
+ (0, vitest_1.assertType)(item.ctx.wurst);
273
+ (0, vitest_1.expect)(item.ctx.wurst).toBe("world");
274
+ (0, vitest_1.expect)(item.givenKey).toBe(1);
276
275
  return { hello: "world" };
277
276
  });
278
277
  });
279
- it("ResolveOnce plain", () => {
278
+ (0, vitest_1.it)("ResolveOnce plain", () => {
280
279
  const my = new cement_1.ResolveOnce();
281
280
  my.once(() => {
282
281
  return { hello: "world" };
283
282
  });
284
- my.once((x) => {
285
- return { hello: x.wurst };
283
+ my.once(({ ctx }) => {
284
+ return { hello: ctx.wurst };
286
285
  });
287
286
  });
288
- it("keyedResolvOnce with pass decompose", () => {
287
+ (0, vitest_1.it)("keyedResolvOnce with pass decompose", () => {
289
288
  const my = new cement_1.KeyedResolvOnce();
290
- my.get("1").once(({ refKey }) => {
291
- assertType(refKey);
289
+ my.get("1").once(({ ctx }) => {
290
+ const { refKey } = ctx;
291
+ (0, vitest_1.assertType)(refKey);
292
292
  return { hello: "world" };
293
293
  });
294
294
  my.get("2").once(() => {
295
295
  return { hello: "world" };
296
296
  });
297
- my.get("3").once((ctx) => {
298
- assertType(ctx);
297
+ my.get("3").once(({ ctx }) => {
298
+ (0, vitest_1.assertType)(ctx);
299
299
  return { hello: "world" };
300
300
  });
301
301
  });
302
- it("keyedResolvOnce with pass decompose", () => {
302
+ (0, vitest_1.it)("keyedResolvOnce with pass decompose", () => {
303
303
  const my = new cement_1.KeyedResolvSeq();
304
304
  my.get("1").add(({ refKey: key }) => {
305
- assertType(key);
305
+ (0, vitest_1.assertType)(key);
306
306
  return { hello: "world" };
307
307
  });
308
308
  });
309
- it("keyed asyncGet", async () => {
309
+ (0, vitest_1.it)("keyed asyncGet", async () => {
310
310
  const keyed = new cement_1.KeyedResolvOnce();
311
- const a_orderFn = vi.fn((key) => Promise.resolve(key));
312
- const b_orderFn = vi.fn((key) => Promise.resolve(key));
311
+ const a_orderFn = vitest_1.vi.fn((key) => Promise.resolve(key));
312
+ const b_orderFn = vitest_1.vi.fn((key) => Promise.resolve(key));
313
313
  await Promise.all([
314
314
  keyed
315
315
  .asyncGet(async () => {
@@ -324,20 +324,20 @@ describe("resolve-once", () => {
324
324
  })
325
325
  .then((resolveOnce) => resolveOnce.once(b_orderFn)),
326
326
  ]);
327
- expect(a_orderFn).toHaveBeenCalledTimes(1);
328
- expect(a_orderFn).toHaveBeenCalledWith({
327
+ (0, vitest_1.expect)(a_orderFn).toHaveBeenCalledTimes(1);
328
+ (0, vitest_1.expect)(a_orderFn.mock.calls[0][0].ctx).toEqual({
329
329
  ctx: {},
330
330
  givenKey: "a",
331
331
  refKey: "a",
332
332
  value: undefined,
333
- }, undefined);
334
- expect(b_orderFn).toHaveBeenCalledTimes(1);
335
- expect(b_orderFn).toHaveBeenCalledWith({
333
+ });
334
+ (0, vitest_1.expect)(b_orderFn).toHaveBeenCalledTimes(1);
335
+ (0, vitest_1.expect)(b_orderFn.mock.calls[0][0].ctx).toEqual({
336
336
  ctx: {},
337
337
  givenKey: "b",
338
338
  refKey: "b",
339
339
  value: undefined,
340
- }, undefined);
340
+ });
341
341
  });
342
342
  function shuffle(array) {
343
343
  let currentIndex = array.length;
@@ -348,7 +348,7 @@ describe("resolve-once", () => {
348
348
  }
349
349
  return array;
350
350
  }
351
- it("ResolveSeq", async () => {
351
+ (0, vitest_1.it)("ResolveSeq", async () => {
352
352
  const seq = new cement_1.ResolveSeq();
353
353
  let enter = 0;
354
354
  let leave = 0;
@@ -356,20 +356,20 @@ describe("resolve-once", () => {
356
356
  .fill(0)
357
357
  .map((_, i) => {
358
358
  return seq.add(async () => {
359
- expect(enter++).toBe(i);
359
+ (0, vitest_1.expect)(enter++).toBe(i);
360
360
  await new Promise((resolve) => setTimeout(resolve, i * 3));
361
361
  await new Promise((resolve) => setTimeout(resolve, i * 2));
362
- expect(leave++).toBe(i);
363
- expect(leave).toBe(enter);
362
+ (0, vitest_1.expect)(leave++).toBe(i);
363
+ (0, vitest_1.expect)(leave).toBe(enter);
364
364
  return i;
365
365
  }, i);
366
366
  });
367
367
  const ret = await Promise.all(shuffle(actions));
368
- expect(ret.length).toBe(10);
369
- expect(enter).toBe(10);
370
- expect(leave).toBe(10);
368
+ (0, vitest_1.expect)(ret.length).toBe(10);
369
+ (0, vitest_1.expect)(enter).toBe(10);
370
+ (0, vitest_1.expect)(leave).toBe(10);
371
371
  });
372
- it("with promise", async () => {
372
+ (0, vitest_1.it)("with promise", async () => {
373
373
  const once = new cement_1.ResolveOnce();
374
374
  let val = 42;
375
375
  const fn = async () => {
@@ -379,29 +379,29 @@ describe("resolve-once", () => {
379
379
  }, 10);
380
380
  });
381
381
  };
382
- expect(await once.once(fn)).toBe(42);
383
- expect(await once.once(fn)).toBe(42);
382
+ (0, vitest_1.expect)(await once.once(fn)).toBe(42);
383
+ (0, vitest_1.expect)(await once.once(fn)).toBe(42);
384
384
  });
385
- it("without promise", () => {
385
+ (0, vitest_1.it)("without promise", () => {
386
386
  const once = new cement_1.ResolveOnce();
387
387
  let val = 42;
388
388
  const fn = () => val++;
389
- expect(once.once(fn)).toBe(42);
390
- expect(once.once(fn)).toBe(42);
389
+ (0, vitest_1.expect)(once.once(fn)).toBe(42);
390
+ (0, vitest_1.expect)(once.once(fn)).toBe(42);
391
391
  });
392
- it("without promise but exception", () => {
392
+ (0, vitest_1.it)("without promise but exception", () => {
393
393
  const once = new cement_1.ResolveOnce();
394
394
  let val = 42;
395
395
  const fn = () => {
396
396
  throw new Error(`nope ${val++}`);
397
397
  };
398
- expect(() => once.once(fn)).toThrowError("nope 42");
399
- expect(() => once.once(fn)).toThrowError("nope 42");
398
+ (0, vitest_1.expect)(() => once.once(fn)).toThrowError("nope 42");
399
+ (0, vitest_1.expect)(() => once.once(fn)).toThrowError("nope 42");
400
400
  });
401
- it.each([() => new Promise((resolve) => setTimeout(resolve, 10)), () => Promise.resolve()])("async with unget", async (sleeper) => {
401
+ vitest_1.it.each([() => new Promise((resolve) => setTimeout(resolve, 10)), () => Promise.resolve()])("async with unget", async (sleeper) => {
402
402
  const once = new cement_1.KeyedResolvOnce();
403
403
  let triggerUnget = true;
404
- const fn = vitest.fn();
404
+ const fn = vitest_1.vitest.fn();
405
405
  async function onceFn() {
406
406
  await sleeper();
407
407
  if (triggerUnget) {
@@ -412,23 +412,23 @@ describe("resolve-once", () => {
412
412
  fn("second");
413
413
  return await sleeper().then(() => "second");
414
414
  }
415
- expect(await once.get("a").once(onceFn)).toBe("first");
416
- expect(fn).toHaveBeenCalledTimes(1);
417
- expect(await once.get("a").once(onceFn)).toBe("first");
418
- expect(fn).toHaveBeenCalledTimes(2);
415
+ (0, vitest_1.expect)(await once.get("a").once(onceFn)).toBe("first");
416
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(1);
417
+ (0, vitest_1.expect)(await once.get("a").once(onceFn)).toBe("first");
418
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(2);
419
419
  triggerUnget = false;
420
- expect(await once.get("a").once(onceFn)).toBe("second");
421
- expect(fn).toHaveBeenCalledTimes(3);
422
- expect(await once.get("a").once(onceFn)).toBe("second");
423
- expect(fn).toHaveBeenCalledTimes(3);
420
+ (0, vitest_1.expect)(await once.get("a").once(onceFn)).toBe("second");
421
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(3);
422
+ (0, vitest_1.expect)(await once.get("a").once(onceFn)).toBe("second");
423
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(3);
424
424
  once.unget("a");
425
- expect(await once.get("a").once(onceFn)).toBe("second");
426
- expect(fn).toHaveBeenCalledTimes(4);
425
+ (0, vitest_1.expect)(await once.get("a").once(onceFn)).toBe("second");
426
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(4);
427
427
  });
428
- it("sync with unget", () => {
428
+ (0, vitest_1.it)("sync with unget", () => {
429
429
  const once = new cement_1.KeyedResolvOnce();
430
430
  let triggerUnget = true;
431
- const fn = vitest.fn();
431
+ const fn = vitest_1.vitest.fn();
432
432
  function onceFn() {
433
433
  if (triggerUnget) {
434
434
  fn("first");
@@ -438,23 +438,23 @@ describe("resolve-once", () => {
438
438
  fn("second");
439
439
  return "second";
440
440
  }
441
- expect(once.get("a").once(onceFn)).toBe("first");
442
- expect(fn).toHaveBeenCalledTimes(1);
443
- expect(once.get("a").once(onceFn)).toBe("first");
444
- expect(fn).toHaveBeenCalledTimes(2);
441
+ (0, vitest_1.expect)(once.get("a").once(onceFn)).toBe("first");
442
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(1);
443
+ (0, vitest_1.expect)(once.get("a").once(onceFn)).toBe("first");
444
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(2);
445
445
  triggerUnget = false;
446
- expect(once.get("a").once(onceFn)).toBe("second");
447
- expect(fn).toHaveBeenCalledTimes(3);
448
- expect(once.get("a").once(onceFn)).toBe("second");
449
- expect(fn).toHaveBeenCalledTimes(3);
446
+ (0, vitest_1.expect)(once.get("a").once(onceFn)).toBe("second");
447
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(3);
448
+ (0, vitest_1.expect)(once.get("a").once(onceFn)).toBe("second");
449
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(3);
450
450
  once.unget("a");
451
- expect(once.get("a").once(onceFn)).toBe("second");
452
- expect(fn).toHaveBeenCalledTimes(4);
451
+ (0, vitest_1.expect)(once.get("a").once(onceFn)).toBe("second");
452
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(4);
453
453
  });
454
- it("flush on seq", async () => {
454
+ (0, vitest_1.it)("flush on seq", async () => {
455
455
  const seq = new cement_1.ResolveSeq();
456
456
  let call = 42;
457
- const fn = vitest.fn(async () => {
457
+ const fn = vitest_1.vitest.fn(async () => {
458
458
  await new Promise((resolve) => setTimeout(resolve, 10));
459
459
  return call++;
460
460
  });
@@ -463,32 +463,32 @@ describe("resolve-once", () => {
463
463
  .map((_, i) => {
464
464
  return seq.add(fn, i);
465
465
  });
466
- expect(seq._seqFutures.length).toBe(10);
466
+ (0, vitest_1.expect)(seq._seqFutures.length).toBe(10);
467
467
  const flushes = [seq.flush(), seq.flush(), seq.flush(), seq.flush(), seq.flush()];
468
468
  await Promise.all(flushes);
469
- expect(seq._seqFutures.length).toBe(0);
470
- expect(await Promise.all(results)).toEqual(Array(10)
469
+ (0, vitest_1.expect)(seq._seqFutures.length).toBe(0);
470
+ (0, vitest_1.expect)(await Promise.all(results)).toEqual(Array(10)
471
471
  .fill(0)
472
472
  .map((_, i) => 42 + i));
473
- expect(fn).toHaveBeenCalledTimes(10);
473
+ (0, vitest_1.expect)(fn).toHaveBeenCalledTimes(10);
474
474
  });
475
- it("KeyedResolvOnce values", () => {
475
+ (0, vitest_1.it)("KeyedResolvOnce values", () => {
476
476
  const keyed = new cement_1.KeyedResolvOnce();
477
- expect(keyed.values()).toEqual([]);
477
+ (0, vitest_1.expect)(keyed.values()).toEqual([]);
478
478
  const a = keyed.get("a");
479
- expect(keyed.values()).toEqual([]);
479
+ (0, vitest_1.expect)(keyed.values()).toEqual([]);
480
480
  a.once(() => 42);
481
- expect(keyed.values()).toEqual([
481
+ (0, vitest_1.expect)(keyed.values()).toEqual([
482
482
  {
483
483
  key: "a",
484
484
  value: cement_1.Result.Ok(42),
485
- item: expect.objectContaining({ givenKey: "a", refKey: "a" }),
485
+ item: vitest_1.expect.objectContaining({ givenKey: "a", refKey: "a" }),
486
486
  },
487
487
  ]);
488
488
  keyed.get("b").once(() => 43);
489
- expect(keyed.values()).toEqual([
490
- { key: "a", value: cement_1.Result.Ok(42), item: expect.objectContaining({ givenKey: "a", refKey: "a" }) },
491
- { key: "b", value: cement_1.Result.Ok(43), item: expect.objectContaining({ givenKey: "b", refKey: "b" }) },
489
+ (0, vitest_1.expect)(keyed.values()).toEqual([
490
+ { key: "a", value: cement_1.Result.Ok(42), item: vitest_1.expect.objectContaining({ givenKey: "a", refKey: "a" }) },
491
+ { key: "b", value: cement_1.Result.Ok(43), item: vitest_1.expect.objectContaining({ givenKey: "b", refKey: "b" }) },
492
492
  ]);
493
493
  try {
494
494
  keyed.get("c").once(() => {
@@ -496,28 +496,28 @@ describe("resolve-once", () => {
496
496
  });
497
497
  }
498
498
  catch (e) {
499
- expect(e).toEqual(new Error("nope"));
499
+ (0, vitest_1.expect)(e).toEqual(new Error("nope"));
500
500
  }
501
- expect(keyed.values()).toEqual([
502
- { key: "a", value: cement_1.Result.Ok(42), item: expect.objectContaining({ givenKey: "a", refKey: "a" }) },
503
- { key: "b", value: cement_1.Result.Ok(43), item: expect.objectContaining({ givenKey: "b", refKey: "b" }) },
504
- { key: "c", value: cement_1.Result.Err(new Error("nope")), item: expect.objectContaining({ givenKey: "c", refKey: "c" }) },
501
+ (0, vitest_1.expect)(keyed.values()).toEqual([
502
+ { key: "a", value: cement_1.Result.Ok(42), item: vitest_1.expect.objectContaining({ givenKey: "a", refKey: "a" }) },
503
+ { key: "b", value: cement_1.Result.Ok(43), item: vitest_1.expect.objectContaining({ givenKey: "b", refKey: "b" }) },
504
+ { key: "c", value: cement_1.Result.Err(new Error("nope")), item: vitest_1.expect.objectContaining({ givenKey: "c", refKey: "c" }) },
505
505
  ]);
506
506
  keyed.unget("a");
507
507
  keyed.unget("c");
508
- expect(keyed.values()).toEqual([
509
- { key: "b", value: cement_1.Result.Ok(43), item: expect.objectContaining({ givenKey: "b", refKey: "b" }) },
508
+ (0, vitest_1.expect)(keyed.values()).toEqual([
509
+ { key: "b", value: cement_1.Result.Ok(43), item: vitest_1.expect.objectContaining({ givenKey: "b", refKey: "b" }) },
510
510
  ]);
511
511
  });
512
- it("KeyedResolvOnce entries", () => {
512
+ (0, vitest_1.it)("KeyedResolvOnce entries", () => {
513
513
  const keyed = new cement_1.KeyedResolvOnce();
514
- expect(Array.from(keyed.entries())).toEqual([]);
514
+ (0, vitest_1.expect)(Array.from(keyed.entries())).toEqual([]);
515
515
  const a = keyed.get("a");
516
- expect(Array.from(keyed.entries())).toEqual([]);
516
+ (0, vitest_1.expect)(Array.from(keyed.entries())).toEqual([]);
517
517
  a.once(() => 42);
518
- expect(Array.from(keyed.entries())).toEqual([{ key: "a", value: cement_1.Result.Ok(42) }]);
518
+ (0, vitest_1.expect)(Array.from(keyed.entries())).toEqual([{ key: "a", value: cement_1.Result.Ok(42) }]);
519
519
  keyed.get("b").once(() => 43);
520
- expect(Array.from(keyed.entries())).toEqual([
520
+ (0, vitest_1.expect)(Array.from(keyed.entries())).toEqual([
521
521
  { key: "a", value: cement_1.Result.Ok(42) },
522
522
  { key: "b", value: cement_1.Result.Ok(43) },
523
523
  ]);
@@ -527,93 +527,93 @@ describe("resolve-once", () => {
527
527
  });
528
528
  }
529
529
  catch (e) {
530
- expect(e).toEqual(new Error("nope"));
530
+ (0, vitest_1.expect)(e).toEqual(new Error("nope"));
531
531
  }
532
- expect(Array.from(keyed.entries())).toEqual([
532
+ (0, vitest_1.expect)(Array.from(keyed.entries())).toEqual([
533
533
  { key: "a", value: cement_1.Result.Ok(42) },
534
534
  { key: "b", value: cement_1.Result.Ok(43) },
535
535
  { key: "c", value: cement_1.Result.Err(new Error("nope")) },
536
536
  ]);
537
537
  keyed.unget("a");
538
538
  keyed.unget("c");
539
- expect(Array.from(keyed.entries())).toEqual([{ key: "b", value: cement_1.Result.Ok(43) }]);
539
+ (0, vitest_1.expect)(Array.from(keyed.entries())).toEqual([{ key: "b", value: cement_1.Result.Ok(43) }]);
540
540
  });
541
- it("uses lru cache", () => {
541
+ (0, vitest_1.it)("uses lru cache", () => {
542
542
  const keyed = new cement_1.KeyedResolvOnce({ lru: { maxEntries: 2 } });
543
543
  for (let i = 0; i < 10; i++) {
544
544
  keyed.get(i.toString()).once(() => i);
545
545
  }
546
- expect(keyed.values()).toEqual([
547
- { key: "8", value: cement_1.Result.Ok(8), item: expect.objectContaining({ givenKey: "8", refKey: "8" }) },
548
- { key: "9", value: cement_1.Result.Ok(9), item: expect.objectContaining({ givenKey: "9", refKey: "9" }) },
546
+ (0, vitest_1.expect)(keyed.values()).toEqual([
547
+ { key: "8", value: cement_1.Result.Ok(8), item: vitest_1.expect.objectContaining({ givenKey: "8", refKey: "8" }) },
548
+ { key: "9", value: cement_1.Result.Ok(9), item: vitest_1.expect.objectContaining({ givenKey: "9", refKey: "9" }) },
549
549
  ]);
550
550
  });
551
- it("resolve once serves ready and value", () => {
551
+ (0, vitest_1.it)("resolve once serves ready and value", () => {
552
552
  const once = new cement_1.ResolveOnce();
553
- expect(once.ready).toBe(false);
554
- expect(once.value).toBe(undefined);
553
+ (0, vitest_1.expect)(once.ready).toBe(false);
554
+ (0, vitest_1.expect)(once.value).toBe(undefined);
555
555
  once.once(() => 42);
556
- expect(once.ready).toBe(true);
557
- expect(once.value).toBe(42);
556
+ (0, vitest_1.expect)(once.ready).toBe(true);
557
+ (0, vitest_1.expect)(once.value).toBe(42);
558
558
  void once.reset();
559
- expect(once.ready).toBe(false);
560
- expect(once.value).toBe(undefined);
559
+ (0, vitest_1.expect)(once.ready).toBe(false);
560
+ (0, vitest_1.expect)(once.value).toBe(undefined);
561
561
  });
562
- it("async resolve once serves ready and value", async () => {
562
+ (0, vitest_1.it)("async resolve once serves ready and value", async () => {
563
563
  const once = new cement_1.ResolveOnce();
564
- expect(once.ready).toBe(false);
565
- expect(once.value).toBe(undefined);
564
+ (0, vitest_1.expect)(once.ready).toBe(false);
565
+ (0, vitest_1.expect)(once.value).toBe(undefined);
566
566
  await once.once(() => Promise.resolve(42));
567
- expect(once.ready).toBe(true);
568
- expect(once.value).toBe(42);
567
+ (0, vitest_1.expect)(once.ready).toBe(true);
568
+ (0, vitest_1.expect)(once.value).toBe(42);
569
569
  void once.reset();
570
- expect(once.ready).toBe(false);
571
- expect(once.value).toBe(undefined);
570
+ (0, vitest_1.expect)(once.ready).toBe(false);
571
+ (0, vitest_1.expect)(once.value).toBe(undefined);
572
572
  });
573
- it("keyed expose onAdd on onDelete", () => {
573
+ (0, vitest_1.it)("keyed expose onAdd on onDelete", () => {
574
574
  const k = new cement_1.KeyedResolvOnce();
575
- const fn = vi.fn();
575
+ const fn = vitest_1.vi.fn();
576
576
  k.onSet(fn)();
577
577
  k.onDelete(fn)();
578
578
  });
579
- it("test async version of once", () => {
579
+ (0, vitest_1.it)("test async version of once", () => {
580
580
  const r = new cement_1.ResolveOnce();
581
581
  const x = r.once(() => Promise.resolve(1));
582
- assertType(x);
582
+ (0, vitest_1.assertType)(x);
583
583
  const rv = new cement_1.ResolveOnce();
584
584
  const xv = rv.once(async () => {
585
585
  });
586
- assertType(xv);
586
+ (0, vitest_1.assertType)(xv);
587
587
  });
588
- it("test sync version of once", () => {
588
+ (0, vitest_1.it)("test sync version of once", () => {
589
589
  const r = new cement_1.ResolveOnce();
590
590
  const x = r.once(() => 1);
591
- assertType(x);
591
+ (0, vitest_1.assertType)(x);
592
592
  const rv = new cement_1.ResolveOnce();
593
593
  const xv = rv.once(() => {
594
594
  });
595
- assertType(xv);
595
+ (0, vitest_1.assertType)(xv);
596
596
  });
597
- it("once return undefined", () => {
597
+ (0, vitest_1.it)("once return undefined", () => {
598
598
  const once = new cement_1.ResolveOnce();
599
599
  const x = once.once(() => {
600
600
  return;
601
601
  });
602
- expect(x).toBe(undefined);
602
+ (0, vitest_1.expect)(x).toBe(undefined);
603
603
  });
604
- it("once return undefined", async () => {
604
+ (0, vitest_1.it)("once return undefined", async () => {
605
605
  const once = new cement_1.ResolveOnce();
606
606
  const x = once.once(() => {
607
607
  return Promise.resolve();
608
608
  });
609
- assertType(x);
610
- expect(await x).toBe(undefined);
609
+ (0, vitest_1.assertType)(x);
610
+ (0, vitest_1.expect)(await x).toBe(undefined);
611
611
  });
612
- it("keyed has a has method", () => {
612
+ (0, vitest_1.it)("keyed has a has method", () => {
613
613
  const keyed = new cement_1.KeyedResolvOnce();
614
- expect(keyed.has("a")).toBe(false);
614
+ (0, vitest_1.expect)(keyed.has("a")).toBe(false);
615
615
  keyed.get("a").once(() => 42);
616
- expect(keyed.has("a")).toBe(true);
616
+ (0, vitest_1.expect)(keyed.has("a")).toBe(true);
617
617
  });
618
618
  });
619
619
  class MyLazy {
@@ -635,8 +635,8 @@ class MyLazy {
635
635
  };
636
636
  }
637
637
  }
638
- describe("Reset does not remove pending futures", () => {
639
- it("reset are queued", async () => {
638
+ (0, vitest_1.describe)("Reset does not remove pending futures", () => {
639
+ (0, vitest_1.it)("reset are queued", async () => {
640
640
  const once = new cement_1.ResolveOnce();
641
641
  const actions = [];
642
642
  const actionCnt = 3;
@@ -663,22 +663,22 @@ describe("Reset does not remove pending futures", () => {
663
663
  }),
664
664
  });
665
665
  }
666
- expect(once.queueLength).toBe(actionCnt * onceCallCnt + actionCnt + actionCnt + 1);
666
+ (0, vitest_1.expect)(once.queueLength).toBe(actionCnt * onceCallCnt + actionCnt + actionCnt + 1);
667
667
  [...actions].reverse().forEach((a) => {
668
668
  [...a.futures].reverse().forEach((f) => {
669
669
  f.resolve();
670
670
  });
671
671
  });
672
672
  await Promise.all(actions.map((a) => a.reset));
673
- expect(once.queueLength).toBe(actionCnt + 1);
673
+ (0, vitest_1.expect)(once.queueLength).toBe(actionCnt + 1);
674
674
  for (let i = 0; i < actionCnt; i++) {
675
675
  const a = actions[i];
676
- expect(await Promise.all(a.results)).toEqual(Array(onceCallCnt)
676
+ (0, vitest_1.expect)(await Promise.all(a.results)).toEqual(Array(onceCallCnt)
677
677
  .fill(0)
678
678
  .map(() => (i ? i + 96 : i + 63)));
679
679
  }
680
680
  });
681
- it("Reset does not remove pending futures", async () => {
681
+ (0, vitest_1.it)("Reset does not remove pending futures", async () => {
682
682
  const cnt = 10;
683
683
  const once = new cement_1.ResolveOnce();
684
684
  const releaseOnce = new cement_1.Future();
@@ -689,7 +689,7 @@ describe("Reset does not remove pending futures", () => {
689
689
  }));
690
690
  const newValue = new cement_1.Future();
691
691
  let newWaiting = undefined;
692
- const never = vi.fn();
692
+ const never = vitest_1.vi.fn();
693
693
  const resetResult = once.reset(async () => {
694
694
  newWaiting = Promise.all(Array(cnt)
695
695
  .fill(0)
@@ -702,97 +702,97 @@ describe("Reset does not remove pending futures", () => {
702
702
  });
703
703
  releaseOnce.resolve();
704
704
  newValue.resolve();
705
- expect(await resetResult).toBe(42);
705
+ (0, vitest_1.expect)(await resetResult).toBe(42);
706
706
  const resWaiting = await waiting;
707
- expect(resWaiting).toEqual(Array(cnt).fill(24));
708
- if (!(0, is_promise_js_1.isPromise)(newWaiting)) {
709
- assert.fail("newWaiting is undefined");
707
+ (0, vitest_1.expect)(resWaiting).toEqual(Array(cnt).fill(24));
708
+ if (!(0, cement_1.isPromise)(newWaiting)) {
709
+ vitest_1.assert.fail("newWaiting is undefined");
710
710
  return;
711
711
  }
712
712
  const newWaitingResult = await Promise.resolve(newWaiting);
713
- expect(newWaitingResult).toEqual(Array(cnt).fill(24));
714
- expect(never).not.toHaveBeenCalled();
713
+ (0, vitest_1.expect)(newWaitingResult).toEqual(Array(cnt).fill(24));
714
+ (0, vitest_1.expect)(never).not.toHaveBeenCalled();
715
715
  const resolvedReset = await resetResult;
716
- expect(resolvedReset).toBe(42);
717
- expect(await Promise.all(Array(cnt)
716
+ (0, vitest_1.expect)(resolvedReset).toBe(42);
717
+ (0, vitest_1.expect)(await Promise.all(Array(cnt)
718
718
  .fill(0)
719
719
  .map(() => once.once(() => {
720
720
  never();
721
721
  return 49;
722
722
  })))).toEqual(Array(cnt).fill(42));
723
723
  });
724
- it("Keyed Resolve ReturnType of once", () => {
724
+ (0, vitest_1.it)("Keyed Resolve ReturnType of once", () => {
725
725
  const keyed = new cement_1.KeyedResolvOnce();
726
726
  const type1 = keyed.get("type1").once(() => ({ type1: "1" }));
727
- assertType(type1);
728
- assertType(type1);
727
+ (0, vitest_1.assertType)(type1);
728
+ (0, vitest_1.assertType)(type1);
729
729
  const type2 = keyed.get("type2").once(() => ({ type2: 1 }));
730
- assertType(type2);
731
- assertType(type2);
730
+ (0, vitest_1.assertType)(type2);
731
+ (0, vitest_1.assertType)(type2);
732
732
  const type3 = keyed.get("type3").once(() => ({ type3: true }));
733
- assertType(type3);
734
- assertType(type3);
733
+ (0, vitest_1.assertType)(type3);
734
+ (0, vitest_1.assertType)(type3);
735
735
  });
736
- it("ResolveOnce ReturnType of once", async () => {
736
+ (0, vitest_1.it)("ResolveOnce ReturnType of once", async () => {
737
737
  const ronce = new cement_1.ResolveOnce();
738
738
  const type1 = ronce.once(() => ({ type1: "1" }));
739
- assertType(type1);
740
- assertType(type1);
739
+ (0, vitest_1.assertType)(type1);
740
+ (0, vitest_1.assertType)(type1);
741
741
  const type2 = ronce.once(() => ({ type2: 1 }));
742
- assertType(type2);
743
- assertType(type2);
742
+ (0, vitest_1.assertType)(type2);
743
+ (0, vitest_1.assertType)(type2);
744
744
  const type3 = ronce.once(() => ({ type3: true }));
745
- assertType(type3);
746
- assertType(type3);
745
+ (0, vitest_1.assertType)(type3);
746
+ (0, vitest_1.assertType)(type3);
747
747
  const atype1 = await ronce.once(() => Promise.resolve({ type1: "1" }));
748
- assertType(atype1);
749
- assertType(atype1);
748
+ (0, vitest_1.assertType)(atype1);
749
+ (0, vitest_1.assertType)(atype1);
750
750
  const atype2 = await ronce.once(() => Promise.resolve({ type2: 1 }));
751
- assertType(atype2);
752
- assertType(atype2);
751
+ (0, vitest_1.assertType)(atype2);
752
+ (0, vitest_1.assertType)(atype2);
753
753
  const atype3 = await ronce.once(() => Promise.resolve({ type3: true }));
754
- assertType(atype3);
755
- assertType(atype3);
754
+ (0, vitest_1.assertType)(atype3);
755
+ (0, vitest_1.assertType)(atype3);
756
756
  });
757
757
  });
758
- describe("Lazy Initialization", () => {
759
- it("ResolveOnce could be used for LazyInitialization", async () => {
758
+ (0, vitest_1.describe)("Lazy Initialization", () => {
759
+ (0, vitest_1.it)("ResolveOnce could be used for LazyInitialization", async () => {
760
760
  const my = new MyLazy();
761
- expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
762
- expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
763
- expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
761
+ (0, vitest_1.expect)(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
762
+ (0, vitest_1.expect)(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
763
+ (0, vitest_1.expect)(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
764
764
  });
765
- it("Sync Lazy With Renew Timer", async () => {
765
+ (0, vitest_1.it)("Sync Lazy With Renew Timer", async () => {
766
766
  let initVal = 0;
767
767
  const lazy = (0, cement_1.Lazy)(() => {
768
768
  return ++initVal;
769
769
  }, { resetAfter: 50 });
770
- expect(lazy()).toBe(1);
771
- await (0, promise_sleep_js_1.sleep)(10);
772
- expect(lazy()).toBe(1);
773
- await (0, promise_sleep_js_1.sleep)(60);
774
- expect(lazy()).toBe(2);
775
- expect(lazy()).toBe(2);
776
- await (0, promise_sleep_js_1.sleep)(60);
777
- expect(lazy()).toBe(3);
778
- expect(lazy()).toBe(3);
779
- });
780
- it("Async Lazy With Renew Timer", async () => {
770
+ (0, vitest_1.expect)(lazy()).toBe(1);
771
+ await (0, cement_1.sleep)(10);
772
+ (0, vitest_1.expect)(lazy()).toBe(1);
773
+ await (0, cement_1.sleep)(60);
774
+ (0, vitest_1.expect)(lazy()).toBe(2);
775
+ (0, vitest_1.expect)(lazy()).toBe(2);
776
+ await (0, cement_1.sleep)(60);
777
+ (0, vitest_1.expect)(lazy()).toBe(3);
778
+ (0, vitest_1.expect)(lazy()).toBe(3);
779
+ });
780
+ (0, vitest_1.it)("Async Lazy With Renew Timer", async () => {
781
781
  let initVal = 0;
782
782
  const lazy = (0, cement_1.Lazy)(() => {
783
783
  return Promise.resolve(++initVal);
784
784
  }, { resetAfter: 50 });
785
- expect(await lazy()).toBe(1);
786
- await (0, promise_sleep_js_1.sleep)(10);
787
- expect(await lazy()).toBe(1);
788
- await (0, promise_sleep_js_1.sleep)(60);
789
- expect(await lazy()).toBe(2);
790
- expect(await lazy()).toBe(2);
791
- await (0, promise_sleep_js_1.sleep)(60);
792
- expect(await lazy()).toBe(3);
793
- expect(await lazy()).toBe(3);
794
- });
795
- it("KeyedResolveOnce and resetAfter", async () => {
785
+ (0, vitest_1.expect)(await lazy()).toBe(1);
786
+ await (0, cement_1.sleep)(10);
787
+ (0, vitest_1.expect)(await lazy()).toBe(1);
788
+ await (0, cement_1.sleep)(60);
789
+ (0, vitest_1.expect)(await lazy()).toBe(2);
790
+ (0, vitest_1.expect)(await lazy()).toBe(2);
791
+ await (0, cement_1.sleep)(60);
792
+ (0, vitest_1.expect)(await lazy()).toBe(3);
793
+ (0, vitest_1.expect)(await lazy()).toBe(3);
794
+ });
795
+ (0, vitest_1.it)("KeyedResolveOnce and resetAfter", async () => {
796
796
  const keyed = new cement_1.KeyedResolvOnce({
797
797
  resetAfter: 50,
798
798
  });
@@ -802,25 +802,25 @@ describe("Lazy Initialization", () => {
802
802
  .fill(0)
803
803
  .map((_, idx) => keyed.get(idx).once(() => initVal));
804
804
  }
805
- expect(onces(++initVal)).toEqual(Array(5).fill(initVal));
806
- await (0, promise_sleep_js_1.sleep)(10);
807
- expect(onces(initVal)).toEqual(Array(5).fill(initVal));
808
- await (0, promise_sleep_js_1.sleep)(60);
809
- expect(onces(++initVal)).toEqual(Array(5).fill(initVal));
810
- await (0, promise_sleep_js_1.sleep)(10);
811
- expect(onces(initVal)).toEqual(Array(5).fill(initVal));
812
- await (0, promise_sleep_js_1.sleep)(60);
813
- expect(onces(++initVal)).toEqual(Array(5).fill(initVal));
814
- expect(onces(initVal)).toEqual(Array(5).fill(initVal));
805
+ (0, vitest_1.expect)(onces(++initVal)).toEqual(Array(5).fill(initVal));
806
+ await (0, cement_1.sleep)(10);
807
+ (0, vitest_1.expect)(onces(initVal)).toEqual(Array(5).fill(initVal));
808
+ await (0, cement_1.sleep)(60);
809
+ (0, vitest_1.expect)(onces(++initVal)).toEqual(Array(5).fill(initVal));
810
+ await (0, cement_1.sleep)(10);
811
+ (0, vitest_1.expect)(onces(initVal)).toEqual(Array(5).fill(initVal));
812
+ await (0, cement_1.sleep)(60);
813
+ (0, vitest_1.expect)(onces(++initVal)).toEqual(Array(5).fill(initVal));
814
+ (0, vitest_1.expect)(onces(initVal)).toEqual(Array(5).fill(initVal));
815
815
  });
816
816
  });
817
- describe("KeyToHash", () => {
818
- it("KeyedResolvSeq could use default KeyToHash", async () => {
817
+ (0, vitest_1.describe)("KeyToHash", () => {
818
+ (0, vitest_1.it)("KeyedResolvSeq could use default KeyToHash", async () => {
819
819
  const keyed = new cement_1.KeyedResolvSeq({
820
820
  key2string: (key) => `${key.id}:${key.name}`,
821
821
  ctx: { ctx: "test" },
822
822
  });
823
- const addFn = vi
823
+ const addFn = vitest_1.vi
824
824
  .fn()
825
825
  .mockImplementation((item) => {
826
826
  return Promise.resolve({ item });
@@ -828,45 +828,47 @@ describe("KeyToHash", () => {
828
828
  await keyed.get({ id: 1, name: "test" }).add(addFn);
829
829
  await keyed.get({ id: 1, name: "test" }).add(addFn);
830
830
  await keyed.get({ id: 2, name: "test" }).add(addFn);
831
- expect(addFn).toHaveBeenCalledTimes(3);
832
- expect(addFn).toHaveBeenNthCalledWith(1, {
831
+ (0, vitest_1.expect)(addFn).toHaveBeenCalledTimes(3);
832
+ (0, vitest_1.expect)(addFn).toHaveBeenNthCalledWith(1, {
833
833
  refKey: "1:test",
834
834
  givenKey: { id: 1, name: "test" },
835
835
  value: undefined,
836
836
  ctx: { ctx: "test" },
837
837
  });
838
- expect(addFn).toHaveBeenNthCalledWith(2, {
838
+ (0, vitest_1.expect)(addFn).toHaveBeenNthCalledWith(2, {
839
839
  refKey: "1:test",
840
840
  givenKey: { id: 1, name: "test" },
841
841
  value: undefined,
842
842
  ctx: { ctx: "test" },
843
843
  });
844
- expect(addFn).toHaveBeenNthCalledWith(3, {
844
+ (0, vitest_1.expect)(addFn).toHaveBeenNthCalledWith(3, {
845
845
  refKey: "2:test",
846
846
  givenKey: { id: 2, name: "test" },
847
847
  value: undefined,
848
848
  ctx: { ctx: "test" },
849
849
  });
850
850
  });
851
- it("KeyedResolvOnce could use custom KeyToHash", async () => {
851
+ (0, vitest_1.it)("KeyedResolvOnce could use custom KeyToHash", async () => {
852
852
  const keyed = new cement_1.KeyedResolvOnce({
853
853
  key2string: (key) => `${key.id}:${key.name}`,
854
854
  ctx: { ctx: "test" },
855
855
  });
856
- const onceFn = vi.fn().mockImplementation((item) => {
856
+ const onceFn = vitest_1.vi
857
+ .fn()
858
+ .mockImplementation(({ ctx }) => {
857
859
  return {
858
- id: item.givenKey.id,
859
- name: item.givenKey.name,
860
+ id: ctx.givenKey.id,
861
+ name: ctx.givenKey.name,
860
862
  };
861
863
  });
862
864
  for (let i = 0; i < 3; i++) {
863
865
  const res = await keyed.get({ id: 1, name: "test" }).once((item) => {
864
866
  return Promise.resolve(onceFn(item));
865
867
  });
866
- expect(res).toEqual({ id: 1, name: "test" });
868
+ (0, vitest_1.expect)(res).toEqual({ id: 1, name: "test" });
867
869
  }
868
- expect(onceFn).toHaveBeenCalledTimes(1);
869
- expect(onceFn).toHaveBeenCalledWith({
870
+ (0, vitest_1.expect)(onceFn).toHaveBeenCalledTimes(1);
871
+ (0, vitest_1.expect)(onceFn.mock.calls[0][0].ctx).toEqual({
870
872
  refKey: "1:test",
871
873
  givenKey: { id: 1, name: "test" },
872
874
  value: undefined,
@@ -874,41 +876,61 @@ describe("KeyToHash", () => {
874
876
  });
875
877
  });
876
878
  });
877
- it("ResolveOnce gets is prev value if reset", () => {
879
+ (0, vitest_1.it)("ResolveOnce gets is prev value if reset", () => {
878
880
  const once = new cement_1.ResolveOnce();
879
881
  once.once(() => ({
880
882
  value: 42,
881
883
  stats: 1,
882
884
  }));
883
- once.reset();
884
- const res1 = once.once((_, prev) => {
885
- if (!prev) {
885
+ void once.reset();
886
+ const res1 = once.once((my) => {
887
+ if (!my.self.value) {
886
888
  throw new Error("prev is undefined");
887
889
  }
888
890
  return {
889
891
  value: 45,
890
- stats: prev.stats + 1,
892
+ stats: my.self.value.stats + 1,
891
893
  };
892
894
  });
893
- expect(res1).toEqual({
895
+ (0, vitest_1.expect)(res1).toEqual({
894
896
  value: 45,
895
897
  stats: 2,
896
898
  });
897
- once.reset();
898
- const res2 = once.once((_, prev) => {
899
- if (!prev) {
899
+ void once.reset();
900
+ const res2 = once.once((my) => {
901
+ if (!my.self.value) {
900
902
  throw new Error("prev is undefined");
901
903
  }
902
- prev.stats++;
903
- prev.value += 3;
904
- return prev;
904
+ my.self.value.stats++;
905
+ my.self.value.value += 3;
906
+ return my.self.value;
905
907
  });
906
- expect(res2).toEqual({
908
+ (0, vitest_1.expect)(res2).toEqual({
907
909
  value: 48,
908
910
  stats: 3,
909
911
  });
910
912
  });
911
- it("does not block node on process exit", async () => {
913
+ (0, vitest_1.it)("dynamic setting of resetAfter switch off", async () => {
914
+ const once = new cement_1.ResolveOnce(undefined, { resetAfter: 30 });
915
+ once.once((my) => {
916
+ my.self.setResetAfter();
917
+ return 42;
918
+ });
919
+ await (0, cement_1.sleep)(40);
920
+ (0, vitest_1.expect)(once.once(() => 43)).toBe(42);
921
+ });
922
+ (0, vitest_1.it)("dynamic setting of resetAfter change time", async () => {
923
+ const once = new cement_1.ResolveOnce(undefined, { resetAfter: 30 });
924
+ once.once((my) => {
925
+ my.self.setResetAfter(10);
926
+ return 42;
927
+ });
928
+ await (0, cement_1.sleep)(15);
929
+ (0, vitest_1.expect)(once.once(() => 43)).toBe(43);
930
+ await (0, cement_1.sleep)(15);
931
+ (0, vitest_1.expect)(once.once(() => 44)).toBe(44);
932
+ });
933
+ (0, vitest_1.it)("does not block node on process exit", async () => {
912
934
  let runtime = undefined;
913
935
  if ((0, cement_1.runtimeFn)().isNodeIsh) {
914
936
  runtime = ["tsx", "-e"];
@@ -925,9 +947,15 @@ it("does not block node on process exit", async () => {
925
947
  `.finally(() => console.log("done"));`,
926
948
  ].join("");
927
949
  const res = await $ `${runtime} ${[code]}`;
928
- expect(res.ok).toBe(true);
950
+ (0, vitest_1.expect)(res.ok).toBe(true);
929
951
  const duration = Date.now() - start;
930
- expect(duration).toBeLessThan(1000);
952
+ (0, vitest_1.expect)(duration).toBeLessThan(2000);
931
953
  }
932
954
  });
955
+ (0, vitest_1.it)("KeyedResolvOnce in void", () => {
956
+ const keyed = new cement_1.KeyedResolvOnce();
957
+ keyed.get("a").once(() => {
958
+ void 0;
959
+ });
960
+ });
933
961
  //# sourceMappingURL=resolve-once.test.js.map