@adviser/cement 0.4.72 → 0.4.80

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 (673) hide show
  1. package/cjs/add-cement-do-not-export.cjs +24 -0
  2. package/cjs/add-cement-do-not-export.cjs.map +1 -0
  3. package/cjs/add-cement-do-not-export.d.ts +3 -0
  4. package/cjs/add-cement-do-not-export.d.ts.map +1 -0
  5. package/cjs/base-basic-sys-abstraction.test.cjs +64 -6
  6. package/cjs/base-basic-sys-abstraction.test.cjs.map +1 -1
  7. package/cjs/base-sys-abstraction.cjs +6 -5
  8. package/cjs/base-sys-abstraction.cjs.map +1 -1
  9. package/cjs/base-sys-abstraction.d.ts +3 -0
  10. package/cjs/base-sys-abstraction.d.ts.map +1 -1
  11. package/cjs/cf/cf-basic-sys-abstraction.cjs +13 -14
  12. package/cjs/cf/cf-basic-sys-abstraction.cjs.map +1 -1
  13. package/cjs/cf/cf-basic-sys-abstraction.d.ts +4 -6
  14. package/cjs/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  15. package/cjs/cf/cf-env-actions.cjs +8 -7
  16. package/cjs/cf/cf-env-actions.cjs.map +1 -1
  17. package/cjs/cf/cf-env-actions.d.ts +4 -3
  18. package/cjs/cf/cf-env-actions.d.ts.map +1 -1
  19. package/cjs/deno/deno-basic-sys-abstraction.cjs +13 -16
  20. package/cjs/deno/deno-basic-sys-abstraction.cjs.map +1 -1
  21. package/cjs/deno/deno-basic-sys-abstraction.d.ts +4 -7
  22. package/cjs/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  23. package/cjs/deno/deno-env-actions.cjs +4 -5
  24. package/cjs/deno/deno-env-actions.cjs.map +1 -1
  25. package/cjs/deno/deno-env-actions.d.ts +3 -3
  26. package/cjs/deno/deno-env-actions.d.ts.map +1 -1
  27. package/cjs/deno/deno-file-service.cjs +2 -3
  28. package/cjs/deno/deno-file-service.cjs.map +1 -1
  29. package/cjs/deno/deno-file-service.d.ts +2 -3
  30. package/cjs/deno/deno-file-service.d.ts.map +1 -1
  31. package/cjs/deno/deno-sys-abstraction.cjs +10 -10
  32. package/cjs/deno/deno-sys-abstraction.cjs.map +1 -1
  33. package/cjs/deno/deno-sys-abstraction.d.ts +2 -3
  34. package/cjs/deno/deno-sys-abstraction.d.ts.map +1 -1
  35. package/cjs/deno/index.cjs +2 -0
  36. package/cjs/deno/index.cjs.map +1 -1
  37. package/cjs/deno/index.d.ts +2 -0
  38. package/cjs/deno/index.d.ts.map +1 -1
  39. package/cjs/index.cjs +13 -24
  40. package/cjs/index.cjs.cjs +0 -24
  41. package/cjs/index.cjs.cjs.map +1 -1
  42. package/cjs/index.cjs.d.ts +0 -1
  43. package/cjs/index.cjs.d.ts.map +1 -1
  44. package/cjs/index.cjs.map +1 -1
  45. package/cjs/index.d.ts +13 -1
  46. package/cjs/index.d.ts.map +1 -1
  47. package/cjs/log-level-impl.cjs +4 -4
  48. package/cjs/log-level-impl.cjs.map +1 -1
  49. package/cjs/log-level-impl.d.ts +2 -1
  50. package/cjs/log-level-impl.d.ts.map +1 -1
  51. package/cjs/logger-impl.cjs +6 -5
  52. package/cjs/logger-impl.cjs.map +1 -1
  53. package/cjs/logger-impl.d.ts +2 -1
  54. package/cjs/logger-impl.d.ts.map +1 -1
  55. package/cjs/logger.cjs +17 -41
  56. package/cjs/logger.cjs.map +1 -1
  57. package/cjs/logger.d.ts +1 -16
  58. package/cjs/logger.d.ts.map +1 -1
  59. package/cjs/logger.test.cjs +4 -2
  60. package/cjs/logger.test.cjs.map +1 -1
  61. package/cjs/mutable-url.cjs +7 -7
  62. package/cjs/mutable-url.cjs.map +1 -1
  63. package/cjs/node/index.cjs +2 -0
  64. package/cjs/node/index.cjs.map +1 -1
  65. package/cjs/node/index.d.ts +2 -0
  66. package/cjs/node/index.d.ts.map +1 -1
  67. package/cjs/node/mock-file-service.cjs +1 -2
  68. package/cjs/node/mock-file-service.cjs.map +1 -1
  69. package/cjs/node/mock-file-service.d.ts +1 -1
  70. package/cjs/node/mock-file-service.d.ts.map +1 -1
  71. package/cjs/node/mock-file-service.test.cjs +1 -1
  72. package/cjs/node/mock-file-service.test.cjs.map +1 -1
  73. package/cjs/node/node-basic-sys-abstraction.cjs +13 -14
  74. package/cjs/node/node-basic-sys-abstraction.cjs.map +1 -1
  75. package/cjs/node/node-basic-sys-abstraction.d.ts +4 -6
  76. package/cjs/node/node-basic-sys-abstraction.d.ts.map +1 -1
  77. package/cjs/node/node-env-actions.cjs +6 -7
  78. package/cjs/node/node-env-actions.cjs.map +1 -1
  79. package/cjs/node/node-env-actions.d.ts +4 -6
  80. package/cjs/node/node-env-actions.d.ts.map +1 -1
  81. package/cjs/node/node-file-service.cjs +4 -3
  82. package/cjs/node/node-file-service.cjs.map +1 -1
  83. package/cjs/node/node-file-service.d.ts +3 -3
  84. package/cjs/node/node-file-service.d.ts.map +1 -1
  85. package/cjs/node/node-sys-abstraction.cjs +10 -10
  86. package/cjs/node/node-sys-abstraction.cjs.map +1 -1
  87. package/cjs/node/node-sys-abstraction.d.ts +2 -3
  88. package/cjs/node/node-sys-abstraction.d.ts.map +1 -1
  89. package/cjs/on-func.d.ts +1 -1
  90. package/cjs/on-func.d.ts.map +1 -1
  91. package/cjs/resolve-once.cjs +5 -1
  92. package/cjs/resolve-once.cjs.map +1 -1
  93. package/cjs/resolve-once.d.ts +1 -1
  94. package/cjs/resolve-once.d.ts.map +1 -1
  95. package/cjs/resolve-once.test.cjs +38 -4
  96. package/cjs/resolve-once.test.cjs.map +1 -1
  97. package/cjs/result.cjs.map +1 -1
  98. package/cjs/result.d.ts +3 -3
  99. package/cjs/result.d.ts.map +1 -1
  100. package/cjs/sys-env.cjs +15 -13
  101. package/cjs/sys-env.cjs.map +1 -1
  102. package/cjs/sys-env.d.ts +4 -2
  103. package/cjs/sys-env.d.ts.map +1 -1
  104. package/cjs/sys-env.test.cjs +39 -5
  105. package/cjs/sys-env.test.cjs.map +1 -1
  106. package/cjs/test/log-write-stream.cjs +4 -6
  107. package/cjs/test/log-write-stream.cjs.map +1 -1
  108. package/cjs/test/log-write-stream.d.ts +1 -2
  109. package/cjs/test/log-write-stream.d.ts.map +1 -1
  110. package/cjs/test/mock-logger.cjs +3 -4
  111. package/cjs/test/mock-logger.cjs.map +1 -1
  112. package/cjs/test/mock-logger.d.ts +1 -2
  113. package/cjs/test/mock-logger.d.ts.map +1 -1
  114. package/cjs/txt-en-decoder.d.ts.map +1 -1
  115. package/cjs/types.cjs +26 -1
  116. package/cjs/types.cjs.map +1 -1
  117. package/cjs/types.d.ts +29 -0
  118. package/cjs/types.d.ts.map +1 -1
  119. package/cjs/uri.cjs +11 -12
  120. package/cjs/uri.cjs.map +1 -1
  121. package/cjs/uri.d.ts +2 -3
  122. package/cjs/uri.d.ts.map +1 -1
  123. package/cjs/utils/coerce-uint8.cjs +9 -9
  124. package/cjs/utils/coerce-uint8.cjs.map +1 -1
  125. package/cjs/utils/coerce-uint8.d.ts +1 -1
  126. package/cjs/utils/coerce-uint8.d.ts.map +1 -1
  127. package/cjs/utils/consume.cjs +2 -2
  128. package/cjs/utils/consume.cjs.map +1 -1
  129. package/cjs/utils/get-params-result.cjs +4 -5
  130. package/cjs/utils/get-params-result.cjs.map +1 -1
  131. package/cjs/utils/get-params-result.d.ts +1 -2
  132. package/cjs/utils/get-params-result.d.ts.map +1 -1
  133. package/cjs/utils/rebuffer.test.cjs +7 -7
  134. package/cjs/utils/rebuffer.test.cjs.map +1 -1
  135. package/cjs/utils/stream-map.test.cjs +8 -8
  136. package/cjs/utils/stream-map.test.cjs.map +1 -1
  137. package/cjs/utils/stream2string.test.cjs +3 -3
  138. package/cjs/utils/stream2string.test.cjs.map +1 -1
  139. package/cjs/utils/string2stream.test.cjs +4 -3
  140. package/cjs/utils/string2stream.test.cjs.map +1 -1
  141. package/cjs/version.cjs +1 -1
  142. package/cjs/web/index.cjs +1 -0
  143. package/cjs/web/index.cjs.map +1 -1
  144. package/cjs/web/index.d.ts +1 -0
  145. package/cjs/web/index.d.ts.map +1 -1
  146. package/cjs/web/web-basic-sys-abstraction.cjs +16 -16
  147. package/cjs/web/web-basic-sys-abstraction.cjs.map +1 -1
  148. package/cjs/web/web-basic-sys-abstraction.d.ts +2 -3
  149. package/cjs/web/web-basic-sys-abstraction.d.ts.map +1 -1
  150. package/cjs/web/web-env-actions.cjs +3 -3
  151. package/cjs/web/web-env-actions.cjs.map +1 -1
  152. package/cjs/web/web-env-actions.d.ts +1 -1
  153. package/cjs/web/web-env-actions.d.ts.map +1 -1
  154. package/deno.json +1 -3
  155. package/esm/add-cement-do-not-export.d.ts +3 -0
  156. package/esm/add-cement-do-not-export.d.ts.map +1 -0
  157. package/esm/add-cement-do-not-export.js +21 -0
  158. package/esm/add-cement-do-not-export.js.map +1 -0
  159. package/esm/base-basic-sys-abstraction.test.js +31 -6
  160. package/esm/base-basic-sys-abstraction.test.js.map +1 -1
  161. package/esm/base-sys-abstraction.d.ts +3 -0
  162. package/esm/base-sys-abstraction.d.ts.map +1 -1
  163. package/esm/base-sys-abstraction.js +6 -5
  164. package/esm/base-sys-abstraction.js.map +1 -1
  165. package/esm/cf/cf-basic-sys-abstraction.d.ts +4 -6
  166. package/esm/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  167. package/esm/cf/cf-basic-sys-abstraction.js +13 -14
  168. package/esm/cf/cf-basic-sys-abstraction.js.map +1 -1
  169. package/esm/cf/cf-env-actions.d.ts +4 -3
  170. package/esm/cf/cf-env-actions.d.ts.map +1 -1
  171. package/esm/cf/cf-env-actions.js +8 -7
  172. package/esm/cf/cf-env-actions.js.map +1 -1
  173. package/esm/deno/deno-basic-sys-abstraction.d.ts +4 -7
  174. package/esm/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  175. package/esm/deno/deno-basic-sys-abstraction.js +13 -16
  176. package/esm/deno/deno-basic-sys-abstraction.js.map +1 -1
  177. package/esm/deno/deno-env-actions.d.ts +3 -3
  178. package/esm/deno/deno-env-actions.d.ts.map +1 -1
  179. package/esm/deno/deno-env-actions.js +4 -5
  180. package/esm/deno/deno-env-actions.js.map +1 -1
  181. package/esm/deno/deno-file-service.d.ts +2 -3
  182. package/esm/deno/deno-file-service.d.ts.map +1 -1
  183. package/esm/deno/deno-file-service.js +2 -3
  184. package/esm/deno/deno-file-service.js.map +1 -1
  185. package/esm/deno/deno-sys-abstraction.d.ts +2 -3
  186. package/esm/deno/deno-sys-abstraction.d.ts.map +1 -1
  187. package/esm/deno/deno-sys-abstraction.js +10 -10
  188. package/esm/deno/deno-sys-abstraction.js.map +1 -1
  189. package/esm/deno/index.d.ts +2 -0
  190. package/esm/deno/index.d.ts.map +1 -1
  191. package/esm/deno/index.js +2 -0
  192. package/esm/deno/index.js.map +1 -1
  193. package/esm/index.cjs.d.ts +0 -1
  194. package/esm/index.cjs.d.ts.map +1 -1
  195. package/esm/index.cjs.js +0 -1
  196. package/esm/index.cjs.js.map +1 -1
  197. package/esm/index.d.ts +13 -1
  198. package/esm/index.d.ts.map +1 -1
  199. package/esm/index.js +13 -1
  200. package/esm/index.js.map +1 -1
  201. package/esm/log-level-impl.d.ts +2 -1
  202. package/esm/log-level-impl.d.ts.map +1 -1
  203. package/esm/log-level-impl.js +1 -1
  204. package/esm/log-level-impl.js.map +1 -1
  205. package/esm/logger-impl.d.ts +2 -1
  206. package/esm/logger-impl.d.ts.map +1 -1
  207. package/esm/logger-impl.js +2 -1
  208. package/esm/logger-impl.js.map +1 -1
  209. package/esm/logger.d.ts +1 -16
  210. package/esm/logger.d.ts.map +1 -1
  211. package/esm/logger.js +1 -23
  212. package/esm/logger.js.map +1 -1
  213. package/esm/logger.test.js +5 -3
  214. package/esm/logger.test.js.map +1 -1
  215. package/esm/mutable-url.js +1 -1
  216. package/esm/mutable-url.js.map +1 -1
  217. package/esm/node/index.d.ts +2 -0
  218. package/esm/node/index.d.ts.map +1 -1
  219. package/esm/node/index.js +2 -0
  220. package/esm/node/index.js.map +1 -1
  221. package/esm/node/mock-file-service.d.ts +1 -1
  222. package/esm/node/mock-file-service.d.ts.map +1 -1
  223. package/esm/node/mock-file-service.js +1 -2
  224. package/esm/node/mock-file-service.js.map +1 -1
  225. package/esm/node/mock-file-service.test.js +2 -2
  226. package/esm/node/mock-file-service.test.js.map +1 -1
  227. package/esm/node/node-basic-sys-abstraction.d.ts +4 -6
  228. package/esm/node/node-basic-sys-abstraction.d.ts.map +1 -1
  229. package/esm/node/node-basic-sys-abstraction.js +13 -14
  230. package/esm/node/node-basic-sys-abstraction.js.map +1 -1
  231. package/esm/node/node-env-actions.d.ts +4 -6
  232. package/esm/node/node-env-actions.d.ts.map +1 -1
  233. package/esm/node/node-env-actions.js +6 -7
  234. package/esm/node/node-env-actions.js.map +1 -1
  235. package/esm/node/node-file-service.d.ts +3 -3
  236. package/esm/node/node-file-service.d.ts.map +1 -1
  237. package/esm/node/node-file-service.js +4 -3
  238. package/esm/node/node-file-service.js.map +1 -1
  239. package/esm/node/node-sys-abstraction.d.ts +2 -3
  240. package/esm/node/node-sys-abstraction.d.ts.map +1 -1
  241. package/esm/node/node-sys-abstraction.js +10 -10
  242. package/esm/node/node-sys-abstraction.js.map +1 -1
  243. package/esm/on-func.d.ts +1 -1
  244. package/esm/on-func.d.ts.map +1 -1
  245. package/esm/resolve-once.d.ts +1 -1
  246. package/esm/resolve-once.d.ts.map +1 -1
  247. package/esm/resolve-once.js +5 -1
  248. package/esm/resolve-once.js.map +1 -1
  249. package/esm/resolve-once.test.js +38 -4
  250. package/esm/resolve-once.test.js.map +1 -1
  251. package/esm/result.d.ts +3 -3
  252. package/esm/result.d.ts.map +1 -1
  253. package/esm/result.js.map +1 -1
  254. package/esm/sys-env.d.ts +4 -2
  255. package/esm/sys-env.d.ts.map +1 -1
  256. package/esm/sys-env.js +11 -9
  257. package/esm/sys-env.js.map +1 -1
  258. package/esm/sys-env.test.js +4 -3
  259. package/esm/sys-env.test.js.map +1 -1
  260. package/esm/test/log-write-stream.d.ts +1 -2
  261. package/esm/test/log-write-stream.d.ts.map +1 -1
  262. package/esm/test/log-write-stream.js +1 -3
  263. package/esm/test/log-write-stream.js.map +1 -1
  264. package/esm/test/mock-logger.d.ts +1 -2
  265. package/esm/test/mock-logger.d.ts.map +1 -1
  266. package/esm/test/mock-logger.js +1 -2
  267. package/esm/test/mock-logger.js.map +1 -1
  268. package/esm/test/test-exit-handler.js +9 -2
  269. package/esm/test/test-exit-handler.js.map +1 -1
  270. package/esm/txt-en-decoder.d.ts.map +1 -1
  271. package/esm/txt-en-decoder.js.map +1 -1
  272. package/esm/types.d.ts +29 -0
  273. package/esm/types.d.ts.map +1 -1
  274. package/esm/types.js +24 -0
  275. package/esm/types.js.map +1 -1
  276. package/esm/uri.d.ts +2 -3
  277. package/esm/uri.d.ts.map +1 -1
  278. package/esm/uri.js +3 -4
  279. package/esm/uri.js.map +1 -1
  280. package/esm/utils/coerce-uint8.d.ts +1 -1
  281. package/esm/utils/coerce-uint8.d.ts.map +1 -1
  282. package/esm/utils/coerce-uint8.js +1 -1
  283. package/esm/utils/coerce-uint8.js.map +1 -1
  284. package/esm/utils/consume.js +1 -1
  285. package/esm/utils/consume.js.map +1 -1
  286. package/esm/utils/get-params-result.d.ts +1 -2
  287. package/esm/utils/get-params-result.d.ts.map +1 -1
  288. package/esm/utils/get-params-result.js +1 -2
  289. package/esm/utils/get-params-result.js.map +1 -1
  290. package/esm/utils/rebuffer.test.js +7 -7
  291. package/esm/utils/rebuffer.test.js.map +1 -1
  292. package/esm/utils/stream-map.test.js +8 -8
  293. package/esm/utils/stream-map.test.js.map +1 -1
  294. package/esm/utils/stream2string.test.js +1 -1
  295. package/esm/utils/stream2string.test.js.map +1 -1
  296. package/esm/utils/string2stream.test.js +4 -3
  297. package/esm/utils/string2stream.test.js.map +1 -1
  298. package/esm/version.js +1 -1
  299. package/esm/web/index.d.ts +1 -0
  300. package/esm/web/index.d.ts.map +1 -1
  301. package/esm/web/index.js +1 -0
  302. package/esm/web/index.js.map +1 -1
  303. package/esm/web/web-basic-sys-abstraction.d.ts +2 -3
  304. package/esm/web/web-basic-sys-abstraction.d.ts.map +1 -1
  305. package/esm/web/web-basic-sys-abstraction.js +16 -16
  306. package/esm/web/web-basic-sys-abstraction.js.map +1 -1
  307. package/esm/web/web-env-actions.d.ts +1 -1
  308. package/esm/web/web-env-actions.d.ts.map +1 -1
  309. package/esm/web/web-env-actions.js +3 -3
  310. package/esm/web/web-env-actions.js.map +1 -1
  311. package/package.json +2 -7
  312. package/src/add-cement-do-not-export.ts +27 -0
  313. package/src/base-sys-abstraction.ts +13 -5
  314. package/src/cf/cf-basic-sys-abstraction.ts +22 -15
  315. package/src/cf/cf-env-actions.ts +11 -10
  316. package/src/deno/deno-basic-sys-abstraction.ts +21 -17
  317. package/src/deno/deno-env-actions.ts +8 -9
  318. package/src/deno/deno-file-service.ts +3 -4
  319. package/src/deno/deno-sys-abstraction.ts +17 -18
  320. package/src/deno/index.ts +2 -0
  321. package/src/index.cjs.ts +1 -1
  322. package/src/index.ts +15 -1
  323. package/src/log-level-impl.ts +2 -1
  324. package/src/logger-impl.ts +1 -5
  325. package/src/logger.ts +1 -29
  326. package/src/mutable-url.ts +1 -1
  327. package/src/node/index.ts +2 -0
  328. package/src/node/mock-file-service.ts +2 -3
  329. package/src/node/node-basic-sys-abstraction.ts +23 -15
  330. package/src/node/node-env-actions.ts +12 -52
  331. package/src/node/node-file-service.ts +5 -4
  332. package/src/node/node-sys-abstraction.ts +17 -18
  333. package/src/on-func.ts +1 -1
  334. package/src/resolve-once.ts +7 -5
  335. package/src/result.ts +4 -4
  336. package/src/sys-env.ts +18 -14
  337. package/src/test/log-write-stream.ts +1 -3
  338. package/src/test/mock-logger.ts +1 -4
  339. package/src/txt-en-decoder.ts +1 -1
  340. package/src/types.ts +45 -0
  341. package/src/uri.ts +3 -5
  342. package/src/utils/coerce-uint8.ts +1 -1
  343. package/src/utils/consume.ts +1 -1
  344. package/src/utils/get-params-result.ts +1 -2
  345. package/src/web/index.ts +1 -0
  346. package/src/web/web-basic-sys-abstraction.ts +25 -74
  347. package/src/web/web-env-actions.ts +4 -4
  348. package/ts/cjs/add-cement-do-not-export.d.ts +3 -0
  349. package/ts/cjs/add-cement-do-not-export.d.ts.map +1 -0
  350. package/ts/cjs/add-cement-do-not-export.js +24 -0
  351. package/ts/cjs/add-cement-do-not-export.js.map +1 -0
  352. package/ts/cjs/base-basic-sys-abstraction.test.js +64 -6
  353. package/ts/cjs/base-basic-sys-abstraction.test.js.map +1 -1
  354. package/ts/cjs/base-sys-abstraction.d.ts +3 -0
  355. package/ts/cjs/base-sys-abstraction.d.ts.map +1 -1
  356. package/ts/cjs/base-sys-abstraction.js +6 -5
  357. package/ts/cjs/base-sys-abstraction.js.map +1 -1
  358. package/ts/cjs/cf/cf-basic-sys-abstraction.d.ts +4 -6
  359. package/ts/cjs/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  360. package/ts/cjs/cf/cf-basic-sys-abstraction.js +13 -14
  361. package/ts/cjs/cf/cf-basic-sys-abstraction.js.map +1 -1
  362. package/ts/cjs/cf/cf-env-actions.d.ts +4 -3
  363. package/ts/cjs/cf/cf-env-actions.d.ts.map +1 -1
  364. package/ts/cjs/cf/cf-env-actions.js +8 -7
  365. package/ts/cjs/cf/cf-env-actions.js.map +1 -1
  366. package/ts/cjs/deno/deno-basic-sys-abstraction.d.ts +4 -7
  367. package/ts/cjs/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  368. package/ts/cjs/deno/deno-basic-sys-abstraction.js +13 -16
  369. package/ts/cjs/deno/deno-basic-sys-abstraction.js.map +1 -1
  370. package/ts/cjs/deno/deno-env-actions.d.ts +3 -3
  371. package/ts/cjs/deno/deno-env-actions.d.ts.map +1 -1
  372. package/ts/cjs/deno/deno-env-actions.js +4 -5
  373. package/ts/cjs/deno/deno-env-actions.js.map +1 -1
  374. package/ts/cjs/deno/deno-file-service.d.ts +2 -3
  375. package/ts/cjs/deno/deno-file-service.d.ts.map +1 -1
  376. package/ts/cjs/deno/deno-file-service.js +2 -3
  377. package/ts/cjs/deno/deno-file-service.js.map +1 -1
  378. package/ts/cjs/deno/deno-sys-abstraction.d.ts +2 -3
  379. package/ts/cjs/deno/deno-sys-abstraction.d.ts.map +1 -1
  380. package/ts/cjs/deno/deno-sys-abstraction.js +10 -10
  381. package/ts/cjs/deno/deno-sys-abstraction.js.map +1 -1
  382. package/ts/cjs/deno/index.d.ts +2 -0
  383. package/ts/cjs/deno/index.d.ts.map +1 -1
  384. package/ts/cjs/deno/index.js +2 -0
  385. package/ts/cjs/deno/index.js.map +1 -1
  386. package/ts/cjs/index.cjs.d.ts +0 -1
  387. package/ts/cjs/index.cjs.d.ts.map +1 -1
  388. package/ts/cjs/index.cjs.js +0 -24
  389. package/ts/cjs/index.cjs.js.map +1 -1
  390. package/ts/cjs/index.d.ts +13 -1
  391. package/ts/cjs/index.d.ts.map +1 -1
  392. package/ts/cjs/index.js +13 -24
  393. package/ts/cjs/index.js.map +1 -1
  394. package/ts/cjs/log-level-impl.d.ts +2 -1
  395. package/ts/cjs/log-level-impl.d.ts.map +1 -1
  396. package/ts/cjs/log-level-impl.js +4 -4
  397. package/ts/cjs/log-level-impl.js.map +1 -1
  398. package/ts/cjs/logger-impl.d.ts +2 -1
  399. package/ts/cjs/logger-impl.d.ts.map +1 -1
  400. package/ts/cjs/logger-impl.js +6 -5
  401. package/ts/cjs/logger-impl.js.map +1 -1
  402. package/ts/cjs/logger.d.ts +1 -16
  403. package/ts/cjs/logger.d.ts.map +1 -1
  404. package/ts/cjs/logger.js +17 -41
  405. package/ts/cjs/logger.js.map +1 -1
  406. package/ts/cjs/logger.test.js +4 -2
  407. package/ts/cjs/logger.test.js.map +1 -1
  408. package/ts/cjs/mutable-url.js +7 -7
  409. package/ts/cjs/mutable-url.js.map +1 -1
  410. package/ts/cjs/node/index.d.ts +2 -0
  411. package/ts/cjs/node/index.d.ts.map +1 -1
  412. package/ts/cjs/node/index.js +2 -0
  413. package/ts/cjs/node/index.js.map +1 -1
  414. package/ts/cjs/node/mock-file-service.d.ts +1 -1
  415. package/ts/cjs/node/mock-file-service.d.ts.map +1 -1
  416. package/ts/cjs/node/mock-file-service.js +1 -2
  417. package/ts/cjs/node/mock-file-service.js.map +1 -1
  418. package/ts/cjs/node/mock-file-service.test.js +1 -1
  419. package/ts/cjs/node/mock-file-service.test.js.map +1 -1
  420. package/ts/cjs/node/node-basic-sys-abstraction.d.ts +4 -6
  421. package/ts/cjs/node/node-basic-sys-abstraction.d.ts.map +1 -1
  422. package/ts/cjs/node/node-basic-sys-abstraction.js +13 -14
  423. package/ts/cjs/node/node-basic-sys-abstraction.js.map +1 -1
  424. package/ts/cjs/node/node-env-actions.d.ts +4 -6
  425. package/ts/cjs/node/node-env-actions.d.ts.map +1 -1
  426. package/ts/cjs/node/node-env-actions.js +6 -7
  427. package/ts/cjs/node/node-env-actions.js.map +1 -1
  428. package/ts/cjs/node/node-file-service.d.ts +3 -3
  429. package/ts/cjs/node/node-file-service.d.ts.map +1 -1
  430. package/ts/cjs/node/node-file-service.js +4 -3
  431. package/ts/cjs/node/node-file-service.js.map +1 -1
  432. package/ts/cjs/node/node-sys-abstraction.d.ts +2 -3
  433. package/ts/cjs/node/node-sys-abstraction.d.ts.map +1 -1
  434. package/ts/cjs/node/node-sys-abstraction.js +10 -10
  435. package/ts/cjs/node/node-sys-abstraction.js.map +1 -1
  436. package/ts/cjs/on-func.d.ts +1 -1
  437. package/ts/cjs/on-func.d.ts.map +1 -1
  438. package/ts/cjs/resolve-once.d.ts +1 -1
  439. package/ts/cjs/resolve-once.d.ts.map +1 -1
  440. package/ts/cjs/resolve-once.js +5 -1
  441. package/ts/cjs/resolve-once.js.map +1 -1
  442. package/ts/cjs/resolve-once.test.js +38 -4
  443. package/ts/cjs/resolve-once.test.js.map +1 -1
  444. package/ts/cjs/result.d.ts +3 -3
  445. package/ts/cjs/result.d.ts.map +1 -1
  446. package/ts/cjs/result.js.map +1 -1
  447. package/ts/cjs/sys-env.d.ts +4 -2
  448. package/ts/cjs/sys-env.d.ts.map +1 -1
  449. package/ts/cjs/sys-env.js +15 -13
  450. package/ts/cjs/sys-env.js.map +1 -1
  451. package/ts/cjs/sys-env.test.js +39 -5
  452. package/ts/cjs/sys-env.test.js.map +1 -1
  453. package/ts/cjs/test/log-write-stream.d.ts +1 -2
  454. package/ts/cjs/test/log-write-stream.d.ts.map +1 -1
  455. package/ts/cjs/test/log-write-stream.js +4 -6
  456. package/ts/cjs/test/log-write-stream.js.map +1 -1
  457. package/ts/cjs/test/mock-logger.d.ts +1 -2
  458. package/ts/cjs/test/mock-logger.d.ts.map +1 -1
  459. package/ts/cjs/test/mock-logger.js +3 -4
  460. package/ts/cjs/test/mock-logger.js.map +1 -1
  461. package/ts/cjs/txt-en-decoder.d.ts.map +1 -1
  462. package/ts/cjs/types.d.ts +29 -0
  463. package/ts/cjs/types.d.ts.map +1 -1
  464. package/ts/cjs/types.js +26 -1
  465. package/ts/cjs/types.js.map +1 -1
  466. package/ts/cjs/uri.d.ts +2 -3
  467. package/ts/cjs/uri.d.ts.map +1 -1
  468. package/ts/cjs/uri.js +11 -12
  469. package/ts/cjs/uri.js.map +1 -1
  470. package/ts/cjs/utils/coerce-uint8.d.ts +1 -1
  471. package/ts/cjs/utils/coerce-uint8.d.ts.map +1 -1
  472. package/ts/cjs/utils/coerce-uint8.js +9 -9
  473. package/ts/cjs/utils/coerce-uint8.js.map +1 -1
  474. package/ts/cjs/utils/consume.js +2 -2
  475. package/ts/cjs/utils/consume.js.map +1 -1
  476. package/ts/cjs/utils/get-params-result.d.ts +1 -2
  477. package/ts/cjs/utils/get-params-result.d.ts.map +1 -1
  478. package/ts/cjs/utils/get-params-result.js +4 -5
  479. package/ts/cjs/utils/get-params-result.js.map +1 -1
  480. package/ts/cjs/utils/rebuffer.test.js +7 -7
  481. package/ts/cjs/utils/rebuffer.test.js.map +1 -1
  482. package/ts/cjs/utils/stream-map.test.js +8 -8
  483. package/ts/cjs/utils/stream-map.test.js.map +1 -1
  484. package/ts/cjs/utils/stream2string.test.js +3 -3
  485. package/ts/cjs/utils/stream2string.test.js.map +1 -1
  486. package/ts/cjs/utils/string2stream.test.js +4 -3
  487. package/ts/cjs/utils/string2stream.test.js.map +1 -1
  488. package/ts/cjs/version.js +1 -1
  489. package/ts/cjs/web/index.d.ts +1 -0
  490. package/ts/cjs/web/index.d.ts.map +1 -1
  491. package/ts/cjs/web/index.js +1 -0
  492. package/ts/cjs/web/index.js.map +1 -1
  493. package/ts/cjs/web/web-basic-sys-abstraction.d.ts +2 -3
  494. package/ts/cjs/web/web-basic-sys-abstraction.d.ts.map +1 -1
  495. package/ts/cjs/web/web-basic-sys-abstraction.js +16 -16
  496. package/ts/cjs/web/web-basic-sys-abstraction.js.map +1 -1
  497. package/ts/cjs/web/web-env-actions.d.ts +1 -1
  498. package/ts/cjs/web/web-env-actions.d.ts.map +1 -1
  499. package/ts/cjs/web/web-env-actions.js +3 -3
  500. package/ts/cjs/web/web-env-actions.js.map +1 -1
  501. package/ts/esm/add-cement-do-not-export.d.ts +3 -0
  502. package/ts/esm/add-cement-do-not-export.d.ts.map +1 -0
  503. package/ts/esm/add-cement-do-not-export.js +21 -0
  504. package/ts/esm/add-cement-do-not-export.js.map +1 -0
  505. package/ts/esm/base-basic-sys-abstraction.test.js +31 -6
  506. package/ts/esm/base-basic-sys-abstraction.test.js.map +1 -1
  507. package/ts/esm/base-sys-abstraction.d.ts +3 -0
  508. package/ts/esm/base-sys-abstraction.d.ts.map +1 -1
  509. package/ts/esm/base-sys-abstraction.js +6 -5
  510. package/ts/esm/base-sys-abstraction.js.map +1 -1
  511. package/ts/esm/cf/cf-basic-sys-abstraction.d.ts +4 -6
  512. package/ts/esm/cf/cf-basic-sys-abstraction.d.ts.map +1 -1
  513. package/ts/esm/cf/cf-basic-sys-abstraction.js +13 -14
  514. package/ts/esm/cf/cf-basic-sys-abstraction.js.map +1 -1
  515. package/ts/esm/cf/cf-env-actions.d.ts +4 -3
  516. package/ts/esm/cf/cf-env-actions.d.ts.map +1 -1
  517. package/ts/esm/cf/cf-env-actions.js +8 -7
  518. package/ts/esm/cf/cf-env-actions.js.map +1 -1
  519. package/ts/esm/deno/deno-basic-sys-abstraction.d.ts +4 -7
  520. package/ts/esm/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
  521. package/ts/esm/deno/deno-basic-sys-abstraction.js +13 -16
  522. package/ts/esm/deno/deno-basic-sys-abstraction.js.map +1 -1
  523. package/ts/esm/deno/deno-env-actions.d.ts +3 -3
  524. package/ts/esm/deno/deno-env-actions.d.ts.map +1 -1
  525. package/ts/esm/deno/deno-env-actions.js +4 -5
  526. package/ts/esm/deno/deno-env-actions.js.map +1 -1
  527. package/ts/esm/deno/deno-file-service.d.ts +2 -3
  528. package/ts/esm/deno/deno-file-service.d.ts.map +1 -1
  529. package/ts/esm/deno/deno-file-service.js +2 -3
  530. package/ts/esm/deno/deno-file-service.js.map +1 -1
  531. package/ts/esm/deno/deno-sys-abstraction.d.ts +2 -3
  532. package/ts/esm/deno/deno-sys-abstraction.d.ts.map +1 -1
  533. package/ts/esm/deno/deno-sys-abstraction.js +10 -10
  534. package/ts/esm/deno/deno-sys-abstraction.js.map +1 -1
  535. package/ts/esm/deno/index.d.ts +2 -0
  536. package/ts/esm/deno/index.d.ts.map +1 -1
  537. package/ts/esm/deno/index.js +2 -0
  538. package/ts/esm/deno/index.js.map +1 -1
  539. package/ts/esm/index.cjs.d.ts +0 -1
  540. package/ts/esm/index.cjs.d.ts.map +1 -1
  541. package/ts/esm/index.cjs.js +0 -1
  542. package/ts/esm/index.cjs.js.map +1 -1
  543. package/ts/esm/index.d.ts +13 -1
  544. package/ts/esm/index.d.ts.map +1 -1
  545. package/ts/esm/index.js +13 -1
  546. package/ts/esm/index.js.map +1 -1
  547. package/ts/esm/log-level-impl.d.ts +2 -1
  548. package/ts/esm/log-level-impl.d.ts.map +1 -1
  549. package/ts/esm/log-level-impl.js +1 -1
  550. package/ts/esm/log-level-impl.js.map +1 -1
  551. package/ts/esm/logger-impl.d.ts +2 -1
  552. package/ts/esm/logger-impl.d.ts.map +1 -1
  553. package/ts/esm/logger-impl.js +2 -1
  554. package/ts/esm/logger-impl.js.map +1 -1
  555. package/ts/esm/logger.d.ts +1 -16
  556. package/ts/esm/logger.d.ts.map +1 -1
  557. package/ts/esm/logger.js +1 -23
  558. package/ts/esm/logger.js.map +1 -1
  559. package/ts/esm/logger.test.js +5 -3
  560. package/ts/esm/logger.test.js.map +1 -1
  561. package/ts/esm/mutable-url.js +1 -1
  562. package/ts/esm/mutable-url.js.map +1 -1
  563. package/ts/esm/node/index.d.ts +2 -0
  564. package/ts/esm/node/index.d.ts.map +1 -1
  565. package/ts/esm/node/index.js +2 -0
  566. package/ts/esm/node/index.js.map +1 -1
  567. package/ts/esm/node/mock-file-service.d.ts +1 -1
  568. package/ts/esm/node/mock-file-service.d.ts.map +1 -1
  569. package/ts/esm/node/mock-file-service.js +1 -2
  570. package/ts/esm/node/mock-file-service.js.map +1 -1
  571. package/ts/esm/node/mock-file-service.test.js +2 -2
  572. package/ts/esm/node/mock-file-service.test.js.map +1 -1
  573. package/ts/esm/node/node-basic-sys-abstraction.d.ts +4 -6
  574. package/ts/esm/node/node-basic-sys-abstraction.d.ts.map +1 -1
  575. package/ts/esm/node/node-basic-sys-abstraction.js +13 -14
  576. package/ts/esm/node/node-basic-sys-abstraction.js.map +1 -1
  577. package/ts/esm/node/node-env-actions.d.ts +4 -6
  578. package/ts/esm/node/node-env-actions.d.ts.map +1 -1
  579. package/ts/esm/node/node-env-actions.js +6 -7
  580. package/ts/esm/node/node-env-actions.js.map +1 -1
  581. package/ts/esm/node/node-file-service.d.ts +3 -3
  582. package/ts/esm/node/node-file-service.d.ts.map +1 -1
  583. package/ts/esm/node/node-file-service.js +4 -3
  584. package/ts/esm/node/node-file-service.js.map +1 -1
  585. package/ts/esm/node/node-sys-abstraction.d.ts +2 -3
  586. package/ts/esm/node/node-sys-abstraction.d.ts.map +1 -1
  587. package/ts/esm/node/node-sys-abstraction.js +10 -10
  588. package/ts/esm/node/node-sys-abstraction.js.map +1 -1
  589. package/ts/esm/on-func.d.ts +1 -1
  590. package/ts/esm/on-func.d.ts.map +1 -1
  591. package/ts/esm/resolve-once.d.ts +1 -1
  592. package/ts/esm/resolve-once.d.ts.map +1 -1
  593. package/ts/esm/resolve-once.js +5 -1
  594. package/ts/esm/resolve-once.js.map +1 -1
  595. package/ts/esm/resolve-once.test.js +38 -4
  596. package/ts/esm/resolve-once.test.js.map +1 -1
  597. package/ts/esm/result.d.ts +3 -3
  598. package/ts/esm/result.d.ts.map +1 -1
  599. package/ts/esm/result.js.map +1 -1
  600. package/ts/esm/sys-env.d.ts +4 -2
  601. package/ts/esm/sys-env.d.ts.map +1 -1
  602. package/ts/esm/sys-env.js +11 -9
  603. package/ts/esm/sys-env.js.map +1 -1
  604. package/ts/esm/sys-env.test.js +4 -3
  605. package/ts/esm/sys-env.test.js.map +1 -1
  606. package/ts/esm/test/log-write-stream.d.ts +1 -2
  607. package/ts/esm/test/log-write-stream.d.ts.map +1 -1
  608. package/ts/esm/test/log-write-stream.js +1 -3
  609. package/ts/esm/test/log-write-stream.js.map +1 -1
  610. package/ts/esm/test/mock-logger.d.ts +1 -2
  611. package/ts/esm/test/mock-logger.d.ts.map +1 -1
  612. package/ts/esm/test/mock-logger.js +1 -2
  613. package/ts/esm/test/mock-logger.js.map +1 -1
  614. package/ts/esm/test/test-exit-handler.js +9 -2
  615. package/ts/esm/test/test-exit-handler.js.map +1 -1
  616. package/ts/esm/txt-en-decoder.d.ts.map +1 -1
  617. package/ts/esm/txt-en-decoder.js.map +1 -1
  618. package/ts/esm/types.d.ts +29 -0
  619. package/ts/esm/types.d.ts.map +1 -1
  620. package/ts/esm/types.js +24 -0
  621. package/ts/esm/types.js.map +1 -1
  622. package/ts/esm/uri.d.ts +2 -3
  623. package/ts/esm/uri.d.ts.map +1 -1
  624. package/ts/esm/uri.js +3 -4
  625. package/ts/esm/uri.js.map +1 -1
  626. package/ts/esm/utils/coerce-uint8.d.ts +1 -1
  627. package/ts/esm/utils/coerce-uint8.d.ts.map +1 -1
  628. package/ts/esm/utils/coerce-uint8.js +1 -1
  629. package/ts/esm/utils/coerce-uint8.js.map +1 -1
  630. package/ts/esm/utils/consume.js +1 -1
  631. package/ts/esm/utils/consume.js.map +1 -1
  632. package/ts/esm/utils/get-params-result.d.ts +1 -2
  633. package/ts/esm/utils/get-params-result.d.ts.map +1 -1
  634. package/ts/esm/utils/get-params-result.js +1 -2
  635. package/ts/esm/utils/get-params-result.js.map +1 -1
  636. package/ts/esm/utils/rebuffer.test.js +7 -7
  637. package/ts/esm/utils/rebuffer.test.js.map +1 -1
  638. package/ts/esm/utils/stream-map.test.js +8 -8
  639. package/ts/esm/utils/stream-map.test.js.map +1 -1
  640. package/ts/esm/utils/stream2string.test.js +1 -1
  641. package/ts/esm/utils/stream2string.test.js.map +1 -1
  642. package/ts/esm/utils/string2stream.test.js +4 -3
  643. package/ts/esm/utils/string2stream.test.js.map +1 -1
  644. package/ts/esm/version.js +1 -1
  645. package/ts/esm/web/index.d.ts +1 -0
  646. package/ts/esm/web/index.d.ts.map +1 -1
  647. package/ts/esm/web/index.js +1 -0
  648. package/ts/esm/web/index.js.map +1 -1
  649. package/ts/esm/web/web-basic-sys-abstraction.d.ts +2 -3
  650. package/ts/esm/web/web-basic-sys-abstraction.d.ts.map +1 -1
  651. package/ts/esm/web/web-basic-sys-abstraction.js +16 -16
  652. package/ts/esm/web/web-basic-sys-abstraction.js.map +1 -1
  653. package/ts/esm/web/web-env-actions.d.ts +1 -1
  654. package/ts/esm/web/web-env-actions.d.ts.map +1 -1
  655. package/ts/esm/web/web-env-actions.js +3 -3
  656. package/ts/esm/web/web-env-actions.js.map +1 -1
  657. package/cjs/utils/index.cjs +0 -30
  658. package/cjs/utils/index.cjs.map +0 -1
  659. package/cjs/utils/index.d.ts +0 -14
  660. package/cjs/utils/index.d.ts.map +0 -1
  661. package/esm/utils/index.d.ts +0 -14
  662. package/esm/utils/index.d.ts.map +0 -1
  663. package/esm/utils/index.js +0 -14
  664. package/esm/utils/index.js.map +0 -1
  665. package/src/utils/index.ts +0 -13
  666. package/ts/cjs/utils/index.d.ts +0 -14
  667. package/ts/cjs/utils/index.d.ts.map +0 -1
  668. package/ts/cjs/utils/index.js +0 -30
  669. package/ts/cjs/utils/index.js.map +0 -1
  670. package/ts/esm/utils/index.d.ts +0 -14
  671. package/ts/esm/utils/index.d.ts.map +0 -1
  672. package/ts/esm/utils/index.js +0 -14
  673. package/ts/esm/utils/index.js.map +0 -1
