@adviser/cement 0.4.62 → 0.4.64-dev

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 (428) hide show
  1. package/cjs/app-context.cjs.map +1 -1
  2. package/cjs/app-context.d.ts.map +1 -1
  3. package/cjs/base-sys-abstraction.cjs.map +1 -1
  4. package/cjs/base-sys-abstraction.d.ts.map +1 -1
  5. package/cjs/bin2text.cjs.map +1 -1
  6. package/cjs/bin2text.d.ts.map +1 -1
  7. package/cjs/coerce-binary.cjs.map +1 -1
  8. package/cjs/coerce-binary.d.ts.map +1 -1
  9. package/cjs/crypto.cjs.map +1 -1
  10. package/cjs/crypto.d.ts.map +1 -1
  11. package/cjs/future.cjs.map +1 -1
  12. package/cjs/future.d.ts.map +1 -1
  13. package/cjs/http_header.cjs.map +1 -1
  14. package/cjs/http_header.d.ts.map +1 -1
  15. package/cjs/index.cjs +1 -0
  16. package/cjs/index.cjs.map +1 -1
  17. package/cjs/index.d.ts +1 -0
  18. package/cjs/index.d.ts.map +1 -1
  19. package/cjs/is-json.cjs.map +1 -1
  20. package/cjs/is-json.d.ts.map +1 -1
  21. package/cjs/is-promise.cjs.map +1 -1
  22. package/cjs/is-promise.d.ts.map +1 -1
  23. package/cjs/keyed-ng.cjs +93 -0
  24. package/cjs/keyed-ng.cjs.map +1 -0
  25. package/cjs/keyed-ng.d.ts +51 -0
  26. package/cjs/keyed-ng.d.ts.map +1 -0
  27. package/cjs/keyed-ng.test.cjs +151 -0
  28. package/cjs/keyed-ng.test.cjs.map +1 -0
  29. package/cjs/keyed-ng.test.d.ts +2 -0
  30. package/cjs/keyed-ng.test.d.ts.map +1 -0
  31. package/cjs/lru-map-set.cjs +2 -1
  32. package/cjs/lru-map-set.cjs.map +1 -1
  33. package/cjs/lru-map-set.d.ts +4 -1
  34. package/cjs/lru-map-set.d.ts.map +1 -1
  35. package/cjs/on-func.cjs.map +1 -1
  36. package/cjs/on-func.d.ts.map +1 -1
  37. package/cjs/option.cjs.map +1 -1
  38. package/cjs/option.d.ts.map +1 -1
  39. package/cjs/poller.cjs +8 -3
  40. package/cjs/poller.cjs.map +1 -1
  41. package/cjs/poller.d.ts +9 -2
  42. package/cjs/poller.d.ts.map +1 -1
  43. package/cjs/promise-sleep.cjs.map +1 -1
  44. package/cjs/promise-sleep.d.ts.map +1 -1
  45. package/cjs/resolve-once.cjs +84 -43
  46. package/cjs/resolve-once.cjs.map +1 -1
  47. package/cjs/resolve-once.d.ts +31 -34
  48. package/cjs/resolve-once.d.ts.map +1 -1
  49. package/cjs/resolve-once.test.cjs +119 -31
  50. package/cjs/resolve-once.test.cjs.map +1 -1
  51. package/cjs/result.cjs.map +1 -1
  52. package/cjs/result.d.ts.map +1 -1
  53. package/cjs/runtime.cjs.map +1 -1
  54. package/cjs/runtime.d.ts.map +1 -1
  55. package/cjs/sys-env.cjs.map +1 -1
  56. package/cjs/sys-env.d.ts.map +1 -1
  57. package/cjs/timeouted.cjs.map +1 -1
  58. package/cjs/timeouted.d.ts.map +1 -1
  59. package/cjs/tracer.cjs.map +1 -1
  60. package/cjs/tracer.d.ts.map +1 -1
  61. package/cjs/txt-en-decoder.cjs +2 -5
  62. package/cjs/txt-en-decoder.cjs.map +1 -1
  63. package/cjs/txt-en-decoder.d.ts +1 -1
  64. package/cjs/txt-en-decoder.d.ts.map +1 -1
  65. package/cjs/uri.cjs.map +1 -1
  66. package/cjs/uri.d.ts.map +1 -1
  67. package/cjs/utils/coerce-uint8.cjs.map +1 -1
  68. package/cjs/utils/coerce-uint8.d.ts.map +1 -1
  69. package/cjs/utils/console-write-stream.cjs.map +1 -1
  70. package/cjs/utils/console-write-stream.d.ts.map +1 -1
  71. package/cjs/utils/consume.cjs.map +1 -1
  72. package/cjs/utils/consume.d.ts.map +1 -1
  73. package/cjs/utils/fanout-write-stream.cjs.map +1 -1
  74. package/cjs/utils/fanout-write-stream.d.ts.map +1 -1
  75. package/cjs/utils/get-params-result.cjs.map +1 -1
  76. package/cjs/utils/get-params-result.d.ts.map +1 -1
  77. package/cjs/utils/rebuffer.cjs.map +1 -1
  78. package/cjs/utils/rebuffer.d.ts.map +1 -1
  79. package/cjs/utils/relative-path.cjs.map +1 -1
  80. package/cjs/utils/relative-path.d.ts.map +1 -1
  81. package/cjs/utils/sorted-object.cjs.map +1 -1
  82. package/cjs/utils/sorted-object.d.ts.map +1 -1
  83. package/cjs/utils/stream-map.cjs.map +1 -1
  84. package/cjs/utils/stream-map.d.ts.map +1 -1
  85. package/cjs/utils/stream2string.cjs.map +1 -1
  86. package/cjs/utils/stream2string.d.ts.map +1 -1
  87. package/cjs/utils/string2stream.cjs.map +1 -1
  88. package/cjs/utils/string2stream.d.ts.map +1 -1
  89. package/cjs/utils/stripper.cjs.map +1 -1
  90. package/cjs/utils/stripper.d.ts.map +1 -1
  91. package/cjs/utils/to-sorted.cjs.map +1 -1
  92. package/cjs/utils/to-sorted.d.ts.map +1 -1
  93. package/cjs/utils/uint8array-equal.cjs.map +1 -1
  94. package/cjs/utils/uint8array-equal.d.ts.map +1 -1
  95. package/cjs/version.cjs +1 -1
  96. package/cjs/version.cjs.map +1 -1
  97. package/cjs/version.d.ts.map +1 -1
  98. package/deno.json +1 -1
  99. package/esm/app-context.d.ts.map +1 -1
  100. package/esm/app-context.js.map +1 -1
  101. package/esm/base-sys-abstraction.d.ts.map +1 -1
  102. package/esm/base-sys-abstraction.js.map +1 -1
  103. package/esm/bin2text.d.ts.map +1 -1
  104. package/esm/bin2text.js.map +1 -1
  105. package/esm/coerce-binary.d.ts.map +1 -1
  106. package/esm/coerce-binary.js.map +1 -1
  107. package/esm/crypto.d.ts.map +1 -1
  108. package/esm/crypto.js.map +1 -1
  109. package/esm/future.d.ts.map +1 -1
  110. package/esm/future.js.map +1 -1
  111. package/esm/http_header.d.ts.map +1 -1
  112. package/esm/http_header.js.map +1 -1
  113. package/esm/index.d.ts +1 -0
  114. package/esm/index.d.ts.map +1 -1
  115. package/esm/index.js +1 -0
  116. package/esm/index.js.map +1 -1
  117. package/esm/is-json.d.ts.map +1 -1
  118. package/esm/is-json.js.map +1 -1
  119. package/esm/is-promise.d.ts.map +1 -1
  120. package/esm/is-promise.js.map +1 -1
  121. package/esm/keyed-ng.d.ts +51 -0
  122. package/esm/keyed-ng.d.ts.map +1 -0
  123. package/esm/keyed-ng.js +89 -0
  124. package/esm/keyed-ng.js.map +1 -0
  125. package/esm/keyed-ng.test.d.ts +2 -0
  126. package/esm/keyed-ng.test.d.ts.map +1 -0
  127. package/esm/keyed-ng.test.js +149 -0
  128. package/esm/keyed-ng.test.js.map +1 -0
  129. package/esm/lru-map-set.d.ts +4 -1
  130. package/esm/lru-map-set.d.ts.map +1 -1
  131. package/esm/lru-map-set.js +2 -1
  132. package/esm/lru-map-set.js.map +1 -1
  133. package/esm/on-func.d.ts.map +1 -1
  134. package/esm/on-func.js.map +1 -1
  135. package/esm/option.d.ts.map +1 -1
  136. package/esm/option.js.map +1 -1
  137. package/esm/poller.d.ts +9 -2
  138. package/esm/poller.d.ts.map +1 -1
  139. package/esm/poller.js +8 -3
  140. package/esm/poller.js.map +1 -1
  141. package/esm/promise-sleep.d.ts.map +1 -1
  142. package/esm/promise-sleep.js.map +1 -1
  143. package/esm/resolve-once.d.ts +31 -34
  144. package/esm/resolve-once.d.ts.map +1 -1
  145. package/esm/resolve-once.js +83 -41
  146. package/esm/resolve-once.js.map +1 -1
  147. package/esm/resolve-once.test.js +119 -31
  148. package/esm/resolve-once.test.js.map +1 -1
  149. package/esm/result.d.ts.map +1 -1
  150. package/esm/result.js.map +1 -1
  151. package/esm/runtime.d.ts.map +1 -1
  152. package/esm/runtime.js.map +1 -1
  153. package/esm/sys-env.d.ts.map +1 -1
  154. package/esm/sys-env.js.map +1 -1
  155. package/esm/timeouted.d.ts.map +1 -1
  156. package/esm/timeouted.js.map +1 -1
  157. package/esm/tracer.d.ts.map +1 -1
  158. package/esm/tracer.js.map +1 -1
  159. package/esm/txt-en-decoder.d.ts +1 -1
  160. package/esm/txt-en-decoder.d.ts.map +1 -1
  161. package/esm/txt-en-decoder.js +2 -5
  162. package/esm/txt-en-decoder.js.map +1 -1
  163. package/esm/uri.d.ts.map +1 -1
  164. package/esm/uri.js.map +1 -1
  165. package/esm/utils/coerce-uint8.d.ts.map +1 -1
  166. package/esm/utils/coerce-uint8.js.map +1 -1
  167. package/esm/utils/console-write-stream.d.ts.map +1 -1
  168. package/esm/utils/console-write-stream.js.map +1 -1
  169. package/esm/utils/consume.d.ts.map +1 -1
  170. package/esm/utils/consume.js.map +1 -1
  171. package/esm/utils/fanout-write-stream.d.ts.map +1 -1
  172. package/esm/utils/fanout-write-stream.js.map +1 -1
  173. package/esm/utils/get-params-result.d.ts.map +1 -1
  174. package/esm/utils/get-params-result.js.map +1 -1
  175. package/esm/utils/rebuffer.d.ts.map +1 -1
  176. package/esm/utils/rebuffer.js.map +1 -1
  177. package/esm/utils/relative-path.d.ts.map +1 -1
  178. package/esm/utils/relative-path.js.map +1 -1
  179. package/esm/utils/sorted-object.d.ts.map +1 -1
  180. package/esm/utils/sorted-object.js.map +1 -1
  181. package/esm/utils/stream-map.d.ts.map +1 -1
  182. package/esm/utils/stream-map.js.map +1 -1
  183. package/esm/utils/stream2string.d.ts.map +1 -1
  184. package/esm/utils/stream2string.js.map +1 -1
  185. package/esm/utils/string2stream.d.ts.map +1 -1
  186. package/esm/utils/string2stream.js.map +1 -1
  187. package/esm/utils/stripper.d.ts.map +1 -1
  188. package/esm/utils/stripper.js.map +1 -1
  189. package/esm/utils/to-sorted.d.ts.map +1 -1
  190. package/esm/utils/to-sorted.js.map +1 -1
  191. package/esm/utils/uint8array-equal.d.ts.map +1 -1
  192. package/esm/utils/uint8array-equal.js.map +1 -1
  193. package/esm/version.d.ts.map +1 -1
  194. package/esm/version.js +1 -1
  195. package/esm/version.js.map +1 -1
  196. package/package.json +7 -4
  197. package/src/app-context.ts +111 -5
  198. package/src/base-sys-abstraction.ts +244 -0
  199. package/src/bin2text.ts +37 -0
  200. package/src/coerce-binary.ts +41 -0
  201. package/src/crypto.ts +35 -0
  202. package/src/future.ts +45 -1
  203. package/src/http_header.ts +277 -1
  204. package/src/index.ts +1 -0
  205. package/src/is-json.ts +21 -0
  206. package/src/is-promise.ts +26 -0
  207. package/src/keyed-ng.ts +628 -0
  208. package/src/lru-map-set.ts +52 -2
  209. package/src/on-func.ts +38 -0
  210. package/src/option.ts +27 -0
  211. package/src/poller.ts +65 -17
  212. package/src/promise-sleep.ts +32 -4
  213. package/src/resolve-once.ts +596 -93
  214. package/src/result.ts +50 -0
  215. package/src/runtime.ts +75 -2
  216. package/src/sys-env.ts +57 -0
  217. package/src/timeouted.ts +92 -0
  218. package/src/tracer.ts +41 -0
  219. package/src/txt-en-decoder.ts +2 -5
  220. package/src/uri.ts +76 -4
  221. package/src/utils/coerce-uint8.ts +60 -0
  222. package/src/utils/console-write-stream.ts +34 -0
  223. package/src/utils/consume.ts +106 -0
  224. package/src/utils/fanout-write-stream.ts +45 -0
  225. package/src/utils/get-params-result.ts +37 -0
  226. package/src/utils/rebuffer.ts +42 -0
  227. package/src/utils/relative-path.ts +108 -0
  228. package/src/utils/sorted-object.ts +50 -0
  229. package/src/utils/stream-map.ts +90 -0
  230. package/src/utils/stream2string.ts +35 -0
  231. package/src/utils/string2stream.ts +30 -0
  232. package/src/utils/stripper.ts +34 -0
  233. package/src/utils/to-sorted.ts +34 -0
  234. package/src/utils/uint8array-equal.ts +20 -0
  235. package/ts/cjs/app-context.d.ts.map +1 -1
  236. package/ts/cjs/app-context.js.map +1 -1
  237. package/ts/cjs/base-sys-abstraction.d.ts.map +1 -1
  238. package/ts/cjs/base-sys-abstraction.js.map +1 -1
  239. package/ts/cjs/bin2text.d.ts.map +1 -1
  240. package/ts/cjs/bin2text.js.map +1 -1
  241. package/ts/cjs/coerce-binary.d.ts.map +1 -1
  242. package/ts/cjs/coerce-binary.js.map +1 -1
  243. package/ts/cjs/crypto.d.ts.map +1 -1
  244. package/ts/cjs/crypto.js.map +1 -1
  245. package/ts/cjs/future.d.ts.map +1 -1
  246. package/ts/cjs/future.js.map +1 -1
  247. package/ts/cjs/http_header.d.ts.map +1 -1
  248. package/ts/cjs/http_header.js.map +1 -1
  249. package/ts/cjs/index.d.ts +1 -0
  250. package/ts/cjs/index.d.ts.map +1 -1
  251. package/ts/cjs/index.js +1 -0
  252. package/ts/cjs/index.js.map +1 -1
  253. package/ts/cjs/is-json.d.ts.map +1 -1
  254. package/ts/cjs/is-json.js.map +1 -1
  255. package/ts/cjs/is-promise.d.ts.map +1 -1
  256. package/ts/cjs/is-promise.js.map +1 -1
  257. package/ts/cjs/keyed-ng.d.ts +51 -0
  258. package/ts/cjs/keyed-ng.d.ts.map +1 -0
  259. package/ts/cjs/keyed-ng.js +93 -0
  260. package/ts/cjs/keyed-ng.js.map +1 -0
  261. package/ts/cjs/keyed-ng.test.d.ts +2 -0
  262. package/ts/cjs/keyed-ng.test.d.ts.map +1 -0
  263. package/ts/cjs/keyed-ng.test.js +151 -0
  264. package/ts/cjs/keyed-ng.test.js.map +1 -0
  265. package/ts/cjs/lru-map-set.d.ts +4 -1
  266. package/ts/cjs/lru-map-set.d.ts.map +1 -1
  267. package/ts/cjs/lru-map-set.js +2 -1
  268. package/ts/cjs/lru-map-set.js.map +1 -1
  269. package/ts/cjs/on-func.d.ts.map +1 -1
  270. package/ts/cjs/on-func.js.map +1 -1
  271. package/ts/cjs/option.d.ts.map +1 -1
  272. package/ts/cjs/option.js.map +1 -1
  273. package/ts/cjs/poller.d.ts +9 -2
  274. package/ts/cjs/poller.d.ts.map +1 -1
  275. package/ts/cjs/poller.js +8 -3
  276. package/ts/cjs/poller.js.map +1 -1
  277. package/ts/cjs/promise-sleep.d.ts.map +1 -1
  278. package/ts/cjs/promise-sleep.js.map +1 -1
  279. package/ts/cjs/resolve-once.d.ts +31 -34
  280. package/ts/cjs/resolve-once.d.ts.map +1 -1
  281. package/ts/cjs/resolve-once.js +84 -43
  282. package/ts/cjs/resolve-once.js.map +1 -1
  283. package/ts/cjs/resolve-once.test.js +119 -31
  284. package/ts/cjs/resolve-once.test.js.map +1 -1
  285. package/ts/cjs/result.d.ts.map +1 -1
  286. package/ts/cjs/result.js.map +1 -1
  287. package/ts/cjs/runtime.d.ts.map +1 -1
  288. package/ts/cjs/runtime.js.map +1 -1
  289. package/ts/cjs/sys-env.d.ts.map +1 -1
  290. package/ts/cjs/sys-env.js.map +1 -1
  291. package/ts/cjs/timeouted.d.ts.map +1 -1
  292. package/ts/cjs/timeouted.js.map +1 -1
  293. package/ts/cjs/tracer.d.ts.map +1 -1
  294. package/ts/cjs/tracer.js.map +1 -1
  295. package/ts/cjs/txt-en-decoder.d.ts +1 -1
  296. package/ts/cjs/txt-en-decoder.d.ts.map +1 -1
  297. package/ts/cjs/txt-en-decoder.js +2 -5
  298. package/ts/cjs/txt-en-decoder.js.map +1 -1
  299. package/ts/cjs/uri.d.ts.map +1 -1
  300. package/ts/cjs/uri.js.map +1 -1
  301. package/ts/cjs/utils/coerce-uint8.d.ts.map +1 -1
  302. package/ts/cjs/utils/coerce-uint8.js.map +1 -1
  303. package/ts/cjs/utils/console-write-stream.d.ts.map +1 -1
  304. package/ts/cjs/utils/console-write-stream.js.map +1 -1
  305. package/ts/cjs/utils/consume.d.ts.map +1 -1
  306. package/ts/cjs/utils/consume.js.map +1 -1
  307. package/ts/cjs/utils/fanout-write-stream.d.ts.map +1 -1
  308. package/ts/cjs/utils/fanout-write-stream.js.map +1 -1
  309. package/ts/cjs/utils/get-params-result.d.ts.map +1 -1
  310. package/ts/cjs/utils/get-params-result.js.map +1 -1
  311. package/ts/cjs/utils/rebuffer.d.ts.map +1 -1
  312. package/ts/cjs/utils/rebuffer.js.map +1 -1
  313. package/ts/cjs/utils/relative-path.d.ts.map +1 -1
  314. package/ts/cjs/utils/relative-path.js.map +1 -1
  315. package/ts/cjs/utils/sorted-object.d.ts.map +1 -1
  316. package/ts/cjs/utils/sorted-object.js.map +1 -1
  317. package/ts/cjs/utils/stream-map.d.ts.map +1 -1
  318. package/ts/cjs/utils/stream-map.js.map +1 -1
  319. package/ts/cjs/utils/stream2string.d.ts.map +1 -1
  320. package/ts/cjs/utils/stream2string.js.map +1 -1
  321. package/ts/cjs/utils/string2stream.d.ts.map +1 -1
  322. package/ts/cjs/utils/string2stream.js.map +1 -1
  323. package/ts/cjs/utils/stripper.d.ts.map +1 -1
  324. package/ts/cjs/utils/stripper.js.map +1 -1
  325. package/ts/cjs/utils/to-sorted.d.ts.map +1 -1
  326. package/ts/cjs/utils/to-sorted.js.map +1 -1
  327. package/ts/cjs/utils/uint8array-equal.d.ts.map +1 -1
  328. package/ts/cjs/utils/uint8array-equal.js.map +1 -1
  329. package/ts/cjs/version.d.ts.map +1 -1
  330. package/ts/cjs/version.js +1 -1
  331. package/ts/cjs/version.js.map +1 -1
  332. package/ts/esm/app-context.d.ts.map +1 -1
  333. package/ts/esm/app-context.js.map +1 -1
  334. package/ts/esm/base-sys-abstraction.d.ts.map +1 -1
  335. package/ts/esm/base-sys-abstraction.js.map +1 -1
  336. package/ts/esm/bin2text.d.ts.map +1 -1
  337. package/ts/esm/bin2text.js.map +1 -1
  338. package/ts/esm/coerce-binary.d.ts.map +1 -1
  339. package/ts/esm/coerce-binary.js.map +1 -1
  340. package/ts/esm/crypto.d.ts.map +1 -1
  341. package/ts/esm/crypto.js.map +1 -1
  342. package/ts/esm/future.d.ts.map +1 -1
  343. package/ts/esm/future.js.map +1 -1
  344. package/ts/esm/http_header.d.ts.map +1 -1
  345. package/ts/esm/http_header.js.map +1 -1
  346. package/ts/esm/index.d.ts +1 -0
  347. package/ts/esm/index.d.ts.map +1 -1
  348. package/ts/esm/index.js +1 -0
  349. package/ts/esm/index.js.map +1 -1
  350. package/ts/esm/is-json.d.ts.map +1 -1
  351. package/ts/esm/is-json.js.map +1 -1
  352. package/ts/esm/is-promise.d.ts.map +1 -1
  353. package/ts/esm/is-promise.js.map +1 -1
  354. package/ts/esm/keyed-ng.d.ts +51 -0
  355. package/ts/esm/keyed-ng.d.ts.map +1 -0
  356. package/ts/esm/keyed-ng.js +89 -0
  357. package/ts/esm/keyed-ng.js.map +1 -0
  358. package/ts/esm/keyed-ng.test.d.ts +2 -0
  359. package/ts/esm/keyed-ng.test.d.ts.map +1 -0
  360. package/ts/esm/keyed-ng.test.js +149 -0
  361. package/ts/esm/keyed-ng.test.js.map +1 -0
  362. package/ts/esm/lru-map-set.d.ts +4 -1
  363. package/ts/esm/lru-map-set.d.ts.map +1 -1
  364. package/ts/esm/lru-map-set.js +2 -1
  365. package/ts/esm/lru-map-set.js.map +1 -1
  366. package/ts/esm/on-func.d.ts.map +1 -1
  367. package/ts/esm/on-func.js.map +1 -1
  368. package/ts/esm/option.d.ts.map +1 -1
  369. package/ts/esm/option.js.map +1 -1
  370. package/ts/esm/poller.d.ts +9 -2
  371. package/ts/esm/poller.d.ts.map +1 -1
  372. package/ts/esm/poller.js +8 -3
  373. package/ts/esm/poller.js.map +1 -1
  374. package/ts/esm/promise-sleep.d.ts.map +1 -1
  375. package/ts/esm/promise-sleep.js.map +1 -1
  376. package/ts/esm/resolve-once.d.ts +31 -34
  377. package/ts/esm/resolve-once.d.ts.map +1 -1
  378. package/ts/esm/resolve-once.js +83 -41
  379. package/ts/esm/resolve-once.js.map +1 -1
  380. package/ts/esm/resolve-once.test.js +119 -31
  381. package/ts/esm/resolve-once.test.js.map +1 -1
  382. package/ts/esm/result.d.ts.map +1 -1
  383. package/ts/esm/result.js.map +1 -1
  384. package/ts/esm/runtime.d.ts.map +1 -1
  385. package/ts/esm/runtime.js.map +1 -1
  386. package/ts/esm/sys-env.d.ts.map +1 -1
  387. package/ts/esm/sys-env.js.map +1 -1
  388. package/ts/esm/timeouted.d.ts.map +1 -1
  389. package/ts/esm/timeouted.js.map +1 -1
  390. package/ts/esm/tracer.d.ts.map +1 -1
  391. package/ts/esm/tracer.js.map +1 -1
  392. package/ts/esm/txt-en-decoder.d.ts +1 -1
  393. package/ts/esm/txt-en-decoder.d.ts.map +1 -1
  394. package/ts/esm/txt-en-decoder.js +2 -5
  395. package/ts/esm/txt-en-decoder.js.map +1 -1
  396. package/ts/esm/uri.d.ts.map +1 -1
  397. package/ts/esm/uri.js.map +1 -1
  398. package/ts/esm/utils/coerce-uint8.d.ts.map +1 -1
  399. package/ts/esm/utils/coerce-uint8.js.map +1 -1
  400. package/ts/esm/utils/console-write-stream.d.ts.map +1 -1
  401. package/ts/esm/utils/console-write-stream.js.map +1 -1
  402. package/ts/esm/utils/consume.d.ts.map +1 -1
  403. package/ts/esm/utils/consume.js.map +1 -1
  404. package/ts/esm/utils/fanout-write-stream.d.ts.map +1 -1
  405. package/ts/esm/utils/fanout-write-stream.js.map +1 -1
  406. package/ts/esm/utils/get-params-result.d.ts.map +1 -1
  407. package/ts/esm/utils/get-params-result.js.map +1 -1
  408. package/ts/esm/utils/rebuffer.d.ts.map +1 -1
  409. package/ts/esm/utils/rebuffer.js.map +1 -1
  410. package/ts/esm/utils/relative-path.d.ts.map +1 -1
  411. package/ts/esm/utils/relative-path.js.map +1 -1
  412. package/ts/esm/utils/sorted-object.d.ts.map +1 -1
  413. package/ts/esm/utils/sorted-object.js.map +1 -1
  414. package/ts/esm/utils/stream-map.d.ts.map +1 -1
  415. package/ts/esm/utils/stream-map.js.map +1 -1
  416. package/ts/esm/utils/stream2string.d.ts.map +1 -1
  417. package/ts/esm/utils/stream2string.js.map +1 -1
  418. package/ts/esm/utils/string2stream.d.ts.map +1 -1
  419. package/ts/esm/utils/string2stream.js.map +1 -1
  420. package/ts/esm/utils/stripper.d.ts.map +1 -1
  421. package/ts/esm/utils/stripper.js.map +1 -1
  422. package/ts/esm/utils/to-sorted.d.ts.map +1 -1
  423. package/ts/esm/utils/to-sorted.js.map +1 -1
  424. package/ts/esm/utils/uint8array-equal.d.ts.map +1 -1
  425. package/ts/esm/utils/uint8array-equal.js.map +1 -1
  426. package/ts/esm/version.d.ts.map +1 -1
  427. package/ts/esm/version.js +1 -1
  428. package/ts/esm/version.js.map +1 -1
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyedResolvSeq = exports.KeyedResolvOnce = exports.Keyed = exports.ResolveOnce = exports.AsyncResolveOnce = exports.SyncResolveOnce = exports.ResolveSeq = void 0;
3
+ exports.KeyedResolvSeq = exports.KeyedResolvOnce = exports.ResolveOnce = exports.AsyncResolveOnce = exports.SyncResolveOnce = exports.ResolveSeq = void 0;
4
4
  exports.Lazy = Lazy;
