@adviser/cement 0.5.1 → 0.5.3

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 (115) hide show
  1. package/cjs/keyed-ng.test.cjs +6 -5
  2. package/cjs/keyed-ng.test.cjs.map +1 -1
  3. package/cjs/on-func.cjs +15 -1
  4. package/cjs/on-func.cjs.map +1 -1
  5. package/cjs/on-func.d.ts +1 -0
  6. package/cjs/on-func.d.ts.map +1 -1
  7. package/cjs/on-func.test.cjs +34 -0
  8. package/cjs/on-func.test.cjs.map +1 -1
  9. package/cjs/resolve-once.cjs +60 -32
  10. package/cjs/resolve-once.cjs.map +1 -1
  11. package/cjs/resolve-once.d.ts +30 -19
  12. package/cjs/resolve-once.d.ts.map +1 -1
  13. package/cjs/resolve-once.test.cjs +105 -27
  14. package/cjs/resolve-once.test.cjs.map +1 -1
  15. package/cjs/result.cjs +6 -0
  16. package/cjs/result.cjs.map +1 -1
  17. package/cjs/result.d.ts +2 -0
  18. package/cjs/result.d.ts.map +1 -1
  19. package/cjs/timeouted.cjs +13 -18
  20. package/cjs/timeouted.cjs.map +1 -1
  21. package/cjs/timeouted.d.ts +23 -27
  22. package/cjs/timeouted.d.ts.map +1 -1
  23. package/cjs/timeouted.test.cjs +31 -1
  24. package/cjs/timeouted.test.cjs.map +1 -1
  25. package/cjs/utils/to-sorted.d.ts +1 -1
  26. package/cjs/utils/to-sorted.d.ts.map +1 -1
  27. package/cjs/version.cjs +1 -1
  28. package/deno.json +1 -1
  29. package/esm/keyed-ng.test.js +6 -5
  30. package/esm/keyed-ng.test.js.map +1 -1
  31. package/esm/on-func.d.ts +1 -0
  32. package/esm/on-func.d.ts.map +1 -1
  33. package/esm/on-func.js +15 -1
  34. package/esm/on-func.js.map +1 -1
  35. package/esm/on-func.test.js +34 -0
  36. package/esm/on-func.test.js.map +1 -1
  37. package/esm/resolve-once.d.ts +30 -19
  38. package/esm/resolve-once.d.ts.map +1 -1
  39. package/esm/resolve-once.js +60 -32
  40. package/esm/resolve-once.js.map +1 -1
  41. package/esm/resolve-once.test.js +73 -28
  42. package/esm/resolve-once.test.js.map +1 -1
  43. package/esm/result.d.ts +2 -0
  44. package/esm/result.d.ts.map +1 -1
  45. package/esm/result.js +6 -0
  46. package/esm/result.js.map +1 -1
  47. package/esm/timeouted.d.ts +23 -27
  48. package/esm/timeouted.d.ts.map +1 -1
  49. package/esm/timeouted.js +13 -18
  50. package/esm/timeouted.js.map +1 -1
  51. package/esm/timeouted.test.js +32 -2
  52. package/esm/timeouted.test.js.map +1 -1
  53. package/esm/utils/to-sorted.d.ts +1 -1
  54. package/esm/utils/to-sorted.d.ts.map +1 -1
  55. package/esm/version.js +1 -1
  56. package/package.json +2 -2
  57. package/src/on-func.ts +39 -1
  58. package/src/resolve-once.ts +192 -106
  59. package/src/result.ts +7 -0
  60. package/src/timeouted.ts +39 -65
  61. package/src/utils/to-sorted.ts +1 -1
  62. package/ts/cjs/keyed-ng.test.js +6 -5
  63. package/ts/cjs/keyed-ng.test.js.map +1 -1
  64. package/ts/cjs/on-func.d.ts +1 -0
  65. package/ts/cjs/on-func.d.ts.map +1 -1
  66. package/ts/cjs/on-func.js +15 -1
  67. package/ts/cjs/on-func.js.map +1 -1
  68. package/ts/cjs/on-func.test.js +34 -0
  69. package/ts/cjs/on-func.test.js.map +1 -1
  70. package/ts/cjs/resolve-once.d.ts +30 -19
  71. package/ts/cjs/resolve-once.d.ts.map +1 -1
  72. package/ts/cjs/resolve-once.js +60 -32
  73. package/ts/cjs/resolve-once.js.map +1 -1
  74. package/ts/cjs/resolve-once.test.js +105 -27
  75. package/ts/cjs/resolve-once.test.js.map +1 -1
  76. package/ts/cjs/result.d.ts +2 -0
  77. package/ts/cjs/result.d.ts.map +1 -1
  78. package/ts/cjs/result.js +6 -0
  79. package/ts/cjs/result.js.map +1 -1
  80. package/ts/cjs/timeouted.d.ts +23 -27
  81. package/ts/cjs/timeouted.d.ts.map +1 -1
  82. package/ts/cjs/timeouted.js +13 -18
  83. package/ts/cjs/timeouted.js.map +1 -1
  84. package/ts/cjs/timeouted.test.js +31 -1
  85. package/ts/cjs/timeouted.test.js.map +1 -1
  86. package/ts/cjs/utils/to-sorted.d.ts +1 -1
  87. package/ts/cjs/utils/to-sorted.d.ts.map +1 -1
  88. package/ts/cjs/version.js +1 -1
  89. package/ts/esm/keyed-ng.test.js +6 -5
  90. package/ts/esm/keyed-ng.test.js.map +1 -1
  91. package/ts/esm/on-func.d.ts +1 -0
  92. package/ts/esm/on-func.d.ts.map +1 -1
  93. package/ts/esm/on-func.js +15 -1
  94. package/ts/esm/on-func.js.map +1 -1
  95. package/ts/esm/on-func.test.js +34 -0
  96. package/ts/esm/on-func.test.js.map +1 -1
  97. package/ts/esm/resolve-once.d.ts +30 -19
  98. package/ts/esm/resolve-once.d.ts.map +1 -1
  99. package/ts/esm/resolve-once.js +60 -32
  100. package/ts/esm/resolve-once.js.map +1 -1
  101. package/ts/esm/resolve-once.test.js +73 -28
  102. package/ts/esm/resolve-once.test.js.map +1 -1
  103. package/ts/esm/result.d.ts +2 -0
  104. package/ts/esm/result.d.ts.map +1 -1
  105. package/ts/esm/result.js +6 -0
  106. package/ts/esm/result.js.map +1 -1
  107. package/ts/esm/timeouted.d.ts +23 -27
  108. package/ts/esm/timeouted.d.ts.map +1 -1
  109. package/ts/esm/timeouted.js +13 -18
  110. package/ts/esm/timeouted.js.map +1 -1
  111. package/ts/esm/timeouted.test.js +32 -2
  112. package/ts/esm/timeouted.test.js.map +1 -1
  113. package/ts/esm/utils/to-sorted.d.ts +1 -1
  114. package/ts/esm/utils/to-sorted.d.ts.map +1 -1
  115. package/ts/esm/version.js +1 -1
