@adviser/cement 0.4.23 → 0.4.26

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 (103) hide show
  1. package/cjs/future.cjs +1 -1
  2. package/cjs/future.cjs.map +1 -1
  3. package/cjs/future.d.ts.map +1 -1
  4. package/cjs/is-promise.cjs +4 -0
  5. package/cjs/is-promise.cjs.map +1 -1
  6. package/cjs/is-promise.d.ts +2 -0
  7. package/cjs/is-promise.d.ts.map +1 -1
  8. package/cjs/logger.test.cjs +20 -2
  9. package/cjs/logger.test.cjs.map +1 -1
  10. package/cjs/option.cjs +3 -0
  11. package/cjs/option.cjs.map +1 -1
  12. package/cjs/option.d.ts +1 -0
  13. package/cjs/option.d.ts.map +1 -1
  14. package/cjs/resolve-once.cjs +265 -93
  15. package/cjs/resolve-once.cjs.map +1 -1
  16. package/cjs/resolve-once.d.ts +48 -18
  17. package/cjs/resolve-once.d.ts.map +1 -1
  18. package/cjs/resolve-once.test.cjs +115 -9
  19. package/cjs/resolve-once.test.cjs.map +1 -1
  20. package/cjs/utils/console-write-stream.cjs +25 -13
  21. package/cjs/utils/console-write-stream.cjs.map +1 -1
  22. package/cjs/utils/console-write-stream.d.ts +7 -0
  23. package/cjs/utils/console-write-stream.d.ts.map +1 -1
  24. package/cjs/version.cjs +1 -1
  25. package/deno.json +1 -1
  26. package/esm/future.d.ts.map +1 -1
  27. package/esm/future.js +1 -1
  28. package/esm/future.js.map +1 -1
  29. package/esm/is-promise.d.ts +2 -0
  30. package/esm/is-promise.d.ts.map +1 -1
  31. package/esm/is-promise.js +3 -0
  32. package/esm/is-promise.js.map +1 -1
  33. package/esm/logger.test.js +21 -3
  34. package/esm/logger.test.js.map +1 -1
  35. package/esm/option.d.ts +1 -0
  36. package/esm/option.d.ts.map +1 -1
  37. package/esm/option.js +3 -0
  38. package/esm/option.js.map +1 -1
  39. package/esm/resolve-once.d.ts +48 -18
  40. package/esm/resolve-once.d.ts.map +1 -1
  41. package/esm/resolve-once.js +262 -92
  42. package/esm/resolve-once.js.map +1 -1
  43. package/esm/resolve-once.test.js +116 -10
  44. package/esm/resolve-once.test.js.map +1 -1
  45. package/esm/utils/console-write-stream.d.ts +7 -0
  46. package/esm/utils/console-write-stream.d.ts.map +1 -1
  47. package/esm/utils/console-write-stream.js +25 -13
  48. package/esm/utils/console-write-stream.js.map +1 -1
  49. package/esm/version.js +1 -1
  50. package/package.json +3 -3
  51. package/src/future.ts +2 -1
  52. package/src/is-promise.ts +6 -0
  53. package/src/option.ts +4 -0
  54. package/src/resolve-once.ts +342 -114
  55. package/src/utils/console-write-stream.ts +36 -16
  56. package/ts/cjs/future.d.ts.map +1 -1
  57. package/ts/cjs/future.js +1 -1
  58. package/ts/cjs/future.js.map +1 -1
  59. package/ts/cjs/is-promise.d.ts +2 -0
  60. package/ts/cjs/is-promise.d.ts.map +1 -1
  61. package/ts/cjs/is-promise.js +4 -0
  62. package/ts/cjs/is-promise.js.map +1 -1
  63. package/ts/cjs/logger.test.js +20 -2
  64. package/ts/cjs/logger.test.js.map +1 -1
  65. package/ts/cjs/option.d.ts +1 -0
  66. package/ts/cjs/option.d.ts.map +1 -1
  67. package/ts/cjs/option.js +3 -0
  68. package/ts/cjs/option.js.map +1 -1
  69. package/ts/cjs/resolve-once.d.ts +48 -18
  70. package/ts/cjs/resolve-once.d.ts.map +1 -1
  71. package/ts/cjs/resolve-once.js +265 -93
  72. package/ts/cjs/resolve-once.js.map +1 -1
  73. package/ts/cjs/resolve-once.test.js +115 -9
  74. package/ts/cjs/resolve-once.test.js.map +1 -1
  75. package/ts/cjs/utils/console-write-stream.d.ts +7 -0
  76. package/ts/cjs/utils/console-write-stream.d.ts.map +1 -1
  77. package/ts/cjs/utils/console-write-stream.js +25 -13
  78. package/ts/cjs/utils/console-write-stream.js.map +1 -1
  79. package/ts/cjs/version.js +1 -1
  80. package/ts/esm/future.d.ts.map +1 -1
  81. package/ts/esm/future.js +1 -1
  82. package/ts/esm/future.js.map +1 -1
  83. package/ts/esm/is-promise.d.ts +2 -0
  84. package/ts/esm/is-promise.d.ts.map +1 -1
  85. package/ts/esm/is-promise.js +3 -0
  86. package/ts/esm/is-promise.js.map +1 -1
  87. package/ts/esm/logger.test.js +21 -3
  88. package/ts/esm/logger.test.js.map +1 -1
  89. package/ts/esm/option.d.ts +1 -0
  90. package/ts/esm/option.d.ts.map +1 -1
  91. package/ts/esm/option.js +3 -0
  92. package/ts/esm/option.js.map +1 -1
  93. package/ts/esm/resolve-once.d.ts +48 -18
  94. package/ts/esm/resolve-once.d.ts.map +1 -1
  95. package/ts/esm/resolve-once.js +262 -92
  96. package/ts/esm/resolve-once.js.map +1 -1
  97. package/ts/esm/resolve-once.test.js +116 -10
  98. package/ts/esm/resolve-once.test.js.map +1 -1
  99. package/ts/esm/utils/console-write-stream.d.ts +7 -0
  100. package/ts/esm/utils/console-write-stream.d.ts.map +1 -1
  101. package/ts/esm/utils/console-write-stream.js +25 -13
  102. package/ts/esm/utils/console-write-stream.js.map +1 -1
  103. package/ts/esm/version.js +1 -1
