@adviser/cement 0.4.80 → 0.4.81

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 (635) hide show
  1. package/cjs/base-basic-sys-abstraction.test.cjs +6 -64
  2. package/cjs/base-basic-sys-abstraction.test.cjs.map +1 -1
  3. package/cjs/base-sys-abstraction.cjs +5 -6
  4. package/cjs/base-sys-abstraction.cjs.map +1 -1
  5. package/cjs/base-sys-abstraction.d.ts +0 -3
  6. package/cjs/base-sys-abstraction.d.ts.map +1 -1
  7. package/cjs/cf/cf-basic-sys-abstraction.cjs +14 -13
  8. package/cjs/cf/cf-basic-sys-abstraction.cjs.map +1 -1
  9. package/cjs/cf/cf-basic-sys-abstraction.d.ts +6 -4
  10. package/cjs/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  11. package/cjs/cf/cf-env-actions.cjs +7 -8
  12. package/cjs/cf/cf-env-actions.cjs.map +1 -1
  13. package/cjs/cf/cf-env-actions.d.ts +3 -4
  14. package/cjs/cf/cf-env-actions.d.ts.map +1 -1
  15. package/cjs/deno/deno-basic-sys-abstraction.cjs +16 -13
  16. package/cjs/deno/deno-basic-sys-abstraction.cjs.map +1 -1
  17. package/cjs/deno/deno-basic-sys-abstraction.d.ts +7 -4
  18. package/cjs/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  19. package/cjs/deno/deno-env-actions.cjs +5 -4
  20. package/cjs/deno/deno-env-actions.cjs.map +1 -1
  21. package/cjs/deno/deno-env-actions.d.ts +3 -3
  22. package/cjs/deno/deno-env-actions.d.ts.map +1 -1
  23. package/cjs/deno/deno-file-service.cjs +3 -2
  24. package/cjs/deno/deno-file-service.cjs.map +1 -1
  25. package/cjs/deno/deno-file-service.d.ts +3 -2
  26. package/cjs/deno/deno-file-service.d.ts.map +1 -1
  27. package/cjs/deno/deno-sys-abstraction.cjs +10 -10
  28. package/cjs/deno/deno-sys-abstraction.cjs.map +1 -1
  29. package/cjs/deno/deno-sys-abstraction.d.ts +3 -2
  30. package/cjs/deno/deno-sys-abstraction.d.ts.map +1 -1
  31. package/cjs/deno/index.cjs +0 -2
  32. package/cjs/deno/index.cjs.map +1 -1
  33. package/cjs/deno/index.d.ts +0 -2
  34. package/cjs/deno/index.d.ts.map +1 -1
  35. package/cjs/index.cjs +24 -13
  36. package/cjs/index.cjs.cjs +24 -0
  37. package/cjs/index.cjs.cjs.map +1 -1
  38. package/cjs/index.cjs.d.ts +1 -0
  39. package/cjs/index.cjs.d.ts.map +1 -1
  40. package/cjs/index.cjs.map +1 -1
  41. package/cjs/index.d.ts +1 -13
  42. package/cjs/index.d.ts.map +1 -1
  43. package/cjs/log-level-impl.cjs +4 -4
  44. package/cjs/log-level-impl.cjs.map +1 -1
  45. package/cjs/log-level-impl.d.ts +1 -2
  46. package/cjs/log-level-impl.d.ts.map +1 -1
  47. package/cjs/logger-impl.cjs +5 -6
  48. package/cjs/logger-impl.cjs.map +1 -1
  49. package/cjs/logger-impl.d.ts +1 -2
  50. package/cjs/logger-impl.d.ts.map +1 -1
  51. package/cjs/logger.cjs +41 -17
  52. package/cjs/logger.cjs.map +1 -1
  53. package/cjs/logger.d.ts +16 -1
  54. package/cjs/logger.d.ts.map +1 -1
  55. package/cjs/logger.test.cjs +2 -4
  56. package/cjs/logger.test.cjs.map +1 -1
  57. package/cjs/mutable-url.cjs +7 -7
  58. package/cjs/mutable-url.cjs.map +1 -1
  59. package/cjs/node/index.cjs +0 -2
  60. package/cjs/node/index.cjs.map +1 -1
  61. package/cjs/node/index.d.ts +0 -2
  62. package/cjs/node/index.d.ts.map +1 -1
  63. package/cjs/node/mock-file-service.cjs +2 -1
  64. package/cjs/node/mock-file-service.cjs.map +1 -1
  65. package/cjs/node/mock-file-service.d.ts +1 -1
  66. package/cjs/node/mock-file-service.d.ts.map +1 -1
  67. package/cjs/node/mock-file-service.test.cjs +1 -1
  68. package/cjs/node/mock-file-service.test.cjs.map +1 -1
  69. package/cjs/node/node-basic-sys-abstraction.cjs +14 -13
  70. package/cjs/node/node-basic-sys-abstraction.cjs.map +1 -1
  71. package/cjs/node/node-basic-sys-abstraction.d.ts +6 -4
  72. package/cjs/node/node-basic-sys-abstraction.d.ts.map +1 -1
  73. package/cjs/node/node-env-actions.cjs +7 -6
  74. package/cjs/node/node-env-actions.cjs.map +1 -1
  75. package/cjs/node/node-env-actions.d.ts +6 -4
  76. package/cjs/node/node-env-actions.d.ts.map +1 -1
  77. package/cjs/node/node-file-service.cjs +3 -4
  78. package/cjs/node/node-file-service.cjs.map +1 -1
  79. package/cjs/node/node-file-service.d.ts +3 -3
  80. package/cjs/node/node-file-service.d.ts.map +1 -1
  81. package/cjs/node/node-sys-abstraction.cjs +10 -10
  82. package/cjs/node/node-sys-abstraction.cjs.map +1 -1
  83. package/cjs/node/node-sys-abstraction.d.ts +3 -2
  84. package/cjs/node/node-sys-abstraction.d.ts.map +1 -1
  85. package/cjs/resolve-once.cjs.map +1 -1
  86. package/cjs/resolve-once.d.ts.map +1 -1
  87. package/cjs/sys-env.cjs +13 -15
  88. package/cjs/sys-env.cjs.map +1 -1
  89. package/cjs/sys-env.d.ts +2 -4
  90. package/cjs/sys-env.d.ts.map +1 -1
  91. package/cjs/sys-env.test.cjs +5 -39
  92. package/cjs/sys-env.test.cjs.map +1 -1
  93. package/cjs/test/log-write-stream.cjs +6 -4
  94. package/cjs/test/log-write-stream.cjs.map +1 -1
  95. package/cjs/test/log-write-stream.d.ts +2 -1
  96. package/cjs/test/log-write-stream.d.ts.map +1 -1
  97. package/cjs/test/mock-logger.cjs +4 -3
  98. package/cjs/test/mock-logger.cjs.map +1 -1
  99. package/cjs/test/mock-logger.d.ts +2 -1
  100. package/cjs/test/mock-logger.d.ts.map +1 -1
  101. package/cjs/txt-en-decoder.d.ts.map +1 -1
  102. package/cjs/types.cjs +1 -26
  103. package/cjs/types.cjs.map +1 -1
  104. package/cjs/types.d.ts +0 -29
  105. package/cjs/types.d.ts.map +1 -1
  106. package/cjs/uri.cjs +12 -11
  107. package/cjs/uri.cjs.map +1 -1
  108. package/cjs/uri.d.ts +3 -2
  109. package/cjs/uri.d.ts.map +1 -1
  110. package/cjs/utils/coerce-uint8.cjs +9 -9
  111. package/cjs/utils/coerce-uint8.cjs.map +1 -1
  112. package/cjs/utils/coerce-uint8.d.ts +1 -1
  113. package/cjs/utils/coerce-uint8.d.ts.map +1 -1
  114. package/cjs/utils/consume.cjs +2 -2
  115. package/cjs/utils/consume.cjs.map +1 -1
  116. package/cjs/utils/get-params-result.cjs +5 -4
  117. package/cjs/utils/get-params-result.cjs.map +1 -1
  118. package/cjs/utils/get-params-result.d.ts +2 -1
  119. package/cjs/utils/get-params-result.d.ts.map +1 -1
  120. package/cjs/utils/index.cjs +30 -0
  121. package/cjs/utils/index.cjs.map +1 -0
  122. package/cjs/utils/index.d.ts +14 -0
  123. package/cjs/utils/index.d.ts.map +1 -0
  124. package/cjs/utils/rebuffer.test.cjs +7 -7
  125. package/cjs/utils/rebuffer.test.cjs.map +1 -1
  126. package/cjs/utils/stream-map.test.cjs +8 -8
  127. package/cjs/utils/stream-map.test.cjs.map +1 -1
  128. package/cjs/utils/stream2string.test.cjs +3 -3
  129. package/cjs/utils/stream2string.test.cjs.map +1 -1
  130. package/cjs/utils/string2stream.test.cjs +3 -4
  131. package/cjs/utils/string2stream.test.cjs.map +1 -1
  132. package/cjs/version.cjs +1 -1
  133. package/cjs/web/index.cjs +0 -1
  134. package/cjs/web/index.cjs.map +1 -1
  135. package/cjs/web/index.d.ts +0 -1
  136. package/cjs/web/index.d.ts.map +1 -1
  137. package/cjs/web/web-basic-sys-abstraction.cjs +16 -16
  138. package/cjs/web/web-basic-sys-abstraction.cjs.map +1 -1
  139. package/cjs/web/web-basic-sys-abstraction.d.ts +3 -2
  140. package/cjs/web/web-basic-sys-abstraction.d.ts.map +1 -1
  141. package/cjs/web/web-env-actions.cjs +3 -3
  142. package/cjs/web/web-env-actions.cjs.map +1 -1
  143. package/cjs/web/web-env-actions.d.ts +1 -1
  144. package/cjs/web/web-env-actions.d.ts.map +1 -1
  145. package/deno.json +3 -1
  146. package/esm/base-basic-sys-abstraction.test.js +6 -31
  147. package/esm/base-basic-sys-abstraction.test.js.map +1 -1
  148. package/esm/base-sys-abstraction.d.ts +0 -3
  149. package/esm/base-sys-abstraction.d.ts.map +1 -1
  150. package/esm/base-sys-abstraction.js +5 -6
  151. package/esm/base-sys-abstraction.js.map +1 -1
  152. package/esm/cf/cf-basic-sys-abstraction.d.ts +6 -4
  153. package/esm/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  154. package/esm/cf/cf-basic-sys-abstraction.js +14 -13
  155. package/esm/cf/cf-basic-sys-abstraction.js.map +1 -1
  156. package/esm/cf/cf-env-actions.d.ts +3 -4
  157. package/esm/cf/cf-env-actions.d.ts.map +1 -1
  158. package/esm/cf/cf-env-actions.js +7 -8
  159. package/esm/cf/cf-env-actions.js.map +1 -1
  160. package/esm/deno/deno-basic-sys-abstraction.d.ts +7 -4
  161. package/esm/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  162. package/esm/deno/deno-basic-sys-abstraction.js +16 -13
  163. package/esm/deno/deno-basic-sys-abstraction.js.map +1 -1
  164. package/esm/deno/deno-env-actions.d.ts +3 -3
  165. package/esm/deno/deno-env-actions.d.ts.map +1 -1
  166. package/esm/deno/deno-env-actions.js +5 -4
  167. package/esm/deno/deno-env-actions.js.map +1 -1
  168. package/esm/deno/deno-file-service.d.ts +3 -2
  169. package/esm/deno/deno-file-service.d.ts.map +1 -1
  170. package/esm/deno/deno-file-service.js +3 -2
  171. package/esm/deno/deno-file-service.js.map +1 -1
  172. package/esm/deno/deno-sys-abstraction.d.ts +3 -2
  173. package/esm/deno/deno-sys-abstraction.d.ts.map +1 -1
  174. package/esm/deno/deno-sys-abstraction.js +10 -10
  175. package/esm/deno/deno-sys-abstraction.js.map +1 -1
  176. package/esm/deno/index.d.ts +0 -2
  177. package/esm/deno/index.d.ts.map +1 -1
  178. package/esm/deno/index.js +0 -2
  179. package/esm/deno/index.js.map +1 -1
  180. package/esm/index.cjs.d.ts +1 -0
  181. package/esm/index.cjs.d.ts.map +1 -1
  182. package/esm/index.cjs.js +1 -0
  183. package/esm/index.cjs.js.map +1 -1
  184. package/esm/index.d.ts +1 -13
  185. package/esm/index.d.ts.map +1 -1
  186. package/esm/index.js +1 -13
  187. package/esm/index.js.map +1 -1
  188. package/esm/log-level-impl.d.ts +1 -2
  189. package/esm/log-level-impl.d.ts.map +1 -1
  190. package/esm/log-level-impl.js +1 -1
  191. package/esm/log-level-impl.js.map +1 -1
  192. package/esm/logger-impl.d.ts +1 -2
  193. package/esm/logger-impl.d.ts.map +1 -1
  194. package/esm/logger-impl.js +1 -2
  195. package/esm/logger-impl.js.map +1 -1
  196. package/esm/logger.d.ts +16 -1
  197. package/esm/logger.d.ts.map +1 -1
  198. package/esm/logger.js +23 -1
  199. package/esm/logger.js.map +1 -1
  200. package/esm/logger.test.js +3 -5
  201. package/esm/logger.test.js.map +1 -1
  202. package/esm/mutable-url.js +1 -1
  203. package/esm/mutable-url.js.map +1 -1
  204. package/esm/node/index.d.ts +0 -2
  205. package/esm/node/index.d.ts.map +1 -1
  206. package/esm/node/index.js +0 -2
  207. package/esm/node/index.js.map +1 -1
  208. package/esm/node/mock-file-service.d.ts +1 -1
  209. package/esm/node/mock-file-service.d.ts.map +1 -1
  210. package/esm/node/mock-file-service.js +2 -1
  211. package/esm/node/mock-file-service.js.map +1 -1
  212. package/esm/node/mock-file-service.test.js +2 -2
  213. package/esm/node/mock-file-service.test.js.map +1 -1
  214. package/esm/node/node-basic-sys-abstraction.d.ts +6 -4
  215. package/esm/node/node-basic-sys-abstraction.d.ts.map +1 -1
  216. package/esm/node/node-basic-sys-abstraction.js +14 -13
  217. package/esm/node/node-basic-sys-abstraction.js.map +1 -1
  218. package/esm/node/node-env-actions.d.ts +6 -4
  219. package/esm/node/node-env-actions.d.ts.map +1 -1
  220. package/esm/node/node-env-actions.js +7 -6
  221. package/esm/node/node-env-actions.js.map +1 -1
  222. package/esm/node/node-file-service.d.ts +3 -3
  223. package/esm/node/node-file-service.d.ts.map +1 -1
  224. package/esm/node/node-file-service.js +3 -4
  225. package/esm/node/node-file-service.js.map +1 -1
  226. package/esm/node/node-sys-abstraction.d.ts +3 -2
  227. package/esm/node/node-sys-abstraction.d.ts.map +1 -1
  228. package/esm/node/node-sys-abstraction.js +10 -10
  229. package/esm/node/node-sys-abstraction.js.map +1 -1
  230. package/esm/resolve-once.d.ts.map +1 -1
  231. package/esm/resolve-once.js.map +1 -1
  232. package/esm/sys-env.d.ts +2 -4
  233. package/esm/sys-env.d.ts.map +1 -1
  234. package/esm/sys-env.js +9 -11
  235. package/esm/sys-env.js.map +1 -1
  236. package/esm/sys-env.test.js +3 -4
  237. package/esm/sys-env.test.js.map +1 -1
  238. package/esm/test/log-write-stream.d.ts +2 -1
  239. package/esm/test/log-write-stream.d.ts.map +1 -1
  240. package/esm/test/log-write-stream.js +3 -1
  241. package/esm/test/log-write-stream.js.map +1 -1
  242. package/esm/test/mock-logger.d.ts +2 -1
  243. package/esm/test/mock-logger.d.ts.map +1 -1
  244. package/esm/test/mock-logger.js +2 -1
  245. package/esm/test/mock-logger.js.map +1 -1
  246. package/esm/test/test-exit-handler.js +2 -9
  247. package/esm/test/test-exit-handler.js.map +1 -1
  248. package/esm/txt-en-decoder.d.ts.map +1 -1
  249. package/esm/txt-en-decoder.js.map +1 -1
  250. package/esm/types.d.ts +0 -29
  251. package/esm/types.d.ts.map +1 -1
  252. package/esm/types.js +0 -24
  253. package/esm/types.js.map +1 -1
  254. package/esm/uri.d.ts +3 -2
  255. package/esm/uri.d.ts.map +1 -1
  256. package/esm/uri.js +4 -3
  257. package/esm/uri.js.map +1 -1
  258. package/esm/utils/coerce-uint8.d.ts +1 -1
  259. package/esm/utils/coerce-uint8.d.ts.map +1 -1
  260. package/esm/utils/coerce-uint8.js +1 -1
  261. package/esm/utils/coerce-uint8.js.map +1 -1
  262. package/esm/utils/consume.js +1 -1
  263. package/esm/utils/consume.js.map +1 -1
  264. package/esm/utils/get-params-result.d.ts +2 -1
  265. package/esm/utils/get-params-result.d.ts.map +1 -1
  266. package/esm/utils/get-params-result.js +2 -1
  267. package/esm/utils/get-params-result.js.map +1 -1
  268. package/esm/utils/index.d.ts +14 -0
  269. package/esm/utils/index.d.ts.map +1 -0
  270. package/esm/utils/index.js +14 -0
  271. package/esm/utils/index.js.map +1 -0
  272. package/esm/utils/rebuffer.test.js +7 -7
  273. package/esm/utils/rebuffer.test.js.map +1 -1
  274. package/esm/utils/stream-map.test.js +8 -8
  275. package/esm/utils/stream-map.test.js.map +1 -1
  276. package/esm/utils/stream2string.test.js +1 -1
  277. package/esm/utils/stream2string.test.js.map +1 -1
  278. package/esm/utils/string2stream.test.js +3 -4
  279. package/esm/utils/string2stream.test.js.map +1 -1
  280. package/esm/version.js +1 -1
  281. package/esm/web/index.d.ts +0 -1
  282. package/esm/web/index.d.ts.map +1 -1
  283. package/esm/web/index.js +0 -1
  284. package/esm/web/index.js.map +1 -1
  285. package/esm/web/web-basic-sys-abstraction.d.ts +3 -2
  286. package/esm/web/web-basic-sys-abstraction.d.ts.map +1 -1
  287. package/esm/web/web-basic-sys-abstraction.js +16 -16
  288. package/esm/web/web-basic-sys-abstraction.js.map +1 -1
  289. package/esm/web/web-env-actions.d.ts +1 -1
  290. package/esm/web/web-env-actions.d.ts.map +1 -1
  291. package/esm/web/web-env-actions.js +3 -3
  292. package/esm/web/web-env-actions.js.map +1 -1
  293. package/package.json +6 -1
  294. package/src/base-sys-abstraction.ts +5 -13
  295. package/src/cf/cf-basic-sys-abstraction.ts +15 -22
  296. package/src/cf/cf-env-actions.ts +10 -11
  297. package/src/deno/deno-basic-sys-abstraction.ts +17 -21
  298. package/src/deno/deno-env-actions.ts +9 -8
  299. package/src/deno/deno-file-service.ts +4 -3
  300. package/src/deno/deno-sys-abstraction.ts +18 -17
  301. package/src/deno/index.ts +0 -2
  302. package/src/index.cjs.ts +1 -1
  303. package/src/index.ts +1 -15
  304. package/src/log-level-impl.ts +1 -2
  305. package/src/logger-impl.ts +5 -1
  306. package/src/logger.ts +29 -1
  307. package/src/mutable-url.ts +1 -1
  308. package/src/node/index.ts +0 -2
  309. package/src/node/mock-file-service.ts +3 -2
  310. package/src/node/node-basic-sys-abstraction.ts +15 -23
  311. package/src/node/node-env-actions.ts +52 -12
  312. package/src/node/node-file-service.ts +4 -5
  313. package/src/node/node-sys-abstraction.ts +18 -17
  314. package/src/resolve-once.ts +3 -1
  315. package/src/sys-env.ts +14 -18
  316. package/src/test/log-write-stream.ts +3 -1
  317. package/src/test/mock-logger.ts +4 -1
  318. package/src/txt-en-decoder.ts +1 -1
  319. package/src/types.ts +0 -45
  320. package/src/uri.ts +5 -3
  321. package/src/utils/coerce-uint8.ts +1 -1
  322. package/src/utils/consume.ts +1 -1
  323. package/src/utils/get-params-result.ts +2 -1
  324. package/src/utils/index.ts +13 -0
  325. package/src/web/index.ts +0 -1
  326. package/src/web/web-basic-sys-abstraction.ts +74 -25
  327. package/src/web/web-env-actions.ts +4 -4
  328. package/ts/cjs/base-basic-sys-abstraction.test.js +6 -64
  329. package/ts/cjs/base-basic-sys-abstraction.test.js.map +1 -1
  330. package/ts/cjs/base-sys-abstraction.d.ts +0 -3
  331. package/ts/cjs/base-sys-abstraction.d.ts.map +1 -1
  332. package/ts/cjs/base-sys-abstraction.js +5 -6
  333. package/ts/cjs/base-sys-abstraction.js.map +1 -1
  334. package/ts/cjs/cf/cf-basic-sys-abstraction.d.ts +6 -4
  335. package/ts/cjs/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  336. package/ts/cjs/cf/cf-basic-sys-abstraction.js +14 -13
  337. package/ts/cjs/cf/cf-basic-sys-abstraction.js.map +1 -1
  338. package/ts/cjs/cf/cf-env-actions.d.ts +3 -4
  339. package/ts/cjs/cf/cf-env-actions.d.ts.map +1 -1
  340. package/ts/cjs/cf/cf-env-actions.js +7 -8
  341. package/ts/cjs/cf/cf-env-actions.js.map +1 -1
  342. package/ts/cjs/deno/deno-basic-sys-abstraction.d.ts +7 -4
  343. package/ts/cjs/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  344. package/ts/cjs/deno/deno-basic-sys-abstraction.js +16 -13
  345. package/ts/cjs/deno/deno-basic-sys-abstraction.js.map +1 -1
  346. package/ts/cjs/deno/deno-env-actions.d.ts +3 -3
  347. package/ts/cjs/deno/deno-env-actions.d.ts.map +1 -1
  348. package/ts/cjs/deno/deno-env-actions.js +5 -4
  349. package/ts/cjs/deno/deno-env-actions.js.map +1 -1
  350. package/ts/cjs/deno/deno-file-service.d.ts +3 -2
  351. package/ts/cjs/deno/deno-file-service.d.ts.map +1 -1
  352. package/ts/cjs/deno/deno-file-service.js +3 -2
  353. package/ts/cjs/deno/deno-file-service.js.map +1 -1
  354. package/ts/cjs/deno/deno-sys-abstraction.d.ts +3 -2
  355. package/ts/cjs/deno/deno-sys-abstraction.d.ts.map +1 -1
  356. package/ts/cjs/deno/deno-sys-abstraction.js +10 -10
  357. package/ts/cjs/deno/deno-sys-abstraction.js.map +1 -1
  358. package/ts/cjs/deno/index.d.ts +0 -2
  359. package/ts/cjs/deno/index.d.ts.map +1 -1
  360. package/ts/cjs/deno/index.js +0 -2
  361. package/ts/cjs/deno/index.js.map +1 -1
  362. package/ts/cjs/index.cjs.d.ts +1 -0
  363. package/ts/cjs/index.cjs.d.ts.map +1 -1
  364. package/ts/cjs/index.cjs.js +24 -0
  365. package/ts/cjs/index.cjs.js.map +1 -1
  366. package/ts/cjs/index.d.ts +1 -13
  367. package/ts/cjs/index.d.ts.map +1 -1
  368. package/ts/cjs/index.js +24 -13
  369. package/ts/cjs/index.js.map +1 -1
  370. package/ts/cjs/log-level-impl.d.ts +1 -2
  371. package/ts/cjs/log-level-impl.d.ts.map +1 -1
  372. package/ts/cjs/log-level-impl.js +4 -4
  373. package/ts/cjs/log-level-impl.js.map +1 -1
  374. package/ts/cjs/logger-impl.d.ts +1 -2
  375. package/ts/cjs/logger-impl.d.ts.map +1 -1
  376. package/ts/cjs/logger-impl.js +5 -6
  377. package/ts/cjs/logger-impl.js.map +1 -1
  378. package/ts/cjs/logger.d.ts +16 -1
  379. package/ts/cjs/logger.d.ts.map +1 -1
  380. package/ts/cjs/logger.js +41 -17
  381. package/ts/cjs/logger.js.map +1 -1
  382. package/ts/cjs/logger.test.js +2 -4
  383. package/ts/cjs/logger.test.js.map +1 -1
  384. package/ts/cjs/mutable-url.js +7 -7
  385. package/ts/cjs/mutable-url.js.map +1 -1
  386. package/ts/cjs/node/index.d.ts +0 -2
  387. package/ts/cjs/node/index.d.ts.map +1 -1
  388. package/ts/cjs/node/index.js +0 -2
  389. package/ts/cjs/node/index.js.map +1 -1
  390. package/ts/cjs/node/mock-file-service.d.ts +1 -1
  391. package/ts/cjs/node/mock-file-service.d.ts.map +1 -1
  392. package/ts/cjs/node/mock-file-service.js +2 -1
  393. package/ts/cjs/node/mock-file-service.js.map +1 -1
  394. package/ts/cjs/node/mock-file-service.test.js +1 -1
  395. package/ts/cjs/node/mock-file-service.test.js.map +1 -1
  396. package/ts/cjs/node/node-basic-sys-abstraction.d.ts +6 -4
  397. package/ts/cjs/node/node-basic-sys-abstraction.d.ts.map +1 -1
  398. package/ts/cjs/node/node-basic-sys-abstraction.js +14 -13
  399. package/ts/cjs/node/node-basic-sys-abstraction.js.map +1 -1
  400. package/ts/cjs/node/node-env-actions.d.ts +6 -4
  401. package/ts/cjs/node/node-env-actions.d.ts.map +1 -1
  402. package/ts/cjs/node/node-env-actions.js +7 -6
  403. package/ts/cjs/node/node-env-actions.js.map +1 -1
  404. package/ts/cjs/node/node-file-service.d.ts +3 -3
  405. package/ts/cjs/node/node-file-service.d.ts.map +1 -1
  406. package/ts/cjs/node/node-file-service.js +3 -4
  407. package/ts/cjs/node/node-file-service.js.map +1 -1
  408. package/ts/cjs/node/node-sys-abstraction.d.ts +3 -2
  409. package/ts/cjs/node/node-sys-abstraction.d.ts.map +1 -1
  410. package/ts/cjs/node/node-sys-abstraction.js +10 -10
  411. package/ts/cjs/node/node-sys-abstraction.js.map +1 -1
  412. package/ts/cjs/resolve-once.d.ts.map +1 -1
  413. package/ts/cjs/resolve-once.js.map +1 -1
  414. package/ts/cjs/sys-env.d.ts +2 -4
  415. package/ts/cjs/sys-env.d.ts.map +1 -1
  416. package/ts/cjs/sys-env.js +13 -15
  417. package/ts/cjs/sys-env.js.map +1 -1
  418. package/ts/cjs/sys-env.test.js +5 -39
  419. package/ts/cjs/sys-env.test.js.map +1 -1
  420. package/ts/cjs/test/log-write-stream.d.ts +2 -1
  421. package/ts/cjs/test/log-write-stream.d.ts.map +1 -1
  422. package/ts/cjs/test/log-write-stream.js +6 -4
  423. package/ts/cjs/test/log-write-stream.js.map +1 -1
  424. package/ts/cjs/test/mock-logger.d.ts +2 -1
  425. package/ts/cjs/test/mock-logger.d.ts.map +1 -1
  426. package/ts/cjs/test/mock-logger.js +4 -3
  427. package/ts/cjs/test/mock-logger.js.map +1 -1
  428. package/ts/cjs/txt-en-decoder.d.ts.map +1 -1
  429. package/ts/cjs/types.d.ts +0 -29
  430. package/ts/cjs/types.d.ts.map +1 -1
  431. package/ts/cjs/types.js +1 -26
  432. package/ts/cjs/types.js.map +1 -1
  433. package/ts/cjs/uri.d.ts +3 -2
  434. package/ts/cjs/uri.d.ts.map +1 -1
  435. package/ts/cjs/uri.js +12 -11
  436. package/ts/cjs/uri.js.map +1 -1
  437. package/ts/cjs/utils/coerce-uint8.d.ts +1 -1
  438. package/ts/cjs/utils/coerce-uint8.d.ts.map +1 -1
  439. package/ts/cjs/utils/coerce-uint8.js +9 -9
  440. package/ts/cjs/utils/coerce-uint8.js.map +1 -1
  441. package/ts/cjs/utils/consume.js +2 -2
  442. package/ts/cjs/utils/consume.js.map +1 -1
  443. package/ts/cjs/utils/get-params-result.d.ts +2 -1
  444. package/ts/cjs/utils/get-params-result.d.ts.map +1 -1
  445. package/ts/cjs/utils/get-params-result.js +5 -4
  446. package/ts/cjs/utils/get-params-result.js.map +1 -1
  447. package/ts/cjs/utils/index.d.ts +14 -0
  448. package/ts/cjs/utils/index.d.ts.map +1 -0
  449. package/ts/cjs/utils/index.js +30 -0
  450. package/ts/cjs/utils/index.js.map +1 -0
  451. package/ts/cjs/utils/rebuffer.test.js +7 -7
  452. package/ts/cjs/utils/rebuffer.test.js.map +1 -1
  453. package/ts/cjs/utils/stream-map.test.js +8 -8
  454. package/ts/cjs/utils/stream-map.test.js.map +1 -1
  455. package/ts/cjs/utils/stream2string.test.js +3 -3
  456. package/ts/cjs/utils/stream2string.test.js.map +1 -1
  457. package/ts/cjs/utils/string2stream.test.js +3 -4
  458. package/ts/cjs/utils/string2stream.test.js.map +1 -1
  459. package/ts/cjs/version.js +1 -1
  460. package/ts/cjs/web/index.d.ts +0 -1
  461. package/ts/cjs/web/index.d.ts.map +1 -1
  462. package/ts/cjs/web/index.js +0 -1
  463. package/ts/cjs/web/index.js.map +1 -1
  464. package/ts/cjs/web/web-basic-sys-abstraction.d.ts +3 -2
  465. package/ts/cjs/web/web-basic-sys-abstraction.d.ts.map +1 -1
  466. package/ts/cjs/web/web-basic-sys-abstraction.js +16 -16
  467. package/ts/cjs/web/web-basic-sys-abstraction.js.map +1 -1
  468. package/ts/cjs/web/web-env-actions.d.ts +1 -1
  469. package/ts/cjs/web/web-env-actions.d.ts.map +1 -1
  470. package/ts/cjs/web/web-env-actions.js +3 -3
  471. package/ts/cjs/web/web-env-actions.js.map +1 -1
  472. package/ts/esm/base-basic-sys-abstraction.test.js +6 -31
  473. package/ts/esm/base-basic-sys-abstraction.test.js.map +1 -1
  474. package/ts/esm/base-sys-abstraction.d.ts +0 -3
  475. package/ts/esm/base-sys-abstraction.d.ts.map +1 -1
  476. package/ts/esm/base-sys-abstraction.js +5 -6
  477. package/ts/esm/base-sys-abstraction.js.map +1 -1
  478. package/ts/esm/cf/cf-basic-sys-abstraction.d.ts +6 -4
  479. package/ts/esm/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  480. package/ts/esm/cf/cf-basic-sys-abstraction.js +14 -13
  481. package/ts/esm/cf/cf-basic-sys-abstraction.js.map +1 -1
  482. package/ts/esm/cf/cf-env-actions.d.ts +3 -4
  483. package/ts/esm/cf/cf-env-actions.d.ts.map +1 -1
  484. package/ts/esm/cf/cf-env-actions.js +7 -8
  485. package/ts/esm/cf/cf-env-actions.js.map +1 -1
  486. package/ts/esm/deno/deno-basic-sys-abstraction.d.ts +7 -4
  487. package/ts/esm/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  488. package/ts/esm/deno/deno-basic-sys-abstraction.js +16 -13
  489. package/ts/esm/deno/deno-basic-sys-abstraction.js.map +1 -1
  490. package/ts/esm/deno/deno-env-actions.d.ts +3 -3
  491. package/ts/esm/deno/deno-env-actions.d.ts.map +1 -1
  492. package/ts/esm/deno/deno-env-actions.js +5 -4
  493. package/ts/esm/deno/deno-env-actions.js.map +1 -1
  494. package/ts/esm/deno/deno-file-service.d.ts +3 -2
  495. package/ts/esm/deno/deno-file-service.d.ts.map +1 -1
  496. package/ts/esm/deno/deno-file-service.js +3 -2
  497. package/ts/esm/deno/deno-file-service.js.map +1 -1
  498. package/ts/esm/deno/deno-sys-abstraction.d.ts +3 -2
  499. package/ts/esm/deno/deno-sys-abstraction.d.ts.map +1 -1
  500. package/ts/esm/deno/deno-sys-abstraction.js +10 -10
  501. package/ts/esm/deno/deno-sys-abstraction.js.map +1 -1
  502. package/ts/esm/deno/index.d.ts +0 -2
  503. package/ts/esm/deno/index.d.ts.map +1 -1
  504. package/ts/esm/deno/index.js +0 -2
  505. package/ts/esm/deno/index.js.map +1 -1
  506. package/ts/esm/index.cjs.d.ts +1 -0
  507. package/ts/esm/index.cjs.d.ts.map +1 -1
  508. package/ts/esm/index.cjs.js +1 -0
  509. package/ts/esm/index.cjs.js.map +1 -1
  510. package/ts/esm/index.d.ts +1 -13
  511. package/ts/esm/index.d.ts.map +1 -1
  512. package/ts/esm/index.js +1 -13
  513. package/ts/esm/index.js.map +1 -1
  514. package/ts/esm/log-level-impl.d.ts +1 -2
  515. package/ts/esm/log-level-impl.d.ts.map +1 -1
  516. package/ts/esm/log-level-impl.js +1 -1
  517. package/ts/esm/log-level-impl.js.map +1 -1
  518. package/ts/esm/logger-impl.d.ts +1 -2
  519. package/ts/esm/logger-impl.d.ts.map +1 -1
  520. package/ts/esm/logger-impl.js +1 -2
  521. package/ts/esm/logger-impl.js.map +1 -1
  522. package/ts/esm/logger.d.ts +16 -1
  523. package/ts/esm/logger.d.ts.map +1 -1
  524. package/ts/esm/logger.js +23 -1
  525. package/ts/esm/logger.js.map +1 -1
  526. package/ts/esm/logger.test.js +3 -5
  527. package/ts/esm/logger.test.js.map +1 -1
  528. package/ts/esm/mutable-url.js +1 -1
  529. package/ts/esm/mutable-url.js.map +1 -1
  530. package/ts/esm/node/index.d.ts +0 -2
  531. package/ts/esm/node/index.d.ts.map +1 -1
  532. package/ts/esm/node/index.js +0 -2
  533. package/ts/esm/node/index.js.map +1 -1
  534. package/ts/esm/node/mock-file-service.d.ts +1 -1
  535. package/ts/esm/node/mock-file-service.d.ts.map +1 -1
  536. package/ts/esm/node/mock-file-service.js +2 -1
  537. package/ts/esm/node/mock-file-service.js.map +1 -1
  538. package/ts/esm/node/mock-file-service.test.js +2 -2
  539. package/ts/esm/node/mock-file-service.test.js.map +1 -1
  540. package/ts/esm/node/node-basic-sys-abstraction.d.ts +6 -4
  541. package/ts/esm/node/node-basic-sys-abstraction.d.ts.map +1 -1
  542. package/ts/esm/node/node-basic-sys-abstraction.js +14 -13
  543. package/ts/esm/node/node-basic-sys-abstraction.js.map +1 -1
  544. package/ts/esm/node/node-env-actions.d.ts +6 -4
  545. package/ts/esm/node/node-env-actions.d.ts.map +1 -1
  546. package/ts/esm/node/node-env-actions.js +7 -6
  547. package/ts/esm/node/node-env-actions.js.map +1 -1
  548. package/ts/esm/node/node-file-service.d.ts +3 -3
  549. package/ts/esm/node/node-file-service.d.ts.map +1 -1
  550. package/ts/esm/node/node-file-service.js +3 -4
  551. package/ts/esm/node/node-file-service.js.map +1 -1
  552. package/ts/esm/node/node-sys-abstraction.d.ts +3 -2
  553. package/ts/esm/node/node-sys-abstraction.d.ts.map +1 -1
  554. package/ts/esm/node/node-sys-abstraction.js +10 -10
  555. package/ts/esm/node/node-sys-abstraction.js.map +1 -1
  556. package/ts/esm/resolve-once.d.ts.map +1 -1
  557. package/ts/esm/resolve-once.js.map +1 -1
  558. package/ts/esm/sys-env.d.ts +2 -4
  559. package/ts/esm/sys-env.d.ts.map +1 -1
  560. package/ts/esm/sys-env.js +9 -11
  561. package/ts/esm/sys-env.js.map +1 -1
  562. package/ts/esm/sys-env.test.js +3 -4
  563. package/ts/esm/sys-env.test.js.map +1 -1
  564. package/ts/esm/test/log-write-stream.d.ts +2 -1
  565. package/ts/esm/test/log-write-stream.d.ts.map +1 -1
  566. package/ts/esm/test/log-write-stream.js +3 -1
  567. package/ts/esm/test/log-write-stream.js.map +1 -1
  568. package/ts/esm/test/mock-logger.d.ts +2 -1
  569. package/ts/esm/test/mock-logger.d.ts.map +1 -1
  570. package/ts/esm/test/mock-logger.js +2 -1
  571. package/ts/esm/test/mock-logger.js.map +1 -1
  572. package/ts/esm/test/test-exit-handler.js +2 -9
  573. package/ts/esm/test/test-exit-handler.js.map +1 -1
  574. package/ts/esm/txt-en-decoder.d.ts.map +1 -1
  575. package/ts/esm/txt-en-decoder.js.map +1 -1
  576. package/ts/esm/types.d.ts +0 -29
  577. package/ts/esm/types.d.ts.map +1 -1
  578. package/ts/esm/types.js +0 -24
  579. package/ts/esm/types.js.map +1 -1
  580. package/ts/esm/uri.d.ts +3 -2
  581. package/ts/esm/uri.d.ts.map +1 -1
  582. package/ts/esm/uri.js +4 -3
  583. package/ts/esm/uri.js.map +1 -1
  584. package/ts/esm/utils/coerce-uint8.d.ts +1 -1
  585. package/ts/esm/utils/coerce-uint8.d.ts.map +1 -1
  586. package/ts/esm/utils/coerce-uint8.js +1 -1
  587. package/ts/esm/utils/coerce-uint8.js.map +1 -1
  588. package/ts/esm/utils/consume.js +1 -1
  589. package/ts/esm/utils/consume.js.map +1 -1
  590. package/ts/esm/utils/get-params-result.d.ts +2 -1
  591. package/ts/esm/utils/get-params-result.d.ts.map +1 -1
  592. package/ts/esm/utils/get-params-result.js +2 -1
  593. package/ts/esm/utils/get-params-result.js.map +1 -1
  594. package/ts/esm/utils/index.d.ts +14 -0
  595. package/ts/esm/utils/index.d.ts.map +1 -0
  596. package/ts/esm/utils/index.js +14 -0
  597. package/ts/esm/utils/index.js.map +1 -0
  598. package/ts/esm/utils/rebuffer.test.js +7 -7
  599. package/ts/esm/utils/rebuffer.test.js.map +1 -1
  600. package/ts/esm/utils/stream-map.test.js +8 -8
  601. package/ts/esm/utils/stream-map.test.js.map +1 -1
  602. package/ts/esm/utils/stream2string.test.js +1 -1
  603. package/ts/esm/utils/stream2string.test.js.map +1 -1
  604. package/ts/esm/utils/string2stream.test.js +3 -4
  605. package/ts/esm/utils/string2stream.test.js.map +1 -1
  606. package/ts/esm/version.js +1 -1
  607. package/ts/esm/web/index.d.ts +0 -1
  608. package/ts/esm/web/index.d.ts.map +1 -1
  609. package/ts/esm/web/index.js +0 -1
  610. package/ts/esm/web/index.js.map +1 -1
  611. package/ts/esm/web/web-basic-sys-abstraction.d.ts +3 -2
  612. package/ts/esm/web/web-basic-sys-abstraction.d.ts.map +1 -1
  613. package/ts/esm/web/web-basic-sys-abstraction.js +16 -16
  614. package/ts/esm/web/web-basic-sys-abstraction.js.map +1 -1
  615. package/ts/esm/web/web-env-actions.d.ts +1 -1
  616. package/ts/esm/web/web-env-actions.d.ts.map +1 -1
  617. package/ts/esm/web/web-env-actions.js +3 -3
  618. package/ts/esm/web/web-env-actions.js.map +1 -1
  619. package/cjs/add-cement-do-not-export.cjs +0 -24
  620. package/cjs/add-cement-do-not-export.cjs.map +0 -1
  621. package/cjs/add-cement-do-not-export.d.ts +0 -3
  622. package/cjs/add-cement-do-not-export.d.ts.map +0 -1
  623. package/esm/add-cement-do-not-export.d.ts +0 -3
  624. package/esm/add-cement-do-not-export.d.ts.map +0 -1
  625. package/esm/add-cement-do-not-export.js +0 -21
  626. package/esm/add-cement-do-not-export.js.map +0 -1
  627. package/src/add-cement-do-not-export.ts +0 -27
  628. package/ts/cjs/add-cement-do-not-export.d.ts +0 -3
  629. package/ts/cjs/add-cement-do-not-export.d.ts.map +0 -1
  630. package/ts/cjs/add-cement-do-not-export.js +0 -24
  631. package/ts/cjs/add-cement-do-not-export.js.map +0 -1
  632. package/ts/esm/add-cement-do-not-export.d.ts +0 -3
  633. package/ts/esm/add-cement-do-not-export.d.ts.map +0 -1
  634. package/ts/esm/add-cement-do-not-export.js +0 -21
  635. package/ts/esm/add-cement-do-not-export.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import * as path from "node:path";
