@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
package/logger-impl.js ADDED
@@ -0,0 +1,505 @@
1
+ import YAML from "yaml";
2
+ import { Level, logValue, LogValue, } from "./logger.js";
3
+ import { Result } from "./result.js";
4
+ import { URI } from "./uri.js";
5
+ import { TxtEnDecoderSingleton } from "./txt-en-decoder.js";
6
+ import { LevelHandlerSingleton } from "./log-level-impl.js";
7
+ import { BasicSysAbstractionFactory } from "./base-sys-abstraction.js";
8
+ import { LogWriterStream } from "./log-writer-impl.js";
9
+ function getLen(value, lvs) {
10
+ if (Array.isArray(value)) {
11
+ return logValue(() => value.length, lvs);
12
+ }
13
+ else if (typeof value === "string") {
14
+ return logValue(() => value.length, lvs);
15
+ }
16
+ else if (typeof value === "object" && value !== null) {
17
+ if (typeof value.size === "number") {
18
+ return logValue(() => value.size, lvs);
19
+ }
20
+ else if (typeof value.length === "number") {
21
+ return logValue(() => value.length, lvs);
22
+ }
23
+ return logValue(() => Object.keys(value).length, lvs);
24
+ }
25
+ return logValue(() => -1, lvs);
26
+ }
27
+ function hash(value) {
28
+ return "not implemented";
29
+ }
30
+ function toLogValue(lop) {
31
+ if (lop && typeof lop.then === "function") {
32
+ throw new Error("async logValue Not implemented");
33
+ }
34
+ return lop;
35
+ }
36
+ export class JSONFormatter {
37
+ _txtEnDe;
38
+ _space;
39
+ constructor(txtEnde, space) {
40
+ this._txtEnDe = txtEnde;
41
+ this._space = space;
42
+ }
43
+ format(attr) {
44
+ let ret;
45
+ try {
46
+ ret = JSON.stringify(attr, null, this._space);
47
+ }
48
+ catch (e) {
49
+ ret = JSON.stringify({ internal: { message: e.message, stack: e.stack } });
50
+ }
51
+ return this._txtEnDe.encode(ret + "\n");
52
+ }
53
+ }
54
+ export class YAMLFormatter {
55
+ _txtEnDe;
56
+ _space;
57
+ constructor(txtEnde, space) {
58
+ this._txtEnDe = txtEnde;
59
+ this._space = space;
60
+ }
61
+ format(attr) {
62
+ return this._txtEnDe.encode("---\n" + YAML.stringify(attr, null, this._space) + "\n");
63
+ }
64
+ }
65
+ function toLogValueCtx(lvh) {
66
+ return {
67
+ ignoreAttr: lvh.ignoreAttr,
68
+ };
69
+ }
70
+ export class LoggerImpl {
71
+ _sys;
72
+ _attributes = {};
73
+ _withAttributes;
74
+ _logWriter;
75
+ levelHandler;
76
+ _txtEnDe;
77
+ _formatter;
78
+ constructor(params) {
79
+ if (!params) {
80
+ params = {};
81
+ }
82
+ if (!params.sys) {
83
+ this._sys = BasicSysAbstractionFactory();
84
+ }
85
+ else {
86
+ this._sys = params.sys;
87
+ }
88
+ if (!params.txtEnDe) {
89
+ this._txtEnDe = TxtEnDecoderSingleton();
90
+ }
91
+ else {
92
+ this._txtEnDe = params.txtEnDe;
93
+ }
94
+ if (!params.formatter) {
95
+ this._formatter = new JSONFormatter(this._txtEnDe);
96
+ }
97
+ else {
98
+ this._formatter = params.formatter;
99
+ }
100
+ if (params.logWriter) {
101
+ this._logWriter = params.logWriter;
102
+ }
103
+ else {
104
+ if (!params.out) {
105
+ this._logWriter = new LogWriterStream(this._sys.Stdout());
106
+ }
107
+ else {
108
+ this._logWriter = new LogWriterStream(params.out);
109
+ }
110
+ }
111
+ if (!params.withAttributes) {
112
+ this._withAttributes = {};
113
+ }
114
+ else {
115
+ this._withAttributes = { ...params.withAttributes };
116
+ }
117
+ this._attributes = { ...this._withAttributes };
118
+ if (params.levelHandler) {
119
+ this.levelHandler = params.levelHandler;
120
+ }
121
+ else {
122
+ this.levelHandler = LevelHandlerSingleton();
123
+ }
124
+ }
125
+ TxtEnDe() {
126
+ return this._txtEnDe;
127
+ }
128
+ Attributes() {
129
+ return JSON.parse(JSON.stringify(this._attributes, null));
130
+ }
131
+ SetExposeStack(enable) {
132
+ this.levelHandler.setExposeStack(enable);
133
+ return this;
134
+ }
135
+ EnableLevel(level, ...modules) {
136
+ this.levelHandler.enableLevel(level, ...modules);
137
+ return this;
138
+ }
139
+ DisableLevel(level, ...modules) {
140
+ this.levelHandler.disableLevel(level, ...modules);
141
+ return this;
142
+ }
143
+ Module(key) {
144
+ this._attributes["module"] = logValue(key, toLogValueCtx(this.levelHandler));
145
+ this._withAttributes["module"] = logValue(key, toLogValueCtx(this.levelHandler));
146
+ return this;
147
+ }
148
+ SetDebug(...modules) {
149
+ this.levelHandler.setDebug(...modules);
150
+ return this;
151
+ }
152
+ SetIgnoreAttribute(re) {
153
+ this.levelHandler.setIgnoreAttr(re);
154
+ return this;
155
+ }
156
+ SetFormatter(formatter) {
157
+ this._formatter = formatter;
158
+ return this;
159
+ }
160
+ Timestamp() {
161
+ this._attributes["ts"] = logValue(() => this._sys.Time().Now().toISOString(), toLogValueCtx(this.levelHandler));
162
+ return this;
163
+ }
164
+ Warn() {
165
+ this._attributes["level"] = logValue(Level.WARN, toLogValueCtx(this.levelHandler));
166
+ return this;
167
+ }
168
+ Log() {
169
+ return this;
170
+ }
171
+ Debug() {
172
+ this._attributes["level"] = logValue(Level.DEBUG, toLogValueCtx(this.levelHandler));
173
+ return this;
174
+ }
175
+ Error() {
176
+ this._attributes["level"] = logValue(Level.ERROR, toLogValueCtx(this.levelHandler));
177
+ return this;
178
+ }
179
+ Info() {
180
+ this._attributes["level"] = logValue(Level.INFO, toLogValueCtx(this.levelHandler));
181
+ return this;
182
+ }
183
+ Err(err) {
184
+ let key = "error";
185
+ if (Result.Is(err)) {
186
+ if (err.isOk()) {
187
+ key = "noerror";
188
+ err = err.Ok();
189
+ }
190
+ else {
191
+ err = err.Err();
192
+ }
193
+ }
194
+ if (err instanceof Error) {
195
+ if (err.cause) {
196
+ this.coerceKey(key, {
197
+ message: err.message,
198
+ cause: err.cause,
199
+ });
200
+ }
201
+ else {
202
+ this._attributes[key] = logValue(err.message, toLogValueCtx(this.levelHandler));
203
+ }
204
+ if (this.levelHandler.isStackExposed) {
205
+ this._attributes["stack"] = logValue(err.stack?.split(/[\r\n]+/).map((s) => s.trim()), toLogValueCtx(this.levelHandler));
206
+ }
207
+ }
208
+ else {
209
+ this.Any(key, err);
210
+ }
211
+ return this;
212
+ }
213
+ WithLevel(l) {
214
+ this._attributes["level"] = logValue(l, toLogValueCtx(this.levelHandler));
215
+ return this;
216
+ }
217
+ Ref(key, action) {
218
+ if (typeof action === "function") {
219
+ this._attributes[key] = logValue(action, toLogValueCtx(this.levelHandler));
220
+ }
221
+ else if (typeof action.toString === "function") {
222
+ this._attributes[key] = logValue(() => action.toString(), toLogValueCtx(this.levelHandler));
223
+ }
224
+ else {
225
+ this._attributes[key] = logValue("INVALID REF", toLogValueCtx(this.levelHandler));
226
+ }
227
+ return this;
228
+ }
229
+ Bool(key, value) {
230
+ this.coerceKey(key, !!value);
231
+ return this;
232
+ }
233
+ Http(...mix) {
234
+ const key = mix.find((x) => typeof x === "string");
235
+ mix = mix.filter((x) => typeof x !== "string");
236
+ const resErrors = mix.filter((x) => Result.Is(x) && x.isErr());
237
+ if (resErrors.length) {
238
+ this.Err(resErrors.map((x) => x.Err().message).join("\n"));
239
+ return this;
240
+ }
241
+ const req = mix
242
+ .map((reqOrResult) => (Result.Is(reqOrResult) ? reqOrResult.Ok() : reqOrResult))
243
+ .find((req) => typeof req.status !== "number");
244
+ const res = mix
245
+ .map((resOrResult) => (Result.Is(resOrResult) ? resOrResult.Ok() : resOrResult))
246
+ .find((res) => typeof res.status === "number");
247
+ let reqAndOrres;
248
+ if (res && req) {
249
+ reqAndOrres = { res, req };
250
+ }
251
+ else if (!res && !req) {
252
+ reqAndOrres = undefined;
253
+ }
254
+ else if (res) {
255
+ reqAndOrres = res;
256
+ }
257
+ else if (req) {
258
+ reqAndOrres = req;
259
+ }
260
+ if (reqAndOrres) {
261
+ this.Any(key || "Http", reqAndOrres);
262
+ }
263
+ return this;
264
+ }
265
+ Pair(x) {
266
+ for (const key of Object.keys(x)) {
267
+ const value = x[key];
268
+ if (value instanceof LogValue) {
269
+ this._attributes[key] = value;
270
+ continue;
271
+ }
272
+ if (Result.Is(value)) {
273
+ this.Result(key, value);
274
+ continue;
275
+ }
276
+ this.Any(key, value);
277
+ }
278
+ return this;
279
+ }
280
+ Result(key, res) {
281
+ if (res.isOk()) {
282
+ this._attributes[key] = logValue(res.Ok(), toLogValueCtx(this.levelHandler));
283
+ }
284
+ else {
285
+ this.Err(res.Err());
286
+ }
287
+ return this;
288
+ }
289
+ Len(value, key = "len") {
290
+ this._attributes[key] = getLen(value, toLogValueCtx(this.levelHandler));
291
+ return this;
292
+ }
293
+ Hash(value, key = "hash") {
294
+ throw new Error("Not implemented");
295
+ }
296
+ Url(url, key = "url") {
297
+ this.Ref(key, () => URI.from(url).toString());
298
+ return this;
299
+ }
300
+ coerceKey(key, value) {
301
+ if (typeof key === "string") {
302
+ this._attributes[key] = logValue(value, toLogValueCtx(this.levelHandler));
303
+ }
304
+ else {
305
+ this.Pair(key);
306
+ }
307
+ }
308
+ Str(key, value) {
309
+ this.coerceKey(key, value);
310
+ return this;
311
+ }
312
+ Any(key, value) {
313
+ this.coerceKey(key, value);
314
+ return this;
315
+ }
316
+ Dur(key, nsec) {
317
+ this._attributes[key] = logValue(`${nsec}ms`, toLogValueCtx(this.levelHandler));
318
+ return this;
319
+ }
320
+ Uint64(key, value) {
321
+ this.coerceKey(key, value);
322
+ return this;
323
+ }
324
+ Int(key, value) {
325
+ return this.Uint64(key, value);
326
+ }
327
+ async Flush() {
328
+ return new Promise((resolve) => {
329
+ this._logWriter._flush(undefined, resolve);
330
+ });
331
+ }
332
+ With() {
333
+ return new WithLoggerBuilder(new LoggerImpl({
334
+ logWriter: this._logWriter,
335
+ sys: this._sys,
336
+ levelHandler: this.levelHandler,
337
+ formatter: this._formatter,
338
+ withAttributes: {
339
+ module: this._attributes["module"],
340
+ ...this._withAttributes,
341
+ },
342
+ }));
343
+ }
344
+ _resetAttributes(fn) {
345
+ const ret = fn();
346
+ Object.keys(this._attributes).forEach((key) => {
347
+ delete this._attributes[key];
348
+ });
349
+ Object.assign(this._attributes, this._withAttributes);
350
+ return ret;
351
+ }
352
+ Msg(...args) {
353
+ const fnError = this._resetAttributes(() => {
354
+ const doWrite = this.levelHandler.isEnabled(toLogValue(this._attributes["level"])?.value(), toLogValue(this._attributes["module"])?.value());
355
+ this._attributes["msg"] = logValue(args.join(" "), toLogValueCtx(this.levelHandler));
356
+ const msg = this._attributes["msg"].value();
357
+ if (typeof msg === "string" && !msg.trim().length) {
358
+ delete this._attributes["msg"];
359
+ }
360
+ let fnRet = () => this._formatter.format({ ...this._attributes });
361
+ if (doWrite) {
362
+ const encoded = fnRet();
363
+ this._logWriter.write(encoded);
364
+ fnRet = () => encoded;
365
+ }
366
+ return fnRet;
367
+ });
368
+ const asError = () => new Error(this._txtEnDe.decode(fnError()));
369
+ return {
370
+ ResultError: () => Result.Err(asError()),
371
+ AsError: asError,
372
+ };
373
+ }
374
+ }
375
+ class WithLoggerBuilder {
376
+ _li;
377
+ levelHandler;
378
+ constructor(li) {
379
+ this._li = li;
380
+ this.levelHandler = li.levelHandler;
381
+ }
382
+ TxtEnDe() {
383
+ return this._li.TxtEnDe();
384
+ }
385
+ Logger() {
386
+ Object.assign(this._li._withAttributes, this._li._attributes);
387
+ return this._li;
388
+ }
389
+ Attributes() {
390
+ return { ...this._li._attributes };
391
+ }
392
+ SetExposeStack(enable) {
393
+ this._li.levelHandler.setExposeStack(enable);
394
+ return this;
395
+ }
396
+ SetIgnoreAttribute(re) {
397
+ this._li.levelHandler.setIgnoreAttr(re);
398
+ return this;
399
+ }
400
+ SetFormatter(fmt) {
401
+ this._li.SetFormatter(fmt);
402
+ return this;
403
+ }
404
+ EnableLevel(level, ...modules) {
405
+ this._li.levelHandler.enableLevel(level, ...modules);
406
+ return this;
407
+ }
408
+ DisableLevel(level, ...modules) {
409
+ this._li.levelHandler.enableLevel(level, ...modules);
410
+ return this;
411
+ }
412
+ Module(key) {
413
+ this._li.Module(key);
414
+ return this;
415
+ }
416
+ SetDebug(...modules) {
417
+ this._li.SetDebug(...modules);
418
+ return this;
419
+ }
420
+ Http(...mix) {
421
+ this._li.Http(...mix);
422
+ return this;
423
+ }
424
+ Pair(x) {
425
+ this._li.Pair(x);
426
+ return this;
427
+ }
428
+ Str(key, value) {
429
+ this._li.Str(key, value);
430
+ return this;
431
+ }
432
+ Len(value, key) {
433
+ this._li.Len(value, key);
434
+ return this;
435
+ }
436
+ Hash(value, key) {
437
+ this._li.Hash(value, key);
438
+ return this;
439
+ }
440
+ Ref(key, action) {
441
+ this._li.Ref(key, action);
442
+ return this;
443
+ }
444
+ Bool(key, value) {
445
+ this._li.Bool(key, value);
446
+ return this;
447
+ }
448
+ Result(key, res) {
449
+ this._li.Result(key, res);
450
+ return this;
451
+ }
452
+ Url(url, key) {
453
+ this._li.Url(url, key);
454
+ return this;
455
+ }
456
+ Int(key, value) {
457
+ this._li.Int(key, value);
458
+ return this;
459
+ }
460
+ Log() {
461
+ this._li.Log();
462
+ return this;
463
+ }
464
+ WithLevel(level) {
465
+ this._li.WithLevel(level);
466
+ return this;
467
+ }
468
+ Error() {
469
+ this._li.Error();
470
+ return this;
471
+ }
472
+ Warn() {
473
+ this._li.Error();
474
+ return this;
475
+ }
476
+ Debug() {
477
+ this._li.Debug();
478
+ return this;
479
+ }
480
+ Err(err) {
481
+ this._li.Err(err);
482
+ return this;
483
+ }
484
+ Info() {
485
+ this._li.Info();
486
+ return this;
487
+ }
488
+ Timestamp() {
489
+ this._li.Timestamp();
490
+ return this;
491
+ }
492
+ Any(key, value) {
493
+ this._li.Any(key, value);
494
+ return this;
495
+ }
496
+ Dur(key, nsec) {
497
+ this._li.Dur(key, nsec);
498
+ return this;
499
+ }
500
+ Uint64(key, value) {
501
+ this._li.Uint64(key, value);
502
+ return this;
503
+ }
504
+ }
505
+ //# sourceMappingURL=logger-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-impl.js","sourceRoot":"","sources":["../../../src/logger-impl.ts"],"names":[],"mappings":"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"}
package/logger.d.ts ADDED
@@ -0,0 +1,97 @@
1
+ import { Option } from "./option.js";
2
+ import { Result } from "./result.js";
3
+ import { TxtEnDecoder } from "./txt-en-decoder.js";
4
+ import { CoerceURI } from "./uri.js";
5
+ export declare const Level: {
6
+ WARN: string;
7
+ DEBUG: string;
8
+ INFO: string;
9
+ ERROR: string;
10
+ };
11
+ export type Level = (typeof Level)[keyof typeof Level];
12
+ export type Serialized = string | number | boolean;
13
+ export type FnSerialized = () => Serialized | Serialized[];
14
+ export declare class LogValue {
15
+ readonly fn: FnSerialized;
16
+ constructor(fn: FnSerialized);
17
+ value(): Serialized | Serialized[];
18
+ toJSON(): Serialized | Serialized[];
19
+ }
20
+ export type LogSerializable = Record<string, LogValue | Promise<LogValue>>;
21
+ export declare function asyncLogValue(val: () => Promise<Serialized>): Promise<LogValue>;
22
+ export type LogValueArg = LogValue | Serialized | Serialized[] | FnSerialized | undefined | null;
23
+ export interface LogValueState {
24
+ readonly state?: Set<unknown>;
25
+ readonly ignoreAttr: Option<RegExp>;
26
+ }
27
+ export declare function logValue(val: LogValueArg, ctx: LogValueState): LogValue;
28
+ export interface Sized {
29
+ size: number;
30
+ }
31
+ export interface Lengthed {
32
+ length: number;
33
+ }
34
+ export type SizeOrLength = Sized | Lengthed;
35
+ export interface LogFormatter {
36
+ format(attr: LogSerializable): Uint8Array;
37
+ }
38
+ export interface LevelHandler {
39
+ enableLevel(level: Level, ...modules: string[]): void;
40
+ disableLevel(level: Level, ...modules: string[]): void;
41
+ setExposeStack(enable?: boolean): void;
42
+ setIgnoreAttr(re?: RegExp): void;
43
+ ignoreAttr: Option<RegExp>;
44
+ isStackExposed: boolean;
45
+ setDebug(...modules: (string | string[])[]): void;
46
+ isEnabled(ilevel: unknown, module: unknown): boolean;
47
+ }
48
+ export type HttpType = Response | Result<Response> | Request | Result<Request>;
49
+ export interface LoggerInterface<R> {
50
+ readonly levelHandler: LevelHandler;
51
+ TxtEnDe(): TxtEnDecoder;
52
+ Module(key: string): R;
53
+ EnableLevel(level: Level, ...modules: string[]): R;
54
+ DisableLevel(level: Level, ...modules: string[]): R;
55
+ Attributes(): Record<string, unknown>;
56
+ SetDebug(...modules: (string | string[])[]): R;
57
+ SetIgnoreAttribute(re?: RegExp): R;
58
+ SetExposeStack(enable?: boolean): R;
59
+ SetFormatter(fmt: LogFormatter): R;
60
+ Ref(key: string, action: {
61
+ toString: () => string;
62
+ } | FnSerialized): R;
63
+ Result<T>(key: string, res: Result<T>): R;
64
+ Url(url: CoerceURI, key?: string): R;
65
+ Len(value: unknown, key?: string): R;
66
+ Hash(value: unknown, key?: string): R;
67
+ Str<T extends string | Record<string, string>>(key: T, value?: T extends string ? string : undefined): R;
68
+ Uint64<T extends string | Record<string, number>>(key: T, value?: T extends string ? number : undefined): R;
69
+ Int<T extends string | Record<string, number>>(key: T, value?: T extends string ? number : undefined): R;
70
+ Bool<T extends string | Record<string, unknown>>(key: T, value?: T extends string ? unknown : undefined): R;
71
+ Any<T extends string | Record<string, unknown>>(key: T, value?: T extends string ? unknown : undefined): R;
72
+ Http(...mix: (HttpType | string)[]): R;
73
+ Pair(x: Record<string, unknown>): R;
74
+ Error(): R;
75
+ Warn(): R;
76
+ Debug(): R;
77
+ Log(): R;
78
+ WithLevel(level: Level): R;
79
+ Err<T>(err: T | Result<T> | Error): R;
80
+ Info(): R;
81
+ Timestamp(): R;
82
+ Dur(key: string, nsec: number): R;
83
+ }
84
+ export declare function IsLogger(obj: unknown): obj is Logger;
85
+ export interface WithLogger extends LoggerInterface<WithLogger> {
86
+ Logger(): Logger;
87
+ }
88
+ export interface AsError {
89
+ AsError(): Error;
90
+ ResultError<T>(): Result<T>;
91
+ }
92
+ export interface Logger extends LoggerInterface<Logger> {
93
+ With(): WithLogger;
94
+ Msg(...args: string[]): AsError;
95
+ Flush(): Promise<void>;
96
+ }
97
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,eAAO,MAAM,KAAK;;;;;CAKjB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAE3D,qBAAa,QAAQ;IACP,QAAQ,CAAC,EAAE,EAAE,YAAY;gBAAhB,EAAE,EAAE,YAAY;IACrC,KAAK,IAAI,UAAU,GAAG,UAAU,EAAE;IAQlC,MAAM,IAAI,UAAU,GAAG,UAAU,EAAE;CAGpC;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAe3E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAG/E;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC;AAEjG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,GAAG,QAAQ,CAKvE;AA8GD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,UAAU,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtD,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvD,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;IAClD,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;CACtD;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAE/E,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,OAAO,IAAI,YAAY,CAAC;IACxB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;IAEvB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACnD,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpD,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,QAAQ,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAE/C,kBAAkB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IACnC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;IACpC,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,CAAC;IAEnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;KAAE,GAAG,YAAY,GAAG,CAAC,CAAC;IACvE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1C,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAErC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAErC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAEtC,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;IACzG,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;IAC5G,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;IACzG,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC;IAC5G,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC;IAK3G,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,CAAC;IACX,IAAI,IAAI,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,CAAC;IACX,GAAG,IAAI,CAAC,CAAC;IACT,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC;IAE3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,CAAC;IACV,SAAS,IAAI,CAAC,CAAC;IACf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;CACnC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAwBpD;AAED,MAAM,WAAW,UAAW,SAAQ,eAAe,CAAC,UAAU,CAAC;IAC7D,MAAM,IAAI,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,IAAI,KAAK,CAAC;IACjB,WAAW,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,MAAO,SAAQ,eAAe,CAAC,MAAM,CAAC;IACrD,IAAI,IAAI,UAAU,CAAC;IAEnB,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}