@adviser/cement 0.4.7 → 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.
- package/base-basic-sys-abstraction.test.d.ts +2 -0
- package/base-basic-sys-abstraction.test.d.ts.map +1 -0
- package/base-basic-sys-abstraction.test.js +88 -0
- package/base-basic-sys-abstraction.test.js.map +1 -0
- package/{base-sys-abstraction-h0dB3nZ5.d.ts → base-sys-abstraction.d.ts} +23 -22
- package/base-sys-abstraction.d.ts.map +1 -0
- package/base-sys-abstraction.js +193 -0
- package/base-sys-abstraction.js.map +1 -0
- package/bin2text.d.ts +3 -0
- package/bin2text.d.ts.map +1 -0
- package/bin2text.js +43 -0
- package/bin2text.js.map +1 -0
- package/bin2text.test.d.ts +2 -0
- package/bin2text.test.d.ts.map +1 -0
- package/bin2text.test.js +51 -0
- package/bin2text.test.js.map +1 -0
- package/cf/cf-basic-sys-abstraction.d.ts +14 -0
- package/cf/cf-basic-sys-abstraction.d.ts.map +1 -0
- package/cf/cf-basic-sys-abstraction.js +67 -0
- package/cf/cf-basic-sys-abstraction.js.map +1 -0
- package/cf/cf-env-actions.d.ts +16 -0
- package/cf/cf-env-actions.d.ts.map +1 -0
- package/cf/cf-env-actions.js +53 -0
- package/cf/cf-env-actions.js.map +1 -0
- package/cf/index.d.ts +3 -30
- package/cf/index.d.ts.map +1 -0
- package/cf/index.js +2 -11
- package/cf/index.js.map +1 -1
- package/cf-test-main.d.ts +5 -0
- package/cf-test-main.d.ts.map +1 -0
- package/cf-test-main.js +12 -0
- package/cf-test-main.js.map +1 -0
- package/coerce-binary.d.ts +6 -0
- package/coerce-binary.d.ts.map +1 -0
- package/coerce-binary.js +32 -0
- package/coerce-binary.js.map +1 -0
- package/coerce-binary.test.d.ts +2 -0
- package/coerce-binary.test.d.ts.map +1 -0
- package/coerce-binary.test.js +39 -0
- package/coerce-binary.test.js.map +1 -0
- package/crypto.d.ts +76 -0
- package/crypto.d.ts.map +1 -0
- package/crypto.js +22 -0
- package/crypto.js.map +1 -0
- package/crypto.test.d.ts +2 -0
- package/crypto.test.d.ts.map +1 -0
- package/crypto.test.js +21 -0
- package/crypto.test.js.map +1 -0
- package/deno/deno-basic-sys-abstraction.d.ts +14 -0
- package/deno/deno-basic-sys-abstraction.d.ts.map +1 -0
- package/deno/deno-basic-sys-abstraction.js +35 -0
- package/deno/deno-basic-sys-abstraction.js.map +1 -0
- package/deno/deno-env-actions.d.ts +23 -0
- package/deno/deno-env-actions.d.ts.map +1 -0
- package/deno/deno-env-actions.js +40 -0
- package/deno/deno-env-actions.js.map +1 -0
- package/deno/deno-file-service.d.ts +17 -0
- package/deno/deno-file-service.d.ts.map +1 -0
- package/deno/deno-file-service.js +67 -0
- package/deno/deno-file-service.js.map +1 -0
- package/deno/deno-sys-abstraction.d.ts +19 -0
- package/deno/deno-sys-abstraction.d.ts.map +1 -0
- package/deno/deno-sys-abstraction.js +96 -0
- package/deno/deno-sys-abstraction.js.map +1 -0
- package/deno/index.d.ts +3 -37
- package/deno/index.d.ts.map +1 -0
- package/deno/index.js +2 -179
- package/deno/index.js.map +1 -1
- package/file-service.d.ts +17 -0
- package/file-service.d.ts.map +1 -0
- package/file-service.js +2 -0
- package/file-service.js.map +1 -0
- package/future.d.ts +8 -0
- package/future.d.ts.map +1 -0
- package/future.js +25 -0
- package/future.js.map +1 -0
- package/future.test.d.ts +2 -0
- package/future.test.d.ts.map +1 -0
- package/future.test.js +32 -0
- package/future.test.js.map +1 -0
- package/http_header.d.ts +29 -0
- package/http_header.d.ts.map +1 -0
- package/http_header.js +157 -0
- package/http_header.js.map +1 -0
- package/http_header.test.d.ts +2 -0
- package/http_header.test.d.ts.map +1 -0
- package/http_header.test.js +96 -0
- package/http_header.test.js.map +1 -0
- package/index.d.ts +29 -396
- package/index.d.ts.map +1 -0
- package/index.js +28 -609
- package/index.js.map +1 -1
- package/is-promise.d.ts +4 -0
- package/is-promise.d.ts.map +1 -0
- package/is-promise.js +10 -0
- package/is-promise.js.map +1 -0
- package/is-promise.test.d.ts +2 -0
- package/is-promise.test.d.ts.map +1 -0
- package/is-promise.test.js +48 -0
- package/is-promise.test.js.map +1 -0
- package/json-en-decoder.d.ts +12 -0
- package/json-en-decoder.d.ts.map +1 -0
- package/json-en-decoder.js +42 -0
- package/json-en-decoder.js.map +1 -0
- package/json-en-decoder.test.d.ts +2 -0
- package/json-en-decoder.test.d.ts.map +1 -0
- package/json-en-decoder.test.js +18 -0
- package/json-en-decoder.test.js.map +1 -0
- package/log-level-impl.d.ts +17 -0
- package/log-level-impl.d.ts.map +1 -0
- package/log-level-impl.js +75 -0
- package/log-level-impl.js.map +1 -0
- package/log-writer-impl.d.ts +11 -0
- package/log-writer-impl.d.ts.map +1 -0
- package/log-writer-impl.js +52 -0
- package/log-writer-impl.js.map +1 -0
- package/logger-impl.d.ts +75 -0
- package/logger-impl.d.ts.map +1 -0
- package/logger-impl.js +505 -0
- package/logger-impl.js.map +1 -0
- package/logger.d.ts +97 -0
- package/logger.d.ts.map +1 -0
- package/logger.js +150 -0
- package/logger.js.map +1 -0
- package/logger.test.d.ts +2 -0
- package/logger.test.d.ts.map +1 -0
- package/logger.test.js +1577 -0
- package/logger.test.js.map +1 -0
- package/lru-map-set.d.ts +33 -0
- package/lru-map-set.d.ts.map +1 -0
- package/lru-map-set.js +116 -0
- package/lru-map-set.js.map +1 -0
- package/lru-map-set.test.d.ts +2 -0
- package/lru-map-set.test.d.ts.map +1 -0
- package/lru-map-set.test.js +81 -0
- package/lru-map-set.test.js.map +1 -0
- package/node/index.d.ts +4 -45
- package/node/index.d.ts.map +1 -0
- package/node/index.js +3 -222
- package/node/index.js.map +1 -1
- package/node/mock-file-service.d.ts +11 -0
- package/node/mock-file-service.d.ts.map +1 -0
- package/node/mock-file-service.js +31 -0
- package/node/mock-file-service.js.map +1 -0
- package/node/mock-file-service.test.d.ts +2 -0
- package/node/mock-file-service.test.d.ts.map +1 -0
- package/node/mock-file-service.test.js +31 -0
- package/node/mock-file-service.test.js.map +1 -0
- package/node/node-basic-sys-abstraction.d.ts +25 -0
- package/node/node-basic-sys-abstraction.d.ts.map +1 -0
- package/node/node-basic-sys-abstraction.js +45 -0
- package/node/node-basic-sys-abstraction.js.map +1 -0
- package/node/node-env-actions.d.ts +15 -0
- package/node/node-env-actions.d.ts.map +1 -0
- package/node/node-env-actions.js +38 -0
- package/node/node-env-actions.js.map +1 -0
- package/node/node-file-service.d.ts +16 -0
- package/node/node-file-service.d.ts.map +1 -0
- package/node/node-file-service.js +72 -0
- package/node/node-file-service.js.map +1 -0
- package/node/node-sys-abstraction.d.ts +19 -0
- package/node/node-sys-abstraction.d.ts.map +1 -0
- package/node/node-sys-abstraction.js +95 -0
- package/node/node-sys-abstraction.js.map +1 -0
- package/node/node-sys-abstraction.test.d.ts +2 -0
- package/node/node-sys-abstraction.test.d.ts.map +1 -0
- package/node/node-sys-abstraction.test.js +83 -0
- package/node/node-sys-abstraction.test.js.map +1 -0
- package/option.d.ts +26 -0
- package/option.d.ts.map +1 -0
- package/option.js +54 -0
- package/option.js.map +1 -0
- package/package.json +4 -10
- package/path-ops.d.ts +7 -0
- package/path-ops.d.ts.map +1 -0
- package/path-ops.js +35 -0
- package/path-ops.js.map +1 -0
- package/path-ops.test.d.ts +2 -0
- package/path-ops.test.d.ts.map +1 -0
- package/path-ops.test.js +39 -0
- package/path-ops.test.js.map +1 -0
- package/resolve-once.d.ts +59 -0
- package/resolve-once.d.ts.map +1 -0
- package/resolve-once.js +212 -0
- package/resolve-once.js.map +1 -0
- package/resolve-once.test.d.ts +2 -0
- package/resolve-once.test.d.ts.map +1 -0
- package/resolve-once.test.js +392 -0
- package/resolve-once.test.js.map +1 -0
- package/result.d.ts +34 -0
- package/result.d.ts.map +1 -0
- package/result.js +94 -0
- package/result.js.map +1 -0
- package/result.test.d.ts +2 -0
- package/result.test.d.ts.map +1 -0
- package/result.test.js +83 -0
- package/result.test.js.map +1 -0
- package/runtime.d.ts +9 -0
- package/runtime.d.ts.map +1 -0
- package/runtime.js +33 -0
- package/runtime.js.map +1 -0
- package/src/jsr.json +1 -1
- package/src/uri.ts +62 -37
- package/sys-abstraction.d.ts +43 -0
- package/sys-abstraction.d.ts.map +1 -0
- package/sys-abstraction.js +28 -0
- package/sys-abstraction.js.map +1 -0
- package/sys-env.d.ts +46 -0
- package/sys-env.d.ts.map +1 -0
- package/sys-env.js +161 -0
- package/sys-env.js.map +1 -0
- package/sys-env.test.d.ts +2 -0
- package/sys-env.test.d.ts.map +1 -0
- package/sys-env.test.js +170 -0
- package/sys-env.test.js.map +1 -0
- package/test/index.d.ts +3 -4
- package/test/index.d.ts.map +1 -0
- package/test/index.js +2 -13
- package/test/index.js.map +1 -1
- package/test/log-write-stream.d.ts +27 -0
- package/test/log-write-stream.d.ts.map +1 -0
- package/test/log-write-stream.js +78 -0
- package/test/log-write-stream.js.map +1 -0
- package/test/mock-logger.d.ts +14 -0
- package/test/mock-logger.d.ts.map +1 -0
- package/test/mock-logger.js +29 -0
- package/test/mock-logger.js.map +1 -0
- package/test/mock-logger.test.d.ts +2 -0
- package/test/mock-logger.test.d.ts.map +1 -0
- package/test/mock-logger.test.js +63 -0
- package/test/mock-logger.test.js.map +1 -0
- package/test/test-exit-handler.d.ts +2 -0
- package/test/test-exit-handler.d.ts.map +1 -0
- package/test/test-exit-handler.js +61 -0
- package/test/test-exit-handler.js.map +1 -0
- package/time.d.ts +14 -0
- package/time.d.ts.map +1 -0
- package/time.js +13 -0
- package/time.js.map +1 -0
- package/tracer.d.ts +59 -0
- package/tracer.d.ts.map +1 -0
- package/tracer.js +174 -0
- package/tracer.js.map +1 -0
- package/tracer.test.d.ts +2 -0
- package/tracer.test.d.ts.map +1 -0
- package/tracer.test.js +304 -0
- package/tracer.test.js.map +1 -0
- package/ts/smoke/smoke.js +1 -1
- package/ts/smoke/smoke.js.map +1 -1
- package/ts/src/base-sys-abstraction.js +20 -8
- package/ts/src/base-sys-abstraction.js.map +1 -1
- package/ts/src/cf/cf-basic-sys-abstraction.js +3 -3
- package/ts/src/cf/cf-basic-sys-abstraction.js.map +1 -1
- package/ts/src/cf/cf-env-actions.js +3 -1
- package/ts/src/cf/cf-env-actions.js.map +1 -1
- package/ts/src/coerce-binary.js +1 -1
- package/ts/src/coerce-binary.js.map +1 -1
- package/ts/src/deno/deno-basic-sys-abstraction.js +3 -3
- package/ts/src/deno/deno-basic-sys-abstraction.js.map +1 -1
- package/ts/src/deno/deno-env-actions.js +3 -9
- package/ts/src/deno/deno-env-actions.js.map +1 -1
- package/ts/src/deno/deno-file-service.js +2 -0
- package/ts/src/deno/deno-file-service.js.map +1 -1
- package/ts/src/deno/deno-sys-abstraction.js +21 -21
- package/ts/src/deno/deno-sys-abstraction.js.map +1 -1
- package/ts/src/future.js +13 -26
- package/ts/src/future.js.map +1 -1
- package/ts/src/http_header.js +2 -3
- package/ts/src/http_header.js.map +1 -1
- package/ts/src/json-en-decoder.js +3 -2
- package/ts/src/json-en-decoder.js.map +1 -1
- package/ts/src/log-level-impl.js +4 -6
- package/ts/src/log-level-impl.js.map +1 -1
- package/ts/src/log-writer-impl.js +9 -5
- package/ts/src/log-writer-impl.js.map +1 -1
- package/ts/src/logger-impl.js +15 -5
- package/ts/src/logger-impl.js.map +1 -1
- package/ts/src/logger.js +3 -3
- package/ts/src/logger.js.map +1 -1
- package/ts/src/logger.test.js +7 -19
- package/ts/src/logger.test.js.map +1 -1
- package/ts/src/lru-map-set.js +3 -1
- package/ts/src/lru-map-set.js.map +1 -1
- package/ts/src/node/mock-file-service.js +1 -4
- package/ts/src/node/mock-file-service.js.map +1 -1
- package/ts/src/node/node-basic-sys-abstraction.js +4 -3
- package/ts/src/node/node-basic-sys-abstraction.js.map +1 -1
- package/ts/src/node/node-env-actions.js +3 -9
- package/ts/src/node/node-env-actions.js.map +1 -1
- package/ts/src/node/node-file-service.js +1 -0
- package/ts/src/node/node-file-service.js.map +1 -1
- package/ts/src/node/node-sys-abstraction.js +21 -21
- package/ts/src/node/node-sys-abstraction.js.map +1 -1
- package/ts/src/option.js +1 -0
- package/ts/src/option.js.map +1 -1
- package/ts/src/path-ops.js +21 -30
- package/ts/src/path-ops.js.map +1 -1
- package/ts/src/resolve-once.js +17 -13
- package/ts/src/resolve-once.js.map +1 -1
- package/ts/src/result.js +2 -0
- package/ts/src/result.js.map +1 -1
- package/ts/src/sys-abstraction.js +1 -1
- package/ts/src/sys-abstraction.js.map +1 -1
- package/ts/src/sys-env.js +2 -1
- package/ts/src/sys-env.js.map +1 -1
- package/ts/src/sys-env.test.js +6 -19
- package/ts/src/sys-env.test.js.map +1 -1
- package/ts/src/test/log-write-stream.js +10 -6
- package/ts/src/test/log-write-stream.js.map +1 -1
- package/ts/src/test/mock-logger.js +6 -6
- package/ts/src/test/mock-logger.js.map +1 -1
- package/ts/src/test/test-exit-handler.js +1 -2
- package/ts/src/test/test-exit-handler.js.map +1 -1
- package/ts/src/tracer.js +10 -3
- package/ts/src/tracer.js.map +1 -1
- package/ts/src/tracer.test.js +5 -9
- package/ts/src/tracer.test.js.map +1 -1
- package/ts/src/txt-en-decoder.js +2 -4
- package/ts/src/txt-en-decoder.js.map +1 -1
- package/ts/src/types.js +2 -6
- package/ts/src/types.js.map +1 -1
- package/ts/src/uri.d.ts +4 -0
- package/ts/src/uri.d.ts.map +1 -1
- package/ts/src/uri.js +54 -34
- package/ts/src/uri.js.map +1 -1
- package/ts/src/uri.test.js +27 -0
- package/ts/src/uri.test.js.map +1 -1
- package/ts/src/utils/console-write-stream.js +8 -5
- package/ts/src/utils/console-write-stream.js.map +1 -1
- package/ts/src/utils/fanout-write-stream.js +4 -1
- package/ts/src/utils/fanout-write-stream.js.map +1 -1
- package/ts/src/utils/rebuffer.test.js +1 -1
- package/ts/src/utils/rebuffer.test.js.map +1 -1
- package/ts/src/utils/relative-path.js +1 -0
- package/ts/src/utils/relative-path.js.map +1 -1
- package/ts/src/utils/stream-map.test.js +1 -1
- package/ts/src/utils/stream-map.test.js.map +1 -1
- package/ts/src/web/web-basic-sys-abstraction.js +3 -3
- package/ts/src/web/web-basic-sys-abstraction.js.map +1 -1
- package/ts/src/web/web-env-actions.js +2 -1
- package/ts/src/web/web-env-actions.js.map +1 -1
- package/txt-en-decoder.d.ts +11 -0
- package/txt-en-decoder.d.ts.map +1 -0
- package/txt-en-decoder.js +37 -0
- package/txt-en-decoder.js.map +1 -0
- package/txt-en-decoder.test.d.ts +2 -0
- package/txt-en-decoder.test.d.ts.map +1 -0
- package/txt-en-decoder.test.js +48 -0
- package/txt-en-decoder.test.js.map +1 -0
- package/types.d.ts +16 -0
- package/types.d.ts.map +1 -0
- package/types.js +11 -0
- package/types.js.map +1 -0
- package/uri.d.ts +137 -0
- package/uri.d.ts.map +1 -0
- package/uri.js +567 -0
- package/uri.js.map +1 -0
- package/uri.test.d.ts +2 -0
- package/uri.test.d.ts.map +1 -0
- package/uri.test.js +633 -0
- package/uri.test.js.map +1 -0
- package/utils/coerce-uint8.d.ts +8 -0
- package/utils/coerce-uint8.d.ts.map +1 -0
- package/utils/coerce-uint8.js +34 -0
- package/utils/coerce-uint8.js.map +1 -0
- package/utils/console-write-stream.d.ts +21 -0
- package/utils/console-write-stream.d.ts.map +1 -0
- package/utils/console-write-stream.js +66 -0
- package/utils/console-write-stream.js.map +1 -0
- package/utils/fanout-write-stream.d.ts +12 -0
- package/utils/fanout-write-stream.d.ts.map +1 -0
- package/utils/fanout-write-stream.js +27 -0
- package/utils/fanout-write-stream.js.map +1 -0
- package/utils/get-params-result.d.ts +8 -0
- package/utils/get-params-result.d.ts.map +1 -0
- package/utils/get-params-result.js +45 -0
- package/utils/get-params-result.js.map +1 -0
- package/utils/index.d.ts +12 -3
- package/utils/index.d.ts.map +1 -0
- package/utils/index.js +11 -50
- package/utils/index.js.map +1 -1
- package/utils/rebuffer.d.ts +3 -0
- package/utils/rebuffer.d.ts.map +1 -0
- package/utils/rebuffer.js +66 -0
- package/utils/rebuffer.js.map +1 -0
- package/utils/rebuffer.test.d.ts +2 -0
- package/utils/rebuffer.test.d.ts.map +1 -0
- package/utils/rebuffer.test.js +77 -0
- package/utils/rebuffer.test.js.map +1 -0
- package/utils/relative-path.d.ts +18 -0
- package/utils/relative-path.d.ts.map +1 -0
- package/utils/relative-path.js +148 -0
- package/utils/relative-path.js.map +1 -0
- package/utils/relative-path.test.d.ts +2 -0
- package/utils/relative-path.test.d.ts.map +1 -0
- package/utils/relative-path.test.js +187 -0
- package/utils/relative-path.test.js.map +1 -0
- package/utils/sorted-objec.test.d.ts +2 -0
- package/utils/sorted-objec.test.d.ts.map +1 -0
- package/utils/sorted-objec.test.js +20 -0
- package/utils/sorted-objec.test.js.map +1 -0
- package/utils/sorted-object.d.ts +4 -0
- package/utils/sorted-object.d.ts.map +1 -0
- package/utils/sorted-object.js +16 -0
- package/utils/sorted-object.js.map +1 -0
- package/utils/stream-map.d.ts +9 -0
- package/utils/stream-map.d.ts.map +1 -0
- package/utils/stream-map.js +63 -0
- package/utils/stream-map.js.map +1 -0
- package/utils/stream-map.test.d.ts +2 -0
- package/utils/stream-map.test.d.ts.map +1 -0
- package/utils/stream-map.test.js +87 -0
- package/utils/stream-map.test.js.map +1 -0
- package/utils/stream-test-helper.d.ts +17 -0
- package/utils/stream-test-helper.d.ts.map +1 -0
- package/utils/stream-test-helper.js +45 -0
- package/utils/stream-test-helper.js.map +1 -0
- package/utils/stream2string.d.ts +3 -0
- package/utils/stream2string.d.ts.map +1 -0
- package/utils/stream2string.js +48 -0
- package/utils/stream2string.js.map +1 -0
- package/utils/stream2string.test.d.ts +2 -0
- package/utils/stream2string.test.d.ts.map +1 -0
- package/utils/stream2string.test.js +29 -0
- package/utils/stream2string.test.js.map +1 -0
- package/utils/string2stream.d.ts +4 -0
- package/utils/string2stream.d.ts.map +1 -0
- package/utils/string2stream.js +13 -0
- package/utils/string2stream.js.map +1 -0
- package/utils/string2stream.test.d.ts +2 -0
- package/utils/string2stream.test.d.ts.map +1 -0
- package/utils/string2stream.test.js +6 -0
- package/utils/string2stream.test.js.map +1 -0
- package/utils/stripper.d.ts +3 -0
- package/utils/stripper.d.ts.map +1 -0
- package/utils/stripper.js +59 -0
- package/utils/stripper.js.map +1 -0
- package/utils/stripper.test.d.ts +2 -0
- package/utils/stripper.test.d.ts.map +1 -0
- package/utils/stripper.test.js +128 -0
- package/utils/stripper.test.js.map +1 -0
- package/utils/uint8array-equal.d.ts +2 -0
- package/utils/uint8array-equal.d.ts.map +1 -0
- package/utils/uint8array-equal.js +12 -0
- package/utils/uint8array-equal.js.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +4 -0
- package/version.js.map +1 -0
- package/web/index.d.ts +2 -7
- package/web/index.d.ts.map +1 -0
- package/web/index.js +1 -7
- package/web/index.js.map +1 -1
- package/web/web-basic-sys-abstraction.d.ts +4 -0
- package/web/web-basic-sys-abstraction.d.ts.map +1 -0
- package/web/web-basic-sys-abstraction.js +45 -0
- package/web/web-basic-sys-abstraction.js.map +1 -0
- package/web/web-env-actions.d.ts +14 -0
- package/web/web-env-actions.d.ts.map +1 -0
- package/web/web-env-actions.js +36 -0
- package/web/web-env-actions.js.map +1 -0
- package/base-sys-abstraction-DgTynXGV.d.cts +0 -95
- package/cf/index.cjs +0 -1110
- package/cf/index.cjs.map +0 -1
- package/cf/index.d.cts +0 -30
- package/chunk-2DWEYXJH.js +0 -1681
- package/chunk-2DWEYXJH.js.map +0 -1
- package/chunk-FOALXQST.js +0 -89
- package/chunk-FOALXQST.js.map +0 -1
- package/chunk-FURW5CDL.js +0 -792
- package/chunk-FURW5CDL.js.map +0 -1
- package/chunk-NJMNJYN2.js +0 -270
- package/chunk-NJMNJYN2.js.map +0 -1
- package/chunk-NTOGMD33.js +0 -684
- package/chunk-NTOGMD33.js.map +0 -1
- package/deno/index.cjs +0 -1280
- package/deno/index.cjs.map +0 -1
- package/deno/index.d.cts +0 -37
- package/get-params-result-4xHM5s4_.d.cts +0 -71
- package/get-params-result-4xHM5s4_.d.ts +0 -71
- package/index-CMLb7JSe.d.ts +0 -97
- package/index-DH243CLH.d.cts +0 -297
- package/index-LQOsS7gM.d.cts +0 -97
- package/index-RMC1sv15.d.ts +0 -297
- package/index.cjs +0 -4009
- package/index.cjs.map +0 -1
- package/index.d.cts +0 -396
- package/metafile-cjs.json +0 -1
- package/metafile-esm.json +0 -1
- package/node/index.cjs +0 -1335
- package/node/index.cjs.map +0 -1
- package/node/index.d.cts +0 -45
- package/stripper-BpBUUZ9p.d.cts +0 -4
- package/stripper-BpBUUZ9p.d.ts +0 -4
- package/sys-abstraction-CeAxxg9H.d.ts +0 -117
- package/sys-abstraction-DDAwGTnk.d.cts +0 -117
- package/test/index.cjs +0 -2994
- package/test/index.cjs.map +0 -1
- package/test/index.d.cts +0 -4
- package/utils/index.cjs +0 -778
- package/utils/index.cjs.map +0 -1
- package/utils/index.d.cts +0 -3
- package/web/index.cjs +0 -1153
- package/web/index.cjs.map +0 -1
- package/web/index.d.cts +0 -7
package/runtime.d.ts
ADDED
package/runtime.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/runtime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAeD,wBAAgB,SAAS,IAAI,OAAO,CAwBnC"}
|
package/runtime.js
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
function isSet(value, ref = globalThis) {
|
2
|
+
const [head, ...tail] = value.split(".");
|
3
|
+
if (["object", "function"].includes(typeof ref) && ref && ["object", "function"].includes(typeof ref[head]) && ref[head]) {
|
4
|
+
if (tail.length <= 1) {
|
5
|
+
return true;
|
6
|
+
}
|
7
|
+
return isSet(tail.join("."), ref[head]);
|
8
|
+
}
|
9
|
+
return false;
|
10
|
+
}
|
11
|
+
export function runtimeFn() {
|
12
|
+
const gt = globalThis;
|
13
|
+
let isReactNative = isSet("navigator.product") && typeof gt["navigator"] === "object" && gt["navigator"]["product"] === "ReactNative";
|
14
|
+
let isNodeIsh = false;
|
15
|
+
if (!isSet("Deno")) {
|
16
|
+
isNodeIsh = isSet("process.versions.node") && !isReactNative;
|
17
|
+
}
|
18
|
+
let isDeno = isSet("Deno");
|
19
|
+
const isCFWorker = isSet("caches.default") && isSet("WebSocketPair");
|
20
|
+
if (isCFWorker) {
|
21
|
+
isDeno = false;
|
22
|
+
isNodeIsh = false;
|
23
|
+
isReactNative = false;
|
24
|
+
}
|
25
|
+
return {
|
26
|
+
isNodeIsh,
|
27
|
+
isBrowser: !(isNodeIsh || isDeno || isCFWorker || isReactNative),
|
28
|
+
isDeno,
|
29
|
+
isReactNative,
|
30
|
+
isCFWorker,
|
31
|
+
};
|
32
|
+
}
|
33
|
+
//# sourceMappingURL=runtime.js.map
|
package/runtime.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/runtime.ts"],"names":[],"mappings":"AAQA,SAAS,KAAK,CAAC,KAAa,EAAE,MAA+B,UAAU;IACrE,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzH,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAA4B,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAID,MAAM,UAAU,SAAS;IAEvB,MAAM,EAAE,GAAQ,UAAU,CAAC;IAC3B,IAAI,aAAa,GAEf,KAAK,CAAC,mBAAmB,CAAC,IAAI,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa,CAAC;IACpH,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,SAAS,GAAG,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,GAAG,KAAK,CAAC;QACf,SAAS,GAAG,KAAK,CAAC;QAClB,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,OAAO;QACL,SAAS;QACT,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,CAAC;QAChE,MAAM;QACN,aAAa;QACb,UAAU;KACX,CAAC;AACJ,CAAC"}
|
package/src/jsr.json
CHANGED
package/src/uri.ts
CHANGED
@@ -350,6 +350,47 @@ function getParamResult(
|
|
350
350
|
return Result.Ok(val);
|
351
351
|
}
|
352
352
|
|
353
|
+
function setParams(
|
354
|
+
src: string,
|
355
|
+
val: Record<string, string | number | boolean | Date | null | undefined>,
|
356
|
+
mode: "reset" | "merge" = "reset",
|
357
|
+
out: URLSearchParams = new URLSearchParams(""),
|
358
|
+
): string {
|
359
|
+
let preset: Record<string, string>;
|
360
|
+
switch (mode) {
|
361
|
+
case "reset":
|
362
|
+
preset = {};
|
363
|
+
break;
|
364
|
+
case "merge":
|
365
|
+
default:
|
366
|
+
preset = Object.fromEntries(new URLSearchParams(src).entries());
|
367
|
+
break;
|
368
|
+
}
|
369
|
+
// const out = new URLSearchParams("");
|
370
|
+
for (const [key, value] of Object.entries({ ...preset, ...val }).sort((a, b) => a[0].localeCompare(b[0]))) {
|
371
|
+
switch (typeof value) {
|
372
|
+
case "string":
|
373
|
+
out.set(key, value);
|
374
|
+
break;
|
375
|
+
case "number":
|
376
|
+
out.set(key, value.toString());
|
377
|
+
break;
|
378
|
+
case "boolean":
|
379
|
+
out.set(key, value ? "true" : "false");
|
380
|
+
break;
|
381
|
+
default:
|
382
|
+
if (value instanceof Date) {
|
383
|
+
out.set(key, value.toISOString());
|
384
|
+
} else {
|
385
|
+
// eslint-disable-next-line no-console
|
386
|
+
console.error(`unsupported type: ${typeof value} ignore key: ${key}`);
|
387
|
+
}
|
388
|
+
break;
|
389
|
+
}
|
390
|
+
}
|
391
|
+
return out.toString();
|
392
|
+
}
|
393
|
+
|
353
394
|
export class BuildURI implements URIInterface<BuildURI> {
|
354
395
|
_url: MutableURL; // pathname needs this
|
355
396
|
private constructor(url: MutableURL) {
|
@@ -457,44 +498,20 @@ export class BuildURI implements URIInterface<BuildURI> {
|
|
457
498
|
return this;
|
458
499
|
}
|
459
500
|
|
501
|
+
searchParams(
|
502
|
+
val: Record<string, string | number | boolean | Date | null | undefined>,
|
503
|
+
mode: "reset" | "merge" = "reset",
|
504
|
+
): BuildURI {
|
505
|
+
// this._url.searchParams = setParams(this._url.hash.replace(/^#/, ''), val, mode);
|
506
|
+
setParams(this._url.search, val, mode, this._url.searchParams);
|
507
|
+
return this;
|
508
|
+
}
|
509
|
+
|
460
510
|
hashParams(
|
461
511
|
val: Record<string, string | number | boolean | Date | null | undefined>,
|
462
512
|
mode: "reset" | "merge" = "reset",
|
463
513
|
): BuildURI {
|
464
|
-
|
465
|
-
switch (mode) {
|
466
|
-
case "reset":
|
467
|
-
this._url.hash = "";
|
468
|
-
preset = {};
|
469
|
-
break;
|
470
|
-
case "merge":
|
471
|
-
default:
|
472
|
-
preset = Object.fromEntries(new URLSearchParams(this._url.hash.replace(/^#/, "")).entries());
|
473
|
-
break;
|
474
|
-
}
|
475
|
-
const out = new URLSearchParams("");
|
476
|
-
for (const [key, value] of Object.entries({ ...preset, ...val }).sort((a, b) => a[0].localeCompare(b[0]))) {
|
477
|
-
switch (typeof value) {
|
478
|
-
case "string":
|
479
|
-
out.set(key, value);
|
480
|
-
break;
|
481
|
-
case "number":
|
482
|
-
out.set(key, value.toString());
|
483
|
-
break;
|
484
|
-
case "boolean":
|
485
|
-
out.set(key, value ? "true" : "false");
|
486
|
-
break;
|
487
|
-
default:
|
488
|
-
if (value instanceof Date) {
|
489
|
-
out.set(key, value.toISOString());
|
490
|
-
} else {
|
491
|
-
// eslint-disable-next-line no-console
|
492
|
-
console.error(`unsupported type: ${typeof value} ignore key: ${key}`);
|
493
|
-
}
|
494
|
-
break;
|
495
|
-
}
|
496
|
-
}
|
497
|
-
this._url.hash = out.toString();
|
514
|
+
this._url.hash = setParams(this._url.hash.replace(/^#/, ""), val, mode);
|
498
515
|
return this;
|
499
516
|
}
|
500
517
|
|
@@ -564,6 +581,14 @@ export class BuildURI implements URIInterface<BuildURI> {
|
|
564
581
|
return BuildURI.from(this.toString());
|
565
582
|
}
|
566
583
|
|
584
|
+
get onlyHostAndSchema(): string {
|
585
|
+
return this.clone().pathname("").cleanParams().hash("").toString();
|
586
|
+
}
|
587
|
+
|
588
|
+
get withoutHostAndSchema(): string {
|
589
|
+
return this._url.pathname + this._url.search + this._url.hash;
|
590
|
+
}
|
591
|
+
|
567
592
|
URI(): URI {
|
568
593
|
return URI.from(this._url);
|
569
594
|
}
|
@@ -679,9 +704,9 @@ export class URI implements URIInterface<URI> {
|
|
679
704
|
// return this._url.username;
|
680
705
|
// }
|
681
706
|
|
682
|
-
|
683
|
-
|
684
|
-
|
707
|
+
get search(): string {
|
708
|
+
return this._url.search;
|
709
|
+
}
|
685
710
|
|
686
711
|
get protocol(): string {
|
687
712
|
return this._url.protocol;
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { FileService } from "./file-service.js";
|
2
|
+
import { Env } from "./sys-env.js";
|
3
|
+
import { Time } from "./time.js";
|
4
|
+
export declare const TimeMode: {
|
5
|
+
REAL: string;
|
6
|
+
CONST: string;
|
7
|
+
STEP: string;
|
8
|
+
};
|
9
|
+
export type TimeMode = (typeof TimeMode)[keyof typeof TimeMode];
|
10
|
+
export declare const RandomMode: {
|
11
|
+
CONST: string;
|
12
|
+
STEP: string;
|
13
|
+
RANDOM: string;
|
14
|
+
};
|
15
|
+
export type RandomMode = (typeof RandomMode)[keyof typeof RandomMode];
|
16
|
+
export declare const IDMode: {
|
17
|
+
UUID: string;
|
18
|
+
CONST: string;
|
19
|
+
STEP: string;
|
20
|
+
};
|
21
|
+
export type IDMode = (typeof IDMode)[keyof typeof IDMode];
|
22
|
+
export declare function String2TimeMode(s?: string): TimeMode;
|
23
|
+
export type VoidFunc = () => void | Promise<void>;
|
24
|
+
export interface SystemService {
|
25
|
+
OnExit(hdl: VoidFunc): VoidFunc;
|
26
|
+
Exit(code: number): void;
|
27
|
+
}
|
28
|
+
export interface RuntimeSysAbstraction extends BasicSysAbstraction {
|
29
|
+
System(): SystemService;
|
30
|
+
FileSystem(): FileService;
|
31
|
+
}
|
32
|
+
export interface BasicRuntimeService {
|
33
|
+
Stdout(): WritableStream<Uint8Array>;
|
34
|
+
Stderr(): WritableStream<Uint8Array>;
|
35
|
+
Env(): Env;
|
36
|
+
Args(): string[];
|
37
|
+
}
|
38
|
+
export interface BasicSysAbstraction extends BasicRuntimeService {
|
39
|
+
Time(): Time;
|
40
|
+
NextId(): string;
|
41
|
+
Random0ToValue(value: number): number;
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=sys-abstraction.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sys-abstraction.d.ts","sourceRoot":"","sources":["../../../src/sys-abstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,eAAO,MAAM,UAAU;;;;CAItB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAE1D,wBAAgB,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAWpD;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,MAAM,IAAI,aAAa,CAAC;IACxB,UAAU,IAAI,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,GAAG,IAAI,GAAG,CAAC;IACX,IAAI,IAAI,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,MAAM,CAAC;IACjB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
export const TimeMode = {
|
2
|
+
REAL: "real",
|
3
|
+
CONST: "const",
|
4
|
+
STEP: "step",
|
5
|
+
};
|
6
|
+
export const RandomMode = {
|
7
|
+
CONST: "const",
|
8
|
+
STEP: "step",
|
9
|
+
RANDOM: "random",
|
10
|
+
};
|
11
|
+
export const IDMode = {
|
12
|
+
UUID: "uuid",
|
13
|
+
CONST: "const",
|
14
|
+
STEP: "step",
|
15
|
+
};
|
16
|
+
export function String2TimeMode(s) {
|
17
|
+
switch (s?.toLowerCase()) {
|
18
|
+
case "real":
|
19
|
+
return TimeMode.REAL;
|
20
|
+
case "const":
|
21
|
+
return TimeMode.CONST;
|
22
|
+
case "step":
|
23
|
+
return TimeMode.STEP;
|
24
|
+
default:
|
25
|
+
return TimeMode.REAL;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
//# sourceMappingURL=sys-abstraction.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sys-abstraction.js","sourceRoot":"","sources":["../../../src/sys-abstraction.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACb,CAAC;AAGF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC;AAGF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACb,CAAC;AAGF,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC;QACzB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB;YACE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;AACH,CAAC"}
|
package/sys-env.d.ts
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
import { Result } from "./result.js";
|
2
|
+
import { KeysParam } from "./utils/get-params-result.js";
|
3
|
+
export type EnvTuple = ([string, string] | [string, string][] | Record<string, string> | Iterator<[string, string]>)[];
|
4
|
+
export interface EnvMap {
|
5
|
+
get(key: string): string | undefined;
|
6
|
+
set(key: string, value?: string): void;
|
7
|
+
delete(key: string): void;
|
8
|
+
keys(): string[];
|
9
|
+
}
|
10
|
+
export interface EnvActions extends EnvMap {
|
11
|
+
active(): boolean;
|
12
|
+
register(env: Env): Env;
|
13
|
+
}
|
14
|
+
export interface EnvFactoryOpts {
|
15
|
+
readonly symbol: string;
|
16
|
+
readonly presetEnv: Map<string, string>;
|
17
|
+
}
|
18
|
+
type OnSetFn = (key: string, value?: string) => void;
|
19
|
+
export interface OnSetItem {
|
20
|
+
readonly filter: Set<string>;
|
21
|
+
readonly fn: OnSetFn;
|
22
|
+
}
|
23
|
+
export interface Env extends EnvMap {
|
24
|
+
onSet(fn: OnSetFn, ...filter: string[]): void;
|
25
|
+
gets(...kparams: KeysParam): Result<Record<string, string>>;
|
26
|
+
sets(...keys: EnvTuple): void;
|
27
|
+
}
|
28
|
+
export type EnvFactoryFn = (opts: Partial<EnvFactoryOpts>) => EnvActions;
|
29
|
+
export declare function registerEnvAction(fn: EnvFactoryFn): () => void;
|
30
|
+
export declare function envFactory(opts?: Partial<EnvFactoryOpts>): Env;
|
31
|
+
export declare class EnvImpl implements Env {
|
32
|
+
readonly _map: EnvMap;
|
33
|
+
constructor(map: EnvMap, opts?: Partial<EnvFactoryOpts>);
|
34
|
+
gets(...kparams: KeysParam): Result<Record<string, string>>;
|
35
|
+
sets(...keys: EnvTuple): void;
|
36
|
+
_updatePresets(presetEnv?: Map<string, string>): void;
|
37
|
+
_applyOnSet(onSet: OnSetItem[], key?: string, value?: string): void;
|
38
|
+
readonly _onSet: OnSetItem[];
|
39
|
+
keys(): string[];
|
40
|
+
onSet(fn: OnSetFn, ...filter: string[]): void;
|
41
|
+
get(key: string): string | undefined;
|
42
|
+
set(key: string, value?: string): void;
|
43
|
+
delete(key: string): void;
|
44
|
+
}
|
45
|
+
export {};
|
46
|
+
//# sourceMappingURL=sys-env.d.ts.map
|
package/sys-env.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sys-env.d.ts","sourceRoot":"","sources":["../../../src/sys-env.ts"],"names":[],"mappings":"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"}
|
package/sys-env.js
ADDED
@@ -0,0 +1,161 @@
|
|
1
|
+
import { DenoEnvActions } from "./deno/deno-env-actions.js";
|
2
|
+
import { NodeEnvActions } from "./node/node-env-actions.js";
|
3
|
+
import { BrowserEnvActions } from "./web/web-env-actions.js";
|
4
|
+
import { CFEnvActions } from "./cf/cf-env-actions.js";
|
5
|
+
import { KeyedResolvOnce } from "./resolve-once.js";
|
6
|
+
import { getParamsResult } from "./utils/get-params-result.js";
|
7
|
+
const envActions = [
|
8
|
+
{ id: "cf", fn: (opts) => CFEnvActions.new(opts) },
|
9
|
+
{ id: "node", fn: (opts) => NodeEnvActions.new(opts) },
|
10
|
+
{ id: "deno", fn: (opts) => DenoEnvActions.new(opts) },
|
11
|
+
{ id: "browser", fn: (opts) => BrowserEnvActions.new(opts) },
|
12
|
+
];
|
13
|
+
export function registerEnvAction(fn) {
|
14
|
+
const id = `id-${Math.random()}`;
|
15
|
+
envActions.unshift({ id, fn });
|
16
|
+
_envFactories.unget(id);
|
17
|
+
return () => {
|
18
|
+
const index = envActions.findIndex((i) => i.id === id);
|
19
|
+
if (index >= 0) {
|
20
|
+
envActions.splice(index, 1);
|
21
|
+
}
|
22
|
+
};
|
23
|
+
}
|
24
|
+
const _envFactories = new KeyedResolvOnce();
|
25
|
+
export function envFactory(opts = {}) {
|
26
|
+
const found = envActions.find((fi) => fi.fn(opts).active());
|
27
|
+
if (!found) {
|
28
|
+
throw new Error("SysContainer:envFactory: no env available");
|
29
|
+
}
|
30
|
+
return _envFactories.get(found.id).once(() => {
|
31
|
+
const action = found.fn(opts);
|
32
|
+
const ret = new EnvImpl(action, opts);
|
33
|
+
action.register(ret);
|
34
|
+
return ret;
|
35
|
+
});
|
36
|
+
}
|
37
|
+
function isIterable(obj) {
|
38
|
+
if (obj == null) {
|
39
|
+
return false;
|
40
|
+
}
|
41
|
+
return typeof obj[Symbol.iterator] === "function";
|
42
|
+
}
|
43
|
+
export class EnvImpl {
|
44
|
+
_map;
|
45
|
+
constructor(map, opts = {}) {
|
46
|
+
this._map = map;
|
47
|
+
this._updatePresets(opts.presetEnv);
|
48
|
+
}
|
49
|
+
gets(...kparams) {
|
50
|
+
return getParamsResult(kparams, {
|
51
|
+
getParam: (k) => this.get(k),
|
52
|
+
});
|
53
|
+
}
|
54
|
+
sets(...keys) {
|
55
|
+
keys.forEach((key) => {
|
56
|
+
if (Array.isArray(key)) {
|
57
|
+
if (key.length === 2) {
|
58
|
+
const [k, v] = key;
|
59
|
+
if (typeof k === "string" && typeof v === "string") {
|
60
|
+
this.set(k, v);
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
for (const item of key) {
|
65
|
+
if (Array.isArray(item)) {
|
66
|
+
if (item.length === 2) {
|
67
|
+
const [k, v] = item;
|
68
|
+
if (typeof k === "string" && typeof v === "string") {
|
69
|
+
this.set(k, v);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
else {
|
76
|
+
if (isIterable(key)) {
|
77
|
+
for (const [k, v] of key) {
|
78
|
+
if (typeof k === "string" && typeof v === "string") {
|
79
|
+
this.set(k, v);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
else {
|
84
|
+
const rKey = key;
|
85
|
+
for (const k in rKey) {
|
86
|
+
const v = rKey[k];
|
87
|
+
if (typeof k === "string" && typeof v === "string") {
|
88
|
+
this.set(k, v);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
}
|
93
|
+
});
|
94
|
+
}
|
95
|
+
_updatePresets(presetEnv) {
|
96
|
+
if (!presetEnv) {
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
for (const [key, value] of presetEnv) {
|
100
|
+
this._map.set(key, value);
|
101
|
+
}
|
102
|
+
}
|
103
|
+
_applyOnSet(onSet, key, value) {
|
104
|
+
onSet.forEach((item) => {
|
105
|
+
let keys = [];
|
106
|
+
if (key) {
|
107
|
+
keys = [key];
|
108
|
+
}
|
109
|
+
else {
|
110
|
+
keys = this._map.keys();
|
111
|
+
}
|
112
|
+
keys
|
113
|
+
.filter((k) => {
|
114
|
+
if (item.filter.size === 0) {
|
115
|
+
return true;
|
116
|
+
}
|
117
|
+
if (item.filter.has(k)) {
|
118
|
+
return true;
|
119
|
+
}
|
120
|
+
return false;
|
121
|
+
})
|
122
|
+
.forEach((k) => {
|
123
|
+
let v;
|
124
|
+
if (!key && !value) {
|
125
|
+
v = this._map.get(k);
|
126
|
+
}
|
127
|
+
else if (key && !value) {
|
128
|
+
v = undefined;
|
129
|
+
}
|
130
|
+
else {
|
131
|
+
v = value;
|
132
|
+
}
|
133
|
+
item.fn(k, v);
|
134
|
+
});
|
135
|
+
});
|
136
|
+
}
|
137
|
+
_onSet = [];
|
138
|
+
keys() {
|
139
|
+
return this._map.keys();
|
140
|
+
}
|
141
|
+
onSet(fn, ...filter) {
|
142
|
+
const item = { filter: new Set(filter), fn };
|
143
|
+
this._onSet.push(item);
|
144
|
+
this._applyOnSet([item]);
|
145
|
+
}
|
146
|
+
get(key) {
|
147
|
+
return this._map.get(key);
|
148
|
+
}
|
149
|
+
set(key, value) {
|
150
|
+
if (!value) {
|
151
|
+
return;
|
152
|
+
}
|
153
|
+
this._map.set(key, value);
|
154
|
+
this._applyOnSet(this._onSet, key, value);
|
155
|
+
}
|
156
|
+
delete(key) {
|
157
|
+
this._map.delete(key);
|
158
|
+
this._applyOnSet(this._onSet, key);
|
159
|
+
}
|
160
|
+
}
|
161
|
+
//# sourceMappingURL=sys-env.js.map
|
package/sys-env.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sys-env.js","sourceRoot":"","sources":["../../../src/sys-env.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sys-env.test.d.ts","sourceRoot":"","sources":["../../../src/sys-env.test.ts"],"names":[],"mappings":""}
|
package/sys-env.test.js
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
import { EnvImpl, envFactory, registerEnvAction, runtimeFn, param } from "@adviser/cement";
|
2
|
+
import { CFEnvActions } from "./cf/cf-env-actions.js";
|
3
|
+
import { BrowserEnvActions } from "./web/web-env-actions.js";
|
4
|
+
describe("sys_env", () => {
|
5
|
+
let key;
|
6
|
+
const envImpl = envFactory();
|
7
|
+
beforeEach(() => {
|
8
|
+
key = `key-${Math.random()}`;
|
9
|
+
});
|
10
|
+
it("actions", () => {
|
11
|
+
expect(envImpl.get(key)).toBeUndefined();
|
12
|
+
envImpl.set(key, "value");
|
13
|
+
expect(envImpl.get(key)).toBe("value");
|
14
|
+
envImpl.set(key);
|
15
|
+
expect(envImpl.get(key)).toBe("value");
|
16
|
+
envImpl.delete(key);
|
17
|
+
expect(envImpl.get(key)).toBeUndefined();
|
18
|
+
});
|
19
|
+
it("preset", () => {
|
20
|
+
const env = new EnvImpl(BrowserEnvActions.new({}), {
|
21
|
+
presetEnv: new Map([[key, "value"]]),
|
22
|
+
});
|
23
|
+
expect(env.get(key)).toBe("value");
|
24
|
+
env.delete(key);
|
25
|
+
expect(env.get(key)).toBeUndefined();
|
26
|
+
});
|
27
|
+
it("onSet wild card", () => {
|
28
|
+
const fn = vi.fn();
|
29
|
+
envImpl.onSet(fn);
|
30
|
+
expect(fn).toBeCalledTimes(envImpl.keys().length);
|
31
|
+
expect(fn.mock.calls.map((i) => i[0]).sort()).toEqual(envImpl.keys().sort());
|
32
|
+
expect(fn.mock.calls.map((i) => i[1]).sort()).toEqual(envImpl
|
33
|
+
.keys()
|
34
|
+
.map((i) => envImpl.get(i))
|
35
|
+
.sort());
|
36
|
+
});
|
37
|
+
it("onSet filter", () => {
|
38
|
+
const env = new EnvImpl(BrowserEnvActions.new({}), {
|
39
|
+
presetEnv: new Map([[key, "value"]]),
|
40
|
+
});
|
41
|
+
const fn = vi.fn();
|
42
|
+
env.onSet(fn, key);
|
43
|
+
expect(fn).toBeCalledTimes(1);
|
44
|
+
expect(fn.mock.calls[0]).toEqual([key, "value"]);
|
45
|
+
env.set(key, "value2");
|
46
|
+
expect(fn).toBeCalledTimes(2);
|
47
|
+
expect(fn.mock.calls[1]).toEqual([key, "value2"]);
|
48
|
+
env.delete(key);
|
49
|
+
expect(fn).toBeCalledTimes(3);
|
50
|
+
expect(fn.mock.calls[2]).toEqual([key, undefined]);
|
51
|
+
});
|
52
|
+
it("test register", () => {
|
53
|
+
class TestEnvActions {
|
54
|
+
#map;
|
55
|
+
constructor(opts) {
|
56
|
+
this.#map = opts.presetEnv || new Map();
|
57
|
+
}
|
58
|
+
register(env) {
|
59
|
+
return env;
|
60
|
+
}
|
61
|
+
active() {
|
62
|
+
return true;
|
63
|
+
}
|
64
|
+
keys() {
|
65
|
+
return Array.from(this.#map.keys());
|
66
|
+
}
|
67
|
+
get(key) {
|
68
|
+
return this.#map.get(key);
|
69
|
+
}
|
70
|
+
set(key, value) {
|
71
|
+
if (value) {
|
72
|
+
this.#map.set(key, value);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
delete(key) {
|
76
|
+
this.#map.delete(key);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
let tea = {};
|
80
|
+
const unreg = registerEnvAction((opts) => {
|
81
|
+
tea = new TestEnvActions(opts);
|
82
|
+
return tea;
|
83
|
+
});
|
84
|
+
const env = envFactory({
|
85
|
+
presetEnv: new Map([[key, "value"]]),
|
86
|
+
});
|
87
|
+
expect(env.get(key)).toBe("value");
|
88
|
+
expect(tea.get(key)).toBe("value");
|
89
|
+
unreg();
|
90
|
+
});
|
91
|
+
if (runtimeFn().isCFWorker) {
|
92
|
+
it("CFWorker env", () => {
|
93
|
+
const env = envFactory();
|
94
|
+
const onSet = vi.fn();
|
95
|
+
env.onSet(onSet);
|
96
|
+
CFEnvActions.inject({ "cf-key": "cf-value" });
|
97
|
+
env.set("cf-key-1", "cf-value-2");
|
98
|
+
expect(onSet).toBeCalledWith("cf-key", "cf-value");
|
99
|
+
expect(env.get("cf-key")).toBe("cf-value");
|
100
|
+
});
|
101
|
+
}
|
102
|
+
it("gets ok", () => {
|
103
|
+
const res0 = envImpl.gets({ key: param.REQUIRED });
|
104
|
+
expect(res0.isErr()).toBeTruthy();
|
105
|
+
envImpl.set("key", "value");
|
106
|
+
const res = envImpl.gets({ key: param.REQUIRED });
|
107
|
+
expect(res.isOk()).toBeTruthy();
|
108
|
+
expect(res.unwrap()).toEqual({ key: "value" });
|
109
|
+
});
|
110
|
+
it("gets error", () => {
|
111
|
+
envImpl.set("key", "value");
|
112
|
+
const res = envImpl.gets({
|
113
|
+
unk1: param.REQUIRED,
|
114
|
+
unk2: param.REQUIRED,
|
115
|
+
key: param.REQUIRED,
|
116
|
+
});
|
117
|
+
expect(res.isErr()).toBeTruthy();
|
118
|
+
expect(res.Err().message).toEqual("missing parameters: unk1,unk2");
|
119
|
+
});
|
120
|
+
it("sets array flat tuple", () => {
|
121
|
+
envImpl.sets(["key1", "value1"], ["key2", "value2"]);
|
122
|
+
expect(envImpl.get("key1")).toBe("value1");
|
123
|
+
expect(envImpl.get("key2")).toBe("value2");
|
124
|
+
});
|
125
|
+
it("sets array array tuple", () => {
|
126
|
+
envImpl.sets([
|
127
|
+
["key1", "value1"],
|
128
|
+
["key2", "value2"],
|
129
|
+
]);
|
130
|
+
expect(envImpl.get("key1")).toBe("value1");
|
131
|
+
expect(envImpl.get("key2")).toBe("value2");
|
132
|
+
});
|
133
|
+
it("sets object", () => {
|
134
|
+
envImpl.sets({
|
135
|
+
key1: "value1",
|
136
|
+
key2: "value2",
|
137
|
+
});
|
138
|
+
expect(envImpl.get("key1")).toBe("value1");
|
139
|
+
expect(envImpl.get("key2")).toBe("value2");
|
140
|
+
});
|
141
|
+
it("sets iterator", () => {
|
142
|
+
envImpl.sets(new Map(Object.entries({
|
143
|
+
key1: "value1",
|
144
|
+
key2: "value2",
|
145
|
+
})).entries());
|
146
|
+
expect(envImpl.get("key1")).toBe("value1");
|
147
|
+
expect(envImpl.get("key2")).toBe("value2");
|
148
|
+
});
|
149
|
+
it("sets combination", () => {
|
150
|
+
envImpl.sets(new Map(Object.entries({
|
151
|
+
key1: "value1",
|
152
|
+
key2: "value2",
|
153
|
+
})).entries(), {
|
154
|
+
key3: "value3",
|
155
|
+
key4: "value4",
|
156
|
+
}, ["key5", "value5"], ["key6", "value6"], [
|
157
|
+
["key7", "value7"],
|
158
|
+
["key8", "value8"],
|
159
|
+
]);
|
160
|
+
expect(envImpl.get("key1")).toBe("value1");
|
161
|
+
expect(envImpl.get("key2")).toBe("value2");
|
162
|
+
expect(envImpl.get("key3")).toBe("value3");
|
163
|
+
expect(envImpl.get("key4")).toBe("value4");
|
164
|
+
expect(envImpl.get("key5")).toBe("value5");
|
165
|
+
expect(envImpl.get("key6")).toBe("value6");
|
166
|
+
expect(envImpl.get("key7")).toBe("value7");
|
167
|
+
expect(envImpl.get("key8")).toBe("value8");
|
168
|
+
});
|
169
|
+
});
|
170
|
+
//# sourceMappingURL=sys-env.test.js.map
|