2
- import type { FileService, NamedWritableStream, TxtEnDecoder } from "@adviser/cement";
2
+ import type { FileService, NamedWritableStream } from "../file-service.js";
3
+ import { TxtEnDecoder, TxtEnDecoderSingleton } from "../txt-en-decoder.js";
3
4
 
4
5
  const Deno = (globalThis as unknown as { Deno: unknown }).Deno as {
5
6
  cwd(): string;
@@ -11,7 +12,7 @@ const Deno = (globalThis as unknown as { Deno: unknown }).Deno as {
11
12
  export class DenoFileService implements FileService {
12
13
  readonly baseDir: string;
13
14
  readonly txtEnde: TxtEnDecoder;
14
- constructor(txtEnde: TxtEnDecoder, baseDir: string = Deno.cwd()) {
15
+ constructor(baseDir: string = Deno.cwd(), txtEnde: TxtEnDecoder = TxtEnDecoderSingleton()) {
15
16
  this.baseDir = this.abs(baseDir);
16
17
  this.txtEnde = txtEnde;
17
18
  }
@@ -63,7 +64,7 @@ export class DenoFileService implements FileService {
63
64
  return path.isAbsolute(fname);
64
65
  }
65
66
 
66
- async writeFileString(fname: string, content: string, ende: TxtEnDecoder = this.txtEnde): Promise<void> {
67
+ async writeFileString(fname: string, content: string, ende: TxtEnDecoder = TxtEnDecoderSingleton()): Promise<void> {
67
68
  const o = await this.create(fname);
68
69
  const wr = o.stream.getWriter();
69
70
  await wr.write(ende.encode(content));
@@ -1,12 +1,13 @@
1
- import type {
1
+ import {
2
2
  ExitService,
3
3
  ExitHandler,
4
4
  BaseSysAbstraction,
5
- RuntimeSysAbstraction,
6
- SystemService,
7
- VoidFunc,
8
- WithCementWrapperSysAbstractionParams,
9
- } from "@adviser/cement";
5
+ WrapperBasicSysAbstractionParams,
6
+ WrapperRuntimeSysAbstraction,
7
+ } from "../base-sys-abstraction.js";
8
+ import { ResolveOnce } from "../resolve-once.js";
9
+ import { RuntimeSysAbstraction, SystemService, VoidFunc } from "../sys-abstraction.js";
10
+ import { TxtEnDecoderSingleton } from "../txt-en-decoder.js";
10
11
  import { DenoBasicSysAbstraction } from "./deno-basic-sys-abstraction.js";
11
12
  // import * as process from "node:process";
12
13
  import { DenoFileService } from "./deno-file-service.js";
@@ -113,17 +114,17 @@ export class DenoSystemService implements SystemService {
113
114
  }
114
115
  }
115
116
 
116
- let baseSysAbstraction: BaseSysAbstraction | undefined = undefined;
117
- export function DenoSysAbstraction(param: WithCementWrapperSysAbstractionParams): RuntimeSysAbstraction {
118
- const ende = param?.TxtEnDecoder ?? param.cement.TxtEnDecoderSingleton();
119
- baseSysAbstraction =
120
- baseSysAbstraction ??
121
- new param.cement.BaseSysAbstraction({
122
- TxtEnDecoder: ende,
123
- FileSystem: new DenoFileService(ende),
124
- SystemService: new DenoSystemService(),
125
- });
126
- return new param.cement.WrapperRuntimeSysAbstraction(baseSysAbstraction, {
117
+ const baseSysAbstraction = new ResolveOnce<BaseSysAbstraction>();
118
+ export function DenoSysAbstraction(param?: WrapperBasicSysAbstractionParams): RuntimeSysAbstraction {
119
+ const my = baseSysAbstraction.once(
120
+ () =>
121
+ new BaseSysAbstraction({
122
+ TxtEnDecoder: param?.TxtEnDecoder || TxtEnDecoderSingleton(),
123
+ FileSystem: new DenoFileService(),
124
+ SystemService: new DenoSystemService(),
125
+ }),
126
+ );
127
+ return new WrapperRuntimeSysAbstraction(my, {
127
128
  basicRuntimeService: DenoBasicSysAbstraction(param),
128
129
  ...param,
129
130
  });
package/src/deno/index.ts CHANGED
@@ -1,4 +1,2 @@
1
1
  export * from "./deno-sys-abstraction.js";
2
2
  export * from "./deno-file-service.js";
3
- export * from "./deno-env-actions.js";
4
- export * from "./deno-basic-sys-abstraction.js";
package/src/index.cjs.ts CHANGED
@@ -28,7 +28,7 @@ export * from "./is-promise.js";
28
28
  export * from "./app-context.js";
29
29
 
30
30
  // ugly
31
- // export * as utils from "@adviser/cement/utils"
31
+ export * as utils from "./utils/index.js";
32
32
  // import * as utils from "./utils/index.js";
33
33
 
34
34
  // export const param = utils.param;
package/src/index.ts CHANGED
@@ -35,18 +35,4 @@ export * from "./promise-sleep.js";
35
35
  export * from "./keyed-ng.js";
36
36
 
37
37
  // ugly not really esm but how could that work otherwise?
38
- // export * as utils from "@adviser/cement/utils"
39
-
40
- export * from "./utils/rebuffer.js";
41
- export * from "./utils/stream-map.js";
42
- export * from "./utils/stream2string.js";
43
- export * from "./utils/string2stream.js";
44
- export * from "./utils/console-write-stream.js";
45
- export * from "./utils/fanout-write-stream.js";
46
- export * from "./utils/get-params-result.js";
47
- export * from "./utils/stripper.js";
48
- export * from "./utils/sorted-object.js";
49
- export * from "./utils/uint8array-equal.js";
50
- export * from "./utils/coerce-uint8.js";
51
- export * from "./utils/consume.js";
52
- export * from "./utils/to-sorted.js";
38
+ export * as utils from "./utils/index.js";
@@ -1,6 +1,5 @@
1
- import { LevelHandler } from "./logger.js";
1
+ import { LevelHandler, Level } from "./logger.js";
2
2
  import { Option } from "./option.js";
3
- import { Level } from "./types.js";
4
3
 
5
4
  export class LevelHandlerImpl implements LevelHandler {
6
5
  readonly _globalLevels: Set<Level> = new Set<Level>([Level.INFO, Level.ERROR, Level.WARN]);
@@ -2,12 +2,17 @@
2
2
  import YAML from "yaml";
3
3
  import {
4
4
  AsError,
5
+ FnSerialized,
6
+ LogSerializable,
7
+ Level,
5
8
  Logger,
6
9
  logValue,
10
+ Serialized,
7
11
  WithLogger,
8
12
  // sanitizeSerialize,
9
13
  Sized,
10
14
  Lengthed,
15
+ LogValue,
11
16
  LevelHandler,
12
17
  LogFormatter,
13
18
  LogValueArg,
@@ -21,7 +26,6 @@ import { TxtEnDecoder, TxtEnDecoderSingleton } from "./txt-en-decoder.js";
21
26
  import { LevelHandlerSingleton } from "./log-level-impl.js";
22
27
  import { BasicSysAbstractionFactory } from "./base-sys-abstraction.js";
23
28
  import { LogWriterStream } from "./log-writer-impl.js";
24
- import { LogValue, LogSerializable, Level, FnSerialized, Serialized } from "./types.js";
25
29
 
26
30
  function getLen(value: unknown, lvs: LogValueState): LogValue {
27
31
  if (Array.isArray(value)) {
package/src/logger.ts CHANGED
@@ -7,7 +7,35 @@ import { TxtEnDecoder, TxtEnDecoderSingleton } from "./txt-en-decoder.js";
7
7
  import { CoerceURI } from "./uri.js";
8
8
  import { isJSON } from "./is-json.js";
9
9
  import { ReadonlyURL } from "./mutable-url.js";
10
- import { FnSerialized, Level, LogSerializable, LogValue, Serialized } from "./types.js";
10
+
11
+ export const Level = {
12
+ WARN: "warn",
13
+ DEBUG: "debug",
14
+ INFO: "info",
15
+ ERROR: "error",
16
+ };
17
+
18
+ export type Level = (typeof Level)[keyof typeof Level];
19
+
20
+ export type Serialized = string | number | boolean;
21
+ export type FnSerialized = () => Serialized | Serialized[];
22
+
23
+ export class LogValue {
24
+ constructor(readonly fn: FnSerialized) {}
25
+ value(): Serialized | Serialized[] {
26
+ try {
27
+ // console.log("LogValue.value", this.fn.toString());
28
+ return this.fn();
29
+ } catch (e) {
30
+ return `LogValue:${(e as Error).message}`;
31
+ }
32
+ }
33
+ toJSON(): Serialized | Serialized[] {
34
+ return this.value();
35
+ }
36
+ }
37
+
38
+ export type LogSerializable = Record<string, LogValue | Promise<LogValue>>;
11
39
 
12
40
  // export function sanitizeSerialize(lineEnd?: string): (key: unknown, val: unknown) => unknown {
13
41
  // const cache = new Set();
@@ -1,5 +1,5 @@
1
1
  import { exception2Result, Result } from "./result.js";
2
- import { hasHostPartProtocols } from "./types.js";
2
+ import { hasHostPartProtocols } from "./uri.js";
3
3
 
4
4
  // due to that the System URL class is has a strange behavior
5
5
  // on different platforms, we need to implement our own URL class
package/src/node/index.ts CHANGED
@@ -1,5 +1,3 @@
1
1
  export * from "./node-file-service.js";
2
2
  export * from "./node-sys-abstraction.js";
3
3
  export * from "./mock-file-service.js";
4
- export * from "./node-env-actions.js";
5
- export * from "./node-basic-sys-abstraction.js";
@@ -1,4 +1,5 @@
1
- import type { NamedWritableStream } from "@adviser/cement";
1
+ import { NamedWritableStream } from "../file-service.js";
2
+ import { TxtEnDecoderSingleton } from "../txt-en-decoder.js";
2
3
  import { NodeFileService } from "./node-file-service.js";
3
4
 
4
5
  export interface FileCollector {
@@ -25,7 +26,7 @@ export class MockFileService extends NodeFileService {
25
26
  };
26
27
  this.files[oName] = fc;
27
28
  this.files[fname] = fc;
28
- const decoder = this.defTxtEnde;
29
+ const decoder = TxtEnDecoderSingleton();
29
30
 
30
31
  return Promise.resolve({
31
32
  name: oName,
@@ -1,16 +1,11 @@
1
- import type {
2
- BaseBasicSysAbstraction,
3
- BasicRuntimeService,
4
- BasicSysAbstraction,
5
- Env,
6
- EnvFactory,
7
- TxtEnDecoder,
8
- WithCementWrapperSysAbstractionParams,
9
- } from "@adviser/cement";
1
+ import { BaseBasicSysAbstraction, WrapperBasicSysAbstraction, WrapperBasicSysAbstractionParams } from "../base-sys-abstraction.js";
2
+ import { ResolveOnce } from "../resolve-once.js";
3
+ import { BasicRuntimeService, BasicSysAbstraction } from "../sys-abstraction.js";
4
+ import { Env, envFactory } from "../sys-env.js";
5
+ import { TxtEnDecoder, TxtEnDecoderSingleton } from "../txt-en-decoder.js";
10
6
 
11
7
  export class NodeRuntimeService implements BasicRuntimeService {
12
8
  readonly _txtEnDe: TxtEnDecoder;
13
- readonly _envFactory: EnvFactory;
14
9
  readonly _gthis: {
15
10
  process: {
16
11
  argv: string[];
@@ -22,13 +17,12 @@ export class NodeRuntimeService implements BasicRuntimeService {
22
17
  };
23
18
  };
24
19
  };
25
- constructor(ende: TxtEnDecoder, envFactory: EnvFactory) {
20
+ constructor(ende: TxtEnDecoder) {
26
21
  this._txtEnDe = ende;
27
- this._envFactory = envFactory;
28
22
  this._gthis = globalThis as unknown as NodeRuntimeService["_gthis"];
29
23
  }
30
24
  Env(): Env {
31
- return this._envFactory();
25
+ return envFactory();
32
26
  }
33
27
 
34
28
  Args(): string[] {
@@ -51,17 +45,15 @@ export class NodeRuntimeService implements BasicRuntimeService {
51
45
  }
52
46
  }
53
47
 
54
- let baseSysAbstraction: BaseBasicSysAbstraction | undefined = undefined;
55
-
56
- export function NodeBasicSysAbstraction(param: WithCementWrapperSysAbstractionParams): BasicSysAbstraction {
57
- const ende = param.TxtEnDecoder ?? param.cement.TxtEnDecoderSingleton();
58
- baseSysAbstraction =
59
- baseSysAbstraction ??
60
- new param.cement.BaseBasicSysAbstraction({
61
- TxtEnDecoder: ende,
48
+ const baseSysAbstraction = new ResolveOnce<BaseBasicSysAbstraction>();
49
+ export function NodeBasicSysAbstraction(param?: WrapperBasicSysAbstractionParams): BasicSysAbstraction {
50
+ const my = baseSysAbstraction.once(() => {
51
+ return new BaseBasicSysAbstraction({
52
+ TxtEnDecoder: param?.TxtEnDecoder || TxtEnDecoderSingleton(),
62
53
  });
63
- return new param.cement.WrapperBasicSysAbstraction(baseSysAbstraction, {
64
- basicRuntimeService: new NodeRuntimeService(ende, param.cement.envFactory),
54
+ });
55
+ return new WrapperBasicSysAbstraction(my, {
56
+ basicRuntimeService: new NodeRuntimeService(param?.TxtEnDecoder ?? my._txtEnDe),
65
57
  ...param,
66
58
  });
67
59
  }
@@ -1,4 +1,6 @@
1
- import type { Env, EnvActions, EnvFactoryOpts, WithCement } from "@adviser/cement";
1
+ import { ResolveOnce } from "../resolve-once.js";
2
+ import { runtimeFn } from "../runtime.js";
3
+ import { Env, EnvActions, EnvFactoryOpts } from "../sys-env.js";
2
4
 
3
5
  // export interface ImportMetaEnv {
4
6
  // import?: {
@@ -7,22 +9,57 @@ import type { Env, EnvActions, EnvFactoryOpts, WithCement } from "@adviser/cemen
7
9
  // };
8
10
  // };
9
11
  // }
10
-
11
- let once: NodeEnvActions | undefined = undefined;
12
-
13
12
  export class NodeEnvActions implements EnvActions {
13
+ static once = new ResolveOnce<NodeEnvActions>();
14
+ // static cleanPrefixes = ["VITE_"];
15
+ // static addCleanPrefix(prefix: string): void {
16
+ // if (!prefix.endsWith("_")) {
17
+ // prefix += "_";
18
+ // }
19
+ // if (!NodeEnvActions.cleanPrefixes.includes(prefix)) {
20
+ // NodeEnvActions.cleanPrefixes.push(prefix);
21
+ // }
22
+ // }
14
23
  readonly #node = globalThis as unknown as { process: { env: Record<string, string> } };
15
- readonly _env: Record<string, string>;
24
+ // readonly #importMetaEnv = globalThis as unknown as ImportMetaEnv;
25
+
26
+ // cleanImportMetaEnv(): Record<string, string> {
27
+ // const metaEnv = this.#importMetaEnv.import?.meta?.env || {};
28
+ // const cleaned: Record<string, string> = {};
29
+ // for (const key of Object.keys(metaEnv)) {
30
+ // const hasCleanPrefix = NodeEnvActions.cleanPrefixes.find((prefix) => key.startsWith(prefix));
31
+ // if (hasCleanPrefix) {
32
+ // const cleanedPrefix = key.replace(hasCleanPrefix, "");
33
+ // const foundCleanPrefix = cleaned[cleanedPrefix];
34
+ // if (!foundCleanPrefix) {
35
+ // cleaned[cleanedPrefix] = metaEnv[key];
36
+ // }
37
+ // }
38
+ // cleaned[key] = metaEnv[key];
39
+ // }
40
+ // return cleaned;
41
+ // }
42
+
43
+ // mergeEnv(): Record<string, string> {
44
+ // // const importMetaEnv = this.cleanImportMetaEnv();
45
+ // // console.debug("NodeEnvActions.mergeEnv", importMetaEnv);
46
+ // const nodeEnv = Object.keys(this.#node.process.env).reduce(
47
+ // (acc, key) => {
48
+ // acc[key] = this.#node.process.env[key] || "";
49
+ // return acc;
50
+ // },
51
+ // {} as Record<string, string>,
52
+ // );
53
+ // return { ...nodeEnv };
54
+ // }
16
55
 
17
- static new(opts: WithCement<Partial<EnvFactoryOpts>>): EnvActions {
18
- once = once ?? new NodeEnvActions(opts);
19
- return once;
56
+ static new(opts: Partial<EnvFactoryOpts>): EnvActions {
57
+ return NodeEnvActions.once.once(() => new NodeEnvActions(opts));
20
58
  }
21
59
 
22
- readonly opts: WithCement<Partial<EnvFactoryOpts>>;
23
- private constructor(opts: WithCement<Partial<EnvFactoryOpts>>) {
60
+ readonly opts: Partial<EnvFactoryOpts>;
61
+ private constructor(opts: Partial<EnvFactoryOpts>) {
24
62
  this.opts = opts;
25
- this._env = this.active() ? this.#node.process.env : {};
26
63
  }
27
64
 
28
65
  register(env: Env): Env {
@@ -33,8 +70,10 @@ export class NodeEnvActions implements EnvActions {
33
70
  }
34
71
 
35
72
  active(): boolean {
36
- return this.opts.cement.runtimeFn().isNodeIsh;
73
+ return runtimeFn().isNodeIsh;
74
+ // typeof this.#node === "object" && typeof this.#node.process === "object" && typeof this.#node.process.env === "object";
37
75
  }
76
+ readonly _env: Record<string, string> = this.active() ? this.#node.process.env : {};
38
77
  keys(): string[] {
39
78
  return Object.keys(this._env);
40
79
  }
@@ -44,6 +83,7 @@ export class NodeEnvActions implements EnvActions {
44
83
  set(key: string, value?: string): void {
45
84
  if (value) {
46
85
  this._env[key] = value;
86
+ // this.#node.process.env[key] = value; // also set in process.env
47
87
  }
48
88
  }
49
89
  delete(key: string): void {
@@ -1,14 +1,13 @@
1
1
  import path from "node:path";
2
2
  import fs from "node:fs";
3
3
  import process from "node:process";
4
- import type { FileService, NamedWritableStream, TxtEnDecoder } from "@adviser/cement";
4
+ import { FileService, NamedWritableStream } from "../file-service.js";
5
+ import { TxtEnDecoder, TxtEnDecoderSingleton } from "../txt-en-decoder.js";
5
6
 
6
7
  export class NodeFileService implements FileService {
7
8
  readonly baseDir: string;
8
- readonly defTxtEnde: TxtEnDecoder;
9
- constructor(defTxtEncode: TxtEnDecoder, baseDir: string = process.cwd()) {
9
+ constructor(baseDir: string = process.cwd()) {
10
10
  this.baseDir = this.abs(baseDir);
11
- this.defTxtEnde = defTxtEncode;
12
11
  }
13
12
 
14
13
  // nodeImport(fname: string): string {
@@ -58,7 +57,7 @@ export class NodeFileService implements FileService {
58
57
  return path.isAbsolute(fname);
59
58
  }
60
59
 
61
- async writeFileString(fname: string, content: string, ende: TxtEnDecoder = this.defTxtEnde): Promise<void> {
60
+ async writeFileString(fname: string, content: string, ende: TxtEnDecoder = TxtEnDecoderSingleton()): Promise<void> {
62
61
  const o = await this.create(fname);
63
62
  const wr = o.stream.getWriter();
64
63
  await wr.write(ende.encode(content));
@@ -1,14 +1,15 @@
1
- import type {
2
- RuntimeSysAbstraction,
3
- SystemService,
4
- VoidFunc,
1
+ import { RuntimeSysAbstraction, SystemService, VoidFunc } from "../sys-abstraction.js";
2
+ import {
5
3
  BaseSysAbstraction,
6
4
  ExitHandler,
7
5
  ExitService,
8
- WithCementWrapperSysAbstractionParams,
9
- } from "@adviser/cement";
6
+ WrapperBasicSysAbstractionParams,
7
+ WrapperRuntimeSysAbstraction,
8
+ } from "../base-sys-abstraction.js";
10
9
  import { NodeFileService } from "./node-file-service.js";
10
+ import { TxtEnDecoderSingleton } from "../txt-en-decoder.js";
11
11
  import process from "node:process";
12
+ import { ResolveOnce } from "../resolve-once.js";
12
13
  import { NodeBasicSysAbstraction } from "./node-basic-sys-abstraction.js";
13
14
 
14
15
  export class NodeExitServiceImpl implements ExitService {
@@ -100,17 +101,17 @@ export class NodeSystemService implements SystemService {
100
101
  }
101
102
  }
102
103
 
103
- let baseSysAbstraction: BaseSysAbstraction | undefined = undefined;
104
- export function NodeSysAbstraction(param: WithCementWrapperSysAbstractionParams): RuntimeSysAbstraction {
105
- const ende = param?.TxtEnDecoder || param.cement.TxtEnDecoderSingleton();
106
- baseSysAbstraction =
107
- baseSysAbstraction ??
108
- new param.cement.BaseSysAbstraction({
109
- TxtEnDecoder: ende,
110
- FileSystem: new NodeFileService(ende),
111
- SystemService: new NodeSystemService(),
112
- });
113
- return new param.cement.WrapperRuntimeSysAbstraction(baseSysAbstraction, {
104
+ const baseSysAbstraction = new ResolveOnce<BaseSysAbstraction>();
105
+ export function NodeSysAbstraction(param?: WrapperBasicSysAbstractionParams): RuntimeSysAbstraction {
106
+ const my = baseSysAbstraction.once(
107
+ () =>
108
+ new BaseSysAbstraction({
109
+ TxtEnDecoder: param?.TxtEnDecoder || TxtEnDecoderSingleton(),
110
+ FileSystem: new NodeFileService(),
111
+ SystemService: new NodeSystemService(),
112
+ }),
113
+ );
114
+ return new WrapperRuntimeSysAbstraction(my, {
114
115
  basicRuntimeService: NodeBasicSysAbstraction(param),
115
116
  ...param,
116
117
  });
@@ -15,7 +15,8 @@
15
15
  */
16
16
 
17
17
  import { Future } from "./future.js";
18
- import { UnPromisify, isPromise } from "./is-promise.js";
18
+ import { UnPromisify } from "./is-promise.js";
19
+ import { isPromise } from "./is-promise.js";
19
20
  import { UnregFn } from "./lru-map-set.js";
20
21
  import { Result } from "./result.js";
21
22
  import { Option } from "./option.js";
@@ -640,6 +641,7 @@ export class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
640
641
  const state = this.#state;
641
642
  try {
642
643
  state.setProcessing();
644
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
643
645
  let prev: T | undefined = undefined;
644
646
  if (this.#syncOrAsync.IsSome()) {
645
647
  prev = this.#syncOrAsync.Unwrap().value as T;
package/src/sys-env.ts CHANGED
@@ -1,13 +1,11 @@
1
- import { DenoEnvActions } from "@adviser/cement/deno";
2
- import { NodeEnvActions } from "@adviser/cement/node";
3
- import { BrowserEnvActions } from "@adviser/cement/web";
4
- import { CFEnvActions } from "@adviser/cement/cf";
1
+ import { DenoEnvActions } from "./deno/deno-env-actions.js";
2
+ import { NodeEnvActions } from "./node/node-env-actions.js";
3
+ import { BrowserEnvActions } from "./web/web-env-actions.js";
4
+ import { CFEnvActions } from "./cf/cf-env-actions.js";
5
5
  import { KeyedResolvOnce } from "./resolve-once.js";
6
6
  import { Result } from "./result.js";
7
- import { wrapImportMetaEnv, ImportMetaEnv } from "@adviser/cement/import-meta-env";
8
7
  import { getParamsResult, KeysParam } from "./utils/get-params-result.js";
9
- import { WithCement } from "./types.js";
10
- import { addCement } from "./add-cement-do-not-export.js";
8
+ import { wrapImportMetaEnv, ImportMetaEnv } from "@adviser/cement/import-meta-env";
11
9
 
12
10
  export type EnvTuple = ([string, string] | [string, string][] | Record<string, string> | Iterator<[string, string]>)[];
13
11
 
@@ -42,13 +40,13 @@ export interface Env extends EnvMap {
42
40
  sets(...keys: EnvTuple): void;
43
41
  }
44
42
 
45
- export type EnvFactoryFn = (opts: WithCement<Partial<EnvFactoryOpts>>) => EnvActions;
43
+ export type EnvFactoryFn = (opts: Partial<EnvFactoryOpts>) => EnvActions;
46
44
 
47
45
  const envActions: { id: string; fn: EnvFactoryFn }[] = [
48
- { id: "cf", fn: (opts: WithCement<Partial<EnvFactoryOpts>>): EnvActions => CFEnvActions.new(opts) },
49
- { id: "node", fn: (opts: WithCement<Partial<EnvFactoryOpts>>): EnvActions => NodeEnvActions.new(opts) },
50
- { id: "deno", fn: (opts: WithCement<Partial<EnvFactoryOpts>>): EnvActions => DenoEnvActions.new(opts) },
51
- { id: "browser", fn: (opts: WithCement<Partial<EnvFactoryOpts>>): EnvActions => BrowserEnvActions.new(opts) },
46
+ { id: "cf", fn: (opts: Partial<EnvFactoryOpts>): EnvActions => CFEnvActions.new(opts) },
47
+ { id: "node", fn: (opts: Partial<EnvFactoryOpts>): EnvActions => NodeEnvActions.new(opts) },
48
+ { id: "deno", fn: (opts: Partial<EnvFactoryOpts>): EnvActions => DenoEnvActions.new(opts) },
49
+ { id: "browser", fn: (opts: Partial<EnvFactoryOpts>): EnvActions => BrowserEnvActions.new(opts) },
52
50
  ];
53
51
 
54
52
  /**
@@ -122,16 +120,14 @@ const _envFactories = new KeyedResolvOnce<Env>();
122
120
  * }, 'API_KEY'); // Optional: filter by specific keys
123
121
  * ```
124
122
  */
125
- export type EnvFactory = (opts?: Partial<EnvFactoryOpts>) => Env;
126
123
  export function envFactory(opts: Partial<EnvFactoryOpts> = {}): Env {
127
- const withCement = addCement(opts);
128
- const found = envActions.find((fi) => fi.fn(withCement).active());
124
+ const found = envActions.find((fi) => fi.fn(opts).active());
129
125
  if (!found) {
130
126
  throw new Error("SysContainer:envFactory: no env available");
131
127
  }
132
128
  const res = _envFactories.get(opts.id ?? found.id).once(() => {
133
- const action = wrapImportMetaEnv(found.fn(withCement));
134
- const ret = new EnvImpl(action, withCement);
129
+ const action = wrapImportMetaEnv(found.fn(opts));
130
+ const ret = new EnvImpl(action, opts);
135
131
  action.register(ret);
136
132
  return ret;
137
133
  });
@@ -156,7 +152,7 @@ function isIterable(obj: unknown): obj is Iterable<[string, string]> {
156
152
 
157
153
  export class EnvImpl implements Env {
158
154
  readonly _map: EnvMap;
159
- constructor(map: EnvMap, opts: Partial<EnvFactoryOpts>) {
155
+ constructor(map: EnvMap, opts: Partial<EnvFactoryOpts> = {}) {
160
156
  this._map = map;
161
157
  this._updatePresets(opts.presetEnv);
162
158
  }
@@ -1,4 +1,6 @@
1
- import { FanoutWriteStream, Future, type TxtEnDecoder, TxtEnDecoderSingleton } from "@adviser/cement";
1
+ import { FanoutWriteStream } from "../utils/fanout-write-stream.js";
2
+ import { Future } from "../future.js";
3
+ import { TxtEnDecoder, TxtEnDecoderSingleton } from "../txt-en-decoder.js";
2
4
 
3
5
  export class LogWriteStream implements WritableStreamDefaultWriter<Uint8Array> {
4
6
  private readonly _bufferArr: Uint8Array[];
@@ -1,5 +1,8 @@
1
- import { LevelHandlerImpl, type Logger, LoggerImpl, type BasicSysAbstraction } from "@adviser/cement";
1
+ import { LevelHandlerImpl } from "../log-level-impl.js";
2
+ import { Logger } from "../logger.js";
3
+ import { LoggerImpl } from "../logger-impl.js";
2
4
  import { LogCollector } from "./log-write-stream.js";
5
+ import { BasicSysAbstraction } from "../sys-abstraction.js";
3
6
 
4
7
  export interface MockLoggerReturn {
5
8
  readonly logger: Logger;
@@ -1,6 +1,6 @@
1
1
  import { Lazy } from "./resolve-once.js";
2
2
  import { Result } from "./result.js";
3
- import { ToUInt8, coerceIntoUint8 } from "./utils/coerce-uint8.js";
3
+ import { coerceIntoUint8, ToUInt8 } from "./utils/coerce-uint8.js";
4
4
 
5
5
  export type ToDecoder = ToUInt8 | string | Result<string>;
6
6
  export type AsyncToDecoder = ToDecoder | Blob | Promise<ToDecoder | Blob>;
package/src/types.ts CHANGED
@@ -17,48 +17,3 @@ export const param: {
17
17
  OPTIONAL: new _Optional(),
18
18
  };
19
19
  export type param = (typeof param)[keyof typeof param];
20
-
21
- export type WithCement<T> = T & {
22
- readonly cement: {
23
- readonly runtimeFn: typeof import("./runtime.js").runtimeFn;
24
- // readonly WrapperBasicSysAbstractionFactory: typeof import("./base-sys-abstraction.js").WrapperBasicSysAbstractionFactory;
25
- readonly WrapperBasicSysAbstraction: typeof import("./base-sys-abstraction.js").WrapperBasicSysAbstraction;
26
- readonly WrapperRuntimeSysAbstraction: typeof import("./base-sys-abstraction.js").WrapperRuntimeSysAbstraction;
27
- readonly TxtEnDecoderSingleton: typeof import("./txt-en-decoder.js").TxtEnDecoderSingleton;
28
- readonly ConsoleWriterStream: typeof import("./utils/console-write-stream.js").ConsoleWriterStream;
29
- readonly envFactory: typeof import("./sys-env.js").envFactory;
30
- readonly BaseBasicSysAbstraction: typeof import("./base-sys-abstraction.js").BaseBasicSysAbstraction;
31
- readonly BaseSysAbstraction: typeof import("./base-sys-abstraction.js").BaseSysAbstraction;
32
- };
33
- };
34
-
35
- export const hasHostPartProtocols: Set<string> = new Set<string>(["http", "https", "ws", "wss"]);
36
-
37
- export const Level = {
38
- WARN: "warn",
39
- DEBUG: "debug",
40
- INFO: "info",
41
- ERROR: "error",
42
- };
43
-
44
- export type Level = (typeof Level)[keyof typeof Level];
45
-
46
- export type Serialized = string | number | boolean;
47
- export type FnSerialized = () => Serialized | Serialized[];
48
-
49
- export class LogValue {
50
- constructor(readonly fn: FnSerialized) {}
51
- value(): Serialized | Serialized[] {
52
- try {
53
- // console.log("LogValue.value", this.fn.toString());
54
- return this.fn();
55
- } catch (e) {
56
- return `LogValue:${(e as Error).message}`;
57
- }
58
- }
59
- toJSON(): Serialized | Serialized[] {
60
- return this.value();
61
- }
62
- }
63
-
64
- export type LogSerializable = Record<string, LogValue | Promise<LogValue>>;
package/src/uri.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { DeepWritable } from "ts-essentials";
2
2
  import { exception2Result, Result } from "./result.js";
3
- import { ReadonlyURL, URLSearchParamsEntries, WritableURL } from "./mutable-url.js";
4
- import { KeyedResolvOnce } from "./resolve-once.js";
5
- import { KeysParam, getParamsResult, hasHostPartProtocols } from "./index.js";
3
+ import { getParamsResult, KeysParam } from "./utils/get-params-result.js";
6
4
  import { relativePath } from "./utils/relative-path.js";
7
5
  import { StripCommand, stripper } from "./utils/stripper.js";
6
+ import { ReadonlyURL, URLSearchParamsEntries, WritableURL } from "./mutable-url.js";
7
+ import { KeyedResolvOnce } from "./resolve-once.js";
8
8
  // import { param } from "./types.js";
9
9
 
10
10
  type NullOrUndef = null | undefined;
@@ -528,6 +528,8 @@ export function isCoerceURI(value: unknown): value is CoerceURI {
528
528
  return false;
529
529
  }
530
530
 
531
+ export const hasHostPartProtocols: Set<string> = new Set<string>(["http", "https", "ws", "wss"]);
532
+
531
533
  const uriInstances = new KeyedResolvOnce<URI>({
532
534
  lru: { maxEntries: 1000 },
533
535
  });
@@ -1,4 +1,4 @@
1
- import { Result } from "@adviser/cement";
1
+ import { Result } from "../result.js";
2
2
 
3
3
  // Tested in txt-en-decoder.test.ts
4
4