@adviser/cement 0.3.7 → 0.3.9

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 (117) hide show
  1. package/{base-sys-abstraction-WS7lNbFm.d.cts → base-sys-abstraction-4Vw4QGaI.d.cts} +2 -2
  2. package/{base-sys-abstraction-Cqb4snul.d.ts → base-sys-abstraction-8v83VyEU.d.ts} +2 -2
  3. package/cf/index.cjs +16 -7
  4. package/cf/index.cjs.map +1 -1
  5. package/cf/index.d.cts +3 -3
  6. package/cf/index.d.ts +3 -3
  7. package/cf/index.js +5 -5
  8. package/cf/index.js.map +1 -1
  9. package/{chunk-BVZ6HD34.js → chunk-A57BAYWU.js} +7 -7
  10. package/{chunk-BVZ6HD34.js.map → chunk-A57BAYWU.js.map} +1 -1
  11. package/{chunk-SCFB6I2C.js → chunk-EQMNXZ4G.js} +12 -3
  12. package/chunk-EQMNXZ4G.js.map +1 -0
  13. package/{chunk-K5TIGJ6I.js → chunk-OMB3WMYS.js} +5 -5
  14. package/chunk-OMB3WMYS.js.map +1 -0
  15. package/{chunk-LNS2K5WL.js → chunk-PNTCDKAB.js} +7 -7
  16. package/chunk-PNTCDKAB.js.map +1 -0
  17. package/{chunk-H5JLIMWA.js → chunk-W53WEZWY.js} +4 -4
  18. package/{chunk-H5JLIMWA.js.map → chunk-W53WEZWY.js.map} +1 -1
  19. package/deno/index.cjs +18 -9
  20. package/deno/index.cjs.map +1 -1
  21. package/deno/index.d.cts +3 -3
  22. package/deno/index.d.ts +3 -3
  23. package/deno/index.js +6 -6
  24. package/deno/index.js.map +1 -1
  25. package/{get-params-result-CXYbMEcV.d.ts → get-params-result-C2cbgB78.d.cts} +2 -2
  26. package/{get-params-result-CXYbMEcV.d.cts → get-params-result-C2cbgB78.d.ts} +2 -2
  27. package/{index-BeXMFEyF.d.ts → index-CbOCsgzP.d.ts} +2 -2
  28. package/{index-C6hvxtE7.d.cts → index-Dpc3oVOD.d.cts} +1 -1
  29. package/{index-BH1SIYUK.d.cts → index-EnKo_jNv.d.cts} +2 -2
  30. package/{index-BQMIP01w.d.ts → index-MWn9Xel9.d.ts} +1 -1
  31. package/index.cjs +26 -17
  32. package/index.cjs.map +1 -1
  33. package/index.d.cts +12 -11
  34. package/index.d.ts +12 -11
  35. package/index.js +12 -12
  36. package/index.js.map +1 -1
  37. package/metafile-cjs.json +1 -1
  38. package/metafile-esm.json +1 -1
  39. package/node/index.cjs +17 -8
  40. package/node/index.cjs.map +1 -1
  41. package/node/index.d.cts +3 -3
  42. package/node/index.d.ts +3 -3
  43. package/node/index.js +5 -5
  44. package/node/index.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/cf/cf-sys-abstraction.ts +2 -2
  47. package/src/deno/deno-file-service.ts +3 -3
  48. package/src/deno/deno-sys-abstraction.ts +2 -2
  49. package/src/json-en-decoder.ts +9 -9
  50. package/src/jsr.json +1 -1
  51. package/src/logger-impl.ts +2 -2
  52. package/src/node/node-file-service.ts +2 -2
  53. package/src/node/node-sys-abstraction.ts +2 -2
  54. package/src/resolve-once.ts +12 -1
  55. package/src/test/log-write-stream.ts +2 -2
  56. package/src/txt-en-decoder.ts +5 -5
  57. package/src/utils/string2stream.ts +2 -2
  58. package/src/web/web-sys-abstraction.ts +2 -2
  59. package/{sys-abstraction-B-0XMe9V.d.cts → sys-abstraction-3OXhCVsu.d.cts} +1 -1
  60. package/{sys-abstraction-CZa-VyNs.d.ts → sys-abstraction-DXeSUn9x.d.ts} +1 -1
  61. package/test/index.cjs +18 -9
  62. package/test/index.cjs.map +1 -1
  63. package/test/index.d.cts +3 -3
  64. package/test/index.d.ts +3 -3
  65. package/test/index.js +4 -4
  66. package/ts/src/cf/cf-sys-abstraction.js +2 -2
  67. package/ts/src/cf/cf-sys-abstraction.js.map +1 -1
  68. package/ts/src/deno/deno-file-service.d.ts.map +1 -1
  69. package/ts/src/deno/deno-file-service.js +3 -3
  70. package/ts/src/deno/deno-file-service.js.map +1 -1
  71. package/ts/src/deno/deno-sys-abstraction.js +2 -2
  72. package/ts/src/deno/deno-sys-abstraction.js.map +1 -1
  73. package/ts/src/json-en-decoder.d.ts +2 -2
  74. package/ts/src/json-en-decoder.d.ts.map +1 -1
  75. package/ts/src/json-en-decoder.js +6 -6
  76. package/ts/src/json-en-decoder.js.map +1 -1
  77. package/ts/src/logger-impl.d.ts.map +1 -1
  78. package/ts/src/logger-impl.js +2 -2
  79. package/ts/src/logger-impl.js.map +1 -1
  80. package/ts/src/node/node-file-service.d.ts.map +1 -1
  81. package/ts/src/node/node-file-service.js +2 -2
  82. package/ts/src/node/node-file-service.js.map +1 -1
  83. package/ts/src/node/node-sys-abstraction.js +2 -2
  84. package/ts/src/node/node-sys-abstraction.js.map +1 -1
  85. package/ts/src/resolve-once.d.ts +1 -0
  86. package/ts/src/resolve-once.d.ts.map +1 -1
  87. package/ts/src/resolve-once.js +11 -1
  88. package/ts/src/resolve-once.js.map +1 -1
  89. package/ts/src/resolve-once.test.js +26 -0
  90. package/ts/src/resolve-once.test.js.map +1 -1
  91. package/ts/src/test/log-write-stream.d.ts.map +1 -1
  92. package/ts/src/test/log-write-stream.js +2 -2
  93. package/ts/src/test/log-write-stream.js.map +1 -1
  94. package/ts/src/txt-en-decoder.d.ts +1 -1
  95. package/ts/src/txt-en-decoder.d.ts.map +1 -1
  96. package/ts/src/txt-en-decoder.js +5 -5
  97. package/ts/src/txt-en-decoder.js.map +1 -1
  98. package/ts/src/txt-en-decoder.test.js +3 -15
  99. package/ts/src/txt-en-decoder.test.js.map +1 -1
  100. package/ts/src/utils/string2stream.d.ts.map +1 -1
  101. package/ts/src/utils/string2stream.js +2 -2
  102. package/ts/src/utils/string2stream.js.map +1 -1
  103. package/ts/src/web/web-sys-abstraction.js +2 -2
  104. package/ts/src/web/web-sys-abstraction.js.map +1 -1
  105. package/utils/index.cjs +6 -6
  106. package/utils/index.cjs.map +1 -1
  107. package/utils/index.d.cts +2 -2
  108. package/utils/index.d.ts +2 -2
  109. package/utils/index.js +2 -2
  110. package/web/index.cjs +16 -7
  111. package/web/index.cjs.map +1 -1
  112. package/web/index.d.cts +3 -3
  113. package/web/index.d.ts +3 -3
  114. package/web/index.js +3 -3
  115. package/chunk-K5TIGJ6I.js.map +0 -1
  116. package/chunk-LNS2K5WL.js.map +0 -1
  117. package/chunk-SCFB6I2C.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { FanoutWriteStream } from "../utils/fanout-write-stream.js";
2
2
  import { Future } from "../future.js";
