rexfect 0.0.7

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 (190) hide show
  1. package/README.md +1756 -0
  2. package/dist/abortableContext.d.ts +3 -0
  3. package/dist/abortableContext.d.ts.map +1 -0
  4. package/dist/abortableContext.js +48 -0
  5. package/dist/abortableContext.js.map +1 -0
  6. package/dist/action.d.ts +64 -0
  7. package/dist/action.d.ts.map +1 -0
  8. package/dist/action.js +208 -0
  9. package/dist/action.js.map +1 -0
  10. package/dist/action.test.d.ts +2 -0
  11. package/dist/action.test.d.ts.map +1 -0
  12. package/dist/action.test.js +189 -0
  13. package/dist/action.test.js.map +1 -0
  14. package/dist/async/abortable-guard.d.ts +25 -0
  15. package/dist/async/abortable-guard.d.ts.map +1 -0
  16. package/dist/async/abortable-guard.js +33 -0
  17. package/dist/async/abortable-guard.js.map +1 -0
  18. package/dist/async/abortable.d.ts +331 -0
  19. package/dist/async/abortable.d.ts.map +1 -0
  20. package/dist/async/abortable.js +410 -0
  21. package/dist/async/abortable.js.map +1 -0
  22. package/dist/async/abortable.test.d.ts +2 -0
  23. package/dist/async/abortable.test.d.ts.map +1 -0
  24. package/dist/async/abortable.test.js +535 -0
  25. package/dist/async/abortable.test.js.map +1 -0
  26. package/dist/async/abortable.typeCheck.d.ts +8 -0
  27. package/dist/async/abortable.typeCheck.d.ts.map +1 -0
  28. package/dist/async/abortable.typeCheck.js +138 -0
  29. package/dist/async/abortable.typeCheck.js.map +1 -0
  30. package/dist/async/async.d.ts +18 -0
  31. package/dist/async/async.d.ts.map +1 -0
  32. package/dist/async/async.js +20 -0
  33. package/dist/async/async.js.map +1 -0
  34. package/dist/async/index.d.ts +15 -0
  35. package/dist/async/index.d.ts.map +1 -0
  36. package/dist/async/index.js +13 -0
  37. package/dist/async/index.js.map +1 -0
  38. package/dist/async/loadable.d.ts +7 -0
  39. package/dist/async/loadable.d.ts.map +1 -0
  40. package/dist/async/loadable.js +52 -0
  41. package/dist/async/loadable.js.map +1 -0
  42. package/dist/async/loadable.test.d.ts +2 -0
  43. package/dist/async/loadable.test.d.ts.map +1 -0
  44. package/dist/async/loadable.test.js +322 -0
  45. package/dist/async/loadable.test.js.map +1 -0
  46. package/dist/async/promiseCache.d.ts +14 -0
  47. package/dist/async/promiseCache.d.ts.map +1 -0
  48. package/dist/async/promiseCache.js +29 -0
  49. package/dist/async/promiseCache.js.map +1 -0
  50. package/dist/async/read.d.ts +120 -0
  51. package/dist/async/read.d.ts.map +1 -0
  52. package/dist/async/read.js +286 -0
  53. package/dist/async/read.js.map +1 -0
  54. package/dist/async/read.test.d.ts +2 -0
  55. package/dist/async/read.test.d.ts.map +1 -0
  56. package/dist/async/read.test.js +419 -0
  57. package/dist/async/read.test.js.map +1 -0
  58. package/dist/async/read.typeCheck.d.ts +6 -0
  59. package/dist/async/read.typeCheck.d.ts.map +1 -0
  60. package/dist/async/read.typeCheck.js +101 -0
  61. package/dist/async/read.typeCheck.js.map +1 -0
  62. package/dist/async/safe.d.ts +230 -0
  63. package/dist/async/safe.d.ts.map +1 -0
  64. package/dist/async/safe.js +247 -0
  65. package/dist/async/safe.js.map +1 -0
  66. package/dist/async/safe.test.d.ts +2 -0
  67. package/dist/async/safe.test.d.ts.map +1 -0
  68. package/dist/async/safe.test.js +447 -0
  69. package/dist/async/safe.test.js.map +1 -0
  70. package/dist/async/utils.d.ts +17 -0
  71. package/dist/async/utils.d.ts.map +1 -0
  72. package/dist/async/utils.js +38 -0
  73. package/dist/async/utils.js.map +1 -0
  74. package/dist/async/wait.d.ts +120 -0
  75. package/dist/async/wait.d.ts.map +1 -0
  76. package/dist/async/wait.js +112 -0
  77. package/dist/async/wait.js.map +1 -0
  78. package/dist/async/wait.test.d.ts +2 -0
  79. package/dist/async/wait.test.d.ts.map +1 -0
  80. package/dist/async/wait.test.js +122 -0
  81. package/dist/async/wait.test.js.map +1 -0
  82. package/dist/async/wait.typeCheck.d.ts +6 -0
  83. package/dist/async/wait.typeCheck.d.ts.map +1 -0
  84. package/dist/async/wait.typeCheck.js +104 -0
  85. package/dist/async/wait.typeCheck.js.map +1 -0
  86. package/dist/atom.d.ts +46 -0
  87. package/dist/atom.d.ts.map +1 -0
  88. package/dist/atom.js +86 -0
  89. package/dist/atom.js.map +1 -0
  90. package/dist/atom.test.d.ts +2 -0
  91. package/dist/atom.test.d.ts.map +1 -0
  92. package/dist/atom.test.js +75 -0
  93. package/dist/atom.test.js.map +1 -0
  94. package/dist/batch.d.ts +15 -0
  95. package/dist/batch.d.ts.map +1 -0
  96. package/dist/batch.js +45 -0
  97. package/dist/batch.js.map +1 -0
  98. package/dist/defer.d.ts +56 -0
  99. package/dist/defer.d.ts.map +1 -0
  100. package/dist/defer.js +49 -0
  101. package/dist/defer.js.map +1 -0
  102. package/dist/effect.d.ts +91 -0
  103. package/dist/effect.d.ts.map +1 -0
  104. package/dist/effect.js +311 -0
  105. package/dist/effect.js.map +1 -0
  106. package/dist/effect.test.d.ts +2 -0
  107. package/dist/effect.test.d.ts.map +1 -0
  108. package/dist/effect.test.js +123 -0
  109. package/dist/effect.test.js.map +1 -0
  110. package/dist/emitter.d.ts +129 -0
  111. package/dist/emitter.d.ts.map +1 -0
  112. package/dist/emitter.js +164 -0
  113. package/dist/emitter.js.map +1 -0
  114. package/dist/emitter.test.d.ts +2 -0
  115. package/dist/emitter.test.d.ts.map +1 -0
  116. package/dist/emitter.test.js +259 -0
  117. package/dist/emitter.test.js.map +1 -0
  118. package/dist/equality.d.ts +66 -0
  119. package/dist/equality.d.ts.map +1 -0
  120. package/dist/equality.js +145 -0
  121. package/dist/equality.js.map +1 -0
  122. package/dist/event.d.ts +18 -0
  123. package/dist/event.d.ts.map +1 -0
  124. package/dist/event.js +166 -0
  125. package/dist/event.js.map +1 -0
  126. package/dist/event.test.d.ts +2 -0
  127. package/dist/event.test.d.ts.map +1 -0
  128. package/dist/event.test.js +167 -0
  129. package/dist/event.test.js.map +1 -0
  130. package/dist/hooks.d.ts +152 -0
  131. package/dist/hooks.d.ts.map +1 -0
  132. package/dist/hooks.js +122 -0
  133. package/dist/hooks.js.map +1 -0
  134. package/dist/hooks.test.d.ts +2 -0
  135. package/dist/hooks.test.d.ts.map +1 -0
  136. package/dist/hooks.test.js +99 -0
  137. package/dist/hooks.test.js.map +1 -0
  138. package/dist/index.d.ts +33 -0
  139. package/dist/index.d.ts.map +1 -0
  140. package/dist/index.js +35 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/isPromiseLike.d.ts +10 -0
  143. package/dist/isPromiseLike.d.ts.map +1 -0
  144. package/dist/isPromiseLike.js +15 -0
  145. package/dist/isPromiseLike.js.map +1 -0
  146. package/dist/pick.d.ts +22 -0
  147. package/dist/pick.d.ts.map +1 -0
  148. package/dist/pick.js +46 -0
  149. package/dist/pick.js.map +1 -0
  150. package/dist/react/index.d.ts +8 -0
  151. package/dist/react/index.d.ts.map +1 -0
  152. package/dist/react/index.js +8 -0
  153. package/dist/react/index.js.map +1 -0
  154. package/dist/react/useRx.d.ts +14 -0
  155. package/dist/react/useRx.d.ts.map +1 -0
  156. package/dist/react/useRx.js +110 -0
  157. package/dist/react/useRx.js.map +1 -0
  158. package/dist/react/useRx.test.d.ts +2 -0
  159. package/dist/react/useRx.test.d.ts.map +1 -0
  160. package/dist/react/useRx.test.js +457 -0
  161. package/dist/react/useRx.test.js.map +1 -0
  162. package/dist/strictModeTest.d.ts +11 -0
  163. package/dist/strictModeTest.d.ts.map +1 -0
  164. package/dist/strictModeTest.js +41 -0
  165. package/dist/strictModeTest.js.map +1 -0
  166. package/dist/types.d.ts +606 -0
  167. package/dist/types.d.ts.map +1 -0
  168. package/dist/types.js +5 -0
  169. package/dist/types.js.map +1 -0
  170. package/dist/untrack.d.ts +14 -0
  171. package/dist/untrack.d.ts.map +1 -0
  172. package/dist/untrack.js +17 -0
  173. package/dist/untrack.js.map +1 -0
  174. package/dist/utils/withUse.d.ts +10 -0
  175. package/dist/utils/withUse.d.ts.map +1 -0
  176. package/dist/utils/withUse.js +21 -0
  177. package/dist/utils/withUse.js.map +1 -0
  178. package/dist/utils/withUse.test.d.ts +2 -0
  179. package/dist/utils/withUse.test.d.ts.map +1 -0
  180. package/dist/utils/withUse.test.js +233 -0
  181. package/dist/utils/withUse.test.js.map +1 -0
  182. package/dist/utils.d.ts +7 -0
  183. package/dist/utils.d.ts.map +1 -0
  184. package/dist/utils.js +7 -0
  185. package/dist/utils.js.map +1 -0
  186. package/dist/utils.test.d.ts +2 -0
  187. package/dist/utils.test.d.ts.map +1 -0
  188. package/dist/utils.test.js +119 -0
  189. package/dist/utils.test.js.map +1 -0
  190. package/package.json +64 -0