@@ -1,6 +1,4 @@
1
- import { ResolveOnce } from "../resolve-once.js";
2
- import { runtimeFn } from "../runtime.js";
3
- import { Env, EnvActions, EnvFactoryOpts } from "../sys-env.js";
1
+ import type { Env, EnvActions, EnvFactoryOpts, WithCement } from "@adviser/cement";
4
2
 
5
3
  // export interface ImportMetaEnv {
6
4
  // import?: {
@@ -9,57 +7,22 @@ import { Env, EnvActions, EnvFactoryOpts } from "../sys-env.js";
9
7
  // };
10
8
  // };
11
9
  // }
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
- // }
23
- readonly #node = globalThis as unknown as { process: { env: Record<string, string> } };
24
- // readonly #importMetaEnv = globalThis as unknown as ImportMetaEnv;
25
10
 
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
- // }
11
+ let once: NodeEnvActions | undefined = undefined;
42
12
 
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
- // }
13
+ export class NodeEnvActions implements EnvActions {
14
+ readonly #node = globalThis as unknown as { process: { env: Record<string, string> } };
15
+ readonly _env: Record<string, string>;
55
16
 
56
- static new(opts: Partial<EnvFactoryOpts>): EnvActions {
57
- return NodeEnvActions.once.once(() => new NodeEnvActions(opts));
17
+ static new(opts: WithCement<Partial<EnvFactoryOpts>>): EnvActions {
18
+ once = once ?? new NodeEnvActions(opts);
19
+ return once;
58
20
  }
59
21
 
60
- readonly opts: Partial<EnvFactoryOpts>;
61
- private constructor(opts: Partial<EnvFactoryOpts>) {
22
+ readonly opts: WithCement<Partial<EnvFactoryOpts>>;
23
+ private constructor(opts: WithCement<Partial<EnvFactoryOpts>>) {
62
24
  this.opts = opts;
25
+ this._env = this.active() ? this.#node.process.env : {};
63
26
  }
64
27
 
65
28
  register(env: Env): Env {
@@ -70,10 +33,8 @@ export class NodeEnvActions implements EnvActions {
70
33
  }
71
34
 
72
35
  active(): boolean {
73
- return runtimeFn().isNodeIsh;
74
- // typeof this.#node === "object" && typeof this.#node.process === "object" && typeof this.#node.process.env === "object";
36
+ return this.opts.cement.runtimeFn().isNodeIsh;
75
37
  }
76
- readonly _env: Record<string, string> = this.active() ? this.#node.process.env : {};
77
38
  keys(): string[] {
78
39
  return Object.keys(this._env);
79
40
  }
@@ -83,7 +44,6 @@ export class NodeEnvActions implements EnvActions {
83
44
  set(key: string, value?: string): void {
84
45
  if (value) {
85
46
  this._env[key] = value;
86
- // this.#node.process.env[key] = value; // also set in process.env
87
47
  }
88
48
  }
89
49
  delete(key: string): void {
@@ -1,13 +1,14 @@
1
1
  import path from "node:path";
2
2
  import fs from "node:fs";
3
3
  import process from "node:process";
4
- import { FileService, NamedWritableStream } from "../file-service.js";
5
- import { TxtEnDecoder, TxtEnDecoderSingleton } from "../txt-en-decoder.js";
4
+ import type { FileService, NamedWritableStream, TxtEnDecoder } from "@adviser/cement";
6
5
 
7
6
  export class NodeFileService implements FileService {
8
7
  readonly baseDir: string;
9
- constructor(baseDir: string = process.cwd()) {
8
+ readonly defTxtEnde: TxtEnDecoder;
9
+ constructor(defTxtEncode: TxtEnDecoder, baseDir: string = process.cwd()) {
10
10
  this.baseDir = this.abs(baseDir);
11
+ this.defTxtEnde = defTxtEncode;
11
12
  }
12
13
 
13
14
  // nodeImport(fname: string): string {
@@ -57,7 +58,7 @@ export class NodeFileService implements FileService {
57
58
  return path.isAbsolute(fname);
58
59
  }
59
60
 
60
- async writeFileString(fname: string, content: string, ende: TxtEnDecoder = TxtEnDecoderSingleton()): Promise<void> {
61
+ async writeFileString(fname: string, content: string, ende: TxtEnDecoder = this.defTxtEnde): Promise<void> {
61
62
  const o = await this.create(fname);
62
63
  const wr = o.stream.getWriter();
63
64
  await wr.write(ende.encode(content));
@@ -1,15 +1,14 @@
1
- import { RuntimeSysAbstraction, SystemService, VoidFunc } from "../sys-abstraction.js";
2
- import {
1
+ import type {
2
+ RuntimeSysAbstraction,
3
+ SystemService,
4
+ VoidFunc,
3
5
  BaseSysAbstraction,
4
6
  ExitHandler,
5
7
  ExitService,
6
- WrapperBasicSysAbstractionParams,
7
- WrapperRuntimeSysAbstraction,
8
- } from "../base-sys-abstraction.js";
8
+ WithCementWrapperSysAbstractionParams,
9
+ } from "@adviser/cement";
9
10
  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";
13
12
  import { NodeBasicSysAbstraction } from "./node-basic-sys-abstraction.js";
14
13
 
15
14
  export class NodeExitServiceImpl implements ExitService {
@@ -101,17 +100,17 @@ export class NodeSystemService implements SystemService {
101
100
  }
102
101
  }
103
102
 
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, {
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, {
115
114
  basicRuntimeService: NodeBasicSysAbstraction(param),
116
115
  ...param,
117
116
  });
package/src/on-func.ts CHANGED
@@ -56,7 +56,7 @@ export const OnFuncReturn: {
56
56
  export type OnFuncReturn = (typeof OnFuncReturn)[keyof typeof OnFuncReturn];
57
57
 
58
58
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
- interface ReturnOnFunc<Args extends any[], X = unknown> {
59
+ export interface ReturnOnFunc<Args extends any[], X = unknown> {
60
60
  (fn: (...a: Args) => OnFuncReturn | X): () => unknown; // returns unregister function
61
61
  invoke(...a: Args): void;
62
62
  invokeAsync(...a: Args): Promise<void>;
@@ -15,8 +15,7 @@
15
15
  */
16
16
 
17
17
  import { Future } from "./future.js";
18
- import { UnPromisify } from "./is-promise.js";
19
- import { isPromise } from "./is-promise.js";
18
+ import { UnPromisify, isPromise } from "./is-promise.js";
20
19
  import { UnregFn } from "./lru-map-set.js";
21
20
  import { Result } from "./result.js";
22
21
  import { Option } from "./option.js";
@@ -635,14 +634,17 @@ export class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
635
634
  // this.#state = value;
636
635
  // }
637
636
 
638
- once<R>(fn: (c: CTX) => R): ResultOnce<R> {
637
+ once<R>(fn: (c: CTX, prev?: T) => R): ResultOnce<R> {
639
638
  let resultFn: (ctx: CTX) => R;
640
639
  if (this.#state.isInitial()) {
641
640
  const state = this.#state;
642
641
  try {
643
642
  state.setProcessing();
644
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
645
- const isSyncOrAsync = fn(this._ctx ?? ({} as CTX)) as R;
643
+ let prev: T | undefined = undefined;
644
+ if (this.#syncOrAsync.IsSome()) {
645
+ prev = this.#syncOrAsync.Unwrap().value as T;
646
+ }
647
+ const isSyncOrAsync = fn(this._ctx ?? ({} as CTX), prev);
646
648
  if (isPromise(isSyncOrAsync)) {
647
649
  this.#syncOrAsync = Option.Some(new AsyncResolveOnce<T, CTX>(this, state, this.#syncOrAsync));
648
650
  } else {
package/src/result.ts CHANGED
@@ -28,8 +28,8 @@ import { isPromise } from "./is-promise.js";
28
28
  * ```
29
29
  */
30
30
  export abstract class Result<T, E = Error> {
31
- static Ok<T = void>(...args: T[]): Result<T, Error> {
32
- return args.length >= 1 ? new ResultOK<T>(args[0]) : new ResultOK<T>(undefined as unknown as T);
31
+ static Ok<T = void, E = Error>(...args: T[]): Result<T, E> {
32
+ return args.length >= 1 ? new ResultOK<T, E>(args[0]) : new ResultOK<T, E>(undefined as unknown as T);
33
33
  }
34
34
  static Err<T, E extends Error = Error>(t: E | string | Result<unknown, E>): Result<T, E> {
35
35
  if (typeof t === "string") {
@@ -77,7 +77,7 @@ export abstract class Result<T, E = Error> {
77
77
  abstract unwrap_err(): E;
78
78
  }
79
79
 
80
- export class ResultOK<T> extends Result<T, Error> {
80
+ export class ResultOK<T, E = unknown> extends Result<T, E> {
81
81
  private _t: T;
82
82
  constructor(t: T) {
83
83
  super();
@@ -89,7 +89,7 @@ export class ResultOK<T> extends Result<T, Error> {
89
89
  is_err(): boolean {
90
90
  return false;
91
91
  }
92
- unwrap_err(): Error {
92
+ unwrap_err(): E {
93
93
  throw new Error("Result is Ok");
94
94
  }
95
95
  unwrap(): T {
package/src/sys-env.ts CHANGED
@@ -1,11 +1,13 @@
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";
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";
5
5
  import { KeyedResolvOnce } from "./resolve-once.js";
6
6
  import { Result } from "./result.js";
7
- import { getParamsResult, KeysParam } from "./utils/get-params-result.js";
8
7
  import { wrapImportMetaEnv, ImportMetaEnv } from "@adviser/cement/import-meta-env";
8
+ 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";
9
11
 
10
12
  export type EnvTuple = ([string, string] | [string, string][] | Record<string, string> | Iterator<[string, string]>)[];
11
13
 
@@ -40,13 +42,13 @@ export interface Env extends EnvMap {
40
42
  sets(...keys: EnvTuple): void;
41
43
  }
42
44
 
43
- export type EnvFactoryFn = (opts: Partial<EnvFactoryOpts>) => EnvActions;
45
+ export type EnvFactoryFn = (opts: WithCement<Partial<EnvFactoryOpts>>) => EnvActions;
44
46
 
45
47
  const envActions: { id: string; fn: EnvFactoryFn }[] = [
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) },
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) },
50
52
  ];
51
53
 
52
54
  /**
@@ -120,14 +122,16 @@ const _envFactories = new KeyedResolvOnce<Env>();
120
122
  * }, 'API_KEY'); // Optional: filter by specific keys
121
123
  * ```
122
124
  */
125
+ export type EnvFactory = (opts?: Partial<EnvFactoryOpts>) => Env;
123
126
  export function envFactory(opts: Partial<EnvFactoryOpts> = {}): Env {
124
- const found = envActions.find((fi) => fi.fn(opts).active());
127
+ const withCement = addCement(opts);
128
+ const found = envActions.find((fi) => fi.fn(withCement).active());
125
129
  if (!found) {
126
130
  throw new Error("SysContainer:envFactory: no env available");
127
131
  }
128
132
  const res = _envFactories.get(opts.id ?? found.id).once(() => {
129
- const action = wrapImportMetaEnv(found.fn(opts));
130
- const ret = new EnvImpl(action, opts);
133
+ const action = wrapImportMetaEnv(found.fn(withCement));
134
+ const ret = new EnvImpl(action, withCement);
131
135
  action.register(ret);
132
136
  return ret;
133
137
  });
@@ -152,7 +156,7 @@ function isIterable(obj: unknown): obj is Iterable<[string, string]> {
152
156
 
153
157
  export class EnvImpl implements Env {
154
158
  readonly _map: EnvMap;
155
- constructor(map: EnvMap, opts: Partial<EnvFactoryOpts> = {}) {
159
+ constructor(map: EnvMap, opts: Partial<EnvFactoryOpts>) {
156
160
  this._map = map;
157
161
  this._updatePresets(opts.presetEnv);
158
162
  }
@@ -1,6 +1,4 @@
1
- import { FanoutWriteStream } from "../utils/fanout-write-stream.js";
2
- import { Future } from "../future.js";
3
- import { TxtEnDecoder, TxtEnDecoderSingleton } from "../txt-en-decoder.js";
1
+ import { FanoutWriteStream, Future, type TxtEnDecoder, TxtEnDecoderSingleton } from "@adviser/cement";
4
2
 
5
3
  export class LogWriteStream implements WritableStreamDefaultWriter<Uint8Array> {
6
4
  private readonly _bufferArr: Uint8Array[];
@@ -1,8 +1,5 @@
1
- import { LevelHandlerImpl } from "../log-level-impl.js";
2
- import { Logger } from "../logger.js";
3
- import { LoggerImpl } from "../logger-impl.js";
1
+ import { LevelHandlerImpl, type Logger, LoggerImpl, type BasicSysAbstraction } from "@adviser/cement";
4
2
  import { LogCollector } from "./log-write-stream.js";
5
- import { BasicSysAbstraction } from "../sys-abstraction.js";
6
3
 
7
4
  export interface MockLoggerReturn {
8
5
  readonly logger: Logger;
@@ -1,6 +1,6 @@
1
1
  import { Lazy } from "./resolve-once.js";
2
2
  import { Result } from "./result.js";
3
- import { coerceIntoUint8, ToUInt8 } from "./utils/coerce-uint8.js";
3
+ import { ToUInt8, coerceIntoUint8 } 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,3 +17,48 @@ 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 { getParamsResult, KeysParam } from "./utils/get-params-result.js";
4
- import { relativePath } from "./utils/relative-path.js";
5
- import { StripCommand, stripper } from "./utils/stripper.js";
6
3
  import { ReadonlyURL, URLSearchParamsEntries, WritableURL } from "./mutable-url.js";
7
4
  import { KeyedResolvOnce } from "./resolve-once.js";
5
+ import { KeysParam, getParamsResult, hasHostPartProtocols } from "./index.js";
6
+ import { relativePath } from "./utils/relative-path.js";
7
+ import { StripCommand, stripper } from "./utils/stripper.js";
8
8
  // import { param } from "./types.js";
9
9
 
10
10
  type NullOrUndef = null | undefined;
@@ -528,8 +528,6 @@ 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
-
533
531
  const uriInstances = new KeyedResolvOnce<URI>({
534
532
  lru: { maxEntries: 1000 },
535
533
  });
@@ -1,4 +1,4 @@
1
- import { Result } from "../result.js";
1
+ import { Result } from "@adviser/cement";
2
2
 
3
3
  // Tested in txt-en-decoder.test.ts
4
4
 
@@ -1,4 +1,4 @@
1
- import { isPromise } from "../is-promise.js";
1
+ import { isPromise } from "@adviser/cement";
2
2
 
3
3
  /**
4
4
  * Consumes a ReadableStream, applying a callback to each chunk and collecting results.
@@ -1,5 +1,4 @@
1
- import { Result } from "../result.js";
2
- import { param } from "../types.js";
1
+ import { Result, param } from "@adviser/cement";
3
2
 
4
3
  export type MsgFn = (...keys: string[]) => string;
5
4
  export type KeysParam = (string | MsgFn | Record<string, param | number | string | boolean | undefined | null>)[];
package/src/web/index.ts CHANGED
@@ -1 +1,2 @@
1
+ export * from "./web-env-actions.js";
1
2
  export * from "./web-basic-sys-abstraction.js";
@@ -1,80 +1,30 @@
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";
6
- import { ConsoleWriterStream } from "../utils/console-write-stream.js";
7
-
8
- // export class WebFileService implements FileService {
9
- // get baseDir(): string {
10
- // throw new Error("basedir-Method not implemented.");
11
- // }
12
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
- // create(fname: string): Promise<NamedWritableStream> {
14
- // throw new Error("create-Method not implemented.");
15
- // }
16
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
- // readFileString(fname: string): Promise<string> {
18
- // throw new Error("readFileString-Method not implemented.");
19
- // }
20
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
- // writeFileString(fname: string, content: string): Promise<void> {
22
- // throw new Error("writeFileString-Method not implemented.");
23
- // }
24
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
- // abs(fname: string): string {
26
- // throw new Error("abs-Method not implemented.");
27
- // }
28
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
- // join(...paths: string[]): string {
30
- // throw new Error("join-Method not implemented.");
31
- // }
32
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
- // relative(from: string, to?: string): string {
34
- // throw new Error("relative-Method not implemented.");
35
- // }
36
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
37
- // dirname(fname: string): string {
38
- // throw new Error("dirname-Method not implemented.");
39
- // }
40
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
41
- // basename(fname: string): string {
42
- // throw new Error("basename-Method not implemented.");
43
- // }
44
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
- // nodeImport(fname: string): string {
46
- // throw new Error("nodeImport-Method not implemented.");
47
- // }
48
- // // eslint-disable-next-line @typescript-eslint/no-unused-vars
49
- // isAbsolute(fname: string): boolean {
50
- // throw new Error("isAbsolute-Method not implemented.");
51
- // }
52
- // }
1
+ import type {
2
+ WithCementWrapperSysAbstractionParams,
3
+ BasicRuntimeService,
4
+ BaseBasicSysAbstraction,
5
+ TxtEnDecoder,
6
+ EnvFactory,
7
+ Env,
8
+ BasicSysAbstraction,
9
+ } from "@adviser/cement";
53
10
 
54
11
  class WebSystemService implements BasicRuntimeService {
55
12
  readonly _txtEnDe: TxtEnDecoder;
56
- constructor(ende: TxtEnDecoder) {
13
+ readonly _envFactory: EnvFactory;
14
+ readonly _stdoutFactory: () => WritableStream<Uint8Array>;
15
+ constructor(ende: TxtEnDecoder, envFactory: EnvFactory, stdoutFactory: () => WritableStream<Uint8Array>) {
57
16
  this._txtEnDe = ende;
17
+ this._envFactory = envFactory;
18
+ this._stdoutFactory = stdoutFactory;
58
19
  }
59
20
  Env(): Env {
60
- return envFactory();
21
+ return this._envFactory();
61
22
  }
62
23
  Args(): string[] {
63
24
  throw new Error("Args-Method not implemented.");
64
25
  }
65
26
  Stdout(): WritableStream<Uint8Array> {
66
- return new ConsoleWriterStream();
67
- // const decoder = this._txtEnDe;
68
- // return new WritableStream({
69
- // write(chunk): Promise<void> {
70
- // return new Promise((resolve) => {
71
- // const decoded = decoder.decode(chunk);
72
- // // eslint-disable-next-line no-console
73
- // console.log(decoded.trimEnd());
74
- // resolve();
75
- // });
76
- // },
77
- // });
27
+ return this._stdoutFactory();
78
28
  }
79
29
  Stderr(): WritableStream<Uint8Array> {
80
30
  const decoder = this._txtEnDe;
@@ -91,15 +41,16 @@ class WebSystemService implements BasicRuntimeService {
91
41
  }
92
42
  }
93
43
 
94
- const baseSysAbstraction = new ResolveOnce<BaseBasicSysAbstraction>();
95
- export function WebBasicSysAbstraction(param?: WrapperBasicSysAbstractionParams): BasicSysAbstraction {
96
- const my = baseSysAbstraction.once(() => {
97
- return new BaseBasicSysAbstraction({
98
- TxtEnDecoder: param?.TxtEnDecoder || TxtEnDecoderSingleton(),
44
+ let baseBasicSysAbstraction: BaseBasicSysAbstraction | undefined = undefined;
45
+ export function WebBasicSysAbstraction(param: WithCementWrapperSysAbstractionParams): BasicSysAbstraction {
46
+ const ende = param.TxtEnDecoder ?? param.cement.TxtEnDecoderSingleton();
47
+ baseBasicSysAbstraction =
48
+ baseBasicSysAbstraction ??
49
+ new param.cement.BaseBasicSysAbstraction({
50
+ TxtEnDecoder: ende,
99
51
  });
100
- });
101
- return new WrapperBasicSysAbstraction(my, {
102
- basicRuntimeService: new WebSystemService(param?.TxtEnDecoder ?? my._txtEnDe),
52
+ return new param.cement.WrapperBasicSysAbstraction(baseBasicSysAbstraction, {
53
+ basicRuntimeService: new WebSystemService(ende, param.cement.envFactory, () => new param.cement.ConsoleWriterStream()),
103
54
  ...param,
104
55
  });
105
56
  }
@@ -1,13 +1,13 @@
1
- import { ResolveOnce } from "../resolve-once.js";
2
- import { EnvActions, EnvFactoryOpts, Env } from "../sys-env.js";
1
+ import type { EnvActions, EnvFactoryOpts, Env } from "@adviser/cement";
3
2
 
4
- const once = new ResolveOnce<BrowserEnvActions>();
3
+ let once: BrowserEnvActions | undefined = undefined;
5
4
  export class BrowserEnvActions implements EnvActions {
6
5
  readonly env: Map<string, string> = new Map<string, string>();
7
6
  readonly opts: Partial<EnvFactoryOpts>;
8
7
 
9
8
  static new(opts: Partial<EnvFactoryOpts>): EnvActions {
10
- return once.once(() => new BrowserEnvActions(opts));
9
+ once = once ?? new BrowserEnvActions(opts);
10
+ return once;
11
11
  }
12
12
 
13
13
  private constructor(opts: Partial<EnvFactoryOpts>) {
@@ -0,0 +1,3 @@
1
+ import { WithCement } from "./types.js";
2
+ export declare function addCement<T>(params: T): WithCement<T>;
3
+ //# sourceMappingURL=add-cement-do-not-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-cement-do-not-export.d.ts","sourceRoot":"","sources":["../../../src/add-cement-do-not-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAYxC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAcrD"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addCement = addCement;
4
+ const runtime_js_1 = require("./runtime.js");
5
+ const base_sys_abstraction_js_1 = require("./base-sys-abstraction.js");
6
+ const txt_en_decoder_js_1 = require("./txt-en-decoder.js");
7
+ const console_write_stream_js_1 = require("./utils/console-write-stream.js");
8
+ const sys_env_js_1 = require("./sys-env.js");
9
+ function addCement(params) {
10
+ return {
11
+ cement: {
12
+ runtimeFn: runtime_js_1.runtimeFn,
13
+ WrapperBasicSysAbstraction: base_sys_abstraction_js_1.WrapperBasicSysAbstraction,
14
+ WrapperRuntimeSysAbstraction: base_sys_abstraction_js_1.WrapperRuntimeSysAbstraction,
15
+ TxtEnDecoderSingleton: txt_en_decoder_js_1.TxtEnDecoderSingleton,
16
+ ConsoleWriterStream: console_write_stream_js_1.ConsoleWriterStream,
17
+ envFactory: sys_env_js_1.envFactory,
18
+ BaseBasicSysAbstraction: base_sys_abstraction_js_1.BaseBasicSysAbstraction,
19
+ BaseSysAbstraction: base_sys_abstraction_js_1.BaseSysAbstraction,
20
+ },
21
+ ...params,
22
+ };
23
+ }
24
+ //# sourceMappingURL=add-cement-do-not-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-cement-do-not-export.js","sourceRoot":"","sources":["../../../src/add-cement-do-not-export.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AACzC,uEAKmC;AACnC,2DAA4D;AAC5D,6EAAsE;AACtE,6CAA0C;AAE1C,mBAA6B,MAAS,EAAiB;IACrD,OAAO;QACL,MAAM,EAAE;YACN,SAAS,EAAT,sBAAS;YACT,0BAA0B,EAA1B,oDAA0B;YAC1B,4BAA4B,EAA5B,sDAA4B;YAC5B,qBAAqB,EAArB,yCAAqB;YACrB,mBAAmB,EAAnB,6CAAmB;YACnB,UAAU,EAAV,uBAAU;YACV,uBAAuB,EAAvB,iDAAuB;YACvB,kBAAkB,EAAlB,4CAAkB;SACnB;QACD,GAAG,MAAM;KACV,CAAC;AAAA,CACH"}