@adviser/cement 0.5.2 → 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 +58 -39
  10. package/cjs/resolve-once.cjs.map +1 -1
  11. package/cjs/resolve-once.d.ts +29 -19
  12. package/cjs/resolve-once.d.ts.map +1 -1
  13. package/cjs/resolve-once.test.cjs +50 -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 +30 -0
  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 +29 -19
  38. package/esm/resolve-once.d.ts.map +1 -1
  39. package/esm/resolve-once.js +58 -39
  40. package/esm/resolve-once.js.map +1 -1
  41. package/esm/resolve-once.test.js +50 -27
  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 +31 -1
  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 +189 -113
  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 +29 -19
  71. package/ts/cjs/resolve-once.d.ts.map +1 -1
  72. package/ts/cjs/resolve-once.js +58 -39
  73. package/ts/cjs/resolve-once.js.map +1 -1
  74. package/ts/cjs/resolve-once.test.js +50 -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 +30 -0
  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 +29 -19
  98. package/ts/esm/resolve-once.d.ts.map +1 -1
  99. package/ts/esm/resolve-once.js +58 -39
  100. package/ts/esm/resolve-once.js.map +1 -1
  101. package/ts/esm/resolve-once.test.js +50 -27
  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 +31 -1
  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
package/src/timeouted.ts CHANGED
@@ -2,45 +2,39 @@ import { Future } from "./future.js";
2
2
  import { isPromise } from "./is-promise.js";
3
3
  import { sleep } from "./promise-sleep.js";
4
4
 