5
5
  const future_js_1 = require("./future.js");
6
6
  const is_promise_js_1 = require("./is-promise.js");
7
- const lru_map_set_js_1 = require("./lru-map-set.js");
8
7
  const result_js_1 = require("./result.js");
9
8
  const option_js_1 = require("./option.js");
9
+ const keyed_ng_js_1 = require("./keyed-ng.js");
10
10
  class ResolveSeq {
11
11
  ctx;
12
12
  _seqFutures = [];
@@ -315,6 +315,10 @@ class ResolveOnce {
315
315
  }
316
316
  reset(fn) {
317
317
  if (this.#state === "initial") {
318
+ if (!fn) {
319
+ console.warn("ResolveOnce.reset called but not yet resolved and no fn given");
320
+ return undefined;
321
+ }
318
322
  return this.once(fn);
319
323
  }
320
324
  if (this.#state === "processing") {
@@ -325,64 +329,94 @@ class ResolveOnce {
325
329
  }
326
330
  }
327
331
  exports.ResolveOnce = ResolveOnce;
328
- class Keyed {
329
- _map;
330
- #ctx;
331
- factory;
332
- constructor(factory, ctx) {
333
- this.#ctx = ctx.ctx || {};
334
- this.factory = factory;
335
- this._map = new lru_map_set_js_1.LRUMap(ctx?.lru ?? { maxEntries: -1 });
332
+ class KeyedResolvOnce {
333
+ _keyed;
334
+ constructor(kp = {}) {
335
+ this._keyed = new keyed_ng_js_1.KeyedNg({
336
+ createValue: (item) => {
337
+ return new ResolveOnce({
338
+ ...item,
339
+ ctx: kp.ctx ?? item.ctx,
340
+ });
341
+ },
342
+ key2string: kp.key2string,
343
+ ctx: kp.ctx,
344
+ lru: kp.lru,
345
+ });
346
+ }
347
+ keys() {
348
+ return this._keyed.keys();
349
+ }
350
+ values() {
351
+ return this._keyed
352
+ .values()
353
+ .filter((i) => i.value.ready)
354
+ .map((item) => ({
355
+ key: item.givenKey,
356
+ value: item.value.error ? result_js_1.Result.Err(item.value.error) : result_js_1.Result.Ok(item.value.value),
357
+ item,
358
+ }));
336
359
  }
337
360
  onSet(fn) {
338
- return this._map.onSet(fn);
361
+ return this._keyed.onSet((item) => {
362
+ fn(item.givenKey, item.value);
363
+ });
339
364
  }
340
365
  onDelete(fn) {
341
- return this._map.onDelete(fn);
366
+ return this._keyed.onDelete((item) => {
367
+ fn(item.givenKey, item.value);
368
+ });
342
369
  }
343
370
  setParam(params) {
344
- this._map.setParam(params.lru);
371
+ this._keyed.setParam({ lru: params.lru });
345
372
  }
346
- async asyncGet(key) {
347
- return this.get(await key());
373
+ asyncGet(key) {
374
+ return this._keyed.asyncGet(key);
348
375
  }
349
- get(key) {
376
+ get(key, ctx) {
350
377
  if (typeof key === "function") {
351
378
  key = key();
352
379
  }
353
- let keyed = this._map.get(key);
354
- if (!keyed) {
355
- keyed = this.factory({ ...this.#ctx, key: key });
356
- this._map.set(key, keyed);
357
- }
358
- return keyed;
380
+ return this._keyed.getItem(key, ctx).value;
381
+ }
382
+ getItem(key, ctx) {
383
+ return this._keyed.getItem(key, ctx);
359
384
  }
360
385
  has(key) {
361
- if (typeof key === "function") {
362
- key = key();
363
- }
364
- return this._map.has(key);
386
+ return this._keyed.has(key);
365
387
  }
366
388
  delete(key) {
367
- this._map.delete(key);
389
+ this._keyed.delete(key);
368
390
  }
369
391
  unget(key) {
370
- const keyed = this._map.get(key);
371
- keyed?.reset();
372
- this._map.delete(key);
392
+ const item = this._keyed.getItem(key);
393
+ item.value.reset?.();
394
+ return this._keyed.delete(item.givenKey);
373
395
  }
374
396
  reset() {
375
- this._map.forEach((keyed) => keyed.reset());
376
- this._map.clear();
397
+ for (const v of this._keyed.values()) {
398
+ v.value.reset?.();
399
+ }
377
400
  }
378
- }
379
- exports.Keyed = Keyed;
380
- class KeyedResolvOnce extends Keyed {
381
- constructor(kp = {}) {
382
- super((ctx) => new ResolveOnce(ctx), kp);
401
+ forEach(fn) {
402
+ for (const [item, idx] of this._keyed.entries()) {
403
+ const v = item.value;
404
+ const k = item.givenKey;
405
+ if (!v.ready) {
406
+ continue;
407
+ }
408
+ if (v.error) {
409
+ fn({ key: k, value: result_js_1.Result.Err(v.error) }, idx);
410
+ }
411
+ else {
412
+ fn({ key: k, value: result_js_1.Result.Ok(v.value) }, idx);
413
+ }
414
+ }
383
415
  }
384
416
  *entries() {
385
- for (const [k, v] of this._map.entries()) {
417
+ for (const [item] of this._keyed.entries()) {
418
+ const v = item.value;
419
+ const k = item.givenKey;
386
420
  if (!v.ready) {
387
421
  continue;
388
422
  }
@@ -394,14 +428,21 @@ class KeyedResolvOnce extends Keyed {
394
428
  }
395
429
  }
396
430
  }
397
- values() {
398
- return Array.from(this.entries());
399
- }
400
431
  }
401
432
  exports.KeyedResolvOnce = KeyedResolvOnce;
402
- class KeyedResolvSeq extends Keyed {
433
+ class KeyedResolvSeq extends keyed_ng_js_1.KeyedNg {
403
434
  constructor(kp = {}) {
404
- super((ctx) => new ResolveSeq(ctx), kp);
435
+ super({
436
+ createValue: (item) => {
437
+ return new ResolveSeq({
438
+ ...item,
439
+ ctx: kp.ctx ?? item.ctx,
440
+ });
441
+ },
442
+ key2string: kp.key2string,
443
+ ctx: kp.ctx,
444
+ lru: kp.lru,
445
+ });
405
446
  }
406
447
  }
407
448
  exports.KeyedResolvSeq = KeyedResolvSeq;
@@ -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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"}
@@ -157,7 +157,7 @@ describe("resolve-once", () => {
157
157
  .map((_, i) => `${i}:42`));
158
158
  expect(reallyOnce).toHaveBeenCalledTimes(1);
159
159
  const diff = performance.now() - start;
160
- expect(diff).toBeGreaterThanOrEqual(99);
160
+ expect(diff).toBeGreaterThanOrEqual(95);
161
161
  expect(diff).toBeLessThan(150);
162
162
  expect(orderFn).toHaveBeenCalledTimes(100);
163
163
  expect(orderFn.mock.calls.map(([i]) => i)).toEqual(Array(100)
@@ -204,31 +204,41 @@ describe("resolve-once", () => {
204
204
  keyed.get(() => "b").once(b_orderFn),
205
205
  ]);
206
206
  expect(a_orderFn).toHaveBeenCalledTimes(1);
207
- expect(a_orderFn).toHaveBeenCalledWith({ key: "a" });
207
+ expect(a_orderFn).toHaveBeenCalledWith({
208
+ refKey: "a",
209
+ givenKey: "a",
210
+ value: undefined,
211
+ ctx: {},
212
+ });
208
213
  expect(b_orderFn).toHaveBeenCalledTimes(1);
209
- expect(b_orderFn).toHaveBeenCalledWith({ key: "b" });
214
+ expect(b_orderFn).toHaveBeenCalledWith({
215
+ refKey: "b",
216
+ givenKey: "b",
217
+ value: undefined,
218
+ ctx: {},
219
+ });
210
220
  });
211
221
  it("keyedResolvOnce with pass ctx & {key: K}", () => {
212
222
  const my = new cement_1.KeyedResolvOnce({ ctx: { wurst: "world" } });
213
- my.get(1).once((ctx) => {
214
- assertType(ctx);
215
- assertType(ctx);
216
- assertType(ctx.key);
217
- assertType(ctx.wurst);
218
- expect(ctx.key).toBe(1);
219
- expect(ctx.wurst).toBe("world");
223
+ my.get(1).once((item) => {
224
+ assertType(item);
225
+ assertType(item);
226
+ assertType(item.givenKey);
227
+ assertType(item.ctx.wurst);
228
+ expect(item.givenKey).toBe(1);
229
+ expect(item.ctx.wurst).toBe("world");
220
230
  return { hello: "world" };
221
231
  });
222
232
  });
223
233
  it("keyedResolvSeq with pass ctx & {key: K}", () => {
224
234
  const my = new cement_1.KeyedResolvSeq({ ctx: { wurst: "world" } });
225
- my.get(1).add((ctx) => {
226
- assertType(ctx);
227
- assertType(ctx);
228
- assertType(ctx.key);
229
- assertType(ctx.wurst);
230
- expect(ctx.wurst).toBe("world");
231
- expect(ctx.key).toBe(1);
235
+ my.get(1).add((item) => {
236
+ assertType(item);
237
+ assertType(item);
238
+ assertType(item.givenKey);
239
+ assertType(item.ctx.wurst);
240
+ expect(item.ctx.wurst).toBe("world");
241
+ expect(item.givenKey).toBe(1);
232
242
  return { hello: "world" };
233
243
  });
234
244
  });
@@ -243,8 +253,8 @@ describe("resolve-once", () => {
243
253
  });
244
254
  it("keyedResolvOnce with pass decompose", () => {
245
255
  const my = new cement_1.KeyedResolvOnce();
246
- my.get("1").once(({ key }) => {
247
- assertType(key);
256
+ my.get("1").once(({ refKey }) => {
257
+ assertType(refKey);
248
258
  return { hello: "world" };
249
259
  });
250
260
  my.get("2").once(() => {
@@ -257,7 +267,7 @@ describe("resolve-once", () => {
257
267
  });
258
268
  it("keyedResolvOnce with pass decompose", () => {
259
269
  const my = new cement_1.KeyedResolvSeq();
260
- my.get("1").add(({ key }) => {
270
+ my.get("1").add(({ refKey: key }) => {
261
271
  assertType(key);
262
272
  return { hello: "world" };
263
273
  });
@@ -281,9 +291,19 @@ describe("resolve-once", () => {
281
291
  .then((resolveOnce) => resolveOnce.once(b_orderFn)),
282
292
  ]);
283
293
  expect(a_orderFn).toHaveBeenCalledTimes(1);
284
- expect(a_orderFn).toHaveBeenCalledWith({ key: "a" });
294
+ expect(a_orderFn).toHaveBeenCalledWith({
295
+ ctx: {},
296
+ givenKey: "a",
297
+ refKey: "a",
298
+ value: undefined,
299
+ });
285
300
  expect(b_orderFn).toHaveBeenCalledTimes(1);
286
- expect(b_orderFn).toHaveBeenCalledWith({ key: "b" });
301
+ expect(b_orderFn).toHaveBeenCalledWith({
302
+ ctx: {},
303
+ givenKey: "b",
304
+ refKey: "b",
305
+ value: undefined,
306
+ });
287
307
  });
288
308
  function shuffle(array) {
289
309
  let currentIndex = array.length;
@@ -424,11 +444,17 @@ describe("resolve-once", () => {
424
444
  const a = keyed.get("a");
425
445
  expect(keyed.values()).toEqual([]);
426
446
  a.once(() => 42);
427
- expect(keyed.values()).toEqual([{ key: "a", value: cement_1.Result.Ok(42) }]);
447
+ expect(keyed.values()).toEqual([
448
+ {
449
+ key: "a",
450
+ value: cement_1.Result.Ok(42),
451
+ item: expect.objectContaining({ givenKey: "a", refKey: "a" }),
452
+ },
453
+ ]);
428
454
  keyed.get("b").once(() => 43);
429
455
  expect(keyed.values()).toEqual([
430
- { key: "a", value: cement_1.Result.Ok(42) },
431
- { key: "b", value: cement_1.Result.Ok(43) },
456
+ { key: "a", value: cement_1.Result.Ok(42), item: expect.objectContaining({ givenKey: "a", refKey: "a" }) },
457
+ { key: "b", value: cement_1.Result.Ok(43), item: expect.objectContaining({ givenKey: "b", refKey: "b" }) },
432
458
  ]);
433
459
  try {
434
460
  keyed.get("c").once(() => {
@@ -439,13 +465,15 @@ describe("resolve-once", () => {
439
465
  expect(e).toEqual(new Error("nope"));
440
466
  }
441
467
  expect(keyed.values()).toEqual([
442
- { key: "a", value: cement_1.Result.Ok(42) },
443
- { key: "b", value: cement_1.Result.Ok(43) },
444
- { key: "c", value: cement_1.Result.Err(new Error("nope")) },
468
+ { key: "a", value: cement_1.Result.Ok(42), item: expect.objectContaining({ givenKey: "a", refKey: "a" }) },
469
+ { key: "b", value: cement_1.Result.Ok(43), item: expect.objectContaining({ givenKey: "b", refKey: "b" }) },
470
+ { key: "c", value: cement_1.Result.Err(new Error("nope")), item: expect.objectContaining({ givenKey: "c", refKey: "c" }) },
445
471
  ]);
446
472
  keyed.unget("a");
447
473
  keyed.unget("c");
448
- expect(keyed.values()).toEqual([{ key: "b", value: cement_1.Result.Ok(43) }]);
474
+ expect(keyed.values()).toEqual([
475
+ { key: "b", value: cement_1.Result.Ok(43), item: expect.objectContaining({ givenKey: "b", refKey: "b" }) },
476
+ ]);
449
477
  });
450
478
  it("KeyedResolvOnce entries", () => {
451
479
  const keyed = new cement_1.KeyedResolvOnce();
@@ -482,8 +510,8 @@ describe("resolve-once", () => {
482
510
  keyed.get(i.toString()).once(() => i);
483
511
  }
484
512
  expect(keyed.values()).toEqual([
485
- { key: "8", value: cement_1.Result.Ok(8) },
486
- { key: "9", value: cement_1.Result.Ok(9) },
513
+ { key: "8", value: cement_1.Result.Ok(8), item: expect.objectContaining({ givenKey: "8", refKey: "8" }) },
514
+ { key: "9", value: cement_1.Result.Ok(9), item: expect.objectContaining({ givenKey: "9", refKey: "9" }) },
487
515
  ]);
488
516
  });
489
517
  it("resolve once serves ready and value", () => {
@@ -701,4 +729,64 @@ describe("Lazy Initialization", () => {
701
729
  expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
702
730
  });
703
731
  });
732
+ describe("KeyToHash", () => {
733
+ it("KeyedResolvSeq could use default KeyToHash", async () => {
734
+ const keyed = new cement_1.KeyedResolvSeq({
735
+ key2string: (key) => `${key.id}:${key.name}`,
736
+ ctx: { ctx: "test" },
737
+ });
738
+ const addFn = vi
739
+ .fn()
740
+ .mockImplementation((item) => {
741
+ return Promise.resolve({ item });
742
+ });
743
+ await keyed.get({ id: 1, name: "test" }).add(addFn);
744
+ await keyed.get({ id: 1, name: "test" }).add(addFn);
745
+ await keyed.get({ id: 2, name: "test" }).add(addFn);
746
+ expect(addFn).toHaveBeenCalledTimes(3);
747
+ expect(addFn).toHaveBeenNthCalledWith(1, {
748
+ refKey: "1:test",
749
+ givenKey: { id: 1, name: "test" },
750
+ value: undefined,
751
+ ctx: { ctx: "test" },
752
+ });
753
+ expect(addFn).toHaveBeenNthCalledWith(2, {
754
+ refKey: "1:test",
755
+ givenKey: { id: 1, name: "test" },
756
+ value: undefined,
757
+ ctx: { ctx: "test" },
758
+ });
759
+ expect(addFn).toHaveBeenNthCalledWith(3, {
760
+ refKey: "2:test",
761
+ givenKey: { id: 2, name: "test" },
762
+ value: undefined,
763
+ ctx: { ctx: "test" },
764
+ });
765
+ });
766
+ it("KeyedResolvOnce could use custom KeyToHash", async () => {
767
+ const keyed = new cement_1.KeyedResolvOnce({
768
+ key2string: (key) => `${key.id}:${key.name}`,
769
+ ctx: { ctx: "test" },
770
+ });
771
+ const onceFn = vi.fn().mockImplementation((item) => {
772
+ return {
773
+ id: item.givenKey.id,
774
+ name: item.givenKey.name,
775
+ };
776
+ });
777
+ for (let i = 0; i < 3; i++) {
778
+ const res = await keyed.get({ id: 1, name: "test" }).once((item) => {
779
+ return Promise.resolve(onceFn(item));
780
+ });
781
+ expect(res).toEqual({ id: 1, name: "test" });
782
+ }
783
+ expect(onceFn).toHaveBeenCalledTimes(1);
784
+ expect(onceFn).toHaveBeenCalledWith({
785
+ refKey: "1:test",
786
+ givenKey: { id: 1, name: "test" },
787
+ value: undefined,
788
+ ctx: { ctx: "test" },
789
+ });
790
+ });
791
+ });
704
792
  //# sourceMappingURL=resolve-once.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.test.js","sourceRoot":"","sources":["../../../src/resolve-once.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.test.js","sourceRoot":"","sources":["../../../src/resolve-once.test.ts"],"names":[],"mappings":"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"}