@@ -0,0 +1,410 @@
1
+ /**
2
+ * Abortable function utilities.
3
+ *
4
+ * Creates async functions with full lifecycle control:
5
+ * - Pause/Resume execution
6
+ * - Abort with cleanup
7
+ * - External event injection (take/send)
8
+ * - Status tracking
9
+ *
10
+ * Similar to saga pattern but uses async/await instead of suspense.
11
+ */
12
+ import { createSafe } from "./safe";
13
+ import { abortableSymbol, isAbortable } from "./abortable-guard";
14
+ // Re-export for convenience
15
+ export { abortableSymbol, isAbortable };
16
+ // =============================================================================
17
+ // ERROR TYPES
18
+ // =============================================================================
19
+ /**
20
+ * Error thrown when abortable is aborted.
21
+ */
22
+ export class AbortableAbortedError extends Error {
23
+ name = "AbortableAbortedError";
24
+ constructor(message = "Abortable was aborted") {
25
+ super(message);
26
+ }
27
+ }
28
+ function createAbortableContext(controller, pauseState, takeState, setStatus, prevController) {
29
+ const signal = controller.signal;
30
+ // Shared checkpoint logic - checks abort and pause
31
+ // Used by: checkpoint(), take() (after event), safe() (after promise)
32
+ const checkPauseAndAbort = async () => {
33
+ // Check abort before pause
34
+ if (signal.aborted) {
35
+ throw new AbortableAbortedError();
36
+ }
37
+ // Wait if paused
38
+ if (pauseState.isPaused) {
39
+ setStatus("paused");
40
+ await new Promise((resolve) => {
41
+ pauseState.resumeResolve = resolve;
42
+ });
43
+ pauseState.resumeResolve = null;
44
+ setStatus("running");
45
+ }
46
+ // Check abort after resume (might have been aborted while paused)
47
+ if (signal.aborted) {
48
+ throw new AbortableAbortedError();
49
+ }
50
+ };
51
+ // Helper to chain pause/abort check after promise resolution
52
+ const afterCheck = async (value) => {
53
+ await checkPauseAndAbort();
54
+ return value;
55
+ };
56
+ // Join function - coordinates multiple abortable results
57
+ // Defined first because safe() uses it for abortable functions
58
+ const join = ((resultOrResults) => {
59
+ // Check abort before starting
60
+ if (signal.aborted) {
61
+ return Promise.reject(new AbortableAbortedError());
62
+ }
63
+ const isArray = Array.isArray(resultOrResults);
64
+ const results = isArray ? resultOrResults : [resultOrResults];
65
+ // Abort all joined results when this abortable aborts
66
+ const abortAll = () => {
67
+ for (const result of results) {
68
+ result.abort();
69
+ }
70
+ };
71
+ signal.addEventListener("abort", abortAll, { once: true });
72
+ // Wait for all results
73
+ const promise = Promise.all(results)
74
+ .then(async (values) => {
75
+ // Clean up abort listener
76
+ signal.removeEventListener("abort", abortAll);
77
+ // Check pause/abort after all complete
78
+ await checkPauseAndAbort();
79
+ return isArray ? values : values[0];
80
+ })
81
+ .catch(async (error) => {
82
+ // Clean up abort listener
83
+ signal.removeEventListener("abort", abortAll);
84
+ // Abort remaining results on error
85
+ abortAll();
86
+ // Re-throw as AbortableAbortedError if aborted
87
+ if (signal.aborted) {
88
+ throw new AbortableAbortedError();
89
+ }
90
+ throw error;
91
+ });
92
+ return promise;
93
+ });
94
+ // Enhanced safe() that respects pause
95
+ const baseSafe = createSafe(() => signal, () => signal.aborted);
96
+ const safeFn = async (fnOrPromise, ...args) => {
97
+ // If it's an abortable, use withSignal and join for proper abort propagation
98
+ if (isAbortable(fnOrPromise)) {
99
+ const abortableResult = fnOrPromise.withSignal(signal, ...args);
100
+ return join(abortableResult);
101
+ }
102
+ // Call the base safe for regular functions/promises
103
+ const result = await baseSafe(fnOrPromise, ...args);
104
+ // Check pause/abort after async operation completes
105
+ await checkPauseAndAbort();
106
+ return result;
107
+ };
108
+ // Attach utility methods from baseSafe (.all, .race, .settled, .any, .callback)
109
+ const safe = Object.assign(safeFn, {
110
+ all: baseSafe.all,
111
+ race: baseSafe.race,
112
+ settled: baseSafe.settled,
113
+ any: baseSafe.any,
114
+ callback: baseSafe.callback,
115
+ delay: baseSafe.delay,
116
+ });
117
+ const take = ((key) => {
118
+ const takeKey = String(key ?? "__checkpoint__");
119
+ // Check if aborted before waiting
120
+ if (signal.aborted) {
121
+ return Promise.reject(new AbortableAbortedError());
122
+ }
123
+ // Check if already resolved
124
+ const existing = takeState.pendingTakes.get(takeKey);
125
+ if (existing) {
126
+ return existing.promise.then(afterCheck);
127
+ }
128
+ // Create new pending take
129
+ let resolve;
130
+ let reject;
131
+ const promise = new Promise((res, rej) => {
132
+ resolve = res;
133
+ reject = rej;
134
+ });
135
+ takeState.pendingTakes.set(takeKey, {
136
+ resolve: resolve,
137
+ reject: reject,
138
+ promise,
139
+ });
140
+ setStatus("waiting");
141
+ return promise.then(afterCheck);
142
+ });
143
+ return {
144
+ signal,
145
+ safe,
146
+ take,
147
+ join,
148
+ aborted: () => signal.aborted,
149
+ abort: () => {
150
+ if (signal.aborted)
151
+ return false;
152
+ controller.abort();
153
+ return true;
154
+ },
155
+ abortPrev: (message) => {
156
+ prevController?.abort(message);
157
+ },
158
+ fork: () => {
159
+ const childController = new AbortController();
160
+ const handler = () => {
161
+ controller.signal.removeEventListener("abort", handler);
162
+ childController.abort();
163
+ };
164
+ controller.signal.addEventListener("abort", handler);
165
+ return createAbortableContext(childController, pauseState, takeState, setStatus, undefined);
166
+ },
167
+ spawn: () => {
168
+ return createAbortableContext(new AbortController(), pauseState, takeState, setStatus, undefined);
169
+ },
170
+ checkpoint: checkPauseAndAbort,
171
+ };
172
+ }
173
+ // =============================================================================
174
+ // INTERNAL: CREATE SEND
175
+ // =============================================================================
176
+ function createSend(takeState, setStatus) {
177
+ return ((key, value) => {
178
+ const takeKey = String(key ?? "__checkpoint__");
179
+ const pending = takeState.pendingTakes.get(takeKey);
180
+ if (pending) {
181
+ pending.resolve(value);
182
+ takeState.pendingTakes.delete(takeKey);
183
+ setStatus("running");
184
+ }
185
+ });
186
+ }
187
+ // =============================================================================
188
+ // INTERNAL: EXECUTE ABORTABLE
189
+ // =============================================================================
190
+ function executeAbortable(fn, args, parentSignal, prevController, controllerRef) {
191
+ // Create own AbortController
192
+ const controller = new AbortController();
193
+ // Store controller reference for tracking previous invocations
194
+ if (controllerRef) {
195
+ controllerRef.current = controller;
196
+ }
197
+ // Link to parent signal (parent abort → this aborts, but not vice versa)
198
+ if (parentSignal) {
199
+ if (parentSignal.aborted) {
200
+ controller.abort();
201
+ }
202
+ else {
203
+ const onParentAbort = () => controller.abort();
204
+ parentSignal.addEventListener("abort", onParentAbort, { once: true });
205
+ // Clean up listener when this completes
206
+ controller.signal.addEventListener("abort", () => parentSignal.removeEventListener("abort", onParentAbort), { once: true });
207
+ }
208
+ }
209
+ // State
210
+ let status = "running";
211
+ let resultValue;
212
+ let errorValue;
213
+ const pauseState = {
214
+ isPaused: false,
215
+ resumeResolve: null,
216
+ };
217
+ const takeState = {
218
+ pendingTakes: new Map(),
219
+ };
220
+ const setStatus = (newStatus) => {
221
+ if (!["success", "error", "aborted"].includes(status)) {
222
+ status = newStatus;
223
+ }
224
+ };
225
+ // Create context with previous controller for abortPrev()
226
+ const ctx = createAbortableContext(controller, pauseState, takeState, setStatus, prevController);
227
+ // Wrap the function
228
+ const wrappedFn = async () => {
229
+ try {
230
+ // Check abort before starting
231
+ if (controller.signal.aborted) {
232
+ throw new AbortableAbortedError();
233
+ }
234
+ // Execute the handler
235
+ const result = await fn(ctx, ...args);
236
+ return result;
237
+ }
238
+ catch (e) {
239
+ // Re-check if this was due to abort
240
+ if (controller.signal.aborted) {
241
+ throw new AbortableAbortedError();
242
+ }
243
+ throw e;
244
+ }
245
+ };
246
+ // Execute and track result
247
+ const promise = wrappedFn()
248
+ .then((result) => {
249
+ status = "success";
250
+ resultValue = result;
251
+ return result;
252
+ })
253
+ .catch((error) => {
254
+ if (error instanceof AbortableAbortedError || controller.signal.aborted) {
255
+ status = "aborted";
256
+ errorValue =
257
+ error instanceof Error ? error : new AbortableAbortedError();
258
+ }
259
+ else {
260
+ status = "error";
261
+ errorValue = error instanceof Error ? error : new Error(String(error));
262
+ }
263
+ throw errorValue;
264
+ });
265
+ // Create send function
266
+ const send = createSend(takeState, setStatus);
267
+ // Attach control methods to promise
268
+ return Object.assign(promise, {
269
+ send,
270
+ // Status checks
271
+ failed: () => status === "error",
272
+ completed: () => ["success", "error", "aborted"].includes(status),
273
+ running: () => status === "running",
274
+ succeeded: () => status === "success",
275
+ paused: () => status === "paused",
276
+ waiting: () => status === "waiting",
277
+ aborted: () => status === "aborted",
278
+ status: () => status,
279
+ // Result access
280
+ result: () => resultValue,
281
+ error: () => errorValue,
282
+ // Control methods
283
+ pause: () => {
284
+ if (pauseState.isPaused ||
285
+ ["success", "error", "aborted"].includes(status)) {
286
+ return false;
287
+ }
288
+ pauseState.isPaused = true;
289
+ status = "paused";
290
+ return true;
291
+ },
292
+ resume: () => {
293
+ if (!pauseState.isPaused) {
294
+ return false;
295
+ }
296
+ pauseState.isPaused = false;
297
+ status = "running";
298
+ if (pauseState.resumeResolve) {
299
+ pauseState.resumeResolve();
300
+ }
301
+ return true;
302
+ },
303
+ abort: () => {
304
+ if (controller.signal.aborted || ["success", "error"].includes(status)) {
305
+ return false;
306
+ }
307
+ status = "aborted";
308
+ controller.abort();
309
+ // Reject any pending takes to unblock with abort error
310
+ const abortError = new AbortableAbortedError();
311
+ for (const [, pending] of takeState.pendingTakes) {
312
+ pending.reject(abortError);
313
+ }
314
+ takeState.pendingTakes.clear();
315
+ // Resume if paused
316
+ if (pauseState.resumeResolve) {
317
+ pauseState.resumeResolve();
318
+ }
319
+ return true;
320
+ },
321
+ });
322
+ }
323
+ // =============================================================================
324
+ // MAIN: ABORTABLE FACTORY
325
+ // =============================================================================
326
+ /**
327
+ * Create an abortable function with full lifecycle control.
328
+ *
329
+ * Features:
330
+ * - Pause/Resume execution
331
+ * - Abort with cleanup
332
+ * - External event injection (take/send)
333
+ * - Status tracking
334
+ * - Parent signal linkage (parent abort → this aborts, not vice versa)
335
+ *
336
+ * @example
337
+ * ```ts
338
+ * // Simple abortable
339
+ * const fetchUser = abortable(async ({ signal, safe }, id: string) => {
340
+ * const res = await fetch(`/api/users/${id}`, { signal });
341
+ * return res.json();
342
+ * });
343
+ *
344
+ * // With events
345
+ * const checkout = abortable<[Cart], Receipt, { confirm: boolean }>(
346
+ * async ({ signal, safe, take }, cart) => {
347
+ * const validated = await safe(validateCart, cart);
348
+ *
349
+ * const confirmed = await take("confirm");
350
+ * if (!confirmed) throw new Error("Cancelled");
351
+ *
352
+ * return await safe(processPayment, validated);
353
+ * }
354
+ * );
355
+ *
356
+ * // Usage
357
+ * const result = checkout(cart);
358
+ * result.send("confirm", true);
359
+ * const receipt = await result;
360
+ *
361
+ * // With pause/resume
362
+ * result.pause();
363
+ * result.resume();
364
+ *
365
+ * // With abort
366
+ * result.abort();
367
+ * ```
368
+ */
369
+ export function abortable(fn) {
370
+ // Track previous invocation's controller for abortPrev()
371
+ let prevController = null;
372
+ // Create the wrapper function
373
+ const wrapper = ((...args) => {
374
+ // Track this invocation's controller for next call
375
+ const controllerRef = { current: null };
376
+ const result = executeAbortable(fn, args, undefined, prevController, controllerRef);
377
+ // Update previous controller for next invocation
378
+ if (controllerRef.current) {
379
+ prevController = controllerRef.current;
380
+ }
381
+ return result;
382
+ });
383
+ // Add withSignal() method for parent signal linkage
384
+ wrapper.withSignal = (signal, ...args) => {
385
+ const controllerRef = { current: null };
386
+ const result = executeAbortable(fn, args, signal, prevController, controllerRef);
387
+ if (controllerRef.current) {
388
+ prevController = controllerRef.current;
389
+ }
390
+ return result;
391
+ };
392
+ // Add use() method for chainable wrappers
393
+ wrapper.use = (wrapperFn) => {
394
+ const wrappedHandler = wrapperFn(fn);
395
+ return abortable(wrappedHandler);
396
+ };
397
+ // Add as() method for type assertion
398
+ wrapper.as = () => {
399
+ return wrapper;
400
+ };
401
+ // Add type brand
402
+ Object.defineProperty(wrapper, abortableSymbol, {
403
+ value: true,
404
+ writable: false,
405
+ enumerable: false,
406
+ configurable: false,
407
+ });
408
+ return wrapper;
409
+ }
410
+ //# sourceMappingURL=abortable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abortable.js","sourceRoot":"","sources":["../../src/async/abortable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAwB,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjE,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AA8YxC,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAuB,CAAC;IAExC,YAAY,OAAO,GAAG,uBAAuB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AA0BD,SAAS,sBAAsB,CAC7B,UAA2B,EAC3B,UAAsB,EACtB,SAAoB,EACpB,SAA4C,EAC5C,cAAuC;IAEvC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAEjC,mDAAmD;IACnD,sEAAsE;IACtE,MAAM,kBAAkB,GAAG,KAAK,IAAmB,EAAE;QACnD,2BAA2B;QAC3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;QAED,iBAAiB;QACjB,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;YAChC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAED,kEAAkE;QAClE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IAEF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,KAAK,EAAK,KAAQ,EAAc,EAAE;QACnD,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,yDAAyD;IACzD,+DAA+D;IAC/D,MAAM,IAAI,GAAG,CAAC,CACZ,eAAwE,EAC1D,EAAE;QAChB,8BAA8B;QAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAE9D,sDAAsD;QACtD,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,uBAAuB;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;aACjC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,0BAA0B;YAC1B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9C,uCAAuC;YACvC,MAAM,kBAAkB,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,0BAA0B;YAC1B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9C,mCAAmC;YACnC,QAAQ,EAAE,CAAC;YACX,+CAA+C;YAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,OAAO,OAAO,CAAC;IACjB,CAAC,CAAkB,CAAC;IAEpB,sCAAsC;IACtC,MAAM,QAAQ,GAAG,UAAU,CACzB,GAAG,EAAE,CAAC,MAAM,EACZ,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CACrB,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,WAAgB,EAAE,GAAG,IAAW,EAAE,EAAE;QACxD,6EAA6E;QAC7E,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;QAED,oDAAoD;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;QACpD,oDAAoD;QACpD,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,gFAAgF;IAChF,MAAM,IAAI,GAAoB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAClD,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;QAEhD,kCAAkC;QAClC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAA6B,CAAC;QAClC,IAAI,MAA4B,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,OAAO,GAAG,GAAG,CAAC;YACd,MAAM,GAAG,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE;YAClC,OAAO,EAAE,OAAQ;YACjB,MAAM,EAAE,MAAO;YACf,OAAO;SACR,CAAC,CAAC;QACH,SAAS,CAAC,SAAS,CAAC,CAAC;QAErB,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC,CAA0B,CAAC;IAE5B,OAAO;QACL,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO;QAC7B,KAAK,EAAE,GAAG,EAAE;YACV,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YACjC,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE;YAC9B,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxD,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC,CAAC;YACF,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,sBAAsB,CAC3B,eAAe,EACf,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,CACkB,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,OAAO,sBAAsB,CAC3B,IAAI,eAAe,EAAE,EACrB,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,CACkB,CAAC;QAChC,CAAC;QACD,UAAU,EAAE,kBAAkB;KAC/B,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,SAAS,UAAU,CACjB,SAAoB,EACpB,SAA4C;IAE5C,OAAO,CAAC,CAAC,GAAkB,EAAE,KAAW,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAA0B,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,SAAS,gBAAgB,CAKvB,EAAuC,EACvC,IAAW,EACX,YAA0B,EAC1B,cAAuC,EACvC,aAAmD;IAEnD,6BAA6B;IAC7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,+DAA+D;IAC/D,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACrC,CAAC;IAED,yEAAyE;IACzE,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC/C,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,wCAAwC;YACxC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAChC,OAAO,EACP,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,EAC9D,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,QAAQ;IACR,IAAI,MAAM,GAAoB,SAAS,CAAC;IACxC,IAAI,WAAgC,CAAC;IACrC,IAAI,UAA6B,CAAC;IAElC,MAAM,UAAU,GAAe;QAC7B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,IAAI;KACpB,CAAC;IAEF,MAAM,SAAS,GAAc;QAC3B,YAAY,EAAE,IAAI,GAAG,EAAE;KACxB,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,SAA0B,EAAE,EAAE;QAC/C,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,GAAG,GAAG,sBAAsB,CAChC,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,cAAc,CACf,CAAC;IAEF,oBAAoB;IACpB,MAAM,SAAS,GAAG,KAAK,IAAsB,EAAE;QAC7C,IAAI,CAAC;YACH,8BAA8B;YAC9B,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC;YAED,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAEtC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,oCAAoC;YACpC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC;IAEF,2BAA2B;IAC3B,MAAM,OAAO,GAAG,SAAS,EAAE;SACxB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,MAAM,GAAG,SAAS,CAAC;QACnB,WAAW,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,KAAK,YAAY,qBAAqB,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxE,MAAM,GAAG,SAAS,CAAC;YACnB,UAAU;gBACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,OAAO,CAAC;YACjB,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,UAAU,CAAC;IACnB,CAAC,CAAC,CAAC;IAEL,uBAAuB;IACvB,MAAM,IAAI,GAAG,UAAU,CAAS,SAAS,EAAE,SAAS,CAAC,CAAC;IAEtD,oCAAoC;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,IAAI;QAEJ,gBAAgB;QAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,KAAK,OAAO;QAChC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS;QACnC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS;QACrC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,KAAK,QAAQ;QACjC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS;QACnC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QAEpB,gBAAgB;QAChB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW;QACzB,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU;QAEvB,kBAAkB;QAClB,KAAK,EAAE,GAAG,EAAE;YACV,IACE,UAAU,CAAC,QAAQ;gBACnB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAChD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC3B,MAAM,GAAG,QAAQ,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC5B,MAAM,GAAG,SAAS,CAAC;YACnB,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC7B,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,EAAE,GAAG,EAAE;YACV,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,SAAS,CAAC;YACnB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,uDAAuD;YACvD,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;gBACjD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YACD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC/B,mBAAmB;YACnB,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC7B,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAqC,CAAC;AACzC,CAAC;AAED,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,SAAS,CAIvB,EAAuC;IACvC,yDAAyD;IACzD,IAAI,cAAc,GAA2B,IAAI,CAAC;IAElD,8BAA8B;IAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,IAAW,EAAoC,EAAE;QACpE,mDAAmD;QACnD,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,IAA8B,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,gBAAgB,CAC7B,EAAE,EACF,IAAI,EACJ,SAAS,EACT,cAAc,EACd,aAAa,CACd,CAAC;QAEF,iDAAiD;QACjD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC;QACzC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAsC,CAAC;IAExC,oDAAoD;IACpD,OAAO,CAAC,UAAU,GAAG,CACnB,MAA+B,EAC/B,GAAG,IAAW,EACoB,EAAE;QACpC,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,IAA8B,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,gBAAgB,CAC7B,EAAE,EACF,IAAI,EACJ,MAAM,EACN,cAAc,EACd,aAAa,CACd,CAAC;QACF,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,0CAA0C;IAC1C,OAAO,CAAC,GAAG,GAAG,CAKZ,SAOC,EAC2C,EAAE;QAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,SAAS,CAAkC,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,qCAAqC;IACrC,OAAO,CAAC,EAAE,GAAG,GAImC,EAAE;QAChD,OAAO,OAAgE,CAAC;IAC1E,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE;QAC9C,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=abortable.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abortable.test.d.ts","sourceRoot":"","sources":["../../src/async/abortable.test.ts"],"names":[],"mappings":""}