@adviser/cement 0.4.6 → 0.4.8

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 (505) hide show
  1. package/base-basic-sys-abstraction.test.d.ts +2 -0
  2. package/base-basic-sys-abstraction.test.d.ts.map +1 -0
  3. package/base-basic-sys-abstraction.test.js +88 -0
  4. package/base-basic-sys-abstraction.test.js.map +1 -0
  5. package/{base-sys-abstraction-h0dB3nZ5.d.ts → base-sys-abstraction.d.ts} +23 -22
  6. package/base-sys-abstraction.d.ts.map +1 -0
  7. package/base-sys-abstraction.js +193 -0
  8. package/base-sys-abstraction.js.map +1 -0
  9. package/bin2text.d.ts +3 -0
  10. package/bin2text.d.ts.map +1 -0
  11. package/bin2text.js +43 -0
  12. package/bin2text.js.map +1 -0
  13. package/bin2text.test.d.ts +2 -0
  14. package/bin2text.test.d.ts.map +1 -0
  15. package/bin2text.test.js +51 -0
  16. package/bin2text.test.js.map +1 -0
  17. package/cf/cf-basic-sys-abstraction.d.ts +14 -0
  18. package/cf/cf-basic-sys-abstraction.d.ts.map +1 -0
  19. package/cf/cf-basic-sys-abstraction.js +67 -0
  20. package/cf/cf-basic-sys-abstraction.js.map +1 -0
  21. package/cf/cf-env-actions.d.ts +16 -0
  22. package/cf/cf-env-actions.d.ts.map +1 -0
  23. package/cf/cf-env-actions.js +53 -0
  24. package/cf/cf-env-actions.js.map +1 -0
  25. package/cf/index.d.ts +3 -30
  26. package/cf/index.d.ts.map +1 -0
  27. package/cf/index.js +2 -11
  28. package/cf/index.js.map +1 -1
  29. package/cf-test-main.d.ts +5 -0
  30. package/cf-test-main.d.ts.map +1 -0
  31. package/cf-test-main.js +12 -0
  32. package/cf-test-main.js.map +1 -0
  33. package/coerce-binary.d.ts +6 -0
  34. package/coerce-binary.d.ts.map +1 -0
  35. package/coerce-binary.js +32 -0
  36. package/coerce-binary.js.map +1 -0
  37. package/coerce-binary.test.d.ts +2 -0
  38. package/coerce-binary.test.d.ts.map +1 -0
  39. package/coerce-binary.test.js +39 -0
  40. package/coerce-binary.test.js.map +1 -0
  41. package/crypto.d.ts +76 -0
  42. package/crypto.d.ts.map +1 -0
  43. package/crypto.js +22 -0
  44. package/crypto.js.map +1 -0
  45. package/crypto.test.d.ts +2 -0
  46. package/crypto.test.d.ts.map +1 -0
  47. package/crypto.test.js +21 -0
  48. package/crypto.test.js.map +1 -0
  49. package/deno/deno-basic-sys-abstraction.d.ts +14 -0
  50. package/deno/deno-basic-sys-abstraction.d.ts.map +1 -0
  51. package/deno/deno-basic-sys-abstraction.js +35 -0
  52. package/deno/deno-basic-sys-abstraction.js.map +1 -0
  53. package/deno/deno-env-actions.d.ts +23 -0
  54. package/deno/deno-env-actions.d.ts.map +1 -0
  55. package/deno/deno-env-actions.js +40 -0
  56. package/deno/deno-env-actions.js.map +1 -0
  57. package/deno/deno-file-service.d.ts +17 -0
  58. package/deno/deno-file-service.d.ts.map +1 -0
  59. package/deno/deno-file-service.js +67 -0
  60. package/deno/deno-file-service.js.map +1 -0
  61. package/deno/deno-sys-abstraction.d.ts +19 -0
  62. package/deno/deno-sys-abstraction.d.ts.map +1 -0
  63. package/deno/deno-sys-abstraction.js +96 -0
  64. package/deno/deno-sys-abstraction.js.map +1 -0
  65. package/deno/index.d.ts +3 -37
  66. package/deno/index.d.ts.map +1 -0
  67. package/deno/index.js +2 -179
  68. package/deno/index.js.map +1 -1
  69. package/file-service.d.ts +17 -0
  70. package/file-service.d.ts.map +1 -0
  71. package/file-service.js +2 -0
  72. package/file-service.js.map +1 -0
  73. package/future.d.ts +8 -0
  74. package/future.d.ts.map +1 -0
  75. package/future.js +25 -0
  76. package/future.js.map +1 -0
  77. package/future.test.d.ts +2 -0
  78. package/future.test.d.ts.map +1 -0
  79. package/future.test.js +32 -0
  80. package/future.test.js.map +1 -0
  81. package/http_header.d.ts +29 -0
  82. package/http_header.d.ts.map +1 -0
  83. package/http_header.js +157 -0
  84. package/http_header.js.map +1 -0
  85. package/http_header.test.d.ts +2 -0
  86. package/http_header.test.d.ts.map +1 -0
  87. package/http_header.test.js +96 -0
  88. package/http_header.test.js.map +1 -0
  89. package/index.d.ts +29 -396
  90. package/index.d.ts.map +1 -0
  91. package/index.js +28 -609
  92. package/index.js.map +1 -1
  93. package/is-promise.d.ts +4 -0
  94. package/is-promise.d.ts.map +1 -0
  95. package/is-promise.js +10 -0
  96. package/is-promise.js.map +1 -0
  97. package/is-promise.test.d.ts +2 -0
  98. package/is-promise.test.d.ts.map +1 -0
  99. package/is-promise.test.js +48 -0
  100. package/is-promise.test.js.map +1 -0
  101. package/json-en-decoder.d.ts +12 -0
  102. package/json-en-decoder.d.ts.map +1 -0
  103. package/json-en-decoder.js +42 -0
  104. package/json-en-decoder.js.map +1 -0
  105. package/json-en-decoder.test.d.ts +2 -0
  106. package/json-en-decoder.test.d.ts.map +1 -0
  107. package/json-en-decoder.test.js +18 -0
  108. package/json-en-decoder.test.js.map +1 -0
  109. package/log-level-impl.d.ts +17 -0
  110. package/log-level-impl.d.ts.map +1 -0
  111. package/log-level-impl.js +75 -0
  112. package/log-level-impl.js.map +1 -0
  113. package/log-writer-impl.d.ts +11 -0
  114. package/log-writer-impl.d.ts.map +1 -0
  115. package/log-writer-impl.js +52 -0
  116. package/log-writer-impl.js.map +1 -0
  117. package/logger-impl.d.ts +75 -0
  118. package/logger-impl.d.ts.map +1 -0
  119. package/logger-impl.js +505 -0
  120. package/logger-impl.js.map +1 -0
  121. package/logger.d.ts +97 -0
  122. package/logger.d.ts.map +1 -0
  123. package/logger.js +150 -0
  124. package/logger.js.map +1 -0
  125. package/logger.test.d.ts +2 -0
  126. package/logger.test.d.ts.map +1 -0
  127. package/logger.test.js +1577 -0
  128. package/logger.test.js.map +1 -0
  129. package/lru-map-set.d.ts +33 -0
  130. package/lru-map-set.d.ts.map +1 -0
  131. package/lru-map-set.js +116 -0
  132. package/lru-map-set.js.map +1 -0
  133. package/lru-map-set.test.d.ts +2 -0
  134. package/lru-map-set.test.d.ts.map +1 -0
  135. package/lru-map-set.test.js +81 -0
  136. package/lru-map-set.test.js.map +1 -0
  137. package/node/index.d.ts +4 -45
  138. package/node/index.d.ts.map +1 -0
  139. package/node/index.js +3 -222
  140. package/node/index.js.map +1 -1
  141. package/node/mock-file-service.d.ts +11 -0
  142. package/node/mock-file-service.d.ts.map +1 -0
  143. package/node/mock-file-service.js +31 -0
  144. package/node/mock-file-service.js.map +1 -0
  145. package/node/mock-file-service.test.d.ts +2 -0
  146. package/node/mock-file-service.test.d.ts.map +1 -0
  147. package/node/mock-file-service.test.js +31 -0
  148. package/node/mock-file-service.test.js.map +1 -0
  149. package/node/node-basic-sys-abstraction.d.ts +25 -0
  150. package/node/node-basic-sys-abstraction.d.ts.map +1 -0
  151. package/node/node-basic-sys-abstraction.js +45 -0
  152. package/node/node-basic-sys-abstraction.js.map +1 -0
  153. package/node/node-env-actions.d.ts +15 -0
  154. package/node/node-env-actions.d.ts.map +1 -0
  155. package/node/node-env-actions.js +38 -0
  156. package/node/node-env-actions.js.map +1 -0
  157. package/node/node-file-service.d.ts +16 -0
  158. package/node/node-file-service.d.ts.map +1 -0
  159. package/node/node-file-service.js +72 -0
  160. package/node/node-file-service.js.map +1 -0
  161. package/node/node-sys-abstraction.d.ts +19 -0
  162. package/node/node-sys-abstraction.d.ts.map +1 -0
  163. package/node/node-sys-abstraction.js +95 -0
  164. package/node/node-sys-abstraction.js.map +1 -0
  165. package/node/node-sys-abstraction.test.d.ts +2 -0
  166. package/node/node-sys-abstraction.test.d.ts.map +1 -0
  167. package/node/node-sys-abstraction.test.js +83 -0
  168. package/node/node-sys-abstraction.test.js.map +1 -0
  169. package/option.d.ts +26 -0
  170. package/option.d.ts.map +1 -0
  171. package/option.js +54 -0
  172. package/option.js.map +1 -0
  173. package/package.json +4 -10
  174. package/path-ops.d.ts +7 -0
  175. package/path-ops.d.ts.map +1 -0
  176. package/path-ops.js +35 -0
  177. package/path-ops.js.map +1 -0
  178. package/path-ops.test.d.ts +2 -0
  179. package/path-ops.test.d.ts.map +1 -0
  180. package/path-ops.test.js +39 -0
  181. package/path-ops.test.js.map +1 -0
  182. package/resolve-once.d.ts +59 -0
  183. package/resolve-once.d.ts.map +1 -0
  184. package/resolve-once.js +212 -0
  185. package/resolve-once.js.map +1 -0
  186. package/resolve-once.test.d.ts +2 -0
  187. package/resolve-once.test.d.ts.map +1 -0
  188. package/resolve-once.test.js +392 -0
  189. package/resolve-once.test.js.map +1 -0
  190. package/result.d.ts +34 -0
  191. package/result.d.ts.map +1 -0
  192. package/result.js +94 -0
  193. package/result.js.map +1 -0
  194. package/result.test.d.ts +2 -0
  195. package/result.test.d.ts.map +1 -0
  196. package/result.test.js +83 -0
  197. package/result.test.js.map +1 -0
  198. package/runtime.d.ts +9 -0
  199. package/runtime.d.ts.map +1 -0
  200. package/runtime.js +33 -0
  201. package/runtime.js.map +1 -0
  202. package/src/jsr.json +1 -1
  203. package/src/uri.ts +66 -37
  204. package/sys-abstraction.d.ts +43 -0
  205. package/sys-abstraction.d.ts.map +1 -0
  206. package/sys-abstraction.js +28 -0
  207. package/sys-abstraction.js.map +1 -0
  208. package/sys-env.d.ts +46 -0
  209. package/sys-env.d.ts.map +1 -0
  210. package/sys-env.js +161 -0
  211. package/sys-env.js.map +1 -0
  212. package/sys-env.test.d.ts +2 -0
  213. package/sys-env.test.d.ts.map +1 -0
  214. package/sys-env.test.js +170 -0
  215. package/sys-env.test.js.map +1 -0
  216. package/test/index.d.ts +3 -4
  217. package/test/index.d.ts.map +1 -0
  218. package/test/index.js +2 -13
  219. package/test/index.js.map +1 -1
  220. package/test/log-write-stream.d.ts +27 -0
  221. package/test/log-write-stream.d.ts.map +1 -0
  222. package/test/log-write-stream.js +78 -0
  223. package/test/log-write-stream.js.map +1 -0
  224. package/test/mock-logger.d.ts +14 -0
  225. package/test/mock-logger.d.ts.map +1 -0
  226. package/test/mock-logger.js +29 -0
  227. package/test/mock-logger.js.map +1 -0
  228. package/test/mock-logger.test.d.ts +2 -0
  229. package/test/mock-logger.test.d.ts.map +1 -0
  230. package/test/mock-logger.test.js +63 -0
  231. package/test/mock-logger.test.js.map +1 -0
  232. package/test/test-exit-handler.d.ts +2 -0
  233. package/test/test-exit-handler.d.ts.map +1 -0
  234. package/test/test-exit-handler.js +61 -0
  235. package/test/test-exit-handler.js.map +1 -0
  236. package/time.d.ts +14 -0
  237. package/time.d.ts.map +1 -0
  238. package/time.js +13 -0
  239. package/time.js.map +1 -0
  240. package/tracer.d.ts +59 -0
  241. package/tracer.d.ts.map +1 -0
  242. package/tracer.js +174 -0
  243. package/tracer.js.map +1 -0
  244. package/tracer.test.d.ts +2 -0
  245. package/tracer.test.d.ts.map +1 -0
  246. package/tracer.test.js +304 -0
  247. package/tracer.test.js.map +1 -0
  248. package/ts/smoke/smoke.js +1 -1
  249. package/ts/smoke/smoke.js.map +1 -1
  250. package/ts/src/base-sys-abstraction.js +20 -8
  251. package/ts/src/base-sys-abstraction.js.map +1 -1
  252. package/ts/src/cf/cf-basic-sys-abstraction.js +3 -3
  253. package/ts/src/cf/cf-basic-sys-abstraction.js.map +1 -1
  254. package/ts/src/cf/cf-env-actions.js +3 -1
  255. package/ts/src/cf/cf-env-actions.js.map +1 -1
  256. package/ts/src/coerce-binary.js +1 -1
  257. package/ts/src/coerce-binary.js.map +1 -1
  258. package/ts/src/deno/deno-basic-sys-abstraction.js +3 -3
  259. package/ts/src/deno/deno-basic-sys-abstraction.js.map +1 -1
  260. package/ts/src/deno/deno-env-actions.js +3 -9
  261. package/ts/src/deno/deno-env-actions.js.map +1 -1
  262. package/ts/src/deno/deno-file-service.js +2 -0
  263. package/ts/src/deno/deno-file-service.js.map +1 -1
  264. package/ts/src/deno/deno-sys-abstraction.js +21 -21
  265. package/ts/src/deno/deno-sys-abstraction.js.map +1 -1
  266. package/ts/src/future.js +13 -26
  267. package/ts/src/future.js.map +1 -1
  268. package/ts/src/http_header.js +2 -3
  269. package/ts/src/http_header.js.map +1 -1
  270. package/ts/src/json-en-decoder.js +3 -2
  271. package/ts/src/json-en-decoder.js.map +1 -1
  272. package/ts/src/log-level-impl.js +4 -6
  273. package/ts/src/log-level-impl.js.map +1 -1
  274. package/ts/src/log-writer-impl.js +9 -5
  275. package/ts/src/log-writer-impl.js.map +1 -1
  276. package/ts/src/logger-impl.js +15 -5
  277. package/ts/src/logger-impl.js.map +1 -1
  278. package/ts/src/logger.js +3 -3
  279. package/ts/src/logger.js.map +1 -1
  280. package/ts/src/logger.test.js +7 -19
  281. package/ts/src/logger.test.js.map +1 -1
  282. package/ts/src/lru-map-set.js +3 -1
  283. package/ts/src/lru-map-set.js.map +1 -1
  284. package/ts/src/node/mock-file-service.js +1 -4
  285. package/ts/src/node/mock-file-service.js.map +1 -1
  286. package/ts/src/node/node-basic-sys-abstraction.js +4 -3
  287. package/ts/src/node/node-basic-sys-abstraction.js.map +1 -1
  288. package/ts/src/node/node-env-actions.js +3 -9
  289. package/ts/src/node/node-env-actions.js.map +1 -1
  290. package/ts/src/node/node-file-service.js +1 -0
  291. package/ts/src/node/node-file-service.js.map +1 -1
  292. package/ts/src/node/node-sys-abstraction.js +21 -21
  293. package/ts/src/node/node-sys-abstraction.js.map +1 -1
  294. package/ts/src/option.js +1 -0
  295. package/ts/src/option.js.map +1 -1
  296. package/ts/src/path-ops.js +21 -30
  297. package/ts/src/path-ops.js.map +1 -1
  298. package/ts/src/resolve-once.js +17 -13
  299. package/ts/src/resolve-once.js.map +1 -1
  300. package/ts/src/result.js +2 -0
  301. package/ts/src/result.js.map +1 -1
  302. package/ts/src/sys-abstraction.js +1 -1
  303. package/ts/src/sys-abstraction.js.map +1 -1
  304. package/ts/src/sys-env.js +2 -1
  305. package/ts/src/sys-env.js.map +1 -1
  306. package/ts/src/sys-env.test.js +6 -19
  307. package/ts/src/sys-env.test.js.map +1 -1
  308. package/ts/src/test/log-write-stream.js +10 -6
  309. package/ts/src/test/log-write-stream.js.map +1 -1
  310. package/ts/src/test/mock-logger.js +6 -6
  311. package/ts/src/test/mock-logger.js.map +1 -1
  312. package/ts/src/test/test-exit-handler.js +1 -2
  313. package/ts/src/test/test-exit-handler.js.map +1 -1
  314. package/ts/src/tracer.js +10 -3
  315. package/ts/src/tracer.js.map +1 -1
  316. package/ts/src/tracer.test.js +5 -9
  317. package/ts/src/tracer.test.js.map +1 -1
  318. package/ts/src/txt-en-decoder.js +2 -4
  319. package/ts/src/txt-en-decoder.js.map +1 -1
  320. package/ts/src/types.js +2 -6
  321. package/ts/src/types.js.map +1 -1
  322. package/ts/src/uri.d.ts +5 -0
  323. package/ts/src/uri.d.ts.map +1 -1
  324. package/ts/src/uri.js +57 -34
  325. package/ts/src/uri.js.map +1 -1
  326. package/ts/src/uri.test.js +47 -0
  327. package/ts/src/uri.test.js.map +1 -1
  328. package/ts/src/utils/console-write-stream.js +8 -5
  329. package/ts/src/utils/console-write-stream.js.map +1 -1
  330. package/ts/src/utils/fanout-write-stream.js +4 -1
  331. package/ts/src/utils/fanout-write-stream.js.map +1 -1
  332. package/ts/src/utils/rebuffer.test.js +1 -1
  333. package/ts/src/utils/rebuffer.test.js.map +1 -1
  334. package/ts/src/utils/relative-path.js +1 -0
  335. package/ts/src/utils/relative-path.js.map +1 -1
  336. package/ts/src/utils/stream-map.test.js +1 -1
  337. package/ts/src/utils/stream-map.test.js.map +1 -1
  338. package/ts/src/web/web-basic-sys-abstraction.js +3 -3
  339. package/ts/src/web/web-basic-sys-abstraction.js.map +1 -1
  340. package/ts/src/web/web-env-actions.js +2 -1
  341. package/ts/src/web/web-env-actions.js.map +1 -1
  342. package/txt-en-decoder.d.ts +11 -0
  343. package/txt-en-decoder.d.ts.map +1 -0
  344. package/txt-en-decoder.js +37 -0
  345. package/txt-en-decoder.js.map +1 -0
  346. package/txt-en-decoder.test.d.ts +2 -0
  347. package/txt-en-decoder.test.d.ts.map +1 -0
  348. package/txt-en-decoder.test.js +48 -0
  349. package/txt-en-decoder.test.js.map +1 -0
  350. package/types.d.ts +16 -0
  351. package/types.d.ts.map +1 -0
  352. package/types.js +11 -0
  353. package/types.js.map +1 -0
  354. package/uri.d.ts +137 -0
  355. package/uri.d.ts.map +1 -0
  356. package/uri.js +567 -0
  357. package/uri.js.map +1 -0
  358. package/uri.test.d.ts +2 -0
  359. package/uri.test.d.ts.map +1 -0
  360. package/uri.test.js +633 -0
  361. package/uri.test.js.map +1 -0
  362. package/utils/coerce-uint8.d.ts +8 -0
  363. package/utils/coerce-uint8.d.ts.map +1 -0
  364. package/utils/coerce-uint8.js +34 -0
  365. package/utils/coerce-uint8.js.map +1 -0
  366. package/utils/console-write-stream.d.ts +21 -0
  367. package/utils/console-write-stream.d.ts.map +1 -0
  368. package/utils/console-write-stream.js +66 -0
  369. package/utils/console-write-stream.js.map +1 -0
  370. package/utils/fanout-write-stream.d.ts +12 -0
  371. package/utils/fanout-write-stream.d.ts.map +1 -0
  372. package/utils/fanout-write-stream.js +27 -0
  373. package/utils/fanout-write-stream.js.map +1 -0
  374. package/utils/get-params-result.d.ts +8 -0
  375. package/utils/get-params-result.d.ts.map +1 -0
  376. package/utils/get-params-result.js +45 -0
  377. package/utils/get-params-result.js.map +1 -0
  378. package/utils/index.d.ts +12 -3
  379. package/utils/index.d.ts.map +1 -0
  380. package/utils/index.js +11 -50
  381. package/utils/index.js.map +1 -1
  382. package/utils/rebuffer.d.ts +3 -0
  383. package/utils/rebuffer.d.ts.map +1 -0
  384. package/utils/rebuffer.js +66 -0
  385. package/utils/rebuffer.js.map +1 -0
  386. package/utils/rebuffer.test.d.ts +2 -0
  387. package/utils/rebuffer.test.d.ts.map +1 -0
  388. package/utils/rebuffer.test.js +77 -0
  389. package/utils/rebuffer.test.js.map +1 -0
  390. package/utils/relative-path.d.ts +18 -0
  391. package/utils/relative-path.d.ts.map +1 -0
  392. package/utils/relative-path.js +148 -0
  393. package/utils/relative-path.js.map +1 -0
  394. package/utils/relative-path.test.d.ts +2 -0
  395. package/utils/relative-path.test.d.ts.map +1 -0
  396. package/utils/relative-path.test.js +187 -0
  397. package/utils/relative-path.test.js.map +1 -0
  398. package/utils/sorted-objec.test.d.ts +2 -0
  399. package/utils/sorted-objec.test.d.ts.map +1 -0
  400. package/utils/sorted-objec.test.js +20 -0
  401. package/utils/sorted-objec.test.js.map +1 -0
  402. package/utils/sorted-object.d.ts +4 -0
  403. package/utils/sorted-object.d.ts.map +1 -0
  404. package/utils/sorted-object.js +16 -0
  405. package/utils/sorted-object.js.map +1 -0
  406. package/utils/stream-map.d.ts +9 -0
  407. package/utils/stream-map.d.ts.map +1 -0
  408. package/utils/stream-map.js +63 -0
  409. package/utils/stream-map.js.map +1 -0
  410. package/utils/stream-map.test.d.ts +2 -0
  411. package/utils/stream-map.test.d.ts.map +1 -0
  412. package/utils/stream-map.test.js +87 -0
  413. package/utils/stream-map.test.js.map +1 -0
  414. package/utils/stream-test-helper.d.ts +17 -0
  415. package/utils/stream-test-helper.d.ts.map +1 -0
  416. package/utils/stream-test-helper.js +45 -0
  417. package/utils/stream-test-helper.js.map +1 -0
  418. package/utils/stream2string.d.ts +3 -0
  419. package/utils/stream2string.d.ts.map +1 -0
  420. package/utils/stream2string.js +48 -0
  421. package/utils/stream2string.js.map +1 -0
  422. package/utils/stream2string.test.d.ts +2 -0
  423. package/utils/stream2string.test.d.ts.map +1 -0
  424. package/utils/stream2string.test.js +29 -0
  425. package/utils/stream2string.test.js.map +1 -0
  426. package/utils/string2stream.d.ts +4 -0
  427. package/utils/string2stream.d.ts.map +1 -0
  428. package/utils/string2stream.js +13 -0
  429. package/utils/string2stream.js.map +1 -0
  430. package/utils/string2stream.test.d.ts +2 -0
  431. package/utils/string2stream.test.d.ts.map +1 -0
  432. package/utils/string2stream.test.js +6 -0
  433. package/utils/string2stream.test.js.map +1 -0
  434. package/utils/stripper.d.ts +3 -0
  435. package/utils/stripper.d.ts.map +1 -0
  436. package/utils/stripper.js +59 -0
  437. package/utils/stripper.js.map +1 -0
  438. package/utils/stripper.test.d.ts +2 -0
  439. package/utils/stripper.test.d.ts.map +1 -0
  440. package/utils/stripper.test.js +128 -0
  441. package/utils/stripper.test.js.map +1 -0
  442. package/utils/uint8array-equal.d.ts +2 -0
  443. package/utils/uint8array-equal.d.ts.map +1 -0
  444. package/utils/uint8array-equal.js +12 -0
  445. package/utils/uint8array-equal.js.map +1 -0
  446. package/version.d.ts +2 -0
  447. package/version.d.ts.map +1 -0
  448. package/version.js +4 -0
  449. package/version.js.map +1 -0
  450. package/web/index.d.ts +2 -7
  451. package/web/index.d.ts.map +1 -0
  452. package/web/index.js +1 -7
  453. package/web/index.js.map +1 -1
  454. package/web/web-basic-sys-abstraction.d.ts +4 -0
  455. package/web/web-basic-sys-abstraction.d.ts.map +1 -0
  456. package/web/web-basic-sys-abstraction.js +45 -0
  457. package/web/web-basic-sys-abstraction.js.map +1 -0
  458. package/web/web-env-actions.d.ts +14 -0
  459. package/web/web-env-actions.d.ts.map +1 -0
  460. package/web/web-env-actions.js +36 -0
  461. package/web/web-env-actions.js.map +1 -0
  462. package/base-sys-abstraction-DgTynXGV.d.cts +0 -95
  463. package/cf/index.cjs +0 -1110
  464. package/cf/index.cjs.map +0 -1
  465. package/cf/index.d.cts +0 -30
  466. package/chunk-FOALXQST.js +0 -89
  467. package/chunk-FOALXQST.js.map +0 -1
  468. package/chunk-FURW5CDL.js +0 -792
  469. package/chunk-FURW5CDL.js.map +0 -1
  470. package/chunk-NJMNJYN2.js +0 -270
  471. package/chunk-NJMNJYN2.js.map +0 -1
  472. package/chunk-NTOGMD33.js +0 -684
  473. package/chunk-NTOGMD33.js.map +0 -1
  474. package/chunk-O3CWMM7E.js +0 -1678
  475. package/chunk-O3CWMM7E.js.map +0 -1
  476. package/deno/index.cjs +0 -1280
  477. package/deno/index.cjs.map +0 -1
  478. package/deno/index.d.cts +0 -37
  479. package/get-params-result-4xHM5s4_.d.cts +0 -71
  480. package/get-params-result-4xHM5s4_.d.ts +0 -71
  481. package/index-CMLb7JSe.d.ts +0 -97
  482. package/index-DL2hPDP5.d.cts +0 -296
  483. package/index-DTF3tq6t.d.ts +0 -296
  484. package/index-LQOsS7gM.d.cts +0 -97
  485. package/index.cjs +0 -4006
  486. package/index.cjs.map +0 -1
  487. package/index.d.cts +0 -396
  488. package/metafile-cjs.json +0 -1
  489. package/metafile-esm.json +0 -1
  490. package/node/index.cjs +0 -1335
  491. package/node/index.cjs.map +0 -1
  492. package/node/index.d.cts +0 -45
  493. package/stripper-BpBUUZ9p.d.cts +0 -4
  494. package/stripper-BpBUUZ9p.d.ts +0 -4
  495. package/sys-abstraction-CeAxxg9H.d.ts +0 -117
  496. package/sys-abstraction-DDAwGTnk.d.cts +0 -117
  497. package/test/index.cjs +0 -2991
  498. package/test/index.cjs.map +0 -1
  499. package/test/index.d.cts +0 -4
  500. package/utils/index.cjs +0 -778
  501. package/utils/index.cjs.map +0 -1
  502. package/utils/index.d.cts +0 -3
  503. package/web/index.cjs +0 -1153
  504. package/web/index.cjs.map +0 -1
  505. package/web/index.d.cts +0 -7
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base-basic-sys-abstraction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-basic-sys-abstraction.test.d.ts","sourceRoot":"","sources":["../../../src/base-basic-sys-abstraction.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
1
+ import { WebBasicSysAbstraction } from "@adviser/cement/web";
2
+ import { CFBasicSysAbstraction } from "@adviser/cement/cf";
3
+ import { runtimeFn } from "./runtime.js";
4
+ import { IDMode, TimeMode, RandomMode } from "./sys-abstraction.js";
5
+ import { NodeBasicSysAbstraction } from "./node/node-basic-sys-abstraction.js";
6
+ import { DenoBasicSysAbstraction } from "./deno/deno-basic-sys-abstraction.js";
7
+ const abstractions = [];
8
+ if (runtimeFn().isCFWorker) {
9
+ abstractions.push({ name: "CFSysAbstraction", fn: CFBasicSysAbstraction });
10
+ }
11
+ if (runtimeFn().isNodeIsh) {
12
+ abstractions.push({ name: "NodeSysAbstraction", fn: NodeBasicSysAbstraction });
13
+ }
14
+ if (runtimeFn().isDeno) {
15
+ abstractions.push({ name: "DenoSysAbstraction", fn: DenoBasicSysAbstraction });
16
+ }
17
+ if (runtimeFn().isBrowser) {
18
+ abstractions.push({ name: "WebSysAbstraction", fn: WebBasicSysAbstraction });
19
+ }
20
+ for (const abstraction of abstractions) {
21
+ describe(abstraction.name, () => {
22
+ it("IdService UUID", () => {
23
+ const sys = abstraction.fn();
24
+ const id1 = sys.NextId();
25
+ const id2 = sys.NextId();
26
+ expect(id1).not.toEqual(id2);
27
+ });
28
+ it("IdService explict UUID", () => {
29
+ const sys = abstraction.fn({ IdMode: IDMode.UUID });
30
+ const id1 = sys.NextId();
31
+ const id2 = sys.NextId();
32
+ expect(id1).not.toEqual(id2);
33
+ });
34
+ it("IdService const", () => {
35
+ const sys = abstraction.fn({ IdMode: IDMode.CONST });
36
+ const id1 = sys.NextId();
37
+ const id2 = sys.NextId();
38
+ expect(id1).toEqual(id2);
39
+ });
40
+ it("IdService set", () => {
41
+ for (let i = 0; i < 10; i++) {
42
+ const sys = abstraction.fn({ IdMode: IDMode.STEP });
43
+ const id1 = sys.NextId();
44
+ const id2 = sys.NextId();
45
+ expect(id1).toEqual("STEPId-0");
46
+ expect(id2).toEqual("STEPId-1");
47
+ }
48
+ });
49
+ it("time sleep", async () => {
50
+ const sys = abstraction.fn();
51
+ const start = sys.Time().Now();
52
+ await sys.Time().Sleep(100);
53
+ expect(sys.Time().TimeSince(start)).toBeGreaterThan(90);
54
+ });
55
+ it("time sleep const", async () => {
56
+ const sys = abstraction.fn({ TimeMode: TimeMode.REAL });
57
+ const start = new Date();
58
+ await sys.Time().Sleep(100);
59
+ const end = new Date();
60
+ expect(end.getTime() - start.getTime()).toBeGreaterThan(90);
61
+ });
62
+ it("time sleep step", async () => {
63
+ const sys = abstraction.fn({ TimeMode: TimeMode.STEP });
64
+ const start = sys.Time().Now();
65
+ await sys.Time().Sleep(86400500);
66
+ expect(sys.Time().Now().getTime() - start.getTime()).toEqual(86401500);
67
+ });
68
+ it("const random", () => {
69
+ const sys = abstraction.fn({ RandomMode: RandomMode.CONST });
70
+ expect(sys.Random0ToValue(10)).toEqual(5);
71
+ expect(sys.Random0ToValue(10)).toEqual(5);
72
+ });
73
+ it("step random", () => {
74
+ const sys = abstraction.fn({ RandomMode: RandomMode.STEP });
75
+ expect(sys.Random0ToValue(10000)).toEqual(1);
76
+ expect(sys.Random0ToValue(10000)).toEqual(2);
77
+ });
78
+ it("random", () => {
79
+ const sys = abstraction.fn({});
80
+ for (let i = 0; i < 100; i++) {
81
+ const val = sys.Random0ToValue(10);
82
+ expect(val).toBeGreaterThanOrEqual(0);
83
+ expect(val).toBeLessThanOrEqual(10);
84
+ }
85
+ });
86
+ });
87
+ }
88
+ //# sourceMappingURL=base-basic-sys-abstraction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-basic-sys-abstraction.test.js","sourceRoot":"","sources":["../../../src/base-basic-sys-abstraction.test.ts"],"names":[],"mappings":"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"}
@@ -1,70 +1,72 @@
1
- import { T as Time, a as TimeMode, R as RandomMode, I as IDMode, F as FileService, S as SystemService, V as VoidFunc, b as BasicRuntimeService, B as BasicSysAbstraction, E as Env } from './sys-abstraction-CeAxxg9H.js';
2
- import { T as TxtEnDecoder } from './get-params-result-4xHM5s4_.js';
3
-
4
- declare class SysTime extends Time {
1
+ import { FileService } from "./file-service.js";
2
+ import { TimeMode, RandomMode, IDMode, SystemService, VoidFunc, BasicSysAbstraction, BasicRuntimeService } from "./sys-abstraction.js";
3
+ import { Time } from "./time.js";
4
+ import { TxtEnDecoder } from "./txt-en-decoder.js";
5
+ import { Env } from "./sys-env.js";
6
+ export declare class SysTime extends Time {
5
7
  Now(): Date;
6
8
  Sleep(duration: number): Promise<void>;
7
9
  }
8
- declare class ConstTime extends Time {
10
+ export declare class ConstTime extends Time {
9
11
  Now(): Date;
10
12
  Sleep(duration: number): Promise<void>;
11
13
  }
12
- declare class StepTime extends Time {
14
+ export declare class StepTime extends Time {
13
15
  _step: Date;
14
16
  readonly _start: Date;
15
17
  constructor();
16
18
  Now(steps?: number): Date;
17
19
  Sleep(duration: number): Promise<void>;
18
20
  }
19
- declare function TimeFactory(timeMode: TimeMode): Time;
20
- declare class RandomService {
21
+ export declare function TimeFactory(timeMode: TimeMode): Time;
22
+ export declare class RandomService {
21
23
  readonly _mode: RandomMode;
22
24
  _step: number;
23
25
  constructor(mode: RandomMode);
24
26
  Random0ToValue(value: number): number;
25
27
  }
26
- declare class IdService {
28
+ export declare class IdService {
27
29
  readonly _mode: IDMode;
28
30
  _step: number;
29
31
  constructor(mode?: IDMode);
30
32
  NextId(): string;
31
33
  }
32
- interface BaseBasicSysAbstractionParams {
34
+ export interface BaseBasicSysAbstractionParams {
33
35
  readonly TxtEnDecoder: TxtEnDecoder;
34
36
  }
35
- interface BaseSysAbstractionParams extends BaseBasicSysAbstractionParams {
37
+ export interface BaseSysAbstractionParams extends BaseBasicSysAbstractionParams {
36
38
  readonly FileSystem: FileService;
37
39
  readonly SystemService: SystemService;
38
40
  }
39
- interface ExitHandler {
41
+ export interface ExitHandler {
40
42
  readonly hdl: VoidFunc;
41
43
  readonly id: string;
42
44
  }
43
- interface ExitService {
45
+ export interface ExitService {
44
46
  injectExitHandlers(hdls: ExitHandler[]): void;
45
47
  exit(code: number): void;
46
48
  }
47
- declare class BaseBasicSysAbstraction {
49
+ export declare class BaseBasicSysAbstraction {
48
50
  readonly _time: SysTime;
49
51
  readonly _idService: IdService;
50
52
  readonly _randomService: RandomService;
51
53
  readonly _txtEnDe: TxtEnDecoder;
52
54
  constructor(params: BaseBasicSysAbstractionParams);
53
55
  }
54
- declare class BaseSysAbstraction extends BaseBasicSysAbstraction {
56
+ export declare class BaseSysAbstraction extends BaseBasicSysAbstraction {
55
57
  readonly _fileSystem: FileService;
56
58
  readonly _systemService: SystemService;
57
59
  constructor(params: BaseSysAbstractionParams);
58
60
  }
59
- interface BasicSysAbstractionParams {
61
+ export interface BasicSysAbstractionParams {
60
62
  readonly TimeMode: TimeMode;
61
63
  readonly IdMode: IDMode;
62
64
  readonly RandomMode: RandomMode;
63
65
  readonly TxtEnDecoder: TxtEnDecoder;
64
66
  }
65
- type WrapperBasicSysAbstractionParams = Partial<BasicRuntimeService & BasicSysAbstractionParams>;
66
- declare function BasicSysAbstractionFactory(params?: WrapperBasicSysAbstractionParams): BasicSysAbstraction;
67
- declare class WrapperBasicSysAbstraction implements BasicSysAbstraction {
67
+ export type WrapperBasicSysAbstractionParams = Partial<BasicRuntimeService & BasicSysAbstractionParams>;
68
+ export declare function BasicSysAbstractionFactory(params?: WrapperBasicSysAbstractionParams): BasicSysAbstraction;
69
+ export declare class WrapperBasicSysAbstraction implements BasicSysAbstraction {
68
70
  readonly _time: Time;
69
71
  readonly _idService: IdService;
70
72
  readonly _randomService: RandomService;
@@ -80,7 +82,7 @@ declare class WrapperBasicSysAbstraction implements BasicSysAbstraction {
80
82
  Env(): Env;
81
83
  Args(): string[];
82
84
  }
83
- declare class WrapperRuntimeSysAbstraction extends WrapperBasicSysAbstraction {
85
+ export declare class WrapperRuntimeSysAbstraction extends WrapperBasicSysAbstraction {
84
86
  readonly _systemService: SystemService;
85
87
  readonly _fileSystem: FileService;
86
88
  constructor(base: BaseSysAbstraction, params: Partial<BaseBasicSysAbstraction> & {
@@ -91,5 +93,4 @@ declare class WrapperRuntimeSysAbstraction extends WrapperBasicSysAbstraction {
91
93
  System(): SystemService;
92
94
  FileSystem(): FileService;
93
95
  }
94
-
95
- export { type BaseBasicSysAbstractionParams as B, ConstTime as C, type ExitService as E, IdService as I, RandomService as R, SysTime as S, TimeFactory as T, type WrapperBasicSysAbstractionParams as W, type ExitHandler as a, StepTime as b, type BaseSysAbstractionParams as c, BaseBasicSysAbstraction as d, BaseSysAbstraction as e, type BasicSysAbstractionParams as f, BasicSysAbstractionFactory as g, WrapperBasicSysAbstraction as h, WrapperRuntimeSysAbstraction as i };
96
+ //# sourceMappingURL=base-sys-abstraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-sys-abstraction.d.ts","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ import { runtimeFn } from "./runtime.js";
2
+ import { TimeMode, RandomMode, IDMode, } from "./sys-abstraction.js";
3
+ import { Time } from "./time.js";
4
+ import { WebBasicSysAbstraction } from "./web/web-basic-sys-abstraction.js";
5
+ import { CFBasicSysAbstraction } from "./cf/cf-basic-sys-abstraction.js";
6
+ import { DenoBasicSysAbstraction } from "./deno/deno-basic-sys-abstraction.js";
7
+ import { NodeBasicSysAbstraction } from "./node/node-basic-sys-abstraction.js";
8
+ export class SysTime extends Time {
9
+ Now() {
10
+ return new Date();
11
+ }
12
+ Sleep(duration) {
13
+ return new Promise((resolve) => {
14
+ setTimeout(() => {
15
+ resolve();
16
+ }, duration);
17
+ });
18
+ }
19
+ }
20
+ export class ConstTime extends Time {
21
+ Now() {
22
+ return new Date(2021, 1, 1, 0, 0, 0, 0);
23
+ }
24
+ Sleep(duration) {
25
+ return Promise.resolve();
26
+ }
27
+ }
28
+ export class StepTime extends Time {
29
+ _step;
30
+ _start;
31
+ constructor() {
32
+ super();
33
+ this._step = new ConstTime().Now();
34
+ this._start = this._step;
35
+ }
36
+ Now(steps = 1) {
37
+ for (let i = 0; steps > 0 && i < steps; i++) {
38
+ this._step = new Date(this._step.getTime() + 1000);
39
+ }
40
+ if (steps < 1) {
41
+ this._step = new Date(this._start.getTime() + steps * -1000);
42
+ }
43
+ return this._step;
44
+ }
45
+ Sleep(duration) {
46
+ this._step = new Date(this._step.getTime() + duration);
47
+ return Promise.resolve();
48
+ }
49
+ }
50
+ export function TimeFactory(timeMode) {
51
+ switch (timeMode) {
52
+ case TimeMode.REAL:
53
+ return new SysTime();
54
+ case TimeMode.CONST:
55
+ return new ConstTime();
56
+ case TimeMode.STEP:
57
+ return new StepTime();
58
+ }
59
+ return new SysTime();
60
+ }
61
+ export class RandomService {
62
+ _mode;
63
+ _step = 0;
64
+ constructor(mode) {
65
+ this._mode = mode;
66
+ }
67
+ Random0ToValue(value) {
68
+ switch (this._mode) {
69
+ case RandomMode.CONST:
70
+ return 0.5 * value;
71
+ case RandomMode.STEP:
72
+ this._step += 0.0001;
73
+ return this._step * value;
74
+ case RandomMode.RANDOM:
75
+ return Math.random() * value;
76
+ default:
77
+ throw new Error("Unknown RandomMode");
78
+ }
79
+ }
80
+ }
81
+ export class IdService {
82
+ _mode;
83
+ _step = 0;
84
+ constructor(mode) {
85
+ if (!mode) {
86
+ mode = IDMode.UUID;
87
+ }
88
+ this._mode = mode;
89
+ }
90
+ NextId() {
91
+ switch (this._mode) {
92
+ case IDMode.UUID:
93
+ return crypto.randomUUID();
94
+ case IDMode.CONST:
95
+ return "VeryUniqueID";
96
+ case IDMode.STEP:
97
+ return `STEPId-${this._step++}`;
98
+ default:
99
+ throw new Error("Unknown IDMode");
100
+ }
101
+ }
102
+ }
103
+ export class BaseBasicSysAbstraction {
104
+ _time = new SysTime();
105
+ _idService = new IdService();
106
+ _randomService = new RandomService(RandomMode.RANDOM);
107
+ _txtEnDe;
108
+ constructor(params) {
109
+ this._txtEnDe = params.TxtEnDecoder;
110
+ }
111
+ }
112
+ export class BaseSysAbstraction extends BaseBasicSysAbstraction {
113
+ _fileSystem;
114
+ _systemService;
115
+ constructor(params) {
116
+ super(params);
117
+ this._fileSystem = params.FileSystem;
118
+ this._systemService = params.SystemService;
119
+ }
120
+ }
121
+ export function BasicSysAbstractionFactory(params) {
122
+ const fn = runtimeFn();
123
+ switch (true) {
124
+ case fn.isBrowser:
125
+ return WebBasicSysAbstraction(params);
126
+ case fn.isDeno:
127
+ return DenoBasicSysAbstraction(params);
128
+ case fn.isCFWorker:
129
+ return CFBasicSysAbstraction(params);
130
+ case fn.isNodeIsh:
131
+ return NodeBasicSysAbstraction(params);
132
+ default:
133
+ throw new Error("Unknown runtime");
134
+ }
135
+ }
136
+ export class WrapperBasicSysAbstraction {
137
+ _time;
138
+ _idService;
139
+ _randomService;
140
+ _basicRuntimeService;
141
+ constructor(base, params) {
142
+ this._time = base._time;
143
+ this._basicRuntimeService = params.basicRuntimeService;
144
+ this._idService = base._idService;
145
+ this._randomService = base._randomService;
146
+ if (params.TimeMode) {
147
+ this._time = TimeFactory(params.TimeMode);
148
+ }
149
+ if (params.IdMode) {
150
+ this._idService = new IdService(params.IdMode);
151
+ }
152
+ if (params.RandomMode) {
153
+ this._randomService = new RandomService(params.RandomMode);
154
+ }
155
+ }
156
+ Time() {
157
+ return this._time;
158
+ }
159
+ NextId() {
160
+ return this._idService.NextId();
161
+ }
162
+ Random0ToValue(value) {
163
+ return this._randomService.Random0ToValue(value);
164
+ }
165
+ Stdout() {
166
+ return this._basicRuntimeService.Stdout();
167
+ }
168
+ Stderr() {
169
+ return this._basicRuntimeService.Stderr();
170
+ }
171
+ Env() {
172
+ return this._basicRuntimeService.Env();
173
+ }
174
+ Args() {
175
+ return this._basicRuntimeService.Args();
176
+ }
177
+ }
178
+ export class WrapperRuntimeSysAbstraction extends WrapperBasicSysAbstraction {
179
+ _systemService;
180
+ _fileSystem;
181
+ constructor(base, params) {
182
+ super(base, params);
183
+ this._systemService = params.systemService ?? base._systemService;
184
+ this._fileSystem = params.fileSystem ?? base._fileSystem;
185
+ }
186
+ System() {
187
+ return this._systemService;
188
+ }
189
+ FileSystem() {
190
+ return this._fileSystem;
191
+ }
192
+ }
193
+ //# sourceMappingURL=base-sys-abstraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-sys-abstraction.js","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
package/bin2text.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare function bin2text(hex: ArrayBufferView, lineFn: (line: string) => void, size?: number): void;
2
+ export declare function bin2string(hex: ArrayBufferView, size?: number): string;
3
+ //# sourceMappingURL=bin2text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin2text.d.ts","sourceRoot":"","sources":["../../../src/bin2text.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,IAAI,SAAI,GAAG,IAAI,CAkC7F;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,SAAI,GAAG,MAAM,CAUjE"}
package/bin2text.js ADDED
@@ -0,0 +1,43 @@
1
+ export function bin2text(hex, lineFn, size = 0) {
2
+ const arr = new Uint8Array(hex.buffer, hex.byteOffset, hex.byteLength);
3
+ let cutted = " ";
4
+ if (size == 0) {
5
+ size = arr.length;
6
+ }
7
+ size = Math.min(size, arr.length);
8
+ const cols = 16;
9
+ for (let line = 0; line < size; line += cols) {
10
+ if (line + cols <= size || arr.length == size) {
11
+ }
12
+ else {
13
+ line = arr.length - (arr.length % cols);
14
+ size = arr.length;
15
+ cutted = ">>";
16
+ }
17
+ const l = [line.toString(16).padStart(4, "0"), cutted];
18
+ for (let col = 0; col < cols; col++) {
19
+ if (line + col < size) {
20
+ l.push(arr[line + col].toString(16).padStart(2, "0"));
21
+ }
22
+ else {
23
+ l.push(" ");
24
+ }
25
+ l.push(" ");
26
+ }
27
+ for (let col = 0; col < cols; col++) {
28
+ if (line + col < size) {
29
+ const ch = arr[line + col];
30
+ l.push(ch >= 32 && ch < 127 ? String.fromCharCode(ch) : ".");
31
+ }
32
+ }
33
+ lineFn(l.join(""));
34
+ }
35
+ }
36
+ export function bin2string(hex, size = 0) {
37
+ const collector = [];
38
+ bin2text(hex, (line) => {
39
+ collector.push(line);
40
+ }, size);
41
+ return collector.join("\n");
42
+ }
43
+ //# sourceMappingURL=bin2text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin2text.js","sourceRoot":"","sources":["../../../src/bin2text.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,GAAoB,EAAE,MAA8B,EAAE,IAAI,GAAG,CAAC;IACrF,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QAC7C,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAEhD,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;YACxC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;YAClB,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,GAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACpC,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;YAED,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACpC,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAoB,EAAE,IAAI,GAAG,CAAC;IACvD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,QAAQ,CACN,GAAG,EACH,CAAC,IAAI,EAAE,EAAE;QACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EACD,IAAI,CACL,CAAC;IACF,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bin2text.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin2text.test.d.ts","sourceRoot":"","sources":["../../../src/bin2text.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { bin2string, bin2text } from "./bin2text.js";
2
+ it("bin2hex empty", () => {
3
+ expect(bin2string(new Uint8Array())).toEqual("");
4
+ });
5
+ it("bin2hex one", () => {
6
+ expect(bin2string(new Uint8Array([64]))).toBe("0000 40 @");
7
+ });
8
+ it("bin2hex 12", () => {
9
+ const collector = [];
10
+ bin2text(new Uint8Array([1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc]), (line) => {
11
+ collector.push(line);
12
+ });
13
+ expect(collector).toEqual(["0000 01 02 03 04 04 05 06 07 08 09 0a 0b 0c ............."]);
14
+ });
15
+ it("bin2hex cut", () => {
16
+ const collector = [];
17
+ bin2text(new Uint8Array(new Array(255).fill(1).map((_, i) => i)), (line) => {
18
+ collector.push(line);
19
+ }, 52);
20
+ expect(collector).toEqual([
21
+ "0000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ................",
22
+ "0010 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f ................",
23
+ "0020 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f !\"#$%&'()*+,-./",
24
+ "00f0>>f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ...............",
25
+ ]);
26
+ });
27
+ it("bin2hex long", () => {
28
+ const collector = [];
29
+ bin2text(new Uint8Array(new Array(256).fill(1).map((_, i) => i % 0xff)), (line) => {
30
+ collector.push(line);
31
+ });
32
+ expect(collector).toEqual([
33
+ "0000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ................",
34
+ "0010 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f ................",
35
+ "0020 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f !\"#$%&'()*+,-./",
36
+ "0030 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 0123456789:;<=>?",
37
+ "0040 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f @ABCDEFGHIJKLMNO",
38
+ "0050 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f PQRSTUVWXYZ[\\]^_",
39
+ "0060 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f `abcdefghijklmno",
40
+ "0070 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f pqrstuvwxyz{|}~.",
41
+ "0080 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f ................",
42
+ "0090 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f ................",
43
+ "00a0 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af ................",
44
+ "00b0 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf ................",
45
+ "00c0 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf ................",
46
+ "00d0 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df ................",
47
+ "00e0 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef ................",
48
+ "00f0 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe 00 ................",
49
+ ]);
50
+ });
51
+ //# sourceMappingURL=bin2text.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin2text.test.js","sourceRoot":"","sources":["../../../src/bin2text.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErD,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;IACvB,MAAM,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;IACpB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,qEAAqE,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;IACrB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,QAAQ,CACN,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC,IAAI,EAAE,EAAE;QACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EACD,EAAE,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QACxB,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;KACxE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;IACtB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAChF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QACxB,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;KACzE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { WrapperBasicSysAbstractionParams } from "../base-sys-abstraction.js";
2
+ import { BasicRuntimeService, BasicSysAbstraction } from "../sys-abstraction.js";
3
+ import { Env } from "../sys-env.js";
4
+ import { TxtEnDecoder } from "../txt-en-decoder.js";
5
+ export declare class CFRuntimeService implements BasicRuntimeService {
6
+ readonly _txtEnDe: TxtEnDecoder;
7
+ constructor(ende: TxtEnDecoder);
8
+ Env(): Env;
9
+ Args(): string[];
10
+ Stdout(): WritableStream<Uint8Array>;
11
+ Stderr(): WritableStream<Uint8Array>;
12
+ }
13
+ export declare function CFBasicSysAbstraction(param?: WrapperBasicSysAbstractionParams): BasicSysAbstraction;
14
+ //# sourceMappingURL=cf-basic-sys-abstraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf-basic-sys-abstraction.d.ts","sourceRoot":"","sources":["../../../../src/cf/cf-basic-sys-abstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAEnI,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,GAAG,EAAc,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAyB,MAAM,sBAAsB,CAAC;AAE3E,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACpB,IAAI,EAAE,YAAY;IAG9B,GAAG,IAAI,GAAG;IAGV,IAAI,IAAI,MAAM,EAAE;IAIhB,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC;IAQpC,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC;CAQrC;AAkCD,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,gCAAgC,GAAG,mBAAmB,CAUnG"}
@@ -0,0 +1,67 @@
1
+ import { BaseBasicSysAbstraction, WrapperBasicSysAbstraction } from "../base-sys-abstraction.js";
2
+ import { ResolveOnce } from "../resolve-once.js";
3
+ import { envFactory } from "../sys-env.js";
4
+ import { TxtEnDecoderSingleton } from "../txt-en-decoder.js";
5
+ export class CFRuntimeService {
6
+ _txtEnDe;
7
+ constructor(ende) {
8
+ this._txtEnDe = ende;
9
+ }
10
+ Env() {
11
+ return envFactory();
12
+ }
13
+ Args() {
14
+ throw new Error("Args-Method not implemented.");
15
+ }
16
+ Stdout() {
17
+ return CFWriteableStream((chunk) => {
18
+ const decoded = this._txtEnDe.decode(chunk);
19
+ console.log(decoded.trimEnd());
20
+ return Promise.resolve();
21
+ });
22
+ }
23
+ Stderr() {
24
+ return CFWriteableStream((chunk) => {
25
+ const decoded = this._txtEnDe.decode(chunk);
26
+ console.error(decoded.trimEnd());
27
+ return Promise.resolve();
28
+ });
29
+ }
30
+ }
31
+ function consumeReadableStream(reader, writeFn) {
32
+ reader
33
+ .read()
34
+ .then(({ done, value }) => {
35
+ if (done) {
36
+ return;
37
+ }
38
+ writeFn(value)
39
+ .then(() => {
40
+ consumeReadableStream(reader, writeFn);
41
+ })
42
+ .catch((e) => {
43
+ console.error("consumeReadableStream:writeFn", e);
44
+ });
45
+ })
46
+ .catch((e) => {
47
+ console.error("consumeReadableStream:read", e);
48
+ });
49
+ }
50
+ function CFWriteableStream(writeFn) {
51
+ const ts = new TransformStream();
52
+ consumeReadableStream(ts.readable.getReader(), writeFn);
53
+ return ts.writable;
54
+ }
55
+ const baseSysAbstraction = new ResolveOnce();
56
+ export function CFBasicSysAbstraction(param) {
57
+ const my = baseSysAbstraction.once(() => {
58
+ return new BaseBasicSysAbstraction({
59
+ TxtEnDecoder: param?.TxtEnDecoder || TxtEnDecoderSingleton(),
60
+ });
61
+ });
62
+ return new WrapperBasicSysAbstraction(my, {
63
+ basicRuntimeService: new CFRuntimeService(param?.TxtEnDecoder ?? my._txtEnDe),
64
+ ...param,
65
+ });
66
+ }
67
+ //# sourceMappingURL=cf-basic-sys-abstraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf-basic-sys-abstraction.js","sourceRoot":"","sources":["../../../../src/cf/cf-basic-sys-abstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAoC,MAAM,4BAA4B,CAAC;AACnI,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAO,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAgB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,MAAM,OAAO,gBAAgB;IAClB,QAAQ,CAAe;IAChC,YAAY,IAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,GAAG;QACD,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IACD,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACJ,OAAO,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM;QACJ,OAAO,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,MAA+C,EAC/C,OAA6C;IAE7C,MAAM;SACH,IAAI,EAAE;SACN,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC;aACX,IAAI,CAAC,GAAG,EAAE;YACT,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAEX,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAEX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA6C;IACtE,MAAM,EAAE,GAAG,IAAI,eAAe,EAA0B,CAAC;IACzD,qBAAqB,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,QAAQ,CAAC;AACrB,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,WAAW,EAA2B,CAAC;AACtE,MAAM,UAAU,qBAAqB,CAAC,KAAwC;IAC5E,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE;QACtC,OAAO,IAAI,uBAAuB,CAAC;YACjC,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,qBAAqB,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,0BAA0B,CAAC,EAAE,EAAE;QACxC,mBAAmB,EAAE,IAAI,gBAAgB,CAAC,KAAK,EAAE,YAAY,IAAI,EAAE,CAAC,QAAQ,CAAC;QAC7E,GAAG,KAAK;KACT,CAAC,CAAC;AACL,CAAC"}