@adviser/cement 0.4.19 → 0.4.21
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.
- package/cjs/base-basic-sys-abstraction.test.cjs +26 -25
- package/cjs/base-basic-sys-abstraction.test.cjs.map +1 -1
- package/cjs/crypto.cjs.map +1 -1
- package/cjs/deno/deno-basic-sys-abstraction.cjs +3 -3
- package/cjs/deno/deno-basic-sys-abstraction.cjs.map +1 -1
- package/cjs/http_header.cjs +59 -21
- package/cjs/http_header.cjs.map +1 -1
- package/cjs/http_header.test.cjs +34 -33
- package/cjs/http_header.test.cjs.map +1 -1
- package/cjs/log-level-impl.cjs +16 -0
- package/cjs/log-level-impl.cjs.map +1 -1
- package/cjs/logger-impl.cjs +28 -2
- package/cjs/logger-impl.cjs.map +1 -1
- package/cjs/logger.cjs +5 -1
- package/cjs/logger.cjs.map +1 -1
- package/cjs/logger.test.cjs +43 -0
- package/cjs/logger.test.cjs.map +1 -1
- package/cjs/lru-map-set.cjs +4 -1
- package/cjs/lru-map-set.cjs.map +1 -1
- package/cjs/node/get-iface-adr.cjs +5 -3
- package/cjs/node/get-iface-adr.cjs.map +1 -1
- package/cjs/path-ops.cjs +3 -0
- package/cjs/path-ops.cjs.map +1 -1
- package/cjs/path-ops.test.cjs +5 -0
- package/cjs/path-ops.test.cjs.map +1 -1
- package/cjs/resolve-once.cjs +6 -0
- package/cjs/resolve-once.cjs.map +1 -1
- package/cjs/resolve-once.test.cjs +6 -0
- package/cjs/resolve-once.test.cjs.map +1 -1
- package/cjs/sys-env.cjs.map +1 -1
- package/cjs/sys-env.test.cjs.map +1 -1
- package/cjs/test/log-write-stream.cjs +4 -4
- package/cjs/test/log-write-stream.cjs.map +1 -1
- package/cjs/tracer.cjs.map +1 -1
- package/cjs/uri.cjs +18 -6
- package/cjs/uri.cjs.map +1 -1
- package/cjs/utils/console-write-stream.cjs +4 -4
- package/cjs/utils/console-write-stream.cjs.map +1 -1
- package/cjs/utils/fanout-write-stream.cjs +2 -2
- package/cjs/utils/fanout-write-stream.cjs.map +1 -1
- package/cjs/utils/sorted-object.cjs.map +1 -1
- package/cjs/utils/stripper.cjs.map +1 -1
- package/deno.json +37 -0
- package/esm/base-basic-sys-abstraction.test.js +1 -0
- package/esm/base-basic-sys-abstraction.test.js.map +1 -1
- package/esm/crypto.d.ts +6 -1
- package/esm/crypto.d.ts.map +1 -1
- package/esm/crypto.js.map +1 -1
- package/esm/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
- package/esm/deno/deno-basic-sys-abstraction.js +3 -3
- package/esm/deno/deno-basic-sys-abstraction.js.map +1 -1
- package/esm/http_header.d.ts +11 -5
- package/esm/http_header.d.ts.map +1 -1
- package/esm/http_header.js +59 -22
- package/esm/http_header.js.map +1 -1
- package/esm/http_header.test.js +1 -0
- package/esm/http_header.test.js.map +1 -1
- package/esm/log-level-impl.d.ts +6 -0
- package/esm/log-level-impl.d.ts.map +1 -1
- package/esm/log-level-impl.js +16 -0
- package/esm/log-level-impl.js.map +1 -1
- package/esm/logger-impl.d.ts +2 -0
- package/esm/logger-impl.d.ts.map +1 -1
- package/esm/logger-impl.js +28 -2
- package/esm/logger-impl.js.map +1 -1
- package/esm/logger.d.ts +7 -0
- package/esm/logger.d.ts.map +1 -1
- package/esm/logger.js +5 -1
- package/esm/logger.js.map +1 -1
- package/esm/logger.test.js +43 -0
- package/esm/logger.test.js.map +1 -1
- package/esm/lru-map-set.d.ts.map +1 -1
- package/esm/lru-map-set.js +4 -1
- package/esm/lru-map-set.js.map +1 -1
- package/esm/node/get-iface-adr.d.ts +1 -1
- package/esm/node/get-iface-adr.d.ts.map +1 -1
- package/esm/node/get-iface-adr.js +4 -2
- package/esm/node/get-iface-adr.js.map +1 -1
- package/esm/path-ops.d.ts.map +1 -1
- package/esm/path-ops.js +3 -0
- package/esm/path-ops.js.map +1 -1
- package/esm/path-ops.test.js +5 -0
- package/esm/path-ops.test.js.map +1 -1
- package/esm/resolve-once.d.ts +6 -5
- package/esm/resolve-once.d.ts.map +1 -1
- package/esm/resolve-once.js +6 -0
- package/esm/resolve-once.js.map +1 -1
- package/esm/resolve-once.test.js +6 -0
- package/esm/resolve-once.test.js.map +1 -1
- package/esm/sys-env.js.map +1 -1
- package/esm/sys-env.test.js.map +1 -1
- package/esm/test/log-write-stream.d.ts +1 -1
- package/esm/test/log-write-stream.d.ts.map +1 -1
- package/esm/test/log-write-stream.js +4 -4
- package/esm/test/log-write-stream.js.map +1 -1
- package/esm/tracer.js.map +1 -1
- package/esm/uri.d.ts +1 -0
- package/esm/uri.d.ts.map +1 -1
- package/esm/uri.js +18 -6
- package/esm/uri.js.map +1 -1
- package/esm/utils/console-write-stream.d.ts +3 -3
- package/esm/utils/console-write-stream.d.ts.map +1 -1
- package/esm/utils/console-write-stream.js +4 -4
- package/esm/utils/console-write-stream.js.map +1 -1
- package/esm/utils/fanout-write-stream.d.ts +3 -3
- package/esm/utils/fanout-write-stream.d.ts.map +1 -1
- package/esm/utils/fanout-write-stream.js +2 -2
- package/esm/utils/fanout-write-stream.js.map +1 -1
- package/esm/utils/sorted-object.d.ts +1 -1
- package/esm/utils/sorted-object.d.ts.map +1 -1
- package/esm/utils/sorted-object.js.map +1 -1
- package/esm/utils/stripper.js.map +1 -1
- package/package.json +12 -10
- package/src/crypto.ts +12 -1
- package/src/deno/deno-basic-sys-abstraction.ts +5 -3
- package/src/http_header.ts +71 -25
- package/src/log-level-impl.ts +19 -0
- package/src/logger-impl.ts +28 -2
- package/src/logger.ts +12 -1
- package/src/lru-map-set.ts +8 -6
- package/src/node/get-iface-adr.ts +5 -3
- package/src/path-ops.ts +4 -1
- package/src/resolve-once.ts +19 -12
- package/src/sys-env.ts +1 -1
- package/src/test/log-write-stream.ts +4 -4
- package/src/tracer.ts +2 -2
- package/src/uri.ts +23 -11
- package/src/utils/console-write-stream.ts +7 -7
- package/src/utils/fanout-write-stream.ts +5 -5
- package/src/utils/sorted-object.ts +2 -2
- package/src/utils/stripper.ts +1 -0
- package/ts/cjs/base-basic-sys-abstraction.test.js +26 -25
- package/ts/cjs/base-basic-sys-abstraction.test.js.map +1 -1
- package/ts/cjs/crypto.js.map +1 -1
- package/ts/cjs/deno/deno-basic-sys-abstraction.js +3 -3
- package/ts/cjs/deno/deno-basic-sys-abstraction.js.map +1 -1
- package/ts/cjs/http_header.js +59 -21
- package/ts/cjs/http_header.js.map +1 -1
- package/ts/cjs/http_header.test.js +34 -33
- package/ts/cjs/http_header.test.js.map +1 -1
- package/ts/cjs/log-level-impl.js +16 -0
- package/ts/cjs/log-level-impl.js.map +1 -1
- package/ts/cjs/logger-impl.js +28 -2
- package/ts/cjs/logger-impl.js.map +1 -1
- package/ts/cjs/logger.js +5 -1
- package/ts/cjs/logger.js.map +1 -1
- package/ts/cjs/logger.test.js +43 -0
- package/ts/cjs/logger.test.js.map +1 -1
- package/ts/cjs/lru-map-set.js +4 -1
- package/ts/cjs/lru-map-set.js.map +1 -1
- package/ts/cjs/node/get-iface-adr.js +5 -3
- package/ts/cjs/node/get-iface-adr.js.map +1 -1
- package/ts/cjs/path-ops.js +3 -0
- package/ts/cjs/path-ops.js.map +1 -1
- package/ts/cjs/path-ops.test.js +5 -0
- package/ts/cjs/path-ops.test.js.map +1 -1
- package/ts/cjs/resolve-once.js +6 -0
- package/ts/cjs/resolve-once.js.map +1 -1
- package/ts/cjs/resolve-once.test.js +6 -0
- package/ts/cjs/resolve-once.test.js.map +1 -1
- package/ts/cjs/sys-env.js.map +1 -1
- package/ts/cjs/sys-env.test.js.map +1 -1
- package/ts/cjs/test/log-write-stream.js +4 -4
- package/ts/cjs/test/log-write-stream.js.map +1 -1
- package/ts/cjs/tracer.js.map +1 -1
- package/ts/cjs/uri.js +18 -6
- package/ts/cjs/uri.js.map +1 -1
- package/ts/cjs/utils/console-write-stream.js +4 -4
- package/ts/cjs/utils/console-write-stream.js.map +1 -1
- package/ts/cjs/utils/fanout-write-stream.js +2 -2
- package/ts/cjs/utils/fanout-write-stream.js.map +1 -1
- package/ts/cjs/utils/sorted-object.js.map +1 -1
- package/ts/cjs/utils/stripper.js.map +1 -1
- package/ts/esm/base-basic-sys-abstraction.test.js +1 -0
- package/ts/esm/base-basic-sys-abstraction.test.js.map +1 -1
- package/ts/esm/crypto.d.ts +6 -1
- package/ts/esm/crypto.d.ts.map +1 -1
- package/ts/esm/crypto.js.map +1 -1
- package/ts/esm/deno/deno-basic-sys-abstraction.d.ts.map +1 -1
- package/ts/esm/deno/deno-basic-sys-abstraction.js +3 -3
- package/ts/esm/deno/deno-basic-sys-abstraction.js.map +1 -1
- package/ts/esm/http_header.d.ts +11 -5
- package/ts/esm/http_header.d.ts.map +1 -1
- package/ts/esm/http_header.js +59 -22
- package/ts/esm/http_header.js.map +1 -1
- package/ts/esm/http_header.test.js +1 -0
- package/ts/esm/http_header.test.js.map +1 -1
- package/ts/esm/log-level-impl.d.ts +6 -0
- package/ts/esm/log-level-impl.d.ts.map +1 -1
- package/ts/esm/log-level-impl.js +16 -0
- package/ts/esm/log-level-impl.js.map +1 -1
- package/ts/esm/logger-impl.d.ts +2 -0
- package/ts/esm/logger-impl.d.ts.map +1 -1
- package/ts/esm/logger-impl.js +28 -2
- package/ts/esm/logger-impl.js.map +1 -1
- package/ts/esm/logger.d.ts +7 -0
- package/ts/esm/logger.d.ts.map +1 -1
- package/ts/esm/logger.js +5 -1
- package/ts/esm/logger.js.map +1 -1
- package/ts/esm/logger.test.js +43 -0
- package/ts/esm/logger.test.js.map +1 -1
- package/ts/esm/lru-map-set.d.ts.map +1 -1
- package/ts/esm/lru-map-set.js +4 -1
- package/ts/esm/lru-map-set.js.map +1 -1
- package/ts/esm/node/get-iface-adr.d.ts +1 -1
- package/ts/esm/node/get-iface-adr.d.ts.map +1 -1
- package/ts/esm/node/get-iface-adr.js +4 -2
- package/ts/esm/node/get-iface-adr.js.map +1 -1
- package/ts/esm/path-ops.d.ts.map +1 -1
- package/ts/esm/path-ops.js +3 -0
- package/ts/esm/path-ops.js.map +1 -1
- package/ts/esm/path-ops.test.js +5 -0
- package/ts/esm/path-ops.test.js.map +1 -1
- package/ts/esm/resolve-once.d.ts +6 -5
- package/ts/esm/resolve-once.d.ts.map +1 -1
- package/ts/esm/resolve-once.js +6 -0
- package/ts/esm/resolve-once.js.map +1 -1
- package/ts/esm/resolve-once.test.js +6 -0
- package/ts/esm/resolve-once.test.js.map +1 -1
- package/ts/esm/sys-env.js.map +1 -1
- package/ts/esm/sys-env.test.js.map +1 -1
- package/ts/esm/test/log-write-stream.d.ts +1 -1
- package/ts/esm/test/log-write-stream.d.ts.map +1 -1
- package/ts/esm/test/log-write-stream.js +4 -4
- package/ts/esm/test/log-write-stream.js.map +1 -1
- package/ts/esm/tracer.js.map +1 -1
- package/ts/esm/uri.d.ts +1 -0
- package/ts/esm/uri.d.ts.map +1 -1
- package/ts/esm/uri.js +18 -6
- package/ts/esm/uri.js.map +1 -1
- package/ts/esm/utils/console-write-stream.d.ts +3 -3
- package/ts/esm/utils/console-write-stream.d.ts.map +1 -1
- package/ts/esm/utils/console-write-stream.js +4 -4
- package/ts/esm/utils/console-write-stream.js.map +1 -1
- package/ts/esm/utils/fanout-write-stream.d.ts +3 -3
- package/ts/esm/utils/fanout-write-stream.d.ts.map +1 -1
- package/ts/esm/utils/fanout-write-stream.js +2 -2
- package/ts/esm/utils/fanout-write-stream.js.map +1 -1
- package/ts/esm/utils/sorted-object.d.ts +1 -1
- package/ts/esm/utils/sorted-object.d.ts.map +1 -1
- package/ts/esm/utils/sorted-object.js.map +1 -1
- package/ts/esm/utils/stripper.js.map +1 -1
- package/src/jsr.json +0 -22
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sorted-object.d.ts","sourceRoot":"","sources":["../../../../src/utils/sorted-object.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAGzE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAG7D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"sorted-object.d.ts","sourceRoot":"","sources":["../../../../src/utils/sorted-object.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAGzE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAG7D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAOlF"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sorted-object.js","sourceRoot":"","sources":["../../../../src/utils/sorted-object.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAI,GAAO;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,GAAO;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,cAAc,CAA8B,GAAO;IACjE,IAAI,CAAC,GAAG;QAAE,OAAO,
|
1
|
+
{"version":3,"file":"sorted-object.js","sourceRoot":"","sources":["../../../../src/utils/sorted-object.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAI,GAAO;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,GAAO;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,cAAc,CAA8B,GAAO;IACjE,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAM,CAAC;AAKrD,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stripper.js","sourceRoot":"","sources":["../../../../src/utils/stripper.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CACtB,KAAoC,EACpC,GAAM;IAEN,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,iDAAiD,EAAE,MAAM,CAAC,CAAC;YACrF,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAElB,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAI,IAAwB,EAAE,QAAkB,EAAE,GAAM;IAC5E,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAyB,CAAC;IAC9C,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAW,EAAE;QACzD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,QAAgB,CAAC;YACrB,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,GAAG,CAAC;YACjB,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAE3B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"stripper.js","sourceRoot":"","sources":["../../../../src/utils/stripper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@adviser/cement",
|
3
|
-
"version": "0.4.
|
3
|
+
"version": "0.4.21",
|
4
4
|
"description": "better try/catch/finally handling",
|
5
5
|
"main": "./cjs/index.js",
|
6
6
|
"type": "module",
|
@@ -50,27 +50,29 @@
|
|
50
50
|
"devDependencies": {
|
51
51
|
"@cloudflare/vitest-pool-workers": "^0.8.44",
|
52
52
|
"@eslint/js": "^9.20.0",
|
53
|
+
"@types/deno": "^2.3.0",
|
53
54
|
"@types/node": "^24.0.0",
|
54
55
|
"@typescript-eslint/eslint-plugin": "^8.7.0",
|
55
56
|
"@typescript-eslint/parser": "^8.7.0",
|
56
|
-
"@vitest/browser": "^3.2.
|
57
|
+
"@vitest/browser": "^3.2.4",
|
58
|
+
"deno": "2.4.2",
|
57
59
|
"esbuild-plugin-replace": "^1.4.0",
|
58
60
|
"esbuild-plugin-resolve": "^2.0.0",
|
59
|
-
"eslint": "9.
|
61
|
+
"eslint": "9.32.0",
|
60
62
|
"jscodeshift": "^17.3.0",
|
61
|
-
"playwright": "^1.
|
62
|
-
"playwright-chromium": "^1.
|
63
|
-
"prettier": "^3.
|
63
|
+
"playwright": "^1.54.1",
|
64
|
+
"playwright-chromium": "^1.54.1",
|
65
|
+
"prettier": "^3.6.2",
|
64
66
|
"tsup": "^8.3.0",
|
65
67
|
"tsx": "^4.19.1",
|
66
68
|
"typescript": "^5.8.0",
|
67
69
|
"typescript-eslint": "^8.24.0",
|
68
|
-
"vite": "^
|
70
|
+
"vite": "^7.0.4",
|
69
71
|
"vite-tsconfig-paths": "^5.0.1",
|
70
|
-
"vitest": "^3.2.
|
72
|
+
"vitest": "^3.2.4"
|
71
73
|
},
|
72
74
|
"engines": {
|
73
|
-
"node": ">=20"
|
75
|
+
"node": ">=20.19.0"
|
74
76
|
},
|
75
77
|
"scripts": {
|
76
78
|
"clean": "rm -rf dist node_modules",
|
@@ -80,7 +82,7 @@
|
|
80
82
|
"build:tsc:esm": "tsc -p ./tsconfig.esm.json",
|
81
83
|
"build:tsc:cjs": "tsc -p ./tsconfig.cjs.json",
|
82
84
|
"build:js": "rm -rf dist/pkg ; mkdir -p dist/pkg; cp -pr ./dist/ts/* dist/pkg",
|
83
|
-
"build:deno": "deno publish --dry-run --unstable-sloppy-imports --allow-dirty",
|
85
|
+
"build:deno": "deno publish --dry-run --unstable-sloppy-imports --allow-dirty --set-version 0.0.0-dev",
|
84
86
|
"test": "pnpm run test:js; pnpm run test:deno",
|
85
87
|
"test:deno": "deno run --quiet --allow-net --allow-write --allow-run --allow-sys --allow-ffi --allow-read --allow-env ./node_modules/vitest/vitest.mjs --run --project node",
|
86
88
|
"test:js": "vitest --run",
|
package/src/crypto.ts
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
export interface CTRsaOtherPrimesInfo {
|
2
|
+
d?: string;
|
3
|
+
r?: string;
|
4
|
+
t?: string;
|
5
|
+
}
|
6
|
+
|
1
7
|
export interface CTJsonWebKey {
|
2
8
|
alg?: string;
|
3
9
|
crv?: string;
|
@@ -10,7 +16,7 @@ export interface CTJsonWebKey {
|
|
10
16
|
key_ops?: string[];
|
11
17
|
kty?: string;
|
12
18
|
n?: string;
|
13
|
-
oth?:
|
19
|
+
oth?: CTRsaOtherPrimesInfo[];
|
14
20
|
p?: string;
|
15
21
|
q?: string;
|
16
22
|
qi?: string;
|
@@ -119,6 +125,7 @@ export function toCryptoRuntime(cryptoOpts: Partial<CryptoRuntime> = {}): Crypto
|
|
119
125
|
let crypto: typeof globalThis.crypto;
|
120
126
|
if (!globalThis.crypto || !globalThis.crypto.subtle) {
|
121
127
|
crypto = {
|
128
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
122
129
|
getRandomValues: globalThis.crypto.getRandomValues.bind(globalThis.crypto),
|
123
130
|
subtle: {
|
124
131
|
importKey: (): Promise<CTCryptoKey> => {
|
@@ -142,9 +149,13 @@ export function toCryptoRuntime(cryptoOpts: Partial<CryptoRuntime> = {}): Crypto
|
|
142
149
|
crypto = globalThis.crypto;
|
143
150
|
}
|
144
151
|
const runtime = {
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
145
153
|
importKey: cryptoOpts.importKey || crypto.subtle.importKey.bind(crypto.subtle),
|
154
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
146
155
|
exportKey: cryptoOpts.exportKey || crypto.subtle.exportKey.bind(crypto.subtle),
|
156
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
147
157
|
encrypt: cryptoOpts.encrypt || crypto.subtle.encrypt.bind(crypto.subtle),
|
158
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
148
159
|
decrypt: cryptoOpts.decrypt || crypto.subtle.decrypt.bind(crypto.subtle),
|
149
160
|
randomBytes: cryptoOpts.randomBytes || randomBytes(crypto),
|
150
161
|
digestSHA256: cryptoOpts.digestSHA256 || digestSHA256(crypto),
|
@@ -1,3 +1,5 @@
|
|
1
|
+
/// <reference types="deno" />
|
2
|
+
|
1
3
|
import { BaseBasicSysAbstraction, WrapperBasicSysAbstraction, WrapperBasicSysAbstractionParams } from "../base-sys-abstraction.js";
|
2
4
|
import { ResolveOnce } from "../resolve-once.js";
|
3
5
|
import { BasicRuntimeService, BasicSysAbstraction } from "../sys-abstraction.js";
|
@@ -14,14 +16,14 @@ export class DenoRuntimeService implements BasicRuntimeService {
|
|
14
16
|
}
|
15
17
|
|
16
18
|
Args(): string[] {
|
17
|
-
return
|
19
|
+
return Deno.args;
|
18
20
|
}
|
19
21
|
|
20
22
|
Stdout(): WritableStream<Uint8Array> {
|
21
|
-
return
|
23
|
+
return Deno.stdout.writable;
|
22
24
|
}
|
23
25
|
Stderr(): WritableStream<Uint8Array> {
|
24
|
-
return
|
26
|
+
return Deno.stderr.writable;
|
25
27
|
}
|
26
28
|
}
|
27
29
|
|
package/src/http_header.ts
CHANGED
@@ -1,35 +1,81 @@
|
|
1
|
-
export class HeadersImpl
|
2
|
-
readonly _headers: Map<string, string>;
|
1
|
+
export class HeadersImpl implements Headers {
|
2
|
+
// readonly _headers: Map<string, string>;
|
3
|
+
readonly impl: Headers = new Headers();
|
3
4
|
|
4
|
-
constructor(init: Map<string, string>) {
|
5
|
-
super();
|
6
|
-
|
5
|
+
constructor(init: Map<string, string | string[]>) {
|
6
|
+
// super();
|
7
|
+
for (const [k, v] of init) {
|
8
|
+
this.append(k, v);
|
9
|
+
}
|
7
10
|
}
|
11
|
+
// toKey(key: string): string {
|
12
|
+
// return key.toLowerCase();
|
13
|
+
// }
|
8
14
|
|
9
|
-
|
10
|
-
|
15
|
+
forEach(callbackfn: (value: string, key: string, parent: this) => void): void {
|
16
|
+
this.impl.forEach((v, k) => {
|
17
|
+
callbackfn(v, k, this);
|
18
|
+
});
|
11
19
|
}
|
12
20
|
|
13
|
-
|
14
|
-
|
21
|
+
delete(name: string): void {
|
22
|
+
this.impl.delete(name);
|
23
|
+
}
|
24
|
+
get(name: string): string | null {
|
25
|
+
return this.impl.get(name);
|
15
26
|
}
|
16
|
-
|
17
|
-
return this.
|
27
|
+
getSetCookie(): string[] {
|
28
|
+
return this.impl.getSetCookie();
|
18
29
|
}
|
19
|
-
|
20
|
-
return this.
|
30
|
+
has(name: string): boolean {
|
31
|
+
return this.impl.has(name);
|
32
|
+
}
|
33
|
+
set(name: string, value: string): void {
|
34
|
+
this.impl.set(name, value);
|
21
35
|
}
|
22
36
|
|
23
|
-
|
24
|
-
const
|
25
|
-
|
26
|
-
|
37
|
+
*[Symbol.iterator](): IterableIterator<[string, string]> {
|
38
|
+
const keys: [string, string][] = [];
|
39
|
+
this.impl.forEach((v, k) => {
|
40
|
+
keys.push([k, v]);
|
41
|
+
});
|
42
|
+
for (const k of keys) {
|
43
|
+
yield k;
|
27
44
|
}
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
45
|
+
}
|
46
|
+
|
47
|
+
entries(): IterableIterator<[string, string]> {
|
48
|
+
return this[Symbol.iterator]();
|
49
|
+
}
|
50
|
+
*keys(): IterableIterator<string> {
|
51
|
+
const keys: string[] = [];
|
52
|
+
this.impl.forEach((_, k) => {
|
53
|
+
keys.push(k);
|
54
|
+
});
|
55
|
+
for (const k of keys) {
|
56
|
+
yield k;
|
32
57
|
}
|
58
|
+
}
|
59
|
+
*values(): IterableIterator<string> {
|
60
|
+
for (const k of this.keys()) {
|
61
|
+
const v = this.impl.get(k);
|
62
|
+
if (!v) {
|
63
|
+
continue;
|
64
|
+
}
|
65
|
+
yield v;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
append(key: string, value?: string | string[]): HeadersImpl {
|
70
|
+
if (!(typeof value === "string" || Array.isArray(value))) {
|
71
|
+
return this;
|
72
|
+
}
|
73
|
+
const existingValues = this.impl.get(key) || "";
|
74
|
+
const newValues = Array.isArray(value) ? value : [value];
|
75
|
+
const allValues = existingValues ? [...existingValues.split(", ").map((v) => v.trim()), ...newValues] : newValues;
|
76
|
+
// Remove empty strings and duplicates while preserving order
|
77
|
+
const uniqueValues = [...new Set(allValues.filter((v) => v !== ""))];
|
78
|
+
this.impl.set(key, uniqueValues.join(", "));
|
33
79
|
return this;
|
34
80
|
}
|
35
81
|
}
|
@@ -44,20 +90,20 @@ export class HttpHeader {
|
|
44
90
|
const h = new HttpHeader();
|
45
91
|
if (headers) {
|
46
92
|
if (Array.isArray(headers)) {
|
47
|
-
for (const [k, v] of headers
|
93
|
+
for (const [k, v] of headers) {
|
48
94
|
if (v) {
|
49
95
|
h.Add(k, v);
|
50
96
|
}
|
51
97
|
}
|
52
98
|
} else if (headers instanceof Headers) {
|
53
|
-
|
99
|
+
headers.forEach((v, k) => {
|
54
100
|
if (v) {
|
55
101
|
h.Add(
|
56
102
|
k,
|
57
103
|
v.split(",").map((v) => v.trim()),
|
58
104
|
);
|
59
105
|
}
|
60
|
-
}
|
106
|
+
});
|
61
107
|
} else {
|
62
108
|
for (const k in headers) {
|
63
109
|
const v = (headers as Record<string, string | string[]>)[k];
|
@@ -149,7 +195,7 @@ export class HttpHeader {
|
|
149
195
|
}
|
150
196
|
return obj;
|
151
197
|
}
|
152
|
-
AsHeaders():
|
198
|
+
AsHeaders(): HeadersImpl {
|
153
199
|
return new HeadersImpl(this._asStringString());
|
154
200
|
}
|
155
201
|
Merge(other?: HttpHeader): HttpHeader {
|
package/src/log-level-impl.ts
CHANGED
@@ -5,6 +5,8 @@ export class LevelHandlerImpl implements LevelHandler {
|
|
5
5
|
readonly _globalLevels: Set<Level> = new Set<Level>([Level.INFO, Level.ERROR, Level.WARN]);
|
6
6
|
readonly _modules: Map<string, Set<Level>> = new Map<string, Set<Level>>();
|
7
7
|
|
8
|
+
readonly _timer: Map<string, Date> = new Map<string, Date>();
|
9
|
+
|
8
10
|
ignoreAttr: Option<RegExp> = Option.Some(/^_/);
|
9
11
|
isStackExposed = false;
|
10
12
|
enableLevel(level: Level, ...modules: string[]): void {
|
@@ -85,6 +87,23 @@ export class LevelHandlerImpl implements LevelHandler {
|
|
85
87
|
}
|
86
88
|
return this._globalLevels.has(level);
|
87
89
|
}
|
90
|
+
|
91
|
+
timerStart(key: string): Date {
|
92
|
+
const now = new Date();
|
93
|
+
this._timer.set(key, now);
|
94
|
+
return now;
|
95
|
+
}
|
96
|
+
|
97
|
+
timerEnd(key: string): { now: Date; duration: number } {
|
98
|
+
const now = new Date();
|
99
|
+
const start = this._timer.get(key);
|
100
|
+
if (!start) {
|
101
|
+
return { now, duration: 0 };
|
102
|
+
}
|
103
|
+
const duration = now.getTime() - start.getTime(); // duration in milliseconds
|
104
|
+
this._timer.delete(key);
|
105
|
+
return { now, duration };
|
106
|
+
}
|
88
107
|
}
|
89
108
|
|
90
109
|
const levelSingleton = new LevelHandlerImpl();
|
package/src/logger-impl.ts
CHANGED
@@ -167,6 +167,16 @@ export class LoggerImpl implements Logger {
|
|
167
167
|
}
|
168
168
|
// console.log("LoggerImpl", this._id, this._attributes, this._withAttributes)
|
169
169
|
}
|
170
|
+
TimerStart(key: string): Logger {
|
171
|
+
const now = this.levelHandler.timerStart(key);
|
172
|
+
this.coerceKey(key, now.toISOString());
|
173
|
+
return this;
|
174
|
+
}
|
175
|
+
TimerEnd(key: string): Logger {
|
176
|
+
const dur = this.levelHandler.timerEnd(key);
|
177
|
+
this.coerceKey(key, `${dur.now.toISOString()} - ${dur.duration}ms`);
|
178
|
+
return this;
|
179
|
+
}
|
170
180
|
|
171
181
|
TxtEnDe(): TxtEnDecoder {
|
172
182
|
return this._txtEnDe;
|
@@ -444,8 +454,16 @@ export class LoggerImpl implements Logger {
|
|
444
454
|
}
|
445
455
|
let fnRet = (): Uint8Array => this._formatter.format({ ...this._attributes });
|
446
456
|
if (doWrite) {
|
447
|
-
|
448
|
-
|
457
|
+
let encoded: Uint8Array;
|
458
|
+
try {
|
459
|
+
encoded = fnRet();
|
460
|
+
this._logWriter.write(encoded);
|
461
|
+
} catch (e) {
|
462
|
+
const where = "Logger-Impl:Msg:Write error:";
|
463
|
+
// eslint-disable-next-line no-console
|
464
|
+
console.error(where, e, this._attributes);
|
465
|
+
encoded = this._txtEnDe.encode(where + (e as Error).message + "\n" + (e as Error).stack + "\n");
|
466
|
+
}
|
449
467
|
fnRet = (): Uint8Array => encoded;
|
450
468
|
}
|
451
469
|
return fnRet;
|
@@ -465,6 +483,14 @@ class WithLoggerBuilder implements WithLogger {
|
|
465
483
|
this._li = li;
|
466
484
|
this.levelHandler = li.levelHandler;
|
467
485
|
}
|
486
|
+
TimerStart(key: string): WithLogger {
|
487
|
+
this._li.TimerStart(key);
|
488
|
+
return this;
|
489
|
+
}
|
490
|
+
TimerEnd(key: string): WithLogger {
|
491
|
+
this._li.TimerEnd(key);
|
492
|
+
return this;
|
493
|
+
}
|
468
494
|
|
469
495
|
TxtEnDe(): TxtEnDecoder {
|
470
496
|
return this._li.TxtEnDe();
|
package/src/logger.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
// / <reference lib="dom" />
|
1
2
|
import { isPromise } from "./is-promise.js";
|
2
3
|
import { bin2string } from "./bin2text.js";
|
3
4
|
import { Option } from "./option.js";
|
@@ -131,7 +132,11 @@ function logValueInternal(val: LogValueArg, ctx: LogValueStateInternal): LogValu
|
|
131
132
|
// // delete rval.blob
|
132
133
|
// }
|
133
134
|
if (val instanceof Headers) {
|
134
|
-
|
135
|
+
const headers: Record<string, string> = {};
|
136
|
+
val.forEach((v, k) => {
|
137
|
+
headers[k] = v;
|
138
|
+
});
|
139
|
+
return new LogValue(() => headers as unknown as Serialized);
|
135
140
|
}
|
136
141
|
if (val instanceof ReadableStream) {
|
137
142
|
return new LogValue(() => ">Stream<");
|
@@ -194,6 +199,10 @@ export interface LevelHandler {
|
|
194
199
|
setIgnoreAttr(re?: RegExp): void;
|
195
200
|
ignoreAttr: Option<RegExp>;
|
196
201
|
isStackExposed: boolean;
|
202
|
+
|
203
|
+
timerStart(key: string): Date; // now
|
204
|
+
timerEnd(key: string): { now: Date; duration: number }; // returns duration in nanoseconds
|
205
|
+
|
197
206
|
setDebug(...modules: (string | string[])[]): void;
|
198
207
|
isEnabled(ilevel: unknown, module: unknown): boolean;
|
199
208
|
}
|
@@ -246,6 +255,8 @@ export interface LoggerInterface<R> {
|
|
246
255
|
Err<T>(err: T | Result<T> | Error): R; // could be Error, or something which coerces to string
|
247
256
|
Info(): R;
|
248
257
|
Timestamp(): R;
|
258
|
+
TimerStart(key: string): R;
|
259
|
+
TimerEnd(key: string): R;
|
249
260
|
Dur(key: string, nsec: number): R;
|
250
261
|
}
|
251
262
|
|
package/src/lru-map-set.ts
CHANGED
@@ -98,8 +98,8 @@ export class LRUMap<T, K> {
|
|
98
98
|
if (!this._map.has(key)) {
|
99
99
|
throw new Error(`key not found in cache: ${key as unknown as string}`);
|
100
100
|
}
|
101
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
102
|
-
const value = this._map.get(key)
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
102
|
+
const value = this._map.get(key) as LRUItem<K>;
|
103
103
|
this._map.delete(key);
|
104
104
|
this._map.set(key, value);
|
105
105
|
return value;
|
@@ -179,8 +179,10 @@ export class LRUMap<T, K> {
|
|
179
179
|
// delete the least recently accessed
|
180
180
|
// const key = Array.from(this.cache.keys())[0];
|
181
181
|
// this.cache.delete(key) or
|
182
|
-
|
183
|
-
|
182
|
+
const v = this._map.keys().next();
|
183
|
+
if (!v.done) {
|
184
|
+
this._map.delete(v.value as T);
|
185
|
+
}
|
184
186
|
}
|
185
187
|
this._map.set(key, item);
|
186
188
|
this.stats.puts++;
|
@@ -198,8 +200,8 @@ export class LRUMap<T, K> {
|
|
198
200
|
|
199
201
|
delete(key: T): void {
|
200
202
|
if (this._map.has(key)) {
|
201
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
202
|
-
const item = this._map.get(key)
|
203
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
204
|
+
const item = this._map.get(key) as LRUItem<K>;
|
203
205
|
this._onDeleteFns.forEach((fn) => fn(key, item?.value, this.buildItemCtx(item, true)));
|
204
206
|
this._map.delete(key);
|
205
207
|
this.stats.deletes++;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { NetworkInterfaceInfo, networkInterfaces } from "os";
|
1
|
+
import { NetworkInterfaceInfo, networkInterfaces } from "node:os";
|
2
2
|
|
3
3
|
export function getInterfaceAddresses(): Record<string, NetworkInterfaceInfo[]> {
|
4
4
|
const nets = networkInterfaces();
|
@@ -6,8 +6,10 @@ export function getInterfaceAddresses(): Record<string, NetworkInterfaceInfo[]>
|
|
6
6
|
.filter((i) => i[1])
|
7
7
|
.reduce(
|
8
8
|
(acc, [name, nets]) => {
|
9
|
-
|
10
|
-
|
9
|
+
if (nets) {
|
10
|
+
// console.log(name, nets);
|
11
|
+
acc[name] = nets; // as NetworkInterfaceInfo[];
|
12
|
+
}
|
11
13
|
return acc;
|
12
14
|
},
|
13
15
|
{} as Record<string, NetworkInterfaceInfo[]>,
|
package/src/path-ops.ts
CHANGED
@@ -28,7 +28,10 @@ class pathOpsImpl implements PathOps {
|
|
28
28
|
basename: splitted[0] === "." ? "" : splitted[0],
|
29
29
|
};
|
30
30
|
}
|
31
|
-
const basename = splitted.pop()
|
31
|
+
const basename = splitted.pop();
|
32
|
+
if (!basename) {
|
33
|
+
throw new Error("basename is undefined");
|
34
|
+
}
|
32
35
|
return {
|
33
36
|
dirname: splitted.join("/").replace(/^\.\//, ""),
|
34
37
|
basename,
|
package/src/resolve-once.ts
CHANGED
@@ -5,14 +5,14 @@ import { Result } from "./result.js";
|
|
5
5
|
|
6
6
|
interface ResolveSeqItem<T, C> {
|
7
7
|
readonly future: Future<T>;
|
8
|
-
readonly fn: (c
|
8
|
+
readonly fn: (c?: C) => Promise<T>;
|
9
9
|
readonly id?: number;
|
10
10
|
}
|
11
11
|
|
12
12
|
export class ResolveSeq<T, C = void> {
|
13
|
-
readonly ctx
|
13
|
+
readonly ctx?: C;
|
14
14
|
constructor(ctx?: C) {
|
15
|
-
this.ctx = ctx
|
15
|
+
this.ctx = ctx;
|
16
16
|
}
|
17
17
|
reset(): void {
|
18
18
|
/* noop */
|
@@ -45,7 +45,7 @@ export class ResolveSeq<T, C = void> {
|
|
45
45
|
return Promise.resolve();
|
46
46
|
}
|
47
47
|
readonly _seqFutures: ResolveSeqItem<T, C>[] = [];
|
48
|
-
async add(fn: (c
|
48
|
+
async add(fn: (c?: C) => Promise<T>, id?: number): Promise<T> {
|
49
49
|
const future = new Future<T>();
|
50
50
|
this._seqFutures.push({ future, fn, id });
|
51
51
|
if (this._seqFutures.length === 1) {
|
@@ -64,10 +64,10 @@ export class ResolveOnce<T, CTX = void> {
|
|
64
64
|
_isPromise = false;
|
65
65
|
_inProgress?: Future<T>;
|
66
66
|
|
67
|
-
readonly ctx
|
67
|
+
readonly ctx?: CTX;
|
68
68
|
|
69
69
|
constructor(ctx?: CTX) {
|
70
|
-
this.ctx = ctx
|
70
|
+
this.ctx = ctx;
|
71
71
|
}
|
72
72
|
|
73
73
|
get ready(): boolean {
|
@@ -95,7 +95,7 @@ export class ResolveOnce<T, CTX = void> {
|
|
95
95
|
}
|
96
96
|
|
97
97
|
// T extends Option<infer U> ? U : T
|
98
|
-
once<R>(fn: (c
|
98
|
+
once<R>(fn: (c?: CTX) => R): R {
|
99
99
|
if (this._onceDone) {
|
100
100
|
if (this._onceError) {
|
101
101
|
if (this._isPromise) {
|
@@ -106,8 +106,7 @@ export class ResolveOnce<T, CTX = void> {
|
|
106
106
|
}
|
107
107
|
if (this._onceOk) {
|
108
108
|
if (this._isPromise) {
|
109
|
-
|
110
|
-
return Promise.resolve(this._onceValue!) as unknown as R;
|
109
|
+
return Promise.resolve(this._onceValue) as unknown as R;
|
111
110
|
} else {
|
112
111
|
return this._onceValue as unknown as R;
|
113
112
|
}
|
@@ -122,7 +121,7 @@ export class ResolveOnce<T, CTX = void> {
|
|
122
121
|
this._onceOk = true;
|
123
122
|
this._onceDone = true;
|
124
123
|
if (this._isPromise) {
|
125
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
124
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion, @typescript-eslint/no-non-null-assertion
|
126
125
|
this._onceFutures.forEach((f) => f.resolve(this._onceValue!));
|
127
126
|
}
|
128
127
|
this._onceFutures.length = 0;
|
@@ -133,7 +132,7 @@ export class ResolveOnce<T, CTX = void> {
|
|
133
132
|
this._onceValue = undefined;
|
134
133
|
this._onceDone = true;
|
135
134
|
if (this._isPromise) {
|
136
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
135
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion, @typescript-eslint/no-non-null-assertion
|
137
136
|
this._onceFutures.forEach((f) => f.reject(this._onceError!));
|
138
137
|
}
|
139
138
|
this._onceFutures.length = 0;
|
@@ -211,6 +210,13 @@ export class Keyed<T extends { reset: () => void }, K = string> {
|
|
211
210
|
return keyed;
|
212
211
|
}
|
213
212
|
|
213
|
+
has(key: K | (() => K)): boolean {
|
214
|
+
if (typeof key === "function") {
|
215
|
+
key = (key as () => K)();
|
216
|
+
}
|
217
|
+
return this._map.has(key);
|
218
|
+
}
|
219
|
+
|
214
220
|
unget(key: K): void {
|
215
221
|
const keyed = this._map.get(key);
|
216
222
|
keyed?.reset();
|
@@ -241,7 +247,8 @@ export class KeyedResolvOnce<T, K = string> extends Keyed<ResolveOnce<T, K>, K>
|
|
241
247
|
if (v._onceError) {
|
242
248
|
yield { key: k, value: Result.Err<T>(v._onceError) };
|
243
249
|
} else {
|
244
|
-
|
250
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion, @typescript-eslint/no-non-null-assertion
|
251
|
+
yield { key: k, value: Result.Ok<T>(v._onceValue!) };
|
245
252
|
}
|
246
253
|
}
|
247
254
|
}
|
package/src/sys-env.ts
CHANGED
@@ -12,7 +12,7 @@ export class LogWriteStream implements WritableStreamDefaultWriter<Uint8Array> {
|
|
12
12
|
readonly _resolveClosed: Future<undefined> = new Future<undefined>();
|
13
13
|
readonly closed: Promise<undefined> = this._resolveClosed.asPromise();
|
14
14
|
readonly desiredSize: number | null = null;
|
15
|
-
readonly ready: Promise<
|
15
|
+
readonly ready: Promise<never> = Promise.resolve() as Promise<never>;
|
16
16
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
|
18
18
|
abort(reason?: any): Promise<void> {
|
@@ -20,7 +20,7 @@ export class LogWriteStream implements WritableStreamDefaultWriter<Uint8Array> {
|
|
20
20
|
}
|
21
21
|
async close(): Promise<void> {
|
22
22
|
await this.closed;
|
23
|
-
return Promise.resolve(
|
23
|
+
return Promise.resolve();
|
24
24
|
}
|
25
25
|
releaseLock(): void {
|
26
26
|
// do nothing
|
@@ -29,7 +29,7 @@ export class LogWriteStream implements WritableStreamDefaultWriter<Uint8Array> {
|
|
29
29
|
if (chunk) {
|
30
30
|
this._bufferArr.push(chunk);
|
31
31
|
}
|
32
|
-
return Promise.resolve(
|
32
|
+
return Promise.resolve();
|
33
33
|
}
|
34
34
|
}
|
35
35
|
|
@@ -56,7 +56,7 @@ export class LogCollector implements WritableStream<Uint8Array> {
|
|
56
56
|
this._writer = undefined;
|
57
57
|
return ret;
|
58
58
|
}
|
59
|
-
return Promise.resolve(
|
59
|
+
return Promise.resolve();
|
60
60
|
}
|
61
61
|
|
62
62
|
getWriter(): WritableStreamDefaultWriter<Uint8Array> {
|
package/src/tracer.ts
CHANGED
@@ -141,7 +141,7 @@ export class TraceNode {
|
|
141
141
|
delete cleanCtx.time;
|
142
142
|
delete cleanCtx.logger;
|
143
143
|
delete cleanCtx.metrics;
|
144
|
-
const spanRefs = this.metrics.toJSON.call({ map: this.metrics.spanRefs })
|
144
|
+
const spanRefs = this.metrics.toJSON.call({ map: this.metrics.spanRefs }) as Record<string, unknown>;
|
145
145
|
const metricsRefs = Object.keys(spanRefs).length > 0 ? { metricRefs: spanRefs } : {};
|
146
146
|
return {
|
147
147
|
ctx: cleanCtx,
|
@@ -200,7 +200,7 @@ export class TraceNode {
|
|
200
200
|
if (isPromise(possiblePromise)) {
|
201
201
|
return possiblePromise
|
202
202
|
.then((v) => {
|
203
|
-
return v
|
203
|
+
return v as ReturnType<V>;
|
204
204
|
})
|
205
205
|
.catch((e) => {
|
206
206
|
invokation.result = "error";
|