tryharder 0.0.0 → 0.1.1
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.
- package/README.md +345 -108
- package/dist/errors.js +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.js +202 -25
- package/dist/shared/{chunk-996eswzx.js → chunk-vavcyath.js} +2 -3
- package/dist/types.d.ts +8 -1
- package/package.json +6 -2
package/dist/index.d.ts
CHANGED
|
@@ -12,13 +12,20 @@ declare class RetryExhaustedError extends Error {
|
|
|
12
12
|
declare class UnhandledException extends Error {
|
|
13
13
|
constructor(message?: string, options?: ErrorOptions);
|
|
14
14
|
}
|
|
15
|
+
interface AsyncDisposer extends AsyncDisposable {
|
|
16
|
+
add(fn: () => void | PromiseLike<void>): void;
|
|
17
|
+
cleanup(): Promise<void>;
|
|
18
|
+
defer(fn: () => void | PromiseLike<void>): void;
|
|
19
|
+
use<T extends AsyncDisposable | Disposable | null | undefined>(value: T): T;
|
|
20
|
+
disposeAsync(): Promise<void>;
|
|
21
|
+
}
|
|
15
22
|
type TaskRecord = Record<string, any>;
|
|
16
23
|
type TaskValidation<T extends TaskRecord> = { [K in keyof T] : T[K] extends (...args: any[]) => any ? T[K] : never };
|
|
17
24
|
type TaskResult<T> = T extends (...args: any[]) => infer R ? Awaited<R> : never;
|
|
18
25
|
type InferredTaskContext<T extends TaskRecord> = {
|
|
19
26
|
$result: { readonly [K in keyof T] : ReturnType<T[K]> extends Promise<infer R> ? Promise<R> : Promise<ReturnType<T[K]>> };
|
|
20
27
|
$signal: AbortSignal;
|
|
21
|
-
$disposer:
|
|
28
|
+
$disposer: AsyncDisposer;
|
|
22
29
|
};
|
|
23
30
|
type AllValue<T extends TaskRecord> = { [K in keyof T] : TaskResult<T[K]> };
|
|
24
31
|
interface AllCatchContext<T extends TaskRecord> {
|
|
@@ -241,7 +248,7 @@ declare class RunBuilder<
|
|
|
241
248
|
allSettled<T extends TaskRecord>(tasks: T & TaskValidation<NoInfer<T>> & ThisType<InferredTaskContext<T>>): Promise<AllSettledResult<T>>;
|
|
242
249
|
flow<T extends TaskRecord>(tasks: T & ThisType<InferredFlowTaskContext<T>>): Promise<FlowResult<T>>;
|
|
243
250
|
}
|
|
244
|
-
declare function dispose():
|
|
251
|
+
declare function dispose(): AsyncDisposer;
|
|
245
252
|
type GenUnwrap<T> = Exclude<Awaited<T>, Error>;
|
|
246
253
|
type GenUse = <T>(value: T) => Generator<T, GenUnwrap<T>, GenUnwrap<T>>;
|
|
247
254
|
type GenErrors<TYield> = Extract<Awaited<TYield>, Error>;
|