3
- import { Utf8EnDecoderSingleton } from "../txt-en-decoder.js";
3
+ import { TxtEnDecoderSingleton } from "../txt-en-decoder.js";
4
4
  export class LogWriteStream {
5
5
  constructor(bufferArr) {
6
6
  this._resolveClosed = new Future();
@@ -30,7 +30,7 @@ export class LogCollector {
30
30
  this.locked = false;
31
31
  this._bufferArr = [];
32
32
  this._pass = pass;
33
- this._txtEnDe = txtEnDe || Utf8EnDecoderSingleton();
33
+ this._txtEnDe = txtEnDe || TxtEnDecoderSingleton();
34
34
  }
35
35
  abort(reason) {
36
36
  throw new Error("Method not implemented.");
@@ -1 +1 @@
1
- {"version":3,"file":"log-write-stream.js","sourceRoot":"","sources":["../../../../src/test/log-write-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-write-stream.js","sourceRoot":"","sources":["../../../../src/test/log-write-stream.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@ export interface TxtEnDecoder {
7
7
  decode(input: ToEnDecoder): string;
8
8
  asyncDecode(input: AsyncToEnDecoder): Promise<string>;
9
9
  }
10
- export declare function Utf8EnDecoderSingleton(): TxtEnDecoder;
10
+ export declare function TxtEnDecoderSingleton(): TxtEnDecoder;
11
11
  //# sourceMappingURL=txt-en-decoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"txt-en-decoder.d.ts","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAmB,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IACnC,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD;AAoCD,wBAAgB,sBAAsB,IAAI,YAAY,CAGrD"}
1
+ {"version":3,"file":"txt-en-decoder.d.ts","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAmB,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IACnC,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD;AAoCD,wBAAgB,qBAAqB,IAAI,YAAY,CAGpD"}
@@ -1,6 +1,6 @@
1
1
  import { Result } from "./result.js";
2
2
  import { coerceIntoUint8 } from "./utils/coerce-uint8.js";
3
- class Utf8EnDecoder {
3
+ class TxtOps {
4
4
  constructor() {
5
5
  this.encoder = new TextEncoder();
6
6
  this.decoder = new TextDecoder();
@@ -31,9 +31,9 @@ class Utf8EnDecoder {
31
31
  return this.decode(resolved);
32
32
  }
33
33
  }
34
- let utf8EnDecoder;
35
- export function Utf8EnDecoderSingleton() {
36
- utf8EnDecoder = utf8EnDecoder !== null && utf8EnDecoder !== void 0 ? utf8EnDecoder : new Utf8EnDecoder();
37
- return utf8EnDecoder;
34
+ let txtEnDecoder;
35
+ export function TxtEnDecoderSingleton() {
36
+ txtEnDecoder = txtEnDecoder !== null && txtEnDecoder !== void 0 ? txtEnDecoder : new TxtOps();
37
+ return txtEnDecoder;
38
38
  }
39
39
  //# sourceMappingURL=txt-en-decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"txt-en-decoder.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAW,MAAM,yBAAyB,CAAC;AAWnE,MAAM,aAAa;IAAnB;QACW,YAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAC5B,YAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IA6BvC,CAAC;IA3BC,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,IAAiB;QACtB,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAsB;QACtC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC;QAC1B,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;YAC7B,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,IAAI,aAA2B,CAAC;AAChC,MAAM,UAAU,sBAAsB;IACpC,aAAa,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,aAAa,EAAE,CAAC;IACrD,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"txt-en-decoder.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAW,MAAM,yBAAyB,CAAC;AAWnE,MAAM,MAAM;IAAZ;QACW,YAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAC5B,YAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IA6BvC,CAAC;IA3BC,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,IAAiB;QACtB,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAsB;QACtC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC;QAC1B,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;YAC7B,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,IAAI,YAA0B,CAAC;AAC/B,MAAM,UAAU,qBAAqB;IACnC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,MAAM,EAAE,CAAC;IAC5C,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,60 +1,48 @@
1
1
  import { Result } from "./result.js";
2
- import { Utf8EnDecoderSingleton } from "./txt-en-decoder.js";
2
+ import { TxtEnDecoderSingleton } from "./txt-en-decoder.js";
3
+ const utf8 = TxtEnDecoderSingleton();
3
4
  it("there should be one Utf8EnDecoder", () => {
4
- expect(Utf8EnDecoderSingleton()).toBe(Utf8EnDecoderSingleton());
5
+ expect(utf8).toBe(TxtEnDecoderSingleton());
5
6
  });
6
7
  it("should encode", () => {
7
- const utf8 = Utf8EnDecoderSingleton();
8
8
  expect(utf8.encode("abc")).toEqual(new Uint8Array([97, 98, 99]));
9
9
  });
10
10
  it("should decode uint8", () => {
11
- const utf8 = Utf8EnDecoderSingleton();
12
11
  expect(utf8.decode(new Uint8Array([97, 98, 99]))).toEqual("abc");
13
12
  });
14
13
  it("should decode string", () => {
15
- const utf8 = Utf8EnDecoderSingleton();
16
14
  expect(utf8.decode("abc")).toEqual("abc");
17
15
  });
18
16
  it("should decode ArrayBuffer", () => {
19
- const utf8 = Utf8EnDecoderSingleton();
20
17
  expect(utf8.decode(new Uint8Array([97, 98, 99]).buffer)).toEqual("abc");
21
18
  });
22
19
  it("should decode ArrayBufferView", () => {
23
- const utf8 = Utf8EnDecoderSingleton();
24
20
  expect(utf8.decode(new DataView(new Uint8Array([97, 98, 99]).buffer))).toEqual("abc");
25
21
  });
26
22
  it("should decode Blob", async () => {
27
- const utf8 = Utf8EnDecoderSingleton();
28
23
  expect(await utf8.asyncDecode(new Blob([new Uint8Array([97, 98, 99])]))).toEqual("abc");
29
24
  });
30
25
  it("should decode coercePromise Uint8Array", async () => {
31
- const utf8 = Utf8EnDecoderSingleton();
32
26
  expect(await utf8.asyncDecode(new Uint8Array([97, 98, 99]))).toEqual("abc");
33
27
  });
34
28
  it("should decode Promise.Uint8Array", async () => {
35
- const utf8 = Utf8EnDecoderSingleton();
36
29
  expect(await utf8.asyncDecode(Promise.resolve(new Uint8Array([97, 98, 99])))).toEqual("abc");
37
30
  });
38
31
  it("should decode Promise.Result.Uint8Array", async () => {
39
- const utf8 = Utf8EnDecoderSingleton();
40
32
  expect(await utf8.asyncDecode(Promise.resolve(Result.Ok(new Uint8Array([97, 98, 99]))))).toEqual("abc");
41
33
  });
42
34
  it("should decode Buffer", () => {
43
35
  if (!globalThis.Buffer)
44
36
  return;
45
- const utf8 = Utf8EnDecoderSingleton();
46
37
  expect(utf8.decode(Buffer.from("abc"))).toEqual("abc");
47
38
  });
48
39
  it("should decode Result<Uint8Array>", () => {
49
- const utf8 = Utf8EnDecoderSingleton();
50
40
  expect(utf8.decode(Result.Ok(new Uint8Array([97, 98, 99])))).toEqual("abc");
51
41
  });
52
42
  it("should decode Result<String>", () => {
53
- const utf8 = Utf8EnDecoderSingleton();
54
43
  expect(utf8.decode(Result.Ok("abc"))).toEqual("abc");
55
44
  });
56
45
  it("should decode Result.Error -> exception", () => {
57
- const utf8 = Utf8EnDecoderSingleton();
58
46
  expect(() => utf8.decode(Result.Err("x"))).toThrow("x");
59
47
  });
60
48
  //# sourceMappingURL=txt-en-decoder.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"txt-en-decoder.test.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"txt-en-decoder.test.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"string2stream.d.ts","sourceRoot":"","sources":["../../../../src/utils/string2stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,sBAAsB,CAAC;AAE5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,YAAuC,GAAG,cAAc,CAAC,UAAU,CAAC,CAEpH;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAO7E"}
1
+ {"version":3,"file":"string2stream.d.ts","sourceRoot":"","sources":["../../../../src/utils/string2stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyB,MAAM,sBAAsB,CAAC;AAE3E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,YAAsC,GAAG,cAAc,CAAC,UAAU,CAAC,CAEnH;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAO7E"}
@@ -1,5 +1,5 @@
1
- import { Utf8EnDecoderSingleton } from "../txt-en-decoder.js";
2
- export function string2stream(str, ende = Utf8EnDecoderSingleton()) {
1
+ import { TxtEnDecoderSingleton } from "../txt-en-decoder.js";
2
+ export function string2stream(str, ende = TxtEnDecoderSingleton()) {
3
3
  return uint8array2stream(ende.encode(str));
4
4
  }
5
5
  export function uint8array2stream(str) {
@@ -1 +1 @@
1
- {"version":3,"file":"string2stream.js","sourceRoot":"","sources":["../../../../src/utils/string2stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAqB,sBAAsB,EAAE;IACtF,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAe;IAC/C,OAAO,IAAI,cAAc,CAAa;QACpC,KAAK,CAAC,UAAU;YACd,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"string2stream.js","sourceRoot":"","sources":["../../../../src/utils/string2stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAqB,qBAAqB,EAAE;IACrF,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAe;IAC/C,OAAO,IAAI,cAAc,CAAa;QACpC,KAAK,CAAC,UAAU;YACd,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BaseSysAbstraction, WrapperSysAbstraction } from "../base-sys-abstraction.js";
2
2
  import { envFactory } from "../sys-env.js";
3
- import { Utf8EnDecoderSingleton } from "../txt-en-decoder.js";
3
+ import { TxtEnDecoderSingleton } from "../txt-en-decoder.js";
4
4
  export class WebFileService {
5
5
  get baseDir() {
6
6
  throw new Error("basedir-Method not implemented.");
@@ -54,7 +54,7 @@ let my = undefined;
54
54
  export function WebSysAbstraction(param) {
55
55
  if (!my) {
56
56
  my = new BaseSysAbstraction({
57
- TxtEnDecoder: (param === null || param === void 0 ? void 0 : param.TxtEnDecoder) || Utf8EnDecoderSingleton(),
57
+ TxtEnDecoder: (param === null || param === void 0 ? void 0 : param.TxtEnDecoder) || TxtEnDecoderSingleton(),
58
58
  FileSystem: new WebFileService(),
59
59
  SystemService: new WebSystemService(),
60
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"web-sys-abstraction.js","sourceRoot":"","sources":["../../../../src/web/web-sys-abstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAA+B,MAAM,4BAA4B,CAAC;AAGpH,OAAO,EAAO,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,OAAO,cAAc;IACzB,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,OAAe;QAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,GAAG,KAAe;QACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,EAAW;QAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;CACF;AAED,MAAM,gBAAgB;IACpB,GAAG;QACD,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IACD,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,GAAa;QAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,IAAY;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;CACF;AAED,IAAI,EAAE,GAAmC,SAAS,CAAC;AACnD,MAAM,UAAU,iBAAiB,CAAC,KAAmC;IACnE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,IAAI,kBAAkB,CAAC;YAC1B,YAAY,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,KAAI,sBAAsB,EAAE;YAC7D,UAAU,EAAE,IAAI,cAAc,EAAE;YAChC,aAAa,EAAE,IAAI,gBAAgB,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"web-sys-abstraction.js","sourceRoot":"","sources":["../../../../src/web/web-sys-abstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAA+B,MAAM,4BAA4B,CAAC;AAGpH,OAAO,EAAO,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,OAAO,cAAc;IACzB,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,OAAe;QAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,GAAG,KAAe;QACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,EAAW;QAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;CACF;AAED,MAAM,gBAAgB;IACpB,GAAG;QACD,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IACD,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,GAAa;QAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,IAAY;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;CACF;AAED,IAAI,EAAE,GAAmC,SAAS,CAAC;AACnD,MAAM,UAAU,iBAAiB,CAAC,KAAmC;IACnE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,IAAI,kBAAkB,CAAC;YAC1B,YAAY,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,KAAI,qBAAqB,EAAE;YAC5D,UAAU,EAAE,IAAI,cAAc,EAAE;YAChC,aAAa,EAAE,IAAI,gBAAgB,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
package/utils/index.cjs CHANGED
@@ -331,7 +331,7 @@ async function asyncCoerceIntoUint8(raw) {
331
331
  }
332
332
 
333
333
  // src/txt-en-decoder.ts
334
- var Utf8EnDecoder = class {
334
+ var TxtOps = class {
335
335
  constructor() {
336
336
  this.encoder = new TextEncoder();
337
337
  this.decoder = new TextDecoder();
@@ -362,14 +362,14 @@ var Utf8EnDecoder = class {
362
362
  return this.decode(resolved);
363
363
  }
364
364
  };
365
- var utf8EnDecoder;
366
- function Utf8EnDecoderSingleton() {
367
- utf8EnDecoder = utf8EnDecoder != null ? utf8EnDecoder : new Utf8EnDecoder();
368
- return utf8EnDecoder;
365
+ var txtEnDecoder;
366
+ function TxtEnDecoderSingleton() {
367
+ txtEnDecoder = txtEnDecoder != null ? txtEnDecoder : new TxtOps();
368
+ return txtEnDecoder;
369
369
  }
370
370
 
371
371
  // src/utils/string2stream.ts
372
- function string2stream(str, ende = Utf8EnDecoderSingleton()) {
372
+ function string2stream(str, ende = TxtEnDecoderSingleton()) {
373
373
  return uint8array2stream(ende.encode(str));
374
374
  }
375
375
  function uint8array2stream(str) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/index.ts","../../../src/utils/stream-map.ts","../../../src/utils/rebuffer.ts","../../../src/utils/stream2string.ts","../../../src/result.ts","../../../src/utils/coerce-uint8.ts","../../../src/txt-en-decoder.ts","../../../src/utils/string2stream.ts","../../../src/utils/console-write-stream.ts","../../../src/utils/fanout-write-stream.ts","../../../src/utils/get-params-result.ts","../../../src/utils/stripper.ts","../../../src/utils/sorted-object.ts","../../../src/utils/uint8array-equal.ts"],"sourcesContent":["export * from \"./rebuffer.js\";\nexport * from \"./stream-map.js\";\nexport * from \"./stream2string.js\";\nexport * from \"./string2stream.js\";\nexport * from \"./console-write-stream.js\";\nexport * from \"./fanout-write-stream.js\";\nexport * from \"./get-params-result.js\";\nexport * from \"./stripper.js\";\nexport * from \"./sorted-object.js\";\nexport * from \"./uint8array-equal.js\";\nexport * from \"./coerce-uint8.js\";\n","export interface StreamMap<T, U> {\n Map(s: T, idx: number): U | Promise<U>;\n readonly Close?: () => void;\n}\nexport function streamMap<T, U>(s: ReadableStream<T>, sm: StreamMap<T, U>): ReadableStream<U> {\n const state = { reader: s.getReader(), streamMap: sm, idx: 0 };\n return new ReadableStream<U>({\n async pull(controller): Promise<void> {\n const { done, value } = await state.reader.read();\n if (done) {\n if (state.streamMap.Close) {\n state.streamMap.Close();\n }\n controller.close();\n return;\n }\n const promiseOrU = state.streamMap.Map(value, state.idx++);\n let mapped: U;\n if (promiseOrU instanceof Promise || typeof (promiseOrU as { then: () => void }).then === \"function\") {\n mapped = await promiseOrU;\n } else {\n mapped = promiseOrU;\n }\n controller.enqueue(mapped);\n },\n });\n}\n\nexport async function devnull<T>(a: ReadableStream<T>): Promise<number> {\n const reader = a.getReader();\n let cnt = 0;\n while (true) {\n const { done } = await reader.read();\n if (done) {\n break;\n }\n cnt++;\n }\n return cnt;\n}\n\nexport function array2stream<T>(a: T[]): ReadableStream<T> {\n let i = 0;\n return new ReadableStream<T>({\n pull(controller): void {\n if (i >= a.length) {\n controller.close();\n return;\n }\n controller.enqueue(a[i]);\n i++;\n },\n });\n}\n\nexport async function stream2array<T>(a: ReadableStream<T>): Promise<T[]> {\n const ret: T[] = [];\n const reader = a.getReader();\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n ret.push(value);\n }\n return ret;\n}\n","import { array2stream, stream2array } from \"./stream-map.js\";\n\ninterface ReChunkResult {\n readonly rest: Uint8Array;\n readonly chunk: Uint8Array;\n}\n\nexport async function rebufferArray(a: Uint8Array[], chunkSize: number): Promise<Uint8Array[]> {\n return stream2array(rebuffer(array2stream(a), chunkSize));\n}\n\nfunction reChunk(cs: Uint8Array[], chunkSize: number): ReChunkResult {\n const len = cs.reduce((acc, v) => acc + v.length, 0);\n const last = cs[cs.length - 1];\n const lastOfs = len - last.length;\n // console.log(\"reChunk\", len, lastOfs, last.length, chunkSize, chunkSize - lastOfs)\n const rest = last.subarray(chunkSize - lastOfs);\n cs[cs.length - 1] = last.subarray(0, chunkSize - lastOfs);\n const chunk = new Uint8Array(chunkSize);\n let ofs = 0;\n for (const c of cs) {\n chunk.set(c, ofs);\n ofs += c.length;\n }\n return { rest, chunk };\n}\n\ninterface pumpState {\n readonly reader: ReadableStreamDefaultReader<Uint8Array>;\n tmp: Uint8Array[];\n tmpLen: number;\n readonly chunkSize: number;\n}\n\nfunction pump(ps: pumpState, controller: ReadableStreamDefaultController<Uint8Array>, next: () => void): void {\n ps.reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n if (ps.tmpLen > 0) {\n controller.enqueue(reChunk(ps.tmp, ps.tmpLen).chunk);\n }\n controller.close();\n next();\n return;\n }\n if (ps.tmpLen + value.length > ps.chunkSize) {\n ps.tmp.push(value);\n const res = reChunk(ps.tmp, ps.chunkSize);\n controller.enqueue(res.chunk);\n ps.tmp = [res.rest];\n ps.tmpLen = res.rest.length;\n next();\n return;\n } else if (value.length) {\n ps.tmp.push(value);\n ps.tmpLen += value.length;\n }\n pump(ps, controller, next);\n })\n .catch((err) => {\n controller.error(err);\n next();\n });\n}\n\nexport function rebuffer(a: ReadableStream<Uint8Array>, chunkSize: number): ReadableStream<Uint8Array> {\n const state: pumpState = {\n reader: a.getReader(),\n tmp: [],\n tmpLen: 0,\n chunkSize,\n };\n return new ReadableStream<Uint8Array>({\n async pull(controller): Promise<void> {\n return new Promise<void>((resolve) => {\n pump(state, controller, resolve);\n });\n },\n });\n}\n","export async function stream2string(stream?: ReadableStream<Uint8Array> | null, maxSize?: number): Promise<string> {\n if (!stream) {\n return Promise.resolve(\"\");\n }\n const reader = stream.getReader();\n let res = \"\";\n const decoder = new TextDecoder();\n let rSize = 0;\n while (typeof maxSize === \"undefined\" || rSize < maxSize) {\n try {\n const read = await reader.read();\n if (read.done) {\n break;\n }\n if (maxSize && rSize + read.value.length > maxSize) {\n read.value = read.value.slice(0, maxSize - rSize);\n }\n const block = decoder.decode(read.value, { stream: true });\n rSize += read.value.length;\n res += block;\n } catch (err) {\n return Promise.reject(err as Error);\n }\n }\n return Promise.resolve(res);\n}\n\nexport async function stream2uint8array(stream?: ReadableStream<Uint8Array> | null): Promise<Uint8Array> {\n if (!stream) {\n return Promise.resolve(new Uint8Array());\n }\n const reader = stream.getReader();\n let res = new Uint8Array();\n // eslint-disable-next-line no-constant-condition\n while (1) {\n try {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n res = new Uint8Array([...res, ...value]);\n } catch (err) {\n return Promise.reject(err as Error);\n }\n }\n return Promise.resolve(res);\n}\n","export abstract class Result<T, E = Error> {\n static Ok<T = void>(t: T): Result<T, Error> {\n return new ResultOK(t);\n }\n static Err<T, E extends Error = Error>(t: E | string | Result<unknown, E>): Result<T, E> {\n if (typeof t === \"string\") {\n return new ResultError(new Error(t) as E);\n }\n if (Result.Is(t)) {\n if (t.is_ok()) {\n return new ResultError(new Error(\"Result Error is Ok\") as E);\n }\n return t as Result<T, E>;\n }\n return new ResultError(t);\n }\n static Is<T>(t: unknown): t is Result<T> {\n if (!t) {\n return false;\n }\n if (t instanceof Result) {\n return true;\n }\n const rt = t as Result<T>;\n if ([typeof rt.is_ok, typeof rt.is_err, typeof rt.unwrap, typeof rt.unwrap_err].every((x) => x === \"function\")) {\n return true;\n }\n return false;\n }\n\n isOk(): boolean {\n return this.is_ok();\n }\n isErr(): boolean {\n return this.is_err();\n }\n\n Ok(): T {\n return this.unwrap();\n }\n Err(): E {\n return this.unwrap_err();\n }\n\n abstract is_ok(): boolean;\n abstract is_err(): boolean;\n abstract unwrap(): T;\n abstract unwrap_err(): E;\n}\n\nexport class ResultOK<T> extends Result<T, Error> {\n private _t: T;\n constructor(t: T) {\n super();\n this._t = t;\n }\n is_ok(): boolean {\n return true;\n }\n is_err(): boolean {\n return false;\n }\n unwrap_err(): Error {\n throw new Error(\"Result is Ok\");\n }\n unwrap(): T {\n return this._t;\n }\n}\n\nexport class ResultError<T extends Error> extends Result<never, T> {\n private _error: T;\n constructor(t: T) {\n super();\n this._error = t;\n }\n is_ok(): boolean {\n return false;\n }\n is_err(): boolean {\n return true;\n }\n unwrap(): never {\n throw new Error(`Result is Err: ${this._error}`);\n }\n unwrap_err(): T {\n return this._error;\n }\n}\n\nexport type WithoutResult<T> = T extends Result<infer U> ? U : T;\n\n// type WithoutPromise<T> = T extends Promise<infer U> ? U : T;\ntype WithResult<T> = T extends Promise<infer U> ? Promise<Result<U>> : Result<T>;\n\nexport function exception2Result<FN extends () => Promise<T> | T, T>(fn: FN): WithResult<ReturnType<FN>> {\n try {\n const res = fn();\n if (res instanceof Promise) {\n return res.then((value) => Result.Ok(value)).catch((e) => Result.Err(e)) as WithResult<ReturnType<FN>>;\n }\n return Result.Ok(res) as WithResult<ReturnType<FN>>;\n } catch (e) {\n return Result.Err(e as Error) as WithResult<ReturnType<FN>>;\n }\n}\n\n/*\n\ntype FinalizedResult<T> = {\n result: T;\n scopeResult?: Result<void>;\n finally: () => Promise<void>;\n}\n\ntype exection2ResultParam<T> = {\n init: () => Promise<T>;\n inScope?: (t: T) => Promise<void>;\n cleanup: (t: T) => Promise<void>;\n\n}\n\nasync function expection2Result<T>({fn, inScope, cleanup}: exection2ResultParam<T>): Promise<Result<FinalizedResult<T>>> {\n try {\n const res = await fn();\n if (inScope) {\n try {\n await inScope?.(res)\n } catch (err) {\n return Result.Err(err as Error)\n }\n await cleanup(res)\n return Result.Ok({\n result: res,\n finally: async () => { }\n })\n }\n return Result.Ok({\n result: res ,\n finally: async () => {\n return cleanup(res)\n }\n })\n } catch (err) {\n return Result.Err(err as Error)\n }\n}\n*/\n\n// await expection2Result({\n// init: openDB,\n// inScope: (res) => {\n// res.query()\n// },\n// cleanup: async (y) => {\n// await y.close()\n// }\n// })\n// async function openDB() {\n// try {\n// const opendb = await openDB()\n// return Result.Ok({\n// openDB,\n// finally: async () => {\n// await opendb.close()\n// }})\n// } catch (err) {\n// return Result.Err(err)\n// }\n// }\n// }\n","import { Result } from \"../result.js\";\n\n// Tested in txt-en-decoder.test.ts\n\ninterface GlobalBuffer {\n Buffer?: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isBuffer: (obj: any) => obj is {\n buffer: ArrayBufferLike;\n byteOffset: number;\n byteLength: number;\n };\n };\n}\nconst globalBuffer = globalThis as GlobalBuffer;\n\nexport type ToUInt8Plain = Uint8Array | ArrayBuffer | ArrayBufferView;\nexport type ToUInt8Async = ToUInt8Plain | Blob;\nexport type ToUInt8 = ToUInt8Plain | Result<ToUInt8Plain>;\nexport type AsyncToUInt8 = ToUInt8Async | Result<ToUInt8Async> | Promise<ToUInt8Async> | Promise<Result<ToUInt8Async>>;\n\nexport function coerceIntoUint8(raw: ToUInt8): Result<Uint8Array> {\n if (raw instanceof ArrayBuffer) {\n return Result.Ok(new Uint8Array(raw));\n }\n if (ArrayBuffer.isView(raw)) {\n return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));\n }\n if (raw instanceof Blob) {\n return Result.Err(\"Blob not supported\");\n }\n if (globalBuffer.Buffer && globalBuffer.Buffer.isBuffer(raw)) {\n return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));\n }\n if (raw instanceof Uint8Array) {\n return Result.Ok(raw);\n }\n if (Result.Is(raw)) {\n if (raw.isErr()) {\n return Result.Err(raw);\n }\n return coerceIntoUint8(raw.unwrap());\n }\n return Result.Err(\"Not a Uint8Array\");\n}\n\nexport async function asyncCoerceIntoUint8(raw: AsyncToUInt8): Promise<Result<Uint8Array>> {\n let resolved = await raw;\n if (resolved instanceof Blob) {\n resolved = await resolved.arrayBuffer();\n }\n return coerceIntoUint8(resolved as ToUInt8);\n}\n","import { Result } from \"./result.js\";\nimport { coerceIntoUint8, ToUInt8 } from \"./utils/coerce-uint8.js\";\n\nexport type ToEnDecoder = ToUInt8 | string | Result<string>;\nexport type AsyncToEnDecoder = ToEnDecoder | Blob | Promise<ToEnDecoder | Blob>;\n\nexport interface TxtEnDecoder {\n encode(input: string): Uint8Array;\n decode(input: ToEnDecoder): string;\n asyncDecode(input: AsyncToEnDecoder): Promise<string>;\n}\n\nclass Utf8EnDecoder implements TxtEnDecoder {\n readonly encoder = new TextEncoder();\n readonly decoder = new TextDecoder();\n\n encode(str: string): Uint8Array {\n return this.encoder.encode(str);\n }\n decode(data: ToEnDecoder): string {\n if (Result.Is(data)) {\n if (data.isErr()) {\n throw data.Err();\n }\n // only for string let do coerceInto the work\n const unwrapped = data.unwrap();\n if (typeof unwrapped === \"string\") {\n return this.decode(unwrapped);\n }\n }\n if (typeof data === \"string\") {\n return data;\n }\n return this.decoder.decode(coerceIntoUint8(data as ToUInt8).Ok());\n }\n\n async asyncDecode(data: AsyncToEnDecoder): Promise<string> {\n let resolved = await data;\n if (resolved instanceof Blob) {\n resolved = await resolved.arrayBuffer();\n }\n return this.decode(resolved);\n }\n}\n\nlet utf8EnDecoder: TxtEnDecoder;\nexport function Utf8EnDecoderSingleton(): TxtEnDecoder {\n utf8EnDecoder = utf8EnDecoder ?? new Utf8EnDecoder();\n return utf8EnDecoder;\n}\n","import { TxtEnDecoder, Utf8EnDecoderSingleton } from \"../txt-en-decoder.js\";\n\nexport function string2stream(str: string, ende: TxtEnDecoder = Utf8EnDecoderSingleton()): ReadableStream<Uint8Array> {\n return uint8array2stream(ende.encode(str));\n}\n\nexport function uint8array2stream(str: Uint8Array): ReadableStream<Uint8Array> {\n return new ReadableStream<Uint8Array>({\n start(controller): void {\n controller.enqueue(str);\n controller.close();\n },\n });\n}\n","export class ConsoleWriterStreamDefaultWriter implements WritableStreamDefaultWriter<Uint8Array> {\n readonly desiredSize: number | null = null;\n readonly decoder: TextDecoder = new TextDecoder();\n\n closed: Promise<undefined>;\n ready: Promise<undefined>;\n readonly _stream: ConsoleWriterStream;\n\n constructor(private stream: ConsoleWriterStream) {\n this._stream = stream;\n this.ready = Promise.resolve(undefined);\n this.closed = Promise.resolve(undefined);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n abort(reason?: any): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n async close(): Promise<void> {\n // noop\n }\n releaseLock(): void {\n this._stream.locked = false;\n this.ready = Promise.resolve(undefined);\n this.closed = Promise.resolve(undefined);\n }\n write(chunk?: Uint8Array): Promise<void> {\n let strObj: string | { level: string } = this.decoder.decode(chunk).trimEnd();\n let output = \"log\";\n try {\n strObj = JSON.parse(strObj) as { level: string };\n output = strObj.level;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n /* noop */\n }\n switch (output) {\n case \"error\":\n // eslint-disable-next-line no-console\n console.error(strObj);\n break;\n case \"warn\":\n // eslint-disable-next-line no-console\n console.warn(strObj);\n break;\n default:\n // eslint-disable-next-line no-console\n console.log(strObj);\n }\n return Promise.resolve();\n }\n}\n\nexport class ConsoleWriterStream implements WritableStream<Uint8Array> {\n locked = false;\n _writer?: WritableStreamDefaultWriter<Uint8Array>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n abort(reason?: any): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n close(): Promise<void> {\n return Promise.resolve();\n }\n getWriter(): WritableStreamDefaultWriter<Uint8Array> {\n if (this.locked) {\n throw new Error(\"Stream is locked\");\n }\n this.locked = true;\n if (!this._writer) {\n this._writer = new ConsoleWriterStreamDefaultWriter(this);\n }\n return this._writer;\n }\n}\n","export class FanoutWriteStream implements WritableStreamDefaultWriter<Uint8Array> {\n readonly _writers: WritableStreamDefaultWriter<Uint8Array>[];\n readonly ready: Promise<undefined>;\n readonly closed: Promise<undefined>;\n readonly desiredSize: number | null = null;\n constructor(writers: WritableStreamDefaultWriter<Uint8Array>[]) {\n this._writers = writers;\n this.ready = Promise.all(this._writers.map((w) => w.ready)).then(() => undefined);\n this.closed = Promise.all(this._writers.map((w) => w.closed)).then(() => undefined);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n abort(reason?: any): Promise<void> {\n return Promise.all(this._writers.map((w) => w.abort(reason))).then(() => {\n /* do nothing */\n });\n }\n close(): Promise<void> {\n return Promise.all(this._writers.map((w) => w.close())).then(() => {\n /* do nothing */\n });\n }\n releaseLock(): void {\n this._writers.map((w) => w.releaseLock());\n }\n\n write(chunk?: Uint8Array): Promise<void> {\n return Promise.all(this._writers.map((w) => w.write(chunk))).then(() => {\n /* do nothing */\n });\n }\n}\n","import { Result } from \"../result.js\";\n\nclass _REQUIRED {\n readonly val = \"REQUIRED\";\n}\nclass _OPTIONAL {\n readonly val = \"OPTIONAL\";\n}\n\nexport interface Param {\n readonly REQUIRED: _REQUIRED;\n readonly OPTIONAL: _OPTIONAL;\n}\n\nexport const param: Param = {\n REQUIRED: new _REQUIRED(),\n OPTIONAL: new _OPTIONAL(),\n};\n\nexport type MsgFn = (...keys: string[]) => string;\nexport type KeysParam = (string | MsgFn | Record<string, _REQUIRED | _OPTIONAL | number | string | boolean | undefined | null>)[];\n\nexport function getParamsResult(\n keys: KeysParam,\n getParam: { getParam: (key: string) => string | undefined },\n): Result<Record<string, string>> {\n const keyDef = keys.flat().reduce(\n (acc, i) => {\n if (typeof i === \"string\") {\n acc.push({ key: i, def: undefined, isOptional: false });\n } else if (typeof i === \"object\") {\n acc.push(\n ...Object.keys(i).map((k) => ({\n key: k,\n def: typeof i[k] === \"string\" ? i[k] : undefined,\n isOptional: i[k] === param.OPTIONAL,\n })),\n );\n }\n return acc;\n },\n [] as { key: string; def?: string; isOptional: boolean }[],\n );\n //.filter((k) => typeof k === \"string\");\n const msgFn =\n keys.find((k) => typeof k === \"function\") ||\n ((...keys: string[]): string => {\n const msg = keys.join(\",\");\n return `missing parameters: ${msg}`;\n });\n const errors: string[] = [];\n const result: Record<string, string> = {};\n for (const kd of keyDef) {\n const val = getParam.getParam(kd.key);\n if (val === undefined) {\n if (typeof kd.def === \"string\") {\n result[kd.key] = kd.def;\n } else {\n if (!kd.isOptional) {\n errors.push(kd.key);\n }\n }\n } else {\n result[kd.key] = val;\n }\n }\n if (errors.length) {\n return Result.Err(msgFn(...errors));\n }\n return Result.Ok(result);\n}\n","export type StripCommand = string | RegExp;\n\nexport function stripper<T extends ArrayLike<S> | S, S>(\n strip: StripCommand | StripCommand[],\n obj: T,\n): T extends ArrayLike<unknown> ? Record<string, unknown>[] : Record<string, unknown> {\n const strips = Array.isArray(strip) ? strip : [strip];\n const restrips = strips.map((s) => {\n if (typeof s === \"string\") {\n const escaped = s.replace(/[-\\\\[\\]\\\\/\\\\{\\\\}\\\\(\\\\)\\\\*\\\\+\\\\?\\\\.\\\\\\\\^\\\\$\\\\|]/g, \"\\\\$&\");\n return new RegExp(`^${escaped}$`);\n }\n return s;\n });\n return localStripper(undefined, restrips, obj) as T extends ArrayLike<unknown>\n ? Record<string, unknown>[]\n : Record<string, unknown>;\n}\n\nfunction localStripper<T>(path: string | undefined, restrips: RegExp[], obj: T): unknown {\n if (typeof obj !== \"object\" || obj === null) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return obj.map((i) => localStripper(path, restrips, i));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret = { ...obj } as Record<string, any>;\n const matcher = (key: string, nextPath: string): boolean => {\n for (const re of restrips) {\n if (re.test(key) || re.test(nextPath)) {\n return true;\n }\n }\n return false;\n };\n for (const key in ret) {\n if (Object.prototype.hasOwnProperty.call(ret, key)) {\n let nextPath: string;\n if (path) {\n nextPath = [path, key].join(\".\");\n } else {\n nextPath = key;\n }\n if (matcher(key, nextPath)) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete ret[key];\n continue;\n }\n if (typeof ret[key] === \"object\") {\n if (Array.isArray(ret[key])) {\n ret[key] = ret[key].reduce((acc: unknown[], v, i) => {\n const toDelete = matcher(key, `${nextPath}[${i}]`);\n if (!toDelete) {\n acc.push(localStripper(`${nextPath}[${i}]`, restrips, v));\n }\n return acc;\n }, []);\n } else {\n ret[key] = localStripper(nextPath, restrips, ret[key]);\n }\n }\n }\n }\n return ret;\n}\n","export function toSortedObjectArray<T>(set?: T): Record<string, unknown>[] {\n if (!set) return [];\n return toSortedArray(set).map(([k, v]) => ({ [k]: v }));\n}\n\nexport function toSortedArray<T>(set?: T): [string, unknown][] {\n if (!set) return [];\n return Object.entries(set).sort(([a], [b]) => a.localeCompare(b));\n}\n\nexport function toSortedObject<S, T extends NonNullable<S>>(set?: T): T {\n if (!set) return set as T;\n return Object.fromEntries(toSortedArray(set)) as T;\n // return toSortedArray(set).reduce((acc, cur) => {\n // acc[cur[0]] = cur[1];\n // return acc\n // }, {} as Record<string, unknown>) as T;\n}\n","export function UInt8ArrayEqual(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":"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","names":["keys"]}
1
+ {"version":3,"sources":["../../../src/utils/index.ts","../../../src/utils/stream-map.ts","../../../src/utils/rebuffer.ts","../../../src/utils/stream2string.ts","../../../src/result.ts","../../../src/utils/coerce-uint8.ts","../../../src/txt-en-decoder.ts","../../../src/utils/string2stream.ts","../../../src/utils/console-write-stream.ts","../../../src/utils/fanout-write-stream.ts","../../../src/utils/get-params-result.ts","../../../src/utils/stripper.ts","../../../src/utils/sorted-object.ts","../../../src/utils/uint8array-equal.ts"],"sourcesContent":["export * from \"./rebuffer.js\";\nexport * from \"./stream-map.js\";\nexport * from \"./stream2string.js\";\nexport * from \"./string2stream.js\";\nexport * from \"./console-write-stream.js\";\nexport * from \"./fanout-write-stream.js\";\nexport * from \"./get-params-result.js\";\nexport * from \"./stripper.js\";\nexport * from \"./sorted-object.js\";\nexport * from \"./uint8array-equal.js\";\nexport * from \"./coerce-uint8.js\";\n","export interface StreamMap<T, U> {\n Map(s: T, idx: number): U | Promise<U>;\n readonly Close?: () => void;\n}\nexport function streamMap<T, U>(s: ReadableStream<T>, sm: StreamMap<T, U>): ReadableStream<U> {\n const state = { reader: s.getReader(), streamMap: sm, idx: 0 };\n return new ReadableStream<U>({\n async pull(controller): Promise<void> {\n const { done, value } = await state.reader.read();\n if (done) {\n if (state.streamMap.Close) {\n state.streamMap.Close();\n }\n controller.close();\n return;\n }\n const promiseOrU = state.streamMap.Map(value, state.idx++);\n let mapped: U;\n if (promiseOrU instanceof Promise || typeof (promiseOrU as { then: () => void }).then === \"function\") {\n mapped = await promiseOrU;\n } else {\n mapped = promiseOrU;\n }\n controller.enqueue(mapped);\n },\n });\n}\n\nexport async function devnull<T>(a: ReadableStream<T>): Promise<number> {\n const reader = a.getReader();\n let cnt = 0;\n while (true) {\n const { done } = await reader.read();\n if (done) {\n break;\n }\n cnt++;\n }\n return cnt;\n}\n\nexport function array2stream<T>(a: T[]): ReadableStream<T> {\n let i = 0;\n return new ReadableStream<T>({\n pull(controller): void {\n if (i >= a.length) {\n controller.close();\n return;\n }\n controller.enqueue(a[i]);\n i++;\n },\n });\n}\n\nexport async function stream2array<T>(a: ReadableStream<T>): Promise<T[]> {\n const ret: T[] = [];\n const reader = a.getReader();\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n ret.push(value);\n }\n return ret;\n}\n","import { array2stream, stream2array } from \"./stream-map.js\";\n\ninterface ReChunkResult {\n readonly rest: Uint8Array;\n readonly chunk: Uint8Array;\n}\n\nexport async function rebufferArray(a: Uint8Array[], chunkSize: number): Promise<Uint8Array[]> {\n return stream2array(rebuffer(array2stream(a), chunkSize));\n}\n\nfunction reChunk(cs: Uint8Array[], chunkSize: number): ReChunkResult {\n const len = cs.reduce((acc, v) => acc + v.length, 0);\n const last = cs[cs.length - 1];\n const lastOfs = len - last.length;\n // console.log(\"reChunk\", len, lastOfs, last.length, chunkSize, chunkSize - lastOfs)\n const rest = last.subarray(chunkSize - lastOfs);\n cs[cs.length - 1] = last.subarray(0, chunkSize - lastOfs);\n const chunk = new Uint8Array(chunkSize);\n let ofs = 0;\n for (const c of cs) {\n chunk.set(c, ofs);\n ofs += c.length;\n }\n return { rest, chunk };\n}\n\ninterface pumpState {\n readonly reader: ReadableStreamDefaultReader<Uint8Array>;\n tmp: Uint8Array[];\n tmpLen: number;\n readonly chunkSize: number;\n}\n\nfunction pump(ps: pumpState, controller: ReadableStreamDefaultController<Uint8Array>, next: () => void): void {\n ps.reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n if (ps.tmpLen > 0) {\n controller.enqueue(reChunk(ps.tmp, ps.tmpLen).chunk);\n }\n controller.close();\n next();\n return;\n }\n if (ps.tmpLen + value.length > ps.chunkSize) {\n ps.tmp.push(value);\n const res = reChunk(ps.tmp, ps.chunkSize);\n controller.enqueue(res.chunk);\n ps.tmp = [res.rest];\n ps.tmpLen = res.rest.length;\n next();\n return;\n } else if (value.length) {\n ps.tmp.push(value);\n ps.tmpLen += value.length;\n }\n pump(ps, controller, next);\n })\n .catch((err) => {\n controller.error(err);\n next();\n });\n}\n\nexport function rebuffer(a: ReadableStream<Uint8Array>, chunkSize: number): ReadableStream<Uint8Array> {\n const state: pumpState = {\n reader: a.getReader(),\n tmp: [],\n tmpLen: 0,\n chunkSize,\n };\n return new ReadableStream<Uint8Array>({\n async pull(controller): Promise<void> {\n return new Promise<void>((resolve) => {\n pump(state, controller, resolve);\n });\n },\n });\n}\n","export async function stream2string(stream?: ReadableStream<Uint8Array> | null, maxSize?: number): Promise<string> {\n if (!stream) {\n return Promise.resolve(\"\");\n }\n const reader = stream.getReader();\n let res = \"\";\n const decoder = new TextDecoder();\n let rSize = 0;\n while (typeof maxSize === \"undefined\" || rSize < maxSize) {\n try {\n const read = await reader.read();\n if (read.done) {\n break;\n }\n if (maxSize && rSize + read.value.length > maxSize) {\n read.value = read.value.slice(0, maxSize - rSize);\n }\n const block = decoder.decode(read.value, { stream: true });\n rSize += read.value.length;\n res += block;\n } catch (err) {\n return Promise.reject(err as Error);\n }\n }\n return Promise.resolve(res);\n}\n\nexport async function stream2uint8array(stream?: ReadableStream<Uint8Array> | null): Promise<Uint8Array> {\n if (!stream) {\n return Promise.resolve(new Uint8Array());\n }\n const reader = stream.getReader();\n let res = new Uint8Array();\n // eslint-disable-next-line no-constant-condition\n while (1) {\n try {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n res = new Uint8Array([...res, ...value]);\n } catch (err) {\n return Promise.reject(err as Error);\n }\n }\n return Promise.resolve(res);\n}\n","export abstract class Result<T, E = Error> {\n static Ok<T = void>(t: T): Result<T, Error> {\n return new ResultOK(t);\n }\n static Err<T, E extends Error = Error>(t: E | string | Result<unknown, E>): Result<T, E> {\n if (typeof t === \"string\") {\n return new ResultError(new Error(t) as E);\n }\n if (Result.Is(t)) {\n if (t.is_ok()) {\n return new ResultError(new Error(\"Result Error is Ok\") as E);\n }\n return t as Result<T, E>;\n }\n return new ResultError(t);\n }\n static Is<T>(t: unknown): t is Result<T> {\n if (!t) {\n return false;\n }\n if (t instanceof Result) {\n return true;\n }\n const rt = t as Result<T>;\n if ([typeof rt.is_ok, typeof rt.is_err, typeof rt.unwrap, typeof rt.unwrap_err].every((x) => x === \"function\")) {\n return true;\n }\n return false;\n }\n\n isOk(): boolean {\n return this.is_ok();\n }\n isErr(): boolean {\n return this.is_err();\n }\n\n Ok(): T {\n return this.unwrap();\n }\n Err(): E {\n return this.unwrap_err();\n }\n\n abstract is_ok(): boolean;\n abstract is_err(): boolean;\n abstract unwrap(): T;\n abstract unwrap_err(): E;\n}\n\nexport class ResultOK<T> extends Result<T, Error> {\n private _t: T;\n constructor(t: T) {\n super();\n this._t = t;\n }\n is_ok(): boolean {\n return true;\n }\n is_err(): boolean {\n return false;\n }\n unwrap_err(): Error {\n throw new Error(\"Result is Ok\");\n }\n unwrap(): T {\n return this._t;\n }\n}\n\nexport class ResultError<T extends Error> extends Result<never, T> {\n private _error: T;\n constructor(t: T) {\n super();\n this._error = t;\n }\n is_ok(): boolean {\n return false;\n }\n is_err(): boolean {\n return true;\n }\n unwrap(): never {\n throw new Error(`Result is Err: ${this._error}`);\n }\n unwrap_err(): T {\n return this._error;\n }\n}\n\nexport type WithoutResult<T> = T extends Result<infer U> ? U : T;\n\n// type WithoutPromise<T> = T extends Promise<infer U> ? U : T;\ntype WithResult<T> = T extends Promise<infer U> ? Promise<Result<U>> : Result<T>;\n\nexport function exception2Result<FN extends () => Promise<T> | T, T>(fn: FN): WithResult<ReturnType<FN>> {\n try {\n const res = fn();\n if (res instanceof Promise) {\n return res.then((value) => Result.Ok(value)).catch((e) => Result.Err(e)) as WithResult<ReturnType<FN>>;\n }\n return Result.Ok(res) as WithResult<ReturnType<FN>>;\n } catch (e) {\n return Result.Err(e as Error) as WithResult<ReturnType<FN>>;\n }\n}\n\n/*\n\ntype FinalizedResult<T> = {\n result: T;\n scopeResult?: Result<void>;\n finally: () => Promise<void>;\n}\n\ntype exection2ResultParam<T> = {\n init: () => Promise<T>;\n inScope?: (t: T) => Promise<void>;\n cleanup: (t: T) => Promise<void>;\n\n}\n\nasync function expection2Result<T>({fn, inScope, cleanup}: exection2ResultParam<T>): Promise<Result<FinalizedResult<T>>> {\n try {\n const res = await fn();\n if (inScope) {\n try {\n await inScope?.(res)\n } catch (err) {\n return Result.Err(err as Error)\n }\n await cleanup(res)\n return Result.Ok({\n result: res,\n finally: async () => { }\n })\n }\n return Result.Ok({\n result: res ,\n finally: async () => {\n return cleanup(res)\n }\n })\n } catch (err) {\n return Result.Err(err as Error)\n }\n}\n*/\n\n// await expection2Result({\n// init: openDB,\n// inScope: (res) => {\n// res.query()\n// },\n// cleanup: async (y) => {\n// await y.close()\n// }\n// })\n// async function openDB() {\n// try {\n// const opendb = await openDB()\n// return Result.Ok({\n// openDB,\n// finally: async () => {\n// await opendb.close()\n// }})\n// } catch (err) {\n// return Result.Err(err)\n// }\n// }\n// }\n","import { Result } from \"../result.js\";\n\n// Tested in txt-en-decoder.test.ts\n\ninterface GlobalBuffer {\n Buffer?: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isBuffer: (obj: any) => obj is {\n buffer: ArrayBufferLike;\n byteOffset: number;\n byteLength: number;\n };\n };\n}\nconst globalBuffer = globalThis as GlobalBuffer;\n\nexport type ToUInt8Plain = Uint8Array | ArrayBuffer | ArrayBufferView;\nexport type ToUInt8Async = ToUInt8Plain | Blob;\nexport type ToUInt8 = ToUInt8Plain | Result<ToUInt8Plain>;\nexport type AsyncToUInt8 = ToUInt8Async | Result<ToUInt8Async> | Promise<ToUInt8Async> | Promise<Result<ToUInt8Async>>;\n\nexport function coerceIntoUint8(raw: ToUInt8): Result<Uint8Array> {\n if (raw instanceof ArrayBuffer) {\n return Result.Ok(new Uint8Array(raw));\n }\n if (ArrayBuffer.isView(raw)) {\n return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));\n }\n if (raw instanceof Blob) {\n return Result.Err(\"Blob not supported\");\n }\n if (globalBuffer.Buffer && globalBuffer.Buffer.isBuffer(raw)) {\n return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));\n }\n if (raw instanceof Uint8Array) {\n return Result.Ok(raw);\n }\n if (Result.Is(raw)) {\n if (raw.isErr()) {\n return Result.Err(raw);\n }\n return coerceIntoUint8(raw.unwrap());\n }\n return Result.Err(\"Not a Uint8Array\");\n}\n\nexport async function asyncCoerceIntoUint8(raw: AsyncToUInt8): Promise<Result<Uint8Array>> {\n let resolved = await raw;\n if (resolved instanceof Blob) {\n resolved = await resolved.arrayBuffer();\n }\n return coerceIntoUint8(resolved as ToUInt8);\n}\n","import { Result } from \"./result.js\";\nimport { coerceIntoUint8, ToUInt8 } from \"./utils/coerce-uint8.js\";\n\nexport type ToEnDecoder = ToUInt8 | string | Result<string>;\nexport type AsyncToEnDecoder = ToEnDecoder | Blob | Promise<ToEnDecoder | Blob>;\n\nexport interface TxtEnDecoder {\n encode(input: string): Uint8Array;\n decode(input: ToEnDecoder): string;\n asyncDecode(input: AsyncToEnDecoder): Promise<string>;\n}\n\nclass TxtOps implements TxtEnDecoder {\n readonly encoder = new TextEncoder();\n readonly decoder = new TextDecoder();\n\n encode(str: string): Uint8Array {\n return this.encoder.encode(str);\n }\n decode(data: ToEnDecoder): string {\n if (Result.Is(data)) {\n if (data.isErr()) {\n throw data.Err();\n }\n // only for string let do coerceInto the work\n const unwrapped = data.unwrap();\n if (typeof unwrapped === \"string\") {\n return this.decode(unwrapped);\n }\n }\n if (typeof data === \"string\") {\n return data;\n }\n return this.decoder.decode(coerceIntoUint8(data as ToUInt8).Ok());\n }\n\n async asyncDecode(data: AsyncToEnDecoder): Promise<string> {\n let resolved = await data;\n if (resolved instanceof Blob) {\n resolved = await resolved.arrayBuffer();\n }\n return this.decode(resolved);\n }\n}\n\nlet txtEnDecoder: TxtEnDecoder;\nexport function TxtEnDecoderSingleton(): TxtEnDecoder {\n txtEnDecoder = txtEnDecoder ?? new TxtOps();\n return txtEnDecoder;\n}\n","import { TxtEnDecoder, TxtEnDecoderSingleton } from \"../txt-en-decoder.js\";\n\nexport function string2stream(str: string, ende: TxtEnDecoder = TxtEnDecoderSingleton()): ReadableStream<Uint8Array> {\n return uint8array2stream(ende.encode(str));\n}\n\nexport function uint8array2stream(str: Uint8Array): ReadableStream<Uint8Array> {\n return new ReadableStream<Uint8Array>({\n start(controller): void {\n controller.enqueue(str);\n controller.close();\n },\n });\n}\n","export class ConsoleWriterStreamDefaultWriter implements WritableStreamDefaultWriter<Uint8Array> {\n readonly desiredSize: number | null = null;\n readonly decoder: TextDecoder = new TextDecoder();\n\n closed: Promise<undefined>;\n ready: Promise<undefined>;\n readonly _stream: ConsoleWriterStream;\n\n constructor(private stream: ConsoleWriterStream) {\n this._stream = stream;\n this.ready = Promise.resolve(undefined);\n this.closed = Promise.resolve(undefined);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n abort(reason?: any): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n async close(): Promise<void> {\n // noop\n }\n releaseLock(): void {\n this._stream.locked = false;\n this.ready = Promise.resolve(undefined);\n this.closed = Promise.resolve(undefined);\n }\n write(chunk?: Uint8Array): Promise<void> {\n let strObj: string | { level: string } = this.decoder.decode(chunk).trimEnd();\n let output = \"log\";\n try {\n strObj = JSON.parse(strObj) as { level: string };\n output = strObj.level;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n /* noop */\n }\n switch (output) {\n case \"error\":\n // eslint-disable-next-line no-console\n console.error(strObj);\n break;\n case \"warn\":\n // eslint-disable-next-line no-console\n console.warn(strObj);\n break;\n default:\n // eslint-disable-next-line no-console\n console.log(strObj);\n }\n return Promise.resolve();\n }\n}\n\nexport class ConsoleWriterStream implements WritableStream<Uint8Array> {\n locked = false;\n _writer?: WritableStreamDefaultWriter<Uint8Array>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n abort(reason?: any): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n close(): Promise<void> {\n return Promise.resolve();\n }\n getWriter(): WritableStreamDefaultWriter<Uint8Array> {\n if (this.locked) {\n throw new Error(\"Stream is locked\");\n }\n this.locked = true;\n if (!this._writer) {\n this._writer = new ConsoleWriterStreamDefaultWriter(this);\n }\n return this._writer;\n }\n}\n","export class FanoutWriteStream implements WritableStreamDefaultWriter<Uint8Array> {\n readonly _writers: WritableStreamDefaultWriter<Uint8Array>[];\n readonly ready: Promise<undefined>;\n readonly closed: Promise<undefined>;\n readonly desiredSize: number | null = null;\n constructor(writers: WritableStreamDefaultWriter<Uint8Array>[]) {\n this._writers = writers;\n this.ready = Promise.all(this._writers.map((w) => w.ready)).then(() => undefined);\n this.closed = Promise.all(this._writers.map((w) => w.closed)).then(() => undefined);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n abort(reason?: any): Promise<void> {\n return Promise.all(this._writers.map((w) => w.abort(reason))).then(() => {\n /* do nothing */\n });\n }\n close(): Promise<void> {\n return Promise.all(this._writers.map((w) => w.close())).then(() => {\n /* do nothing */\n });\n }\n releaseLock(): void {\n this._writers.map((w) => w.releaseLock());\n }\n\n write(chunk?: Uint8Array): Promise<void> {\n return Promise.all(this._writers.map((w) => w.write(chunk))).then(() => {\n /* do nothing */\n });\n }\n}\n","import { Result } from \"../result.js\";\n\nclass _REQUIRED {\n readonly val = \"REQUIRED\";\n}\nclass _OPTIONAL {\n readonly val = \"OPTIONAL\";\n}\n\nexport interface Param {\n readonly REQUIRED: _REQUIRED;\n readonly OPTIONAL: _OPTIONAL;\n}\n\nexport const param: Param = {\n REQUIRED: new _REQUIRED(),\n OPTIONAL: new _OPTIONAL(),\n};\n\nexport type MsgFn = (...keys: string[]) => string;\nexport type KeysParam = (string | MsgFn | Record<string, _REQUIRED | _OPTIONAL | number | string | boolean | undefined | null>)[];\n\nexport function getParamsResult(\n keys: KeysParam,\n getParam: { getParam: (key: string) => string | undefined },\n): Result<Record<string, string>> {\n const keyDef = keys.flat().reduce(\n (acc, i) => {\n if (typeof i === \"string\") {\n acc.push({ key: i, def: undefined, isOptional: false });\n } else if (typeof i === \"object\") {\n acc.push(\n ...Object.keys(i).map((k) => ({\n key: k,\n def: typeof i[k] === \"string\" ? i[k] : undefined,\n isOptional: i[k] === param.OPTIONAL,\n })),\n );\n }\n return acc;\n },\n [] as { key: string; def?: string; isOptional: boolean }[],\n );\n //.filter((k) => typeof k === \"string\");\n const msgFn =\n keys.find((k) => typeof k === \"function\") ||\n ((...keys: string[]): string => {\n const msg = keys.join(\",\");\n return `missing parameters: ${msg}`;\n });\n const errors: string[] = [];\n const result: Record<string, string> = {};\n for (const kd of keyDef) {\n const val = getParam.getParam(kd.key);\n if (val === undefined) {\n if (typeof kd.def === \"string\") {\n result[kd.key] = kd.def;\n } else {\n if (!kd.isOptional) {\n errors.push(kd.key);\n }\n }\n } else {\n result[kd.key] = val;\n }\n }\n if (errors.length) {\n return Result.Err(msgFn(...errors));\n }\n return Result.Ok(result);\n}\n","export type StripCommand = string | RegExp;\n\nexport function stripper<T extends ArrayLike<S> | S, S>(\n strip: StripCommand | StripCommand[],\n obj: T,\n): T extends ArrayLike<unknown> ? Record<string, unknown>[] : Record<string, unknown> {\n const strips = Array.isArray(strip) ? strip : [strip];\n const restrips = strips.map((s) => {\n if (typeof s === \"string\") {\n const escaped = s.replace(/[-\\\\[\\]\\\\/\\\\{\\\\}\\\\(\\\\)\\\\*\\\\+\\\\?\\\\.\\\\\\\\^\\\\$\\\\|]/g, \"\\\\$&\");\n return new RegExp(`^${escaped}$`);\n }\n return s;\n });\n return localStripper(undefined, restrips, obj) as T extends ArrayLike<unknown>\n ? Record<string, unknown>[]\n : Record<string, unknown>;\n}\n\nfunction localStripper<T>(path: string | undefined, restrips: RegExp[], obj: T): unknown {\n if (typeof obj !== \"object\" || obj === null) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return obj.map((i) => localStripper(path, restrips, i));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret = { ...obj } as Record<string, any>;\n const matcher = (key: string, nextPath: string): boolean => {\n for (const re of restrips) {\n if (re.test(key) || re.test(nextPath)) {\n return true;\n }\n }\n return false;\n };\n for (const key in ret) {\n if (Object.prototype.hasOwnProperty.call(ret, key)) {\n let nextPath: string;\n if (path) {\n nextPath = [path, key].join(\".\");\n } else {\n nextPath = key;\n }\n if (matcher(key, nextPath)) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete ret[key];\n continue;\n }\n if (typeof ret[key] === \"object\") {\n if (Array.isArray(ret[key])) {\n ret[key] = ret[key].reduce((acc: unknown[], v, i) => {\n const toDelete = matcher(key, `${nextPath}[${i}]`);\n if (!toDelete) {\n acc.push(localStripper(`${nextPath}[${i}]`, restrips, v));\n }\n return acc;\n }, []);\n } else {\n ret[key] = localStripper(nextPath, restrips, ret[key]);\n }\n }\n }\n }\n return ret;\n}\n","export function toSortedObjectArray<T>(set?: T): Record<string, unknown>[] {\n if (!set) return [];\n return toSortedArray(set).map(([k, v]) => ({ [k]: v }));\n}\n\nexport function toSortedArray<T>(set?: T): [string, unknown][] {\n if (!set) return [];\n return Object.entries(set).sort(([a], [b]) => a.localeCompare(b));\n}\n\nexport function toSortedObject<S, T extends NonNullable<S>>(set?: T): T {\n if (!set) return set as T;\n return Object.fromEntries(toSortedArray(set)) as T;\n // return toSortedArray(set).reduce((acc, cur) => {\n // acc[cur[0]] = cur[1];\n // return acc\n // }, {} as Record<string, unknown>) as T;\n}\n","export function UInt8ArrayEqual(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACIO,SAAS,UAAgB,GAAsB,IAAwC;AAC5F,QAAM,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,WAAW,IAAI,KAAK,EAAE;AAC7D,SAAO,IAAI,eAAkB;AAAA,IAC3B,MAAM,KAAK,YAA2B;AACpC,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,MAAM,OAAO,KAAK;AAChD,UAAI,MAAM;AACR,YAAI,MAAM,UAAU,OAAO;AACzB,gBAAM,UAAU,MAAM;AAAA,QACxB;AACA,mBAAW,MAAM;AACjB;AAAA,MACF;AACA,YAAM,aAAa,MAAM,UAAU,IAAI,OAAO,MAAM,KAAK;AACzD,UAAI;AACJ,UAAI,sBAAsB,WAAW,OAAQ,WAAoC,SAAS,YAAY;AACpG,iBAAS,MAAM;AAAA,MACjB,OAAO;AACL,iBAAS;AAAA,MACX;AACA,iBAAW,QAAQ,MAAM;AAAA,IAC3B;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,QAAW,GAAuC;AACtE,QAAM,SAAS,EAAE,UAAU;AAC3B,MAAI,MAAM;AACV,SAAO,MAAM;AACX,UAAM,EAAE,KAAK,IAAI,MAAM,OAAO,KAAK;AACnC,QAAI,MAAM;AACR;AAAA,IACF;AACA;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,aAAgB,GAA2B;AACzD,MAAI,IAAI;AACR,SAAO,IAAI,eAAkB;AAAA,IAC3B,KAAK,YAAkB;AACrB,UAAI,KAAK,EAAE,QAAQ;AACjB,mBAAW,MAAM;AACjB;AAAA,MACF;AACA,iBAAW,QAAQ,EAAE,CAAC,CAAC;AACvB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,aAAgB,GAAoC;AACxE,QAAM,MAAW,CAAC;AAClB,QAAM,SAAS,EAAE,UAAU;AAC3B,SAAO,MAAM;AACX,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,QAAI,MAAM;AACR;AAAA,IACF;AACA,QAAI,KAAK,KAAK;AAAA,EAChB;AACA,SAAO;AACT;;;AC3DA,eAAsB,cAAc,GAAiB,WAA0C;AAC7F,SAAO,aAAa,SAAS,aAAa,CAAC,GAAG,SAAS,CAAC;AAC1D;AAEA,SAAS,QAAQ,IAAkB,WAAkC;AACnE,QAAM,MAAM,GAAG,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,QAAQ,CAAC;AACnD,QAAM,OAAO,GAAG,GAAG,SAAS,CAAC;AAC7B,QAAM,UAAU,MAAM,KAAK;AAE3B,QAAM,OAAO,KAAK,SAAS,YAAY,OAAO;AAC9C,KAAG,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,GAAG,YAAY,OAAO;AACxD,QAAM,QAAQ,IAAI,WAAW,SAAS;AACtC,MAAI,MAAM;AACV,aAAW,KAAK,IAAI;AAClB,UAAM,IAAI,GAAG,GAAG;AAChB,WAAO,EAAE;AAAA,EACX;AACA,SAAO,EAAE,MAAM,MAAM;AACvB;AASA,SAAS,KAAK,IAAe,YAAyD,MAAwB;AAC5G,KAAG,OACA,KAAK,EACL,KAAK,CAAC,EAAE,MAAM,MAAM,MAAM;AACzB,QAAI,MAAM;AACR,UAAI,GAAG,SAAS,GAAG;AACjB,mBAAW,QAAQ,QAAQ,GAAG,KAAK,GAAG,MAAM,EAAE,KAAK;AAAA,MACrD;AACA,iBAAW,MAAM;AACjB,WAAK;AACL;AAAA,IACF;AACA,QAAI,GAAG,SAAS,MAAM,SAAS,GAAG,WAAW;AAC3C,SAAG,IAAI,KAAK,KAAK;AACjB,YAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS;AACxC,iBAAW,QAAQ,IAAI,KAAK;AAC5B,SAAG,MAAM,CAAC,IAAI,IAAI;AAClB,SAAG,SAAS,IAAI,KAAK;AACrB,WAAK;AACL;AAAA,IACF,WAAW,MAAM,QAAQ;AACvB,SAAG,IAAI,KAAK,KAAK;AACjB,SAAG,UAAU,MAAM;AAAA,IACrB;AACA,SAAK,IAAI,YAAY,IAAI;AAAA,EAC3B,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,eAAW,MAAM,GAAG;AACpB,SAAK;AAAA,EACP,CAAC;AACL;AAEO,SAAS,SAAS,GAA+B,WAA+C;AACrG,QAAM,QAAmB;AAAA,IACvB,QAAQ,EAAE,UAAU;AAAA,IACpB,KAAK,CAAC;AAAA,IACN,QAAQ;AAAA,IACR;AAAA,EACF;AACA,SAAO,IAAI,eAA2B;AAAA,IACpC,MAAM,KAAK,YAA2B;AACpC,aAAO,IAAI,QAAc,CAAC,YAAY;AACpC,aAAK,OAAO,YAAY,OAAO;AAAA,MACjC,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;;;AChFA,eAAsB,cAAc,QAA4C,SAAmC;AACjH,MAAI,CAAC,QAAQ;AACX,WAAO,QAAQ,QAAQ,EAAE;AAAA,EAC3B;AACA,QAAM,SAAS,OAAO,UAAU;AAChC,MAAI,MAAM;AACV,QAAM,UAAU,IAAI,YAAY;AAChC,MAAI,QAAQ;AACZ,SAAO,OAAO,YAAY,eAAe,QAAQ,SAAS;AACxD,QAAI;AACF,YAAM,OAAO,MAAM,OAAO,KAAK;AAC/B,UAAI,KAAK,MAAM;AACb;AAAA,MACF;AACA,UAAI,WAAW,QAAQ,KAAK,MAAM,SAAS,SAAS;AAClD,aAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,UAAU,KAAK;AAAA,MAClD;AACA,YAAM,QAAQ,QAAQ,OAAO,KAAK,OAAO,EAAE,QAAQ,KAAK,CAAC;AACzD,eAAS,KAAK,MAAM;AACpB,aAAO;AAAA,IACT,SAAS,KAAK;AACZ,aAAO,QAAQ,OAAO,GAAY;AAAA,IACpC;AAAA,EACF;AACA,SAAO,QAAQ,QAAQ,GAAG;AAC5B;AAEA,eAAsB,kBAAkB,QAAiE;AACvG,MAAI,CAAC,QAAQ;AACX,WAAO,QAAQ,QAAQ,IAAI,WAAW,CAAC;AAAA,EACzC;AACA,QAAM,SAAS,OAAO,UAAU;AAChC,MAAI,MAAM,IAAI,WAAW;AAEzB,SAAO,GAAG;AACR,QAAI;AACF,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,MAAM;AACR;AAAA,MACF;AACA,YAAM,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAAA,IACzC,SAAS,KAAK;AACZ,aAAO,QAAQ,OAAO,GAAY;AAAA,IACpC;AAAA,EACF;AACA,SAAO,QAAQ,QAAQ,GAAG;AAC5B;;;AC9CO,IAAe,SAAf,MAAe,QAAqB;AAAA,EACzC,OAAO,GAAa,GAAwB;AAC1C,WAAO,IAAI,SAAS,CAAC;AAAA,EACvB;AAAA,EACA,OAAO,IAAgC,GAAkD;AACvF,QAAI,OAAO,MAAM,UAAU;AACzB,aAAO,IAAI,YAAY,IAAI,MAAM,CAAC,CAAM;AAAA,IAC1C;AACA,QAAI,QAAO,GAAG,CAAC,GAAG;AAChB,UAAI,EAAE,MAAM,GAAG;AACb,eAAO,IAAI,YAAY,IAAI,MAAM,oBAAoB,CAAM;AAAA,MAC7D;AACA,aAAO;AAAA,IACT;AACA,WAAO,IAAI,YAAY,CAAC;AAAA,EAC1B;AAAA,EACA,OAAO,GAAM,GAA4B;AACvC,QAAI,CAAC,GAAG;AACN,aAAO;AAAA,IACT;AACA,QAAI,aAAa,SAAQ;AACvB,aAAO;AAAA,IACT;AACA,UAAM,KAAK;AACX,QAAI,CAAC,OAAO,GAAG,OAAO,OAAO,GAAG,QAAQ,OAAO,GAAG,QAAQ,OAAO,GAAG,UAAU,EAAE,MAAM,CAAC,MAAM,MAAM,UAAU,GAAG;AAC9G,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAgB;AACd,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EACA,QAAiB;AACf,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,KAAQ;AACN,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EACA,MAAS;AACP,WAAO,KAAK,WAAW;AAAA,EACzB;AAMF;AAEO,IAAM,WAAN,cAA0B,OAAiB;AAAA,EAEhD,YAAY,GAAM;AAChB,UAAM;AACN,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,QAAiB;AACf,WAAO;AAAA,EACT;AAAA,EACA,SAAkB;AAChB,WAAO;AAAA,EACT;AAAA,EACA,aAAoB;AAClB,UAAM,IAAI,MAAM,cAAc;AAAA,EAChC;AAAA,EACA,SAAY;AACV,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,cAAN,cAA2C,OAAiB;AAAA,EAEjE,YAAY,GAAM;AAChB,UAAM;AACN,SAAK,SAAS;AAAA,EAChB;AAAA,EACA,QAAiB;AACf,WAAO;AAAA,EACT;AAAA,EACA,SAAkB;AAChB,WAAO;AAAA,EACT;AAAA,EACA,SAAgB;AACd,UAAM,IAAI,MAAM,kBAAkB,KAAK,MAAM,EAAE;AAAA,EACjD;AAAA,EACA,aAAgB;AACd,WAAO,KAAK;AAAA,EACd;AACF;;;AC1EA,IAAM,eAAe;AAOd,SAAS,gBAAgB,KAAkC;AAChE,MAAI,eAAe,aAAa;AAC9B,WAAO,OAAO,GAAG,IAAI,WAAW,GAAG,CAAC;AAAA,EACtC;AACA,MAAI,YAAY,OAAO,GAAG,GAAG;AAC3B,WAAO,OAAO,GAAG,IAAI,WAAW,IAAI,QAAQ,IAAI,YAAY,IAAI,UAAU,CAAC;AAAA,EAC7E;AACA,MAAI,eAAe,MAAM;AACvB,WAAO,OAAO,IAAI,oBAAoB;AAAA,EACxC;AACA,MAAI,aAAa,UAAU,aAAa,OAAO,SAAS,GAAG,GAAG;AAC5D,WAAO,OAAO,GAAG,IAAI,WAAW,IAAI,QAAQ,IAAI,YAAY,IAAI,UAAU,CAAC;AAAA,EAC7E;AACA,MAAI,eAAe,YAAY;AAC7B,WAAO,OAAO,GAAG,GAAG;AAAA,EACtB;AACA,MAAI,OAAO,GAAG,GAAG,GAAG;AAClB,QAAI,IAAI,MAAM,GAAG;AACf,aAAO,OAAO,IAAI,GAAG;AAAA,IACvB;AACA,WAAO,gBAAgB,IAAI,OAAO,CAAC;AAAA,EACrC;AACA,SAAO,OAAO,IAAI,kBAAkB;AACtC;AAEA,eAAsB,qBAAqB,KAAgD;AACzF,MAAI,WAAW,MAAM;AACrB,MAAI,oBAAoB,MAAM;AAC5B,eAAW,MAAM,SAAS,YAAY;AAAA,EACxC;AACA,SAAO,gBAAgB,QAAmB;AAC5C;;;ACxCA,IAAM,SAAN,MAAqC;AAAA,EAArC;AACE,SAAS,UAAU,IAAI,YAAY;AACnC,SAAS,UAAU,IAAI,YAAY;AAAA;AAAA,EAEnC,OAAO,KAAyB;AAC9B,WAAO,KAAK,QAAQ,OAAO,GAAG;AAAA,EAChC;AAAA,EACA,OAAO,MAA2B;AAChC,QAAI,OAAO,GAAG,IAAI,GAAG;AACnB,UAAI,KAAK,MAAM,GAAG;AAChB,cAAM,KAAK,IAAI;AAAA,MACjB;AAEA,YAAM,YAAY,KAAK,OAAO;AAC9B,UAAI,OAAO,cAAc,UAAU;AACjC,eAAO,KAAK,OAAO,SAAS;AAAA,MAC9B;AAAA,IACF;AACA,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AACA,WAAO,KAAK,QAAQ,OAAO,gBAAgB,IAAe,EAAE,GAAG,CAAC;AAAA,EAClE;AAAA,EAEA,MAAM,YAAY,MAAyC;AACzD,QAAI,WAAW,MAAM;AACrB,QAAI,oBAAoB,MAAM;AAC5B,iBAAW,MAAM,SAAS,YAAY;AAAA,IACxC;AACA,WAAO,KAAK,OAAO,QAAQ;AAAA,EAC7B;AACF;AAEA,IAAI;AACG,SAAS,wBAAsC;AACpD,iBAAe,sCAAgB,IAAI,OAAO;AAC1C,SAAO;AACT;;;AC/CO,SAAS,cAAc,KAAa,OAAqB,sBAAsB,GAA+B;AACnH,SAAO,kBAAkB,KAAK,OAAO,GAAG,CAAC;AAC3C;AAEO,SAAS,kBAAkB,KAA6C;AAC7E,SAAO,IAAI,eAA2B;AAAA,IACpC,MAAM,YAAkB;AACtB,iBAAW,QAAQ,GAAG;AACtB,iBAAW,MAAM;AAAA,IACnB;AAAA,EACF,CAAC;AACH;;;ACbO,IAAM,mCAAN,MAA0F;AAAA,EAQ/F,YAAoB,QAA6B;AAA7B;AAPpB,SAAS,cAA6B;AACtC,SAAS,UAAuB,IAAI,YAAY;AAO9C,SAAK,UAAU;AACf,SAAK,QAAQ,QAAQ,QAAQ,MAAS;AACtC,SAAK,SAAS,QAAQ,QAAQ,MAAS;AAAA,EACzC;AAAA;AAAA,EAEA,MAAM,QAA6B;AACjC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EACA,MAAM,QAAuB;AAAA,EAE7B;AAAA,EACA,cAAoB;AAClB,SAAK,QAAQ,SAAS;AACtB,SAAK,QAAQ,QAAQ,QAAQ,MAAS;AACtC,SAAK,SAAS,QAAQ,QAAQ,MAAS;AAAA,EACzC;AAAA,EACA,MAAM,OAAmC;AACvC,QAAI,SAAqC,KAAK,QAAQ,OAAO,KAAK,EAAE,QAAQ;AAC5E,QAAI,SAAS;AACb,QAAI;AACF,eAAS,KAAK,MAAM,MAAM;AAC1B,eAAS,OAAO;AAAA,IAElB,SAAS,GAAG;AAAA,IAEZ;AACA,YAAQ,QAAQ;AAAA,MACd,KAAK;AAEH,gBAAQ,MAAM,MAAM;AACpB;AAAA,MACF,KAAK;AAEH,gBAAQ,KAAK,MAAM;AACnB;AAAA,MACF;AAEE,gBAAQ,IAAI,MAAM;AAAA,IACtB;AACA,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;AAEO,IAAM,sBAAN,MAAgE;AAAA,EAAhE;AACL,kBAAS;AAAA;AAAA;AAAA,EAGT,MAAM,QAA6B;AACjC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EACA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EACA,YAAqD;AACnD,QAAI,KAAK,QAAQ;AACf,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,SAAK,SAAS;AACd,QAAI,CAAC,KAAK,SAAS;AACjB,WAAK,UAAU,IAAI,iCAAiC,IAAI;AAAA,IAC1D;AACA,WAAO,KAAK;AAAA,EACd;AACF;;;ACxEO,IAAM,oBAAN,MAA2E;AAAA,EAKhF,YAAY,SAAoD;AADhE,SAAS,cAA6B;AAEpC,SAAK,WAAW;AAChB,SAAK,QAAQ,QAAQ,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,MAAS;AAChF,SAAK,SAAS,QAAQ,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,MAAM,MAAS;AAAA,EACpF;AAAA;AAAA,EAGA,MAAM,QAA6B;AACjC,WAAO,QAAQ,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE,KAAK,MAAM;AAAA,IAEzE,CAAC;AAAA,EACH;AAAA,EACA,QAAuB;AACrB,WAAO,QAAQ,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,MAAM;AAAA,IAEnE,CAAC;AAAA,EACH;AAAA,EACA,cAAoB;AAClB,SAAK,SAAS,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;AAAA,EAC1C;AAAA,EAEA,MAAM,OAAmC;AACvC,WAAO,QAAQ,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM;AAAA,IAExE,CAAC;AAAA,EACH;AACF;;;AC7BA,IAAM,YAAN,MAAgB;AAAA,EAAhB;AACE,SAAS,MAAM;AAAA;AACjB;AACA,IAAM,YAAN,MAAgB;AAAA,EAAhB;AACE,SAAS,MAAM;AAAA;AACjB;AAOO,IAAM,QAAe;AAAA,EAC1B,UAAU,IAAI,UAAU;AAAA,EACxB,UAAU,IAAI,UAAU;AAC1B;AAKO,SAAS,gBACd,MACA,UACgC;AAChC,QAAM,SAAS,KAAK,KAAK,EAAE;AAAA,IACzB,CAAC,KAAK,MAAM;AACV,UAAI,OAAO,MAAM,UAAU;AACzB,YAAI,KAAK,EAAE,KAAK,GAAG,KAAK,QAAW,YAAY,MAAM,CAAC;AAAA,MACxD,WAAW,OAAO,MAAM,UAAU;AAChC,YAAI;AAAA,UACF,GAAG,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO;AAAA,YAC5B,KAAK;AAAA,YACL,KAAK,OAAO,EAAE,CAAC,MAAM,WAAW,EAAE,CAAC,IAAI;AAAA,YACvC,YAAY,EAAE,CAAC,MAAM,MAAM;AAAA,UAC7B,EAAE;AAAA,QACJ;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,QACJ,KAAK,KAAK,CAAC,MAAM,OAAO,MAAM,UAAU,MACvC,IAAIA,UAA2B;AAC9B,UAAM,MAAMA,MAAK,KAAK,GAAG;AACzB,WAAO,uBAAuB,GAAG;AAAA,EACnC;AACF,QAAM,SAAmB,CAAC;AAC1B,QAAM,SAAiC,CAAC;AACxC,aAAW,MAAM,QAAQ;AACvB,UAAM,MAAM,SAAS,SAAS,GAAG,GAAG;AACpC,QAAI,QAAQ,QAAW;AACrB,UAAI,OAAO,GAAG,QAAQ,UAAU;AAC9B,eAAO,GAAG,GAAG,IAAI,GAAG;AAAA,MACtB,OAAO;AACL,YAAI,CAAC,GAAG,YAAY;AAClB,iBAAO,KAAK,GAAG,GAAG;AAAA,QACpB;AAAA,MACF;AAAA,IACF,OAAO;AACL,aAAO,GAAG,GAAG,IAAI;AAAA,IACnB;AAAA,EACF;AACA,MAAI,OAAO,QAAQ;AACjB,WAAO,OAAO,IAAI,MAAM,GAAG,MAAM,CAAC;AAAA,EACpC;AACA,SAAO,OAAO,GAAG,MAAM;AACzB;;;ACpEO,SAAS,SACd,OACA,KACoF;AACpF,QAAM,SAAS,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AACpD,QAAM,WAAW,OAAO,IAAI,CAAC,MAAM;AACjC,QAAI,OAAO,MAAM,UAAU;AACzB,YAAM,UAAU,EAAE,QAAQ,mDAAmD,MAAM;AACnF,aAAO,IAAI,OAAO,IAAI,OAAO,GAAG;AAAA,IAClC;AACA,WAAO;AAAA,EACT,CAAC;AACD,SAAO,cAAc,QAAW,UAAU,GAAG;AAG/C;AAEA,SAAS,cAAiB,MAA0B,UAAoB,KAAiB;AACvF,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAC,MAAM,cAAc,MAAM,UAAU,CAAC,CAAC;AAAA,EACxD;AAEA,QAAM,MAAM,EAAE,GAAG,IAAI;AACrB,QAAM,UAAU,CAAC,KAAa,aAA8B;AAC1D,eAAW,MAAM,UAAU;AACzB,UAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,QAAQ,GAAG;AACrC,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,aAAW,OAAO,KAAK;AACrB,QAAI,OAAO,UAAU,eAAe,KAAK,KAAK,GAAG,GAAG;AAClD,UAAI;AACJ,UAAI,MAAM;AACR,mBAAW,CAAC,MAAM,GAAG,EAAE,KAAK,GAAG;AAAA,MACjC,OAAO;AACL,mBAAW;AAAA,MACb;AACA,UAAI,QAAQ,KAAK,QAAQ,GAAG;AAE1B,eAAO,IAAI,GAAG;AACd;AAAA,MACF;AACA,UAAI,OAAO,IAAI,GAAG,MAAM,UAAU;AAChC,YAAI,MAAM,QAAQ,IAAI,GAAG,CAAC,GAAG;AAC3B,cAAI,GAAG,IAAI,IAAI,GAAG,EAAE,OAAO,CAAC,KAAgB,GAAG,MAAM;AACnD,kBAAM,WAAW,QAAQ,KAAK,GAAG,QAAQ,IAAI,CAAC,GAAG;AACjD,gBAAI,CAAC,UAAU;AACb,kBAAI,KAAK,cAAc,GAAG,QAAQ,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;AAAA,YAC1D;AACA,mBAAO;AAAA,UACT,GAAG,CAAC,CAAC;AAAA,QACP,OAAO;AACL,cAAI,GAAG,IAAI,cAAc,UAAU,UAAU,IAAI,GAAG,CAAC;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;ACjEO,SAAS,oBAAuB,KAAoC;AACzE,MAAI,CAAC,IAAK,QAAO,CAAC;AAClB,SAAO,cAAc,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;AACxD;AAEO,SAAS,cAAiB,KAA8B;AAC7D,MAAI,CAAC,IAAK,QAAO,CAAC;AAClB,SAAO,OAAO,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAClE;AAEO,SAAS,eAA4C,KAAY;AACtE,MAAI,CAAC,IAAK,QAAO;AACjB,SAAO,OAAO,YAAY,cAAc,GAAG,CAAC;AAK9C;;;ACjBO,SAAS,gBAAgB,GAAe,GAAwB;AACrE,MAAI,EAAE,WAAW,EAAE,QAAQ;AACzB,WAAO;AAAA,EACT;AACA,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AACjC,QAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AACjB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;","names":["keys"]}
package/utils/index.d.cts CHANGED
@@ -1,3 +1,3 @@
1
- export { i as ConsoleWriterStream, C as ConsoleWriterStreamDefaultWriter, F as FanoutWriteStream, S as StreamMap, U as UInt8ArrayEqual, b as array2stream, d as devnull, a as rebuffer, r as rebufferArray, c as stream2array, e as stream2string, f as stream2uint8array, s as streamMap, g as string2stream, j as toSortedArray, k as toSortedObject, t as toSortedObjectArray, h as uint8array2stream } from '../index-C6hvxtE7.cjs';
2
- export { A as AsyncToUInt8, K as KeysParam, M as MsgFn, P as Param, a as ToUInt8, b as ToUInt8Async, c as ToUInt8Plain, d as asyncCoerceIntoUint8, e as coerceIntoUint8, g as getParamsResult, p as param } from '../get-params-result-CXYbMEcV.cjs';
1
+ export { i as ConsoleWriterStream, C as ConsoleWriterStreamDefaultWriter, F as FanoutWriteStream, S as StreamMap, U as UInt8ArrayEqual, b as array2stream, d as devnull, a as rebuffer, r as rebufferArray, c as stream2array, e as stream2string, f as stream2uint8array, s as streamMap, g as string2stream, j as toSortedArray, k as toSortedObject, t as toSortedObjectArray, h as uint8array2stream } from '../index-Dpc3oVOD.cjs';
2
+ export { A as AsyncToUInt8, K as KeysParam, M as MsgFn, P as Param, a as ToUInt8, b as ToUInt8Async, c as ToUInt8Plain, d as asyncCoerceIntoUint8, e as coerceIntoUint8, g as getParamsResult, p as param } from '../get-params-result-C2cbgB78.cjs';
3
3
  export { S as StripCommand, s as stripper } from '../stripper-BpBUUZ9p.cjs';
package/utils/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { i as ConsoleWriterStream, C as ConsoleWriterStreamDefaultWriter, F as FanoutWriteStream, S as StreamMap, U as UInt8ArrayEqual, b as array2stream, d as devnull, a as rebuffer, r as rebufferArray, c as stream2array, e as stream2string, f as stream2uint8array, s as streamMap, g as string2stream, j as toSortedArray, k as toSortedObject, t as toSortedObjectArray, h as uint8array2stream } from '../index-BQMIP01w.js';
2
- export { A as AsyncToUInt8, K as KeysParam, M as MsgFn, P as Param, a as ToUInt8, b as ToUInt8Async, c as ToUInt8Plain, d as asyncCoerceIntoUint8, e as coerceIntoUint8, g as getParamsResult, p as param } from '../get-params-result-CXYbMEcV.js';
1
+ export { i as ConsoleWriterStream, C as ConsoleWriterStreamDefaultWriter, F as FanoutWriteStream, S as StreamMap, U as UInt8ArrayEqual, b as array2stream, d as devnull, a as rebuffer, r as rebufferArray, c as stream2array, e as stream2string, f as stream2uint8array, s as streamMap, g as string2stream, j as toSortedArray, k as toSortedObject, t as toSortedObjectArray, h as uint8array2stream } from '../index-MWn9Xel9.js';
2
+ export { A as AsyncToUInt8, K as KeysParam, M as MsgFn, P as Param, a as ToUInt8, b as ToUInt8Async, c as ToUInt8Plain, d as asyncCoerceIntoUint8, e as coerceIntoUint8, g as getParamsResult, p as param } from '../get-params-result-C2cbgB78.js';
3
3
  export { S as StripCommand, s as stripper } from '../stripper-BpBUUZ9p.js';
package/utils/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  toSortedObject,
14
14
  toSortedObjectArray,
15
15
  uint8array2stream
16
- } from "../chunk-H5JLIMWA.js";
16
+ } from "../chunk-W53WEZWY.js";
17
17
  import {
18
18
  ConsoleWriterStream,
19
19
  ConsoleWriterStreamDefaultWriter,
@@ -25,7 +25,7 @@ import {
25
25
  coerceIntoUint8,
26
26
  getParamsResult,
27
27
  param
28
- } from "../chunk-BVZ6HD34.js";
28
+ } from "../chunk-A57BAYWU.js";
29
29
  export {
30
30
  ConsoleWriterStream,
31
31
  ConsoleWriterStreamDefaultWriter,
package/web/index.cjs CHANGED
@@ -276,7 +276,14 @@ var ResolveOnce = class {
276
276
  this._onceOk = false;
277
277
  this._onceValue = void 0;
278
278
  this._onceError = void 0;
279
- this._onceFutures.length = 0;
279
+ if (this._inProgress) {
280
+ const idx = this._onceFutures.findIndex((f) => f === this._inProgress);
281
+ if (idx >= 0) {
282
+ this._onceFutures.push(...this._onceFutures.splice(2).slice(1));
283
+ }
284
+ } else {
285
+ this._onceFutures.length = 0;
286
+ }
280
287
  }
281
288
  // T extends Option<infer U> ? U : T
282
289
  once(fn) {
@@ -319,6 +326,7 @@ var ResolveOnce = class {
319
326
  }
320
327
  this._onceFutures.length = 0;
321
328
  };
329
+ this._inProgress = future;
322
330
  try {
323
331
  const ret = fn(this.ctx);
324
332
  if (typeof ret.then === "function") {
@@ -330,6 +338,7 @@ var ResolveOnce = class {
330
338
  } catch (e) {
331
339
  catchFn(e);
332
340
  }
341
+ this._inProgress = void 0;
333
342
  }
334
343
  if (this._isPromise) {
335
344
  return future.asPromise();
@@ -879,7 +888,7 @@ function coerceIntoUint8(raw) {
879
888
  }
880
889
 
881
890
  // src/txt-en-decoder.ts
882
- var Utf8EnDecoder = class {
891
+ var TxtOps = class {
883
892
  constructor() {
884
893
  this.encoder = new TextEncoder();
885
894
  this.decoder = new TextDecoder();
@@ -910,10 +919,10 @@ var Utf8EnDecoder = class {
910
919
  return this.decode(resolved);
911
920
  }
912
921
  };
913
- var utf8EnDecoder;
914
- function Utf8EnDecoderSingleton() {
915
- utf8EnDecoder = utf8EnDecoder != null ? utf8EnDecoder : new Utf8EnDecoder();
916
- return utf8EnDecoder;
922
+ var txtEnDecoder;
923
+ function TxtEnDecoderSingleton() {
924
+ txtEnDecoder = txtEnDecoder != null ? txtEnDecoder : new TxtOps();
925
+ return txtEnDecoder;
917
926
  }
918
927
 
919
928
  // src/web/web-sys-abstraction.ts
@@ -982,7 +991,7 @@ var my = void 0;
982
991
  function WebSysAbstraction(param2) {
983
992
  if (!my) {
984
993
  my = new BaseSysAbstraction({
985
- TxtEnDecoder: (param2 == null ? void 0 : param2.TxtEnDecoder) || Utf8EnDecoderSingleton(),
994
+ TxtEnDecoder: (param2 == null ? void 0 : param2.TxtEnDecoder) || TxtEnDecoderSingleton(),
986
995
  FileSystem: new WebFileService(),
987
996
  SystemService: new WebSystemService()
988
997
  });