@@ -43,7 +43,8 @@ describe("resolve-once", () => {
43
43
  expect(diff).toBeGreaterThanOrEqual(99);
44
44
  expect(diff).toBeLessThan(150);
45
45
  });
46
- it("works with void", async () => {
46
+ it("async works with void", async () => {
47
+ const cnt = 1;
47
48
  const once = new cement_1.ResolveOnce();
48
49
  const reallyOnce = vi.fn(async () => {
49
50
  return new Promise((resolve) => {
@@ -52,16 +53,27 @@ describe("resolve-once", () => {
52
53
  }, 100);
53
54
  });
54
55
  });
55
- const fn = () => once.once(async () => reallyOnce());
56
+ const fn = () => once.once(() => {
57
+ return reallyOnce();
58
+ });
56
59
  const start = Date.now();
57
- expect(await Promise.all(Array(100)
60
+ expect(await Promise.all(Array(cnt)
58
61
  .fill(fn)
59
- .map((fn) => fn()))).toEqual(Array(100).fill(undefined));
62
+ .map((fn) => fn()))).toEqual(Array(cnt).fill(undefined));
60
63
  expect(reallyOnce).toHaveBeenCalledTimes(1);
61
64
  const diff = Date.now() - start;
62
- expect(diff).toBeGreaterThanOrEqual(99);
65
+ expect(diff).toBeGreaterThanOrEqual(95);
63
66
  expect(diff).toBeLessThan(150);
64
67
  });
68
+ it("sync works with void", () => {
69
+ const once = new cement_1.ResolveOnce();
70
+ const reallyOnce = vi.fn(() => 19);
71
+ const val = once.once(() => {
72
+ reallyOnce();
73
+ });
74
+ expect(Array(100).fill(val)).toEqual(Array(100).fill(undefined));
75
+ expect(reallyOnce).toHaveBeenCalledTimes(1);
76
+ });
65
77
  it("throws", async () => {
66
78
  const once = new cement_1.ResolveOnce();
67
79
  const reallyOnce = vi.fn(async () => {
@@ -157,13 +169,13 @@ describe("resolve-once", () => {
157
169
  await once.once(orderFn);
158
170
  await once.once(orderFn);
159
171
  await once.once(orderFn);
160
- once.reset();
172
+ void once.reset();
161
173
  await once.once(orderFn);
162
174
  await once.once(orderFn);
163
- once.reset();
175
+ void once.reset();
164
176
  await once.once(orderFn);
165
177
  await once.once(orderFn);
166
- once.reset();
178
+ void once.reset();
167
179
  expect(orderFn).toHaveBeenCalledTimes(3);
168
180
  });
169
181
  it("keyed", async () => {
@@ -426,7 +438,18 @@ describe("resolve-once", () => {
426
438
  once.once(() => 42);
427
439
  expect(once.ready).toBe(true);
428
440
  expect(once.value).toBe(42);
429
- once.reset();
441
+ void once.reset();
442
+ expect(once.ready).toBe(false);
443
+ expect(once.value).toBe(undefined);
444
+ });
445
+ it("async resolve once serves ready and value", async () => {
446
+ const once = new cement_1.ResolveOnce();
447
+ expect(once.ready).toBe(false);
448
+ expect(once.value).toBe(undefined);
449
+ await once.once(() => Promise.resolve(42));
450
+ expect(once.ready).toBe(true);
451
+ expect(once.value).toBe(42);
452
+ void once.reset();
430
453
  expect(once.ready).toBe(false);
431
454
  expect(once.value).toBe(undefined);
432
455
  });
@@ -460,6 +483,89 @@ class MyLazy {
460
483
  };
461
484
  }
462
485
  }
486
+ describe("Reset does not remove pending futures", () => {
487
+ it("reset are queued", async () => {
488
+ const once = new cement_1.ResolveOnce();
489
+ const actions = [];
490
+ const actionCnt = 3;
491
+ const onceCallCnt = 3;
492
+ for (let i = 0; i < actionCnt; i++) {
493
+ const loop = i;
494
+ const futures = Array(onceCallCnt)
495
+ .fill(0)
496
+ .map(() => {
497
+ const f = new cement_1.Future();
498
+ return f;
499
+ });
500
+ actions.push({
501
+ futures,
502
+ results: Array(onceCallCnt)
503
+ .fill(0)
504
+ .map((_, fidx) => once.once(() => futures[fidx].asPromise().then(() => {
505
+ const ret = loop ? fidx + loop + 42 : fidx + loop + 63;
506
+ return ret;
507
+ }))),
508
+ reset: once.reset(() => {
509
+ const ret = loop + 97;
510
+ return Promise.resolve(ret);
511
+ }),
512
+ });
513
+ }
514
+ expect(once.queueLength).toBe(actionCnt * onceCallCnt + actionCnt + actionCnt + 1);
515
+ [...actions].reverse().forEach((a) => {
516
+ [...a.futures].reverse().forEach((f) => {
517
+ f.resolve();
518
+ });
519
+ });
520
+ await Promise.all(actions.map((a) => a.reset));
521
+ expect(once.queueLength).toBe(actionCnt + 1);
522
+ for (let i = 0; i < actionCnt; i++) {
523
+ const a = actions[i];
524
+ expect(await Promise.all(a.results)).toEqual(Array(onceCallCnt)
525
+ .fill(0)
526
+ .map(() => (i ? i + 96 : i + 63)));
527
+ }
528
+ });
529
+ it("Reset does not remove pending futures", async () => {
530
+ const cnt = 10;
531
+ const once = new cement_1.ResolveOnce();
532
+ const releaseOnce = new cement_1.Future();
533
+ const waiting = Promise.all(Array(cnt)
534
+ .fill(0)
535
+ .map(() => {
536
+ return once.once(() => releaseOnce.asPromise().then(() => 24));
537
+ }));
538
+ const newValue = new cement_1.Future();
539
+ let newWaiting;
540
+ const never = vi.fn();
541
+ const resetResult = once.reset(async () => {
542
+ newWaiting = Promise.all(Array(cnt)
543
+ .fill(0)
544
+ .map(() => once.once(() => {
545
+ never();
546
+ return 46;
547
+ })));
548
+ await newValue.asPromise();
549
+ return 42;
550
+ });
551
+ releaseOnce.resolve();
552
+ newValue.resolve();
553
+ expect(await resetResult).toBe(42);
554
+ const resWaiting = await waiting;
555
+ expect(resWaiting).toEqual(Array(cnt).fill(24));
556
+ const newWaitingResult = await newWaiting;
557
+ expect(newWaitingResult).toEqual(Array(cnt).fill(24));
558
+ expect(never).not.toHaveBeenCalled();
559
+ const resolvedReset = await resetResult;
560
+ expect(resolvedReset).toBe(42);
561
+ expect(await Promise.all(Array(cnt)
562
+ .fill(0)
563
+ .map(() => once.once(() => {
564
+ never();
565
+ return 49;
566
+ })))).toEqual(Array(cnt).fill(42));
567
+ });
568
+ });
463
569
  describe("Lazy Initialization", () => {
464
570
  it("ResolveOnce could be used for LazyInitialization", async () => {
465
571
  const my = new MyLazy();
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.test.js","sourceRoot":"","sources":["../../../src/resolve-once.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.test.js","sourceRoot":"","sources":["../../../src/resolve-once.test.ts"],"names":[],"mappings":"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"}
@@ -26,23 +26,27 @@ class ConsoleWriterStreamDefaultWriter {
26
26
  }
27
27
  write(chunk) {
28
28
  let strObj = this.decoder.decode(chunk).trimEnd();
29
- let output = "log";
30
29
  try {
31
30
  strObj = JSON.parse(strObj);
32
- output = strObj.level;
31
+ const output = strObj.level || "log";
32
+ const cargs = [strObj];
33
+ if ("msg" in strObj) {
34
+ cargs.unshift(strObj.msg);
35
+ delete strObj["msg"];
36
+ }
37
+ switch (output) {
38
+ case "error":
39
+ this._stream.params.error(...cargs);
40
+ break;
41
+ case "warn":
42
+ this._stream.params.warn(...cargs);
43
+ break;
44
+ default:
45
+ this._stream.params.log(...cargs);
46
+ }
33
47
  }
34
48
  catch (e) {
35
- /* noop */
36
- }
37
- switch (output) {
38
- case "error":
39
- console.error(strObj);
40
- break;
41
- case "warn":
42
- console.warn(strObj);
43
- break;
44
- default:
45
- console.log(strObj);
49
+ this._stream.params.log(strObj);
46
50
  }
47
51
  return Promise.resolve();
48
52
  }
@@ -51,6 +55,14 @@ exports.ConsoleWriterStreamDefaultWriter = ConsoleWriterStreamDefaultWriter;
51
55
  class ConsoleWriterStream {
52
56
  locked = false;
53
57
  _writer;
58
+ params;
59
+ constructor(params = {}) {
60
+ this.params = {
61
+ error: (...a) => (params.error || console.error)(...a),
62
+ log: (...a) => (params.log || console.log)(...a),
63
+ warn: (...a) => (params.warn || console.warn)(...a),
64
+ };
65
+ }
54
66
  abort(_reason) {
55
67
  throw new Error("Method not implemented.");
56
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"console-write-stream.js","sourceRoot":"","sources":["../../../../src/utils/console-write-stream.ts"],"names":[],"mappings":";;;AAAA;IAQsB,MAAM;IAPjB,WAAW,GAAkB,IAAI,CAAC;IAClC,OAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;IAElD,MAAM,CAAiB;IACvB,KAAK,CAAiB;IACb,OAAO,CAAsB;IAEtC,YAAoB,MAA2B,EAAE;sBAA7B,MAAM;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,EAAoB,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAoB,CAAC;IAAA,CACnD;IACD,KAAK,CAAC,OAAiB,EAAiB;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAAA,CAC5C;IACD,KAAK,CAAC,KAAK,GAAkB;IAAC,CAE7B;IACD,WAAW,GAAS;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,EAAoB,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAoB,CAAC;IAAA,CACnD;IACD,KAAK,CAAC,KAAkB,EAAiB;QACvC,IAAI,MAAM,GAA+B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9E,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,UAAU;QACZ,CAAC;QACD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,OAAO;gBAEV,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,MAAM;gBAET,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM;YACR;gBAEE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAAA,CAC1B;CACF;;AAED;IACE,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,CAA2C;IAClD,KAAK,CAAC,OAAiB,EAAiB;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAAA,CAC5C;IACD,KAAK,GAAkB;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAAA,CAC1B;IACD,SAAS,GAA4C;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IAAA,CACrB;CACF"}
1
+ {"version":3,"file":"console-write-stream.js","sourceRoot":"","sources":["../../../../src/utils/console-write-stream.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,16 @@ export declare class ConsoleWriterStreamDefaultWriter implements WritableStreamD
11
11
  releaseLock(): void;
12
12
  write(chunk?: Uint8Array): Promise<void>;
13
13
  }
14
+ export interface ConsoleWriterStreamParams {
15
+ log(...args: unknown[]): void;
16
+ error(...args: unknown[]): void;
17
+ warn(...args: unknown[]): void;
18
+ }
14
19
  export declare class ConsoleWriterStream implements WritableStream<Uint8Array> {
15
20
  locked: boolean;
16
21
  _writer?: WritableStreamDefaultWriter<Uint8Array>;
22
+ readonly params: ConsoleWriterStreamParams;
23
+ constructor(params?: Partial<ConsoleWriterStreamParams>);
17
24
  abort(_reason?: unknown): Promise<void>;
18
25
  close(): Promise<void>;
19
26
  getWriter(): WritableStreamDefaultWriter<Uint8Array>;
@@ -1 +1 @@
1
- {"version":3,"file":"console-write-stream.d.ts","sourceRoot":"","sources":["../../../../src/utils/console-write-stream.ts"],"names":[],"mappings":"AAAA,qBAAa,gCAAiC,YAAW,2BAA2B,CAAC,UAAU,CAAC;IAQlF,OAAO,CAAC,MAAM;IAP1B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAqB;IAElD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAEtC,YAAoB,MAAM,EAAE,mBAAmB,EAI9C;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtC;IACK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IACD,WAAW,IAAI,IAAI,CAIlB;IACD,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvC;CACF;AAED,qBAAa,mBAAoB,YAAW,cAAc,CAAC,UAAU,CAAC;IACpE,MAAM,UAAS;IACf,OAAO,CAAC,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAClD,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtC;IACD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IACD,SAAS,IAAI,2BAA2B,CAAC,UAAU,CAAC,CASnD;CACF"}
1
+ {"version":3,"file":"console-write-stream.d.ts","sourceRoot":"","sources":["../../../../src/utils/console-write-stream.ts"],"names":[],"mappings":"AAAA,qBAAa,gCAAiC,YAAW,2BAA2B,CAAC,UAAU,CAAC;IAQlF,OAAO,CAAC,MAAM;IAP1B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAqB;IAElD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAEtC,YAAoB,MAAM,EAAE,mBAAmB,EAI9C;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtC;IACK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IACD,WAAW,IAAI,IAAI,CAIlB;IACD,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvC;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAChC;AAED,qBAAa,mBAAoB,YAAW,cAAc,CAAC,UAAU,CAAC;IACpE,MAAM,UAAS;IACf,OAAO,CAAC,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAElD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAE3C,YAAY,MAAM,GAAE,OAAO,CAAC,yBAAyB,CAAM,EAS1D;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtC;IACD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IACD,SAAS,IAAI,2BAA2B,CAAC,UAAU,CAAC,CASnD;CACF"}
package/cjs/version.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "0.4.23";
4
+ exports.VERSION = "0.4.26";
5
5
  //# sourceMappingURL=version.js.map
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adviser/cement",
3
- "version": "0.4.23",
3
+ "version": "0.4.26",
4
4
  "license": "AFL-2.0",
5
5
  "exports": {
6
6
  ".": "./src/index.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM,CAAC,CAAC;;IASnB,cAKC;IAEK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAE5B;IAED,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEtB;IACD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE5B;CACF"}
1
+ {"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM,CAAC,CAAC;;IAUnB,cAKC;IAED,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtB;IAED,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEtB;IACD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE5B;CACF"}
package/esm/future.js CHANGED
@@ -12,7 +12,7 @@ export class Future {
12
12
  this.#rejectFn = reject;
13
13
  });
14
14
  }
15
- async asPromise() {
15
+ asPromise() {
16
16
  return this.#promise;
17
17
  }
18
18
  resolve(value) {
package/esm/future.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"future.js","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACR,QAAQ,CAAa;IAC9B,UAAU,GAAuB,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IACF,SAAS,GAA8B,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IAEF,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAAA,CACzB,CAAC,CAAC;IAAA,CACJ;IAED,KAAK,CAAC,SAAS,GAAe;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC;IAAA,CACtB;IAED,OAAO,CAAC,KAAQ,EAAQ;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAAA,CACxB;IACD,MAAM,CAAC,MAAe,EAAQ;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CACxB;CACF"}
1
+ {"version":3,"file":"future.js","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IAER,QAAQ,CAAa;IAC9B,UAAU,GAAuB,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IACF,SAAS,GAA8B,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IAEF,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAAA,CACzB,CAAC,CAAC;IAAA,CACJ;IAED,SAAS,GAAe;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IAAA,CACtB;IAED,OAAO,CAAC,KAAQ,EAAQ;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAAA,CACxB;IACD,MAAM,CAAC,MAAe,EAAQ;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CACxB;CACF"}
@@ -1,5 +1,7 @@
1
1
  export type UnPromisify<T> = T extends Promise<infer U> ? U : T;
2
2
  export type WithoutPromise<T> = UnPromisify<T>;
3
+ export type IsNotPromise<T> = T extends Promise<never> ? never : T;
3
4
  export type Promisable<T> = T | Promise<T>;
4
5
  export declare function isPromise<T>(a: T): a is T extends Promise<unknown> ? T : never;
6
+ export declare function isNotPromise<T>(a: T): T;
5
7
  //# sourceMappingURL=is-promise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise.d.ts","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAY9E"}
1
+ {"version":3,"file":"is-promise.d.ts","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAEnE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAY9E;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAEvC"}
package/esm/is-promise.js CHANGED
@@ -7,4 +7,7 @@ export function isPromise(a) {
7
7
  typeof mayBe.catch === "function" &&
8
8
  typeof mayBe.finally === "function"));
9
9
  }
10
+ export function isNotPromise(a) {
11
+ return !isPromise(a);
12
+ }
10
13
  //# sourceMappingURL=is-promise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,SAAS,CAAI,CAAI,EAA+C;IAC9E,MAAM,KAAK,GAAG,CAA4E,CAAC;IAC3F,OAAO,CACL,KAAK,YAAY,OAAO;QACxB,CAAC,CAAC,CACA,KAAK;YACL,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YACjC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACpC,CACF,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,SAAS,CAAI,CAAI,EAA+C;IAC9E,MAAM,KAAK,GAAG,CAA4E,CAAC;IAC3F,OAAO,CACL,KAAK,YAAY,OAAO;QACxB,CAAC,CAAC,CACA,KAAK;YACL,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YACjC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACpC,CACF,CAAC;AAAA,CACH;AAED,MAAM,UAAU,YAAY,CAAI,CAAI,EAAK;IACvC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAM,CAAC;AAAA,CAC3B"}
@@ -1,5 +1,4 @@
1
- import { TimeFactory, IsLogger, Level, LevelHandlerImpl, LogCollector, LoggerImpl, logValue, Result, runtimeFn, TimeMode, BuildURI, URI, MutableURL, JSONFormatter, YAMLFormatter, BasicSysAbstractionFactory, } from "@adviser/cement";
2
- import { stripper } from "./utils/stripper.js";
1
+ import { TimeFactory, IsLogger, Level, LevelHandlerImpl, LogCollector, LoggerImpl, logValue, Result, runtimeFn, TimeMode, BuildURI, URI, MutableURL, JSONFormatter, YAMLFormatter, BasicSysAbstractionFactory, utils, } from "@adviser/cement";
3
2
  describe("TestLogger", () => {
4
3
  let logCollector;
5
4
  let logger;
@@ -747,6 +746,25 @@ describe("TestLogger", () => {
747
746
  logger.Info().Msg("Running in Browser");
748
747
  }
749
748
  });
749
+ it("browser format to console.log(msg, obj)", async () => {
750
+ if (runtimeFn().isBrowser) {
751
+ const logParams = {
752
+ log: vi.fn(),
753
+ error: vi.fn(),
754
+ warn: vi.fn(),
755
+ };
756
+ const logger = new LoggerImpl({
757
+ out: new utils.ConsoleWriterStream(logParams),
758
+ }).SetDebug("*");
759
+ logger.Debug().Msg("msg debug");
760
+ logger.Error().Msg("msg error");
761
+ logger.Warn().Msg("msg warn");
762
+ await logger.Flush();
763
+ expect(logParams.log).toBeCalledWith("msg debug", { level: "debug" });
764
+ expect(logParams.error).toBeCalledWith("msg error", { level: "error" });
765
+ expect(logParams.warn).toBeCalledWith("msg warn", { level: "warn" });
766
+ }
767
+ });
750
768
  it("self-ref", async () => {
751
769
  const nested = {
752
770
  m: 2,
@@ -1124,7 +1142,7 @@ describe("TestLogger", () => {
1124
1142
  });
1125
1143
  async function fixupLogs() {
1126
1144
  await logger.Flush();
1127
- return stripper([
1145
+ return utils.stripper([
1128
1146
  "isReloadNavigation",
1129
1147
  "reason",
1130
1148
  "targetAddressSpace",