5
- export interface IsTimeouted {
6
- isSuccess(): this is TimeoutResultSuccess<unknown>;
7
- isTimeout(): this is TimeoutResultTimeout<unknown>;
8
- isAborted(): this is TimeoutResultAborted<unknown>;
9
- isError(): this is TimeoutResultError<unknown>;
5
+ export interface IsTimeouted<T, CTX> {
6
+ isSuccess(): this is TimeoutResultSuccess<T, CTX>;
7
+ isTimeout(): this is TimeoutResultTimeout<CTX>;
8
+ isAborted(): this is TimeoutResultAborted<CTX>;
9
+ isError(): this is TimeoutResultError<CTX>;
10
10
  }
11
11
 
12
- const IsTimeoutedImpl: IsTimeouted = {
13
- isSuccess(): this is TimeoutResultSuccess<unknown> {
14
- return (this as TimeoutResult<unknown>).state === "success";
15
- },
16
- isTimeout(): this is TimeoutResultTimeout<unknown> {
17
- return (this as TimeoutResult<unknown>).state === "timeout";
18
- },
19
- isAborted(): this is TimeoutResultAborted<unknown> {
20
- return (this as TimeoutResult<unknown>).state === "aborted";
21
- },
22
- isError(): this is TimeoutResultError<unknown> {
23
- return (this as TimeoutResult<unknown>).state === "error";
24
- },
25
- };
12
+ function isTimeoutedMixin<T, CTX, R extends PurTimeoutResult<T>>(obj: R): R & IsTimeouted<T, CTX> {
13
+ return Object.assign(obj, {
14
+ isSuccess: () => isSuccess(obj),
15
+ isTimeout: () => isTimeout(obj),
16
+ isAborted: () => isAborted(obj),
17
+ isError: () => isError(obj),
18
+ }) as R & IsTimeouted<T, CTX>;
19
+ }
26
20
 
27
21
  export interface PurTimeoutState {
28
22
  readonly state: "success" | "timeout" | "aborted" | "error";
29
23
  }
30
24
 
31
- export interface PurTimeoutResultSuccess<T> extends IsTimeouted, PurTimeoutState {
25
+ export interface PurTimeoutResultSuccess<T> extends PurTimeoutState {
32
26
  readonly state: "success";
33
27
  readonly value: T;
34
28
  }
35
29
 
36
- export interface PurTimeoutResultTimeout extends IsTimeouted, PurTimeoutState {
30
+ export interface PurTimeoutResultTimeout extends PurTimeoutState {
37
31
  readonly state: "timeout";
38
32
  }
39
- export interface PurTimeoutResultAborted extends IsTimeouted, PurTimeoutState {
33
+ export interface PurTimeoutResultAborted extends PurTimeoutState {
40
34
  readonly state: "aborted";
41
35
  readonly reason: unknown;
42
36
  }
43
- export interface PurTimeoutResultError extends IsTimeouted, PurTimeoutState {
37
+ export interface PurTimeoutResultError extends PurTimeoutState {
44
38
  readonly state: "error";
45
39
  readonly error: Error;
46
40
  }
@@ -52,42 +46,19 @@ export interface TimeoutState<CTX> {
52
46
 
53
47
  type PurTimeoutResult<T> = PurTimeoutResultSuccess<T> | PurTimeoutResultTimeout | PurTimeoutResultAborted | PurTimeoutResultError;
54
48
 
55
- export type TimeoutResultSuccess<T, CTX = unknown> = PurTimeoutResultSuccess<T> & TimeoutState<CTX>;
56
- export type TimeoutResultTimeout<CTX = unknown> = PurTimeoutResultTimeout & TimeoutState<CTX>;
57
- export type TimeoutResultAborted<CTX = unknown> = PurTimeoutResultAborted & TimeoutState<CTX>;
58
- export type TimeoutResultError<CTX = unknown> = PurTimeoutResultError & TimeoutState<CTX>;
49
+ export type TimeoutResultSuccess<T, CTX = unknown> = PurTimeoutResultSuccess<T> & TimeoutState<CTX> & IsTimeouted<T, CTX>;
50
+ export type TimeoutResultTimeout<CTX = unknown> = PurTimeoutResultTimeout & TimeoutState<CTX> & IsTimeouted<unknown, CTX>;
51
+ export type TimeoutResultAborted<CTX = unknown> = PurTimeoutResultAborted & TimeoutState<CTX> & IsTimeouted<unknown, CTX>;
52
+ export type TimeoutResultError<CTX = unknown> = PurTimeoutResultError & TimeoutState<CTX> & IsTimeouted<unknown, CTX>;
59
53
 
60
- export type TimeoutResult<T, CTX = unknown> =
54
+ export type TimeoutResult<T, CTX> =
61
55
  | TimeoutResultSuccess<T, CTX>
62
56
  | TimeoutResultTimeout<CTX>
63
57
  | TimeoutResultAborted<CTX>
64
58
  | TimeoutResultError<CTX>;
65
59
 
66
- export type ObjTimeoutResultSuccess<T, CTX> = Omit<
67
- PurTimeoutResultSuccess<T>,
68
- "isSuccess" | "isTimeout" | "isAborted" | "isError"
69
- > &
70
- Partial<IsTimeouted> &
71
- Partial<TimeoutState<CTX>>;
72
- export type ObjTimeoutResultTimeout<CTX> = Omit<PurTimeoutResultTimeout, "isSuccess" | "isTimeout" | "isAborted" | "isError"> &
73
- Partial<IsTimeouted> &
74
- Partial<TimeoutState<CTX>>;
75
- export type ObjTimeoutResultAborted<CTX> = Omit<PurTimeoutResultAborted, "isSuccess" | "isTimeout" | "isAborted" | "isError"> &
76
- Partial<IsTimeouted> &
77
- Partial<TimeoutState<CTX>>;
78
- export type ObjTimeoutResultError<CTX> = Omit<PurTimeoutResultError, "isSuccess" | "isTimeout" | "isAborted" | "isError"> &
79
- Partial<IsTimeouted> &
80
- Partial<TimeoutState<CTX>>;
81
- type PurTimeoutResultObj<T, CTX = unknown> =
82
- | ObjTimeoutResultSuccess<T, CTX>
83
- | ObjTimeoutResultTimeout<CTX>
84
- | ObjTimeoutResultAborted<CTX>
85
- | ObjTimeoutResultError<CTX>;
86
-
87
- export function createTimeoutResult<T, CTX = unknown, TR extends PurTimeoutResultObj<T, CTX> = PurTimeoutResultObj<T, CTX>>(
88
- t: TR,
89
- ): TimeoutResult<T, CTX> {
90
- return { ...IsTimeoutedImpl, duration: 0, ...t } as TimeoutResult<T, CTX>;
60
+ export function createTimeoutResult<T, CTX>(t: PurTimeoutResult<T> & TimeoutState<CTX>): TimeoutResult<T, CTX> {
61
+ return { ...isTimeoutedMixin(t), ...t } as TimeoutResult<T, CTX>;
91
62
  }
92
63
 
93
64
  export type ActionFunc<T> = (controller: AbortController) => Promise<T>;
@@ -121,7 +92,7 @@ export interface TimeoutActionOptions<CTX> {
121
92
  * @param result - The TimeoutResult to check
122
93
  * @returns True if the result state is "success"
123
94
  */
124
- export function isSuccess<T>(result: TimeoutResult<T>): result is TimeoutResultSuccess<T> {
95
+ export function isSuccess<T>(result: PurTimeoutResult<T>): result is TimeoutResultSuccess<T> {
125
96
  return result.state === "success";
126
97
  }
127
98
 
@@ -132,7 +103,7 @@ export function isSuccess<T>(result: TimeoutResult<T>): result is TimeoutResultS
132
103
  * @param result - The TimeoutResult to check
133
104
  * @returns True if the result state is "timeout"
134
105
  */
135
- export function isTimeout<T>(result: TimeoutResult<T>): result is TimeoutResultTimeout<T> {
106
+ export function isTimeout<T>(result: PurTimeoutResult<T>): result is TimeoutResultTimeout<T> {
136
107
  return result.state === "timeout";
137
108
  }
138
109
 
@@ -143,7 +114,7 @@ export function isTimeout<T>(result: TimeoutResult<T>): result is TimeoutResultT
143
114
  * @param result - The TimeoutResult to check
144
115
  * @returns True if the result state is "aborted"
145
116
  */
146
- export function isAborted<T>(result: TimeoutResult<T>): result is TimeoutResultAborted<T> {
117
+ export function isAborted<T>(result: PurTimeoutResult<T>): result is TimeoutResultAborted<T> {
147
118
  return result.state === "aborted";
148
119
  }
149
120
 
@@ -154,7 +125,7 @@ export function isAborted<T>(result: TimeoutResult<T>): result is TimeoutResultA
154
125
  * @param result - The TimeoutResult to check
155
126
  * @returns True if the result state is "error"
156
127
  */
157
- export function isError<T>(result: TimeoutResult<T>): result is TimeoutResultError<T> {
128
+ export function isError<T>(result: PurTimeoutResult<T>): result is TimeoutResultError<T> {
158
129
  return result.state === "error";
159
130
  }
160
131
 
@@ -166,7 +137,7 @@ export function isError<T>(result: TimeoutResult<T>): result is TimeoutResultErr
166
137
  * @returns The success value
167
138
  * @throws Error if the result is not in success state
168
139
  */
169
- export function unwrap<T>(result: TimeoutResult<T>): T {
140
+ export function unwrap<T, CTX>(result: TimeoutResult<T, CTX>): T {
170
141
  if (isSuccess(result)) {
171
142
  return result.value;
172
143
  }
@@ -181,7 +152,7 @@ export function unwrap<T>(result: TimeoutResult<T>): T {
181
152
  * @param defaultValue - The value to return if result is not successful
182
153
  * @returns The success value or the default value
183
154
  */
184
- export function unwrapOr<T>(result: TimeoutResult<T>, defaultValue: T): T {
155
+ export function unwrapOr<T, CTX>(result: TimeoutResult<T, CTX>, defaultValue: T): T {
185
156
  return isSuccess(result) ? result.value : defaultValue;
186
157
  }
187
158
 
@@ -236,7 +207,7 @@ export function unwrapOr<T>(result: TimeoutResult<T>, defaultValue: T): T {
236
207
  export async function timeouted<T, CTX = void>(
237
208
  action: TimeoutAction<T>,
238
209
  options: Partial<TimeoutActionOptions<CTX>> = {},
239
- ): Promise<TimeoutResult<T>> {
210
+ ): Promise<TimeoutResult<T, CTX>> {
240
211
  const { timeout = 30000, signal, controller: externalController, ctx, onTimeout, onAbort, onError } = options;
241
212
 
242
213
  const controller = externalController || new AbortController();
@@ -277,11 +248,14 @@ export async function timeouted<T, CTX = void>(
277
248
  try {
278
249
  toAwait = action(controller);
279
250
  } catch (error) {
280
- return cleanup({
281
- state: "error",
282
- error: error instanceof Error ? error : new Error(error as string),
283
- ...IsTimeoutedImpl,
284
- });
251
+ return cleanup(
252
+ createTimeoutResult<T, CTX>({
253
+ state: "error",
254
+ error: error instanceof Error ? error : new Error(error as string),
255
+ duration: Date.now() - startTime,
256
+ ctx: ctx as CTX,
257
+ }),
258
+ );
285
259
  }
286
260
  }
287
261
 
@@ -1,4 +1,4 @@
1
- export type TouchType = bigint | Date | symbol | string | boolean | number | Uint8Array | null | undefined | object | unknown[];
1
+ export type TouchType = bigint | Date | symbol | string | boolean | number | Uint8Array | null | undefined | object;
2
2
  export type TouchFn = (value: TouchType, type: keyof typeof TouchTypes) => void;
3
3
 
4
4
  export const TouchTypes = {
@@ -15,17 +15,18 @@ describe("KeyedFactory with ResolveOnce", () => {
15
15
  key2string: (givenKey) => givenKey.x + "---" + givenKey.y,
16
16
  ctx: { bla: true },
17
17
  });
18
- const once = my.get({ x: 3, y: 4 }, { bla: false }).once(({ refKey: key, givenKey, ctx }) => {
18
+ const once = my.get({ x: 3, y: 4 }, { bla: false }).once((ronce) => {
19
+ const { refKey, givenKey, ctx } = ronce.ctx;
19
20
  return {
20
21
  resX: givenKey.x * 2,
21
22
  resY: givenKey.y * 3,
22
23
  keyItem: {
23
- key,
24
+ refKey,
24
25
  givenKey,
25
26
  value: {
26
27
  X: givenKey.x,
27
28
  Y: givenKey.y,
28
- key,
29
+ refKey,
29
30
  },
30
31
  ctx,
31
32
  },
@@ -35,9 +36,9 @@ describe("KeyedFactory with ResolveOnce", () => {
35
36
  resX: 6,
36
37
  resY: 12,
37
38
  keyItem: {
38
- key: "3---4",
39
+ refKey: "3---4",
39
40
  givenKey: { x: 3, y: 4 },
40
- value: { X: 3, Y: 4, key: "3---4" },
41
+ value: { X: 3, Y: 4, refKey: "3---4" },
41
42
  ctx: { bla: false },
42
43
  },
43
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"keyed-ng.test.js","sourceRoot":"","sources":["../../../src/keyed-ng.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyed-ng.test.js","sourceRoot":"","sources":["../../../src/keyed-ng.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface ReturnOnFunc<Args extends any[], X = unknown> {
8
8
  invoke(...a: Args): void;
9
9
  invokeAsync(...a: Args): Promise<void>;
10
10
  clear(): void;
11
+ once(fn: (...a: Args) => void): () => unknown;
11
12
  }
12
13
  type ExtractArgs<T, X> = T extends (...args: infer A) => OnFuncReturn | X ? A : never;
13
14
  export declare function OnFunc<Fn extends (...args: any[]) => OnFuncReturn | X, X = unknown>(): ReturnOnFunc<ExtractArgs<Fn, X>>;
@@ -1 +1 @@
1
- {"version":3,"file":"on-func.d.ts","sourceRoot":"","sources":["../../../src/on-func.ts"],"names":[],"mappings":"AAgDA,eAAO,MAAM,YAAY,EAAE;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAId,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG5E,MAAM,WAAW,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO;IAC3D,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,YAAY,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AA0CtF,wBAAgB,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAOvH"}
1
+ {"version":3,"file":"on-func.d.ts","sourceRoot":"","sources":["../../../src/on-func.ts"],"names":[],"mappings":"AA8DA,eAAO,MAAM,YAAY,EAAE;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAId,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG5E,MAAM,WAAW,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO;IAC3D,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,YAAY,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,MAAM,OAAO,CAAC;CAC/C;AAED,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAgEtF,wBAAgB,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAQvH"}
package/ts/cjs/on-func.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OnFuncReturn = void 0;
4
4
  exports.OnFunc = OnFunc;
5
5
  const is_promise_js_1 = require("./is-promise.js");
6
+ const result_js_1 = require("./result.js");
6
7
  class OnFuncInstance {
7
8
  #fns = new Set();
8
9
  addFunction(fn) {
@@ -11,7 +12,19 @@ class OnFuncInstance {
11
12
  this.unreg(exports.OnFuncReturn.UNREGISTER, fn);
12
13
  };
13
14
  }
15
+ once(fn) {
16
+ return this.addFunction((...a) => {
17
+ (0, result_js_1.exception2Result)(() => fn(...a));
18
+ return exports.OnFuncReturn.ONCE;
19
+ });
20
+ }
14
21
  unreg(ret, fn) {
22
+ if (result_js_1.Result.Is(ret)) {
23
+ if (ret.isErr()) {
24
+ return undefined;
25
+ }
26
+ ret = ret.unwrap();
27
+ }
15
28
  if (ret === exports.OnFuncReturn.UNREGISTER || ret === exports.OnFuncReturn.ONCE) {
16
29
  this.#fns.delete(fn);
17
30
  return undefined;
@@ -21,7 +34,7 @@ class OnFuncInstance {
21
34
  invoke(...a) {
22
35
  for (const fn of this.#fns) {
23
36
  try {
24
- const couldByPlainOrPromise = fn(...a);
37
+ const couldByPlainOrPromise = (0, result_js_1.exception2Result)(() => fn(...a));
25
38
  if ((0, is_promise_js_1.isPromise)(couldByPlainOrPromise)) {
26
39
  void couldByPlainOrPromise.then((ret) => {
27
40
  this.unreg(ret, fn);
@@ -53,6 +66,7 @@ function OnFunc() {
53
66
  ret.invoke = instance.invoke.bind(instance);
54
67
  ret.invokeAsync = instance.invokeAsync.bind(instance);
55
68
  ret.clear = instance.clear.bind(instance);
69
+ ret.once = instance.once.bind(instance);
56
70
  return ret;
57
71
  }
58
72
  //# sourceMappingURL=on-func.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"on-func.js","sourceRoot":"","sources":["../../../src/on-func.ts"],"names":[],"mappings":";;;;AAAA,mDAA4C;AAG5C,MAAM,cAAc;IACT,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,WAAW,CAAC,EAA2B,EAAc;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,QAAA,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAAA,CACzC,CAAC;IAAA,CACH;IAEO,KAAK,CAAC,GAAY,EAAE,EAA2B,EAAW;QAEhE,IAAI,GAAG,KAAK,QAAA,YAAY,CAAC,UAAU,IAAI,GAAG,KAAK,QAAA,YAAY,CAAC,IAAI,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IAAA,CACZ;IAEM,MAAM,CAAC,GAAG,CAAO,EAAQ;QAC9B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,qBAAqB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAA,yBAAS,EAAC,qBAAqB,CAAC,EAAE,CAAC;oBACrC,KAAK,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;wBACvC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAAA,CACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gBAAgB;YAClB,CAAC;QACH,CAAC;IAAA,CACF;IAEM,KAAK,GAAS;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAAA,CACnB;IAEM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAO,EAAiB;QAClD,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,CAC3H;CACF;AAEY,QAAA,YAAY,GAGrB;IACF,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;CACnB,CAAC;AAqDX,kBAAyH;IACvH,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAsB,CAAC;IAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAqC,CAAC;IACpF,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA+C,CAAC;IAC1F,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAoD,CAAC;IACzG,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAA8C,CAAC;IACvF,OAAO,GAAG,CAAC;AAAA,CACZ"}
1
+ {"version":3,"file":"on-func.js","sourceRoot":"","sources":["../../../src/on-func.ts"],"names":[],"mappings":";;;;AAAA,mDAA4C;AAC5C,2CAAuD;AAGvD,MAAM,cAAc;IACT,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,WAAW,CAAC,EAA2B,EAAc;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,QAAA,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAAA,CACzC,CAAC;IAAA,CACH;IAED,IAAI,CAAC,EAAwB,EAAc;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAO,EAAgB,EAAE,CAAC;YACpD,IAAA,4BAAgB,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,QAAA,YAAY,CAAC,IAAI,CAAC;QAAA,CAC1B,CAAC,CAAC;IAAA,CACJ;IAEO,KAAK,CAAC,GAAY,EAAE,EAA2B,EAAW;QAChE,IAAI,kBAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,GAAG,KAAK,QAAA,YAAY,CAAC,UAAU,IAAI,GAAG,KAAK,QAAA,YAAY,CAAC,IAAI,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IAAA,CACZ;IAEM,MAAM,CAAC,GAAG,CAAO,EAAQ;QAC9B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,qBAAqB,GAAG,IAAA,4BAAgB,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/D,IAAI,IAAA,yBAAS,EAAC,qBAAqB,CAAC,EAAE,CAAC;oBACrC,KAAK,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;wBACvC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAAA,CACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gBAAgB;YAClB,CAAC;QACH,CAAC;IAAA,CACF;IAEM,KAAK,GAAS;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAAA,CACnB;IAEM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAO,EAAiB;QAClD,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,CAC3H;CACF;AAEY,QAAA,YAAY,GAGrB;IACF,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;CACnB,CAAC;AA4EX,kBAAyH;IACvH,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAsB,CAAC;IAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAqC,CAAC;IACpF,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA+C,CAAC;IAC1F,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAoD,CAAC;IACzG,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAA8C,CAAC;IACvF,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAA6C,CAAC;IACpF,OAAO,GAAG,CAAC;AAAA,CACZ"}
@@ -94,4 +94,38 @@ it("OnFunctionTest unregister from the callback", async () => {
94
94
  [2, "23"],
95
95
  ]);
96
96
  });
97
+ it("OnFunctionTest exception", () => {
98
+ const test = new OnFunctionTest();
99
+ const fn1 = vi.fn(() => {
100
+ throw new Error("fn1 error");
101
+ });
102
+ test.onFunAction(fn1);
103
+ const fn2 = vi.fn();
104
+ test.onFunAction(fn2);
105
+ const fn3 = vi.fn(() => {
106
+ return Promise.reject(new Error("fn3 error"));
107
+ });
108
+ test.onFunAction(fn3);
109
+ const fn4 = vi.fn();
110
+ test.onFunAction(fn4);
111
+ test.onFunAction.invoke(1, "13");
112
+ expect(fn1.mock.calls).toEqual([[1, "13"]]);
113
+ expect(fn2.mock.calls).toEqual([[1, "13"]]);
114
+ expect(fn3.mock.calls).toEqual([[1, "13"]]);
115
+ expect(fn4.mock.calls).toEqual([[1, "13"]]);
116
+ });
117
+ it("OnFunctionTest once", () => {
118
+ const test = new OnFunctionTest();
119
+ const fn1 = vi.fn();
120
+ test.onFunAction.once(fn1);
121
+ const fn2 = vi.fn();
122
+ test.onFunAction(fn2);
123
+ test.onFunAction.invoke(1, "13");
124
+ test.onFunAction.invoke(2, "23");
125
+ expect(fn1.mock.calls).toEqual([[1, "13"]]);
126
+ expect(fn2.mock.calls).toEqual([
127
+ [1, "13"],
128
+ [2, "23"],
129
+ ]);
130
+ });
97
131
  //# sourceMappingURL=on-func.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"on-func.test.js","sourceRoot":"","sources":["../../../src/on-func.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"on-func.test.js","sourceRoot":"","sources":["../../../src/on-func.test.ts"],"names":[],"mappings":";;AAAA,2CAAqC;AACrC,6CAAoD;AACpD,yDAA2C;AA0C3C,MAAM,cAAc;IACT,WAAW,GAAG,IAAA,mBAAM,GAAqC,CAAC;IAC1D,YAAY,GAAG,IAAA,mBAAM,GAAc,CAAC;IAEpC,SAAS,GAAG,IAAA,mBAAM,GAA6C,CAAC;IAChE,aAAa,GAAG,IAAA,mBAAM,GAA+D,CAAC;IACtF,mBAAmB,GAAG,IAAA,mBAAM,GAAqE,CAAC;CAC5G;AAED,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,MAAM,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,IAAA,wBAAK,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,EAAE,IAAI,CAAC;YACT,CAAC,CAAC,EAAE,IAAI,CAAC;SACV,CAAC,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,EAAE,CAAC;IACV,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;AAAA,CACF,CAAC,CAAC;AAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAAA,CACnC,CAAC,CAAC;AAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAY,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAAA,CAC9D,CAAC,CAAC;IACH,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,UAAU,GAAG,IAAI,kBAAM,EAAQ,CAAC;IACtC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,EAAE,OAAO,KAAK,CAAC,EAAE,CAAC;YACpB,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,yBAAY,CAAC,UAAU,CAAC;QACjC,CAAC;IAAA,CACF,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,EAAE,IAAI,CAAC;QACT,CAAC,CAAC,EAAE,IAAI,CAAC;KACV,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,EAAE,IAAI,CAAC;QACT,CAAC,CAAC,EAAE,IAAI,CAAC;QACT,CAAC,CAAC,EAAE,IAAI,CAAC;QACT,CAAC,CAAC,EAAE,IAAI,CAAC;KACV,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,EAAE,IAAI,CAAC;QACT,CAAC,CAAC,EAAE,IAAI,CAAC;KACV,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC;AAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAAA,CAC9B,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAAA,CAC/C,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAAA,CAC7C,CAAC,CAAC;AAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,EAAE,IAAI,CAAC;QACT,CAAC,CAAC,EAAE,IAAI,CAAC;KACV,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC"}
@@ -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,33 +19,44 @@ 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;
@@ -65,20 +75,20 @@ declare class StateInstance {
65
75
  setWaiting(): void;
66
76
  equals(other: StateInstance): boolean;
67
77
  }
68
- type SyncOrAsync<T, CTX> = Option<SyncResolveOnce<T, CTX> | AsyncResolveOnce<T, CTX>>;
69
78
  export declare class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
70
79
  #private;
71
80
  resetAfterTimer?: ReturnType<typeof setTimeout>;
72
- readonly _ctx?: CTX;
81
+ readonly _onceArg: OnceActionArg<T, CTX>;
73
82
  constructor(ctx?: CTX, opts?: ResolveOnceOpts);
74
83
  get state(): ResolveState;
75
84
  setProcessed(state: StateInstance): void;
76
85
  get ready(): boolean;
77
- get value(): UnPromisify<T> | undefined;
86
+ get value(): T | undefined;
78
87
  get queueLength(): number;
79
88
  get error(): Error | undefined;
80
- once<R>(fn: (c: CTX, prev?: T) => R): ResultOnce<R>;
81
- 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;
82
92
  }
83
93
  export interface KeyItem<K, V> {
84
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":"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"}