@@ -1,5 +1,4 @@
1
1
  import { Future } from "./future.js";
2
- import { UnPromisify } from "./is-promise.js";
3
2
  import { UnregFn } from "./lru-map-set.js";
4
3
  import { Result } from "./result.js";
5
4
  import { Option } from "./option.js";
@@ -20,36 +19,48 @@ export declare class ResolveSeq<T, CTX extends NonNullable<object> = object> {
20
19
  add<R extends Promise<T> | T>(fn: (c: CTX) => R, id?: number): R;
21
20
  }
22
21
  type ResolveState = "initial" | "processed" | "waiting" | "processing";
23
- export type ResultOnce<R> = R extends Promise<infer T> ? Promise<T> : R;
24
- export interface ResolveOnceIf<R, CTX = void> {
22
+ export type ResultOnce<R> = R extends Promise<unknown> ? Promise<Awaited<R>> : R;
23
+ export interface OnceActionArg<R, CTX> {
24
+ readonly ctx: CTX;
25
+ readonly self: ResolveOnceIf<R, CTX>;
26
+ }
27
+ export interface ResolveOnceIf<R, CTX> {
25
28
  get ready(): boolean;
26
- get value(): UnPromisify<R> | undefined;
29
+ get value(): R | undefined;
27
30
  get error(): Error | undefined;
28
31
  get state(): ResolveState;
29
- once<R>(fn: (c?: CTX) => R): ResultOnce<R>;
30
- reset<R>(fn?: (c?: CTX) => R): ResultOnce<R>;
32
+ setResetAfter(ms?: number): void;
33
+ once<RET extends R | Promise<R>>(fn: (arg: OnceActionArg<R, CTX>) => RET): ResultOnce<RET>;
34
+ reset<RET extends R | Promise<R>>(fn?: (arg: OnceActionArg<R, CTX>) => RET): ResultOnce<RET>;
35
+ setProcessed(state: StateInstance): void;
36
+ }
37
+ export interface SyncOrAsyncIf<T> {
38
+ get value(): T | undefined;
39
+ get error(): Error | undefined;
40
+ get queueLength(): number;
41
+ resolve<RET extends T | Promise<T>>(fn: () => RET): ResultOnce<RET>;
31
42
  }
32
- export declare class SyncResolveOnce<T, CTX = void> {
43
+ export type SyncOrAsync<T> = Option<SyncOrAsyncIf<T>>;
44
+ export declare class SyncResolveOnce<T, CTX> implements SyncOrAsyncIf<T> {
33
45
  #private;
34
46
  readonly queueLength: number;
35
47
  constructor(rOnce: ResolveOnce<T, CTX>, state: StateInstance);
36
48
  get value(): T | undefined;
37
49
  get error(): Error | undefined;
38
50
  get ready(): boolean;
39
- resolve(fn: (ctx?: CTX) => T): T;
40
- reset(fn?: (c?: CTX) => T): T | undefined;
51
+ resolve<RET extends T | Promise<T>>(fn: () => RET): ResultOnce<RET>;
41
52
  }
42
- export declare class AsyncResolveOnce<T, CTX = void> {
53
+ export declare class AsyncResolveOnce<T, CTX> implements SyncOrAsyncIf<T> {
43
54
  #private;
44
- constructor(rOnce: ResolveOnce<T, CTX>, state: StateInstance, prev: SyncOrAsync<T, CTX>);
55
+ constructor(rOnce: ResolveOnceIf<T, CTX>, state: StateInstance, prev: SyncOrAsync<T>);
45
56
  get queueLength(): number;
46
- get value(): UnPromisify<T> | undefined;
57
+ get value(): T | undefined;
47
58
  get error(): Error | undefined;
48
- resolve(fn: (ctx?: CTX) => T): T;
49
- reset(fn?: (c?: CTX) => T): T;
59
+ resolve<RET extends T | Promise<T>>(fn: () => RET): ResultOnce<RET>;
50
60
  }
51
61
  export interface ResolveOnceOpts {
52
62
  readonly resetAfter?: number;
63
+ readonly skipUnref?: boolean;
53
64
  }
54
65
  declare class StateInstance {
55
66
  #private;
@@ -64,20 +75,20 @@ declare class StateInstance {
64
75
  setWaiting(): void;
65
76
  equals(other: StateInstance): boolean;
66
77
  }
67
- type SyncOrAsync<T, CTX> = Option<SyncResolveOnce<T, CTX> | AsyncResolveOnce<T, CTX>>;
68
78
  export declare class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
69
79
  #private;
70
80
  resetAfterTimer?: ReturnType<typeof setTimeout>;
71
- readonly _ctx?: CTX;
81
+ readonly _onceArg: OnceActionArg<T, CTX>;
72
82
  constructor(ctx?: CTX, opts?: ResolveOnceOpts);
73
83
  get state(): ResolveState;
74
84
  setProcessed(state: StateInstance): void;
75
85
  get ready(): boolean;
76
- get value(): UnPromisify<T> | undefined;
86
+ get value(): T | undefined;
77
87
  get queueLength(): number;
78
88
  get error(): Error | undefined;
79
- once<R>(fn: (c: CTX, prev?: T) => R): ResultOnce<R>;
80
- reset<R>(fn?: (c: CTX) => R): ResultOnce<R>;
89
+ once<RET extends T | Promise<T>>(fn: (arg: OnceActionArg<T, CTX>) => RET): ResultOnce<RET>;
90
+ reset<RET extends T | Promise<T>>(fn?: (arg: OnceActionArg<T, CTX>) => RET): ResultOnce<RET>;
91
+ setResetAfter(ms?: number): void;
81
92
  }
82
93
  export interface KeyItem<K, V> {
83
94
  readonly key: K;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQvG,UAAU,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAyBD,qBAAa,UAAU,CAAC,CAAC,EAAE,GAAG,SAAS,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAM;IAE7D,YAAY,GAAG,CAAC,EAAE,GAAG,EAEpB;IAKD,KAAK,IAAI,IAAI,CAEZ;IAED,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAM;IAO5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOrB;IAMK,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBxE;IAYD,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAO/D;CACF;AASD,KAAK,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAmBvE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEjF,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,GAAG;IACnC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;CACtC;AAQD,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,GAAG;IACnC,IAAI,KAAK,IAAI,OAAO,CAAC;IACrB,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3B,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC;IAC/B,IAAI,KAAK,IAAI,YAAY,CAAC;IAE1B,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3F,KAAK,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAE7F,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3B,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC;IAC/B,IAAI,WAAW,IAAI,MAAM,CAAC;IAE1B,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;CACrE;AACD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAYtD,qBAAa,eAAe,CAAC,CAAC,EAAE,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;IAI9D,QAAQ,CAAC,WAAW,SAAK;IAKzB,YAAY,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa,EAG3D;IAKD,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAEzB;IAKD,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAE7B;IAKD,IAAI,KAAK,IAAI,OAAO,CAEnB;IAUD,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAkBlE;CAiBF;AAqHD,qBAAa,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;IAQ/D,YAAY,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAQnF;IAaD,IAAI,WAAW,IAAI,MAAM,CAExB;IAKD,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAKzB;IAKD,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAK7B;IASD,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAyBlE;CAeF;AA2BD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,cAAM,aAAa;;IACjB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAiB;IAMpC,eAAe,IAAI,YAAY,CAE9B;IAED,SAAS,IAAI,OAAO,CAEnB;IAED,WAAW,IAAI,OAAO,CAErB;IACD,YAAY,IAAI,IAAI,CAEnB;IAED,YAAY,IAAI,OAAO,CAEtB;IACD,aAAa,IAAI,IAAI,CAEpB;IAED,SAAS,IAAI,OAAO,CAEnB;IAED,UAAU,IAAI,IAAI,CAEjB;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAEpC;CACF;AAID,qBAAa,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC;;IAMtE,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAEhD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEzC,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,eAAe,EAM5C;IAED,IAAI,KAAK,IAAI,YAAY,CAExB;IASD,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAqDvC;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAKzB;IAED,IAAI,WAAW,IAAI,MAAM,CAKxB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAK7B;IAsBD,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CA8BzF;IAED,KAAK,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAmB3F;IAED,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAS/B;CACF;AAgBD,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAC3B;AAQD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;AAOlH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;CAAE,CAAC;AAMhF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAQvE,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,WAAW,CAAC,MAAM,CAAC;IAEzE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAEhB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;CACxG;AA+CD,qBAAa,eAAe,CAC1B,CAAC,SAAS,iBAAiB,CAAC,EAAE,CAAC,EAC/B,CAAC,GAAG,MAAM,EACV,GAAG,SAAS,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EACxC,EAAE,GAAG,CAAC,CACN,YAAW,IAAI,CAEf,OAAO,CACL,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EACpE,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAC/C,CAAC,EACD,GAAG,CACJ,EACD,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CACrE;IAEC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAOrG,YAAY,EAAE,GAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAM,EAmBrD;IAOD,IAAI,IAAI,CAAC,EAAE,CAEV;IAsBD,MAAM,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAS1C;IAQD,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAI3F;IAQD,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAI9F;IAOD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAE1E;IAQD,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAExF;IAmBD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAKlF;IAWD,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAE/F;IAQD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAE/B;IASD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAEnB;IAUD,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAIlB;IAQD,KAAK,IAAI,IAAI,CAIZ;IAsBD,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAa1D;IAgBA,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAclC;CACF;AAqBD,qBAAa,cAAc,CACzB,SAAS,SAAS,WAAW,CAAC,OAAO,CAAC,EACtC,OAAO,GAAG,MAAM,EAChB,GAAG,SAAS,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CACxC,SAAQ,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;IAM3F,YAAY,EAAE,GAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAM,EAczF;CACF;AA0CD,wBAAgB,IAAI,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM,EAC1D,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,EAC7B,IAAI,CAAC,EAAE,eAAe,GACrB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAG3B"}
@@ -3,6 +3,7 @@ import { isPromise } from "./is-promise.js";
3
3
  import { Result } from "./result.js";
4
4
  import { Option } from "./option.js";
5
5
  import { KeyedNg } from "./keyed-ng.js";
6
+ import { runtimeFn } from "./runtime.js";
6
7
  export class ResolveSeq {
7
8
  ctx;
8
9
  _seqFutures = [];
@@ -76,7 +77,7 @@ export class SyncResolveOnce {
76
77
  resolve(fn) {
77
78
  if (this.#state.isProcessing()) {
78
79
  try {
79
- this.#value = fn(this.#rOnce._ctx);
80
+ this.#value = fn();
80
81
  }
81
82
  catch (e) {
82
83
  this.#error = e;
@@ -94,15 +95,6 @@ export class SyncResolveOnce {
94
95
  }
95
96
  return this.#value;
96
97
  }
97
- reset(fn) {
98
- this.#value = undefined;
99
- this.#error = undefined;
100
- if (fn) {
101
- this.#state.setProcessing();
102
- return this.resolve(fn);
103
- }
104
- return undefined;
105
- }
106
98
  }
107
99
  class AsyncResolveItem {
108
100
  id = Math.random();
@@ -150,7 +142,7 @@ class AsyncResolveItem {
150
142
  }
151
143
  throw new Error(`AsyncResolveItem.#promiseResult impossible: ${this.#state.getResolveState()}`);
152
144
  }
153
- resolve() {
145
+ resolve(_fn) {
154
146
  if (this.#state.isWaiting()) {
155
147
  const future = new Future();
156
148
  this.#queue.push(future);
@@ -220,7 +212,7 @@ export class AsyncResolveOnce {
220
212
  this.#state.setWaiting();
221
213
  let promiseResult;
222
214
  try {
223
- const couldBePromise = fn(this.#rOnce._ctx);
215
+ const couldBePromise = fn();
224
216
  if (!isPromise(couldBePromise)) {
225
217
  promiseResult = Promise.resolve(couldBePromise);
226
218
  }
@@ -239,14 +231,7 @@ export class AsyncResolveOnce {
239
231
  .filter((i) => i !== undefined)
240
232
  .reverse()
241
233
  .forEach((idx) => this.#queue.splice(idx, 1));
242
- return this.#active().resolve();
243
- }
244
- reset(fn) {
245
- this.#state.setProcessing();
246
- if (fn) {
247
- return this.resolve(fn);
248
- }
249
- return undefined;
234
+ return this.#active().resolve(fn);
250
235
  }
251
236
  }
252
237
  class StateInstance {
@@ -285,10 +270,13 @@ export class ResolveOnce {
285
270
  #syncOrAsync = Option.None();
286
271
  #opts;
287
272
  resetAfterTimer;
288
- _ctx;
273
+ _onceArg;
289
274
  constructor(ctx, opts) {
290
- this._ctx = ctx;
291
- this.#opts = opts ?? {};
275
+ this.#opts = { ...(opts ?? {}) };
276
+ this._onceArg = {
277
+ ctx: ctx,
278
+ self: this,
279
+ };
292
280
  }
293
281
  get state() {
294
282
  return this.#state.getResolveState();
@@ -301,8 +289,41 @@ export class ResolveOnce {
301
289
  this.#state.setProcessed();
302
290
  if (typeof this.#opts.resetAfter === "number" && this.#opts.resetAfter > 0) {
303
291
  this.resetAfterTimer = setTimeout(() => {
304
- this.reset();
292
+ void this.reset();
305
293
  }, this.#opts.resetAfter);
294
+ if (!this.#opts.skipUnref && this.resetAfterTimer) {
295
+ const runtime = runtimeFn();
296
+ switch (true) {
297
+ case runtime.isDeno:
298
+ {
299
+ let id = this.resetAfterTimer;
300
+ if (typeof Deno.unrefTimer === "function") {
301
+ if (typeof this.resetAfterTimer === "number") {
302
+ id = this.resetAfterTimer;
303
+ }
304
+ else {
305
+ try {
306
+ const ret = Reflect.ownKeys(this.resetAfterTimer).find((key) => {
307
+ return key.toString().includes("timerId");
308
+ });
309
+ if (ret) {
310
+ id = this.resetAfterTimer[ret];
311
+ console.warn("Deno.unrefTimer timerId from struct:", id, "version:", globalThis.Deno?.version);
312
+ }
313
+ }
314
+ catch (e) {
315
+ console.warn("Deno.unrefTimer failed to get timerId", e, "id:", this.resetAfterTimer, "version:", globalThis.Deno?.version);
316
+ }
317
+ }
318
+ Deno.unrefTimer(id);
319
+ }
320
+ }
321
+ break;
322
+ case runtime.isNodeIsh:
323
+ this.resetAfterTimer.unref();
324
+ break;
325
+ }
326
+ }
306
327
  }
307
328
  }
308
329
  }
@@ -333,11 +354,7 @@ export class ResolveOnce {
333
354
  const state = this.#state;
334
355
  try {
335
356
  state.setProcessing();
336
- let prev = undefined;
337
- if (this.#syncOrAsync.IsSome()) {
338
- prev = this.#syncOrAsync.Unwrap().value;
339
- }
340
- const isSyncOrAsync = fn(this._ctx ?? {}, prev);
357
+ const isSyncOrAsync = fn(this._onceArg);
341
358
  if (isPromise(isSyncOrAsync)) {
342
359
  this.#syncOrAsync = Option.Some(new AsyncResolveOnce(this, state, this.#syncOrAsync));
343
360
  }
@@ -354,7 +371,7 @@ export class ResolveOnce {
354
371
  }
355
372
  }
356
373
  else {
357
- resultFn = fn;
374
+ resultFn = () => fn(this._onceArg);
358
375
  }
359
376
  if (!this.#syncOrAsync) {
360
377
  throw new Error(`ResolveOnce.once impossible: state=${this.#state.getResolveState()}`);
@@ -380,6 +397,17 @@ export class ResolveOnce {
380
397
  }
381
398
  return ret;
382
399
  }
400
+ setResetAfter(ms) {
401
+ if (this.resetAfterTimer) {
402
+ clearTimeout(this.resetAfterTimer);
403
+ }
404
+ if (typeof ms === "number" && ms > 0) {
405
+ this.#opts.resetAfter = ms;
406
+ }
407
+ else {
408
+ this.#opts.resetAfter = undefined;
409
+ }
410
+ }
383
411
  }
384
412
  export class KeyedResolvOnce {
385
413
  _keyed;
@@ -444,12 +472,12 @@ export class KeyedResolvOnce {
444
472
  }
445
473
  unget(key) {
446
474
  const item = this._keyed.getItem(key);
447
- item.value.reset?.();
475
+ void item.value.reset?.();
448
476
  return this._keyed.delete(item.givenKey);
449
477
  }
450
478
  reset() {
451
479
  for (const v of this._keyed.values()) {
452
- v.value.reset?.();
480
+ void v.value.reset?.();
453
481
  }
454
482
  }
455
483
  forEach(fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Result, KeyedResolvOnce, ResolveOnce, ResolveSeq, Lazy, Future, KeyedResolvSeq } from "@adviser/cement";
1
+ import { Result, KeyedResolvOnce, ResolveOnce, ResolveSeq, Lazy, Future, KeyedResolvSeq, runtimeFn, } from "@adviser/cement";
2
2
  import { isPromise } from "./is-promise.js";
3
3
  import { sleep } from "./promise-sleep.js";
4
4
  describe("resolve-once", () => {
@@ -203,23 +203,23 @@ describe("resolve-once", () => {
203
203
  keyed.get(() => "b").once(b_orderFn),
204
204
  ]);
205
205
  expect(a_orderFn).toHaveBeenCalledTimes(1);
206
- expect(a_orderFn).toHaveBeenCalledWith({
206
+ expect(a_orderFn.mock.calls[0][0].ctx).toEqual({
207
207
  refKey: "a",
208
208
  givenKey: "a",
209
209
  value: undefined,
210
210
  ctx: {},
211
- }, undefined);
211
+ });
212
212
  expect(b_orderFn).toHaveBeenCalledTimes(1);
213
- expect(b_orderFn).toHaveBeenCalledWith({
213
+ expect(b_orderFn.mock.calls[0][0].ctx).toEqual({
214
214
  refKey: "b",
215
215
  givenKey: "b",
216
216
  value: undefined,
217
217
  ctx: {},
218
- }, undefined);
218
+ });
219
219
  });
220
220
  it("keyedResolvOnce with pass ctx & {key: K}", () => {
221
221
  const my = new KeyedResolvOnce({ ctx: { wurst: "world" } });
222
- my.get(1).once((item) => {
222
+ my.get(1).once(({ ctx: item }) => {
223
223
  assertType(item);
224
224
  assertType(item);
225
225
  assertType(item.givenKey);
@@ -246,20 +246,21 @@ describe("resolve-once", () => {
246
246
  my.once(() => {
247
247
  return { hello: "world" };
248
248
  });
249
- my.once((x) => {
250
- return { hello: x.wurst };
249
+ my.once(({ ctx }) => {
250
+ return { hello: ctx.wurst };
251
251
  });
252
252
  });
253
253
  it("keyedResolvOnce with pass decompose", () => {
254
254
  const my = new KeyedResolvOnce();
255
- my.get("1").once(({ refKey }) => {
255
+ my.get("1").once(({ ctx }) => {
256
+ const { refKey } = ctx;
256
257
  assertType(refKey);
257
258
  return { hello: "world" };
258
259
  });
259
260
  my.get("2").once(() => {
260
261
  return { hello: "world" };
261
262
  });
262
- my.get("3").once((ctx) => {
263
+ my.get("3").once(({ ctx }) => {
263
264
  assertType(ctx);
264
265
  return { hello: "world" };
265
266
  });
@@ -290,19 +291,19 @@ describe("resolve-once", () => {
290
291
  .then((resolveOnce) => resolveOnce.once(b_orderFn)),
291
292
  ]);
292
293
  expect(a_orderFn).toHaveBeenCalledTimes(1);
293
- expect(a_orderFn).toHaveBeenCalledWith({
294
+ expect(a_orderFn.mock.calls[0][0].ctx).toEqual({
294
295
  ctx: {},
295
296
  givenKey: "a",
296
297
  refKey: "a",
297
298
  value: undefined,
298
- }, undefined);
299
+ });
299
300
  expect(b_orderFn).toHaveBeenCalledTimes(1);
300
- expect(b_orderFn).toHaveBeenCalledWith({
301
+ expect(b_orderFn.mock.calls[0][0].ctx).toEqual({
301
302
  ctx: {},
302
303
  givenKey: "b",
303
304
  refKey: "b",
304
305
  value: undefined,
305
- }, undefined);
306
+ });
306
307
  });
307
308
  function shuffle(array) {
308
309
  let currentIndex = array.length;
@@ -818,10 +819,12 @@ describe("KeyToHash", () => {
818
819
  key2string: (key) => `${key.id}:${key.name}`,
819
820
  ctx: { ctx: "test" },
820
821
  });
821
- const onceFn = vi.fn().mockImplementation((item) => {
822
+ const onceFn = vi
823
+ .fn()
824
+ .mockImplementation(({ ctx }) => {
822
825
  return {
823
- id: item.givenKey.id,
824
- name: item.givenKey.name,
826
+ id: ctx.givenKey.id,
827
+ name: ctx.givenKey.name,
825
828
  };
826
829
  });
827
830
  for (let i = 0; i < 3; i++) {
@@ -831,7 +834,7 @@ describe("KeyToHash", () => {
831
834
  expect(res).toEqual({ id: 1, name: "test" });
832
835
  }
833
836
  expect(onceFn).toHaveBeenCalledTimes(1);
834
- expect(onceFn).toHaveBeenCalledWith({
837
+ expect(onceFn.mock.calls[0][0].ctx).toEqual({
835
838
  refKey: "1:test",
836
839
  givenKey: { id: 1, name: "test" },
837
840
  value: undefined,
@@ -845,32 +848,74 @@ it("ResolveOnce gets is prev value if reset", () => {
845
848
  value: 42,
846
849
  stats: 1,
847
850
  }));
848
- once.reset();
849
- const res1 = once.once((_, prev) => {
850
- if (!prev) {
851
+ void once.reset();
852
+ const res1 = once.once((my) => {
853
+ if (!my.self.value) {
851
854
  throw new Error("prev is undefined");
852
855
  }
853
856
  return {
854
857
  value: 45,
855
- stats: prev.stats + 1,
858
+ stats: my.self.value.stats + 1,
856
859
  };
857
860
  });
858
861
  expect(res1).toEqual({
859
862
  value: 45,
860
863
  stats: 2,
861
864
  });
862
- once.reset();
863
- const res2 = once.once((_, prev) => {
864
- if (!prev) {
865
+ void once.reset();
866
+ const res2 = once.once((my) => {
867
+ if (!my.self.value) {
865
868
  throw new Error("prev is undefined");
866
869
  }
867
- prev.stats++;
868
- prev.value += 3;
869
- return prev;
870
+ my.self.value.stats++;
871
+ my.self.value.value += 3;
872
+ return my.self.value;
870
873
  });
871
874
  expect(res2).toEqual({
872
875
  value: 48,
873
876
  stats: 3,
874
877
  });
875
878
  });
879
+ it("dynamic setting of resetAfter switch off", async () => {
880
+ const once = new ResolveOnce(undefined, { resetAfter: 30 });
881
+ once.once((my) => {
882
+ my.self.setResetAfter();
883
+ return 42;
884
+ });
885
+ await sleep(40);
886
+ expect(once.once(() => 43)).toBe(42);
887
+ });
888
+ it("dynamic setting of resetAfter change time", async () => {
889
+ const once = new ResolveOnce(undefined, { resetAfter: 30 });
890
+ once.once((my) => {
891
+ my.self.setResetAfter(10);
892
+ return 42;
893
+ });
894
+ await sleep(15);
895
+ expect(once.once(() => 43)).toBe(43);
896
+ await sleep(15);
897
+ expect(once.once(() => 44)).toBe(44);
898
+ });
899
+ it("does not block node on process exit", async () => {
900
+ let runtime = undefined;
901
+ if (runtimeFn().isNodeIsh) {
902
+ runtime = ["tsx", "-e"];
903
+ }
904
+ if (runtimeFn().isDeno) {
905
+ runtime = ["deno", "eval"];
906
+ }
907
+ if (runtime) {
908
+ const { $ } = await import("zx");
909
+ const start = Date.now();
910
+ const code = [
911
+ "import { ResolveOnce } from './src/resolve-once.ts';",
912
+ `(new ResolveOnce(undefined, { resetAfter: 100000 }).once(() => Promise.resolve("done")))`,
913
+ `.finally(() => console.log("done"));`,
914
+ ].join("");
915
+ const res = await $ `${runtime} ${[code]}`;
916
+ expect(res.ok).toBe(true);
917
+ const duration = Date.now() - start;
918
+ expect(duration).toBeLessThan(1000);
919
+ }
920
+ });
876
921
  //# sourceMappingURL=resolve-once.test.js.map