@nicolastoulemont/std 0.6.0 → 0.7.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 +232 -33
- package/dist/adt/index.d.mts +2 -2
- package/dist/adt/index.mjs +1 -1
- package/dist/adt-DajUZvJe.mjs +2 -0
- package/dist/adt-DajUZvJe.mjs.map +1 -0
- package/dist/brand/index.d.mts +2 -2
- package/dist/brand/index.mjs +1 -1
- package/dist/brand-Bia3Vj6l.mjs +2 -0
- package/dist/brand-Bia3Vj6l.mjs.map +1 -0
- package/dist/context/index.d.mts +2 -0
- package/dist/context/index.mjs +1 -0
- package/dist/context-CCHj1nab.mjs +2 -0
- package/dist/context-CCHj1nab.mjs.map +1 -0
- package/dist/context-r8ESJiFn.d.mts +176 -0
- package/dist/context-r8ESJiFn.d.mts.map +1 -0
- package/dist/data/index.d.mts +2 -2
- package/dist/data/index.mjs +1 -1
- package/dist/data-BLXO4XwS.mjs +2 -0
- package/dist/data-BLXO4XwS.mjs.map +1 -0
- package/dist/data.tagged-error.types-CGiKD-ES.d.mts +29 -0
- package/dist/data.tagged-error.types-CGiKD-ES.d.mts.map +1 -0
- package/dist/{discriminator.types-9PxvrZki.d.mts → discriminator.types-CTURejXz.d.mts} +1 -1
- package/dist/discriminator.types-CTURejXz.d.mts.map +1 -0
- package/dist/dual-CZhzZslG.mjs +2 -0
- package/dist/dual-CZhzZslG.mjs.map +1 -0
- package/dist/either/index.d.mts +2 -2
- package/dist/either/index.mjs +1 -1
- package/dist/either-BMLPfvMl.mjs +2 -0
- package/dist/either-BMLPfvMl.mjs.map +1 -0
- package/dist/{equality-CD4_A1Op.mjs → equality-CoyUHWh9.mjs} +1 -1
- package/dist/{equality-CD4_A1Op.mjs.map → equality-CoyUHWh9.mjs.map} +1 -1
- package/dist/{flow-CYjiodlC.mjs → flow-D8_tllWl.mjs} +1 -1
- package/dist/flow-D8_tllWl.mjs.map +1 -0
- package/dist/functions/index.d.mts +2 -0
- package/dist/functions/index.mjs +1 -0
- package/dist/functions-BkevX2Dw.mjs +2 -0
- package/dist/functions-BkevX2Dw.mjs.map +1 -0
- package/dist/fx/index.d.mts +2 -3
- package/dist/fx/index.mjs +1 -1
- package/dist/fx-K-a9Smhn.mjs +2 -0
- package/dist/fx-K-a9Smhn.mjs.map +1 -0
- package/dist/fx.runtime-DclEDyjY.mjs +2 -0
- package/dist/fx.runtime-DclEDyjY.mjs.map +1 -0
- package/dist/{fx.types-CDVjDn_3.mjs → fx.types-Bg-Mmdm5.mjs} +1 -1
- package/dist/fx.types-Bg-Mmdm5.mjs.map +1 -0
- package/dist/{fx.types-B34asVRX.d.mts → fx.types-DeEWEltG.d.mts} +2 -2
- package/dist/{fx.types-B34asVRX.d.mts.map → fx.types-DeEWEltG.d.mts.map} +1 -1
- package/dist/index-7Lv982Om.d.mts +217 -0
- package/dist/index-7Lv982Om.d.mts.map +1 -0
- package/dist/{index-CklRfom5.d.mts → index-B1-tBzc0.d.mts} +263 -368
- package/dist/index-B1-tBzc0.d.mts.map +1 -0
- package/dist/index-BNQ9xSAz.d.mts +464 -0
- package/dist/index-BNQ9xSAz.d.mts.map +1 -0
- package/dist/index-B_iY5tq0.d.mts +241 -0
- package/dist/index-B_iY5tq0.d.mts.map +1 -0
- package/dist/index-B_wWGszy.d.mts +129 -0
- package/dist/index-B_wWGszy.d.mts.map +1 -0
- package/dist/index-BiiE8NS7.d.mts +108 -0
- package/dist/index-BiiE8NS7.d.mts.map +1 -0
- package/dist/index-By6dNRc4.d.mts +277 -0
- package/dist/index-By6dNRc4.d.mts.map +1 -0
- package/dist/{index-BzYtgdX0.d.mts → index-CGiLfREk.d.mts} +123 -16
- package/dist/index-CGiLfREk.d.mts.map +1 -0
- package/dist/index-CUZn-ohG.d.mts +490 -0
- package/dist/index-CUZn-ohG.d.mts.map +1 -0
- package/dist/index-Cq2IFito.d.mts +121 -0
- package/dist/index-Cq2IFito.d.mts.map +1 -0
- package/dist/{index-B2l8_CiD.d.mts → index-DEAWPlcI.d.mts} +155 -216
- package/dist/index-DEAWPlcI.d.mts.map +1 -0
- package/dist/{index-C4v_3f3-.d.mts → index-DKS1g1oC.d.mts} +95 -42
- package/dist/index-DKS1g1oC.d.mts.map +1 -0
- package/dist/{index-jeC5jyRh.d.mts → index-DXbYlSnB.d.mts} +64 -101
- package/dist/index-DXbYlSnB.d.mts.map +1 -0
- package/dist/{index-CjZ95Dsv.d.mts → index-UzMbg1dh.d.mts} +188 -202
- package/dist/index-UzMbg1dh.d.mts.map +1 -0
- package/dist/index.d.mts +23 -16
- package/dist/index.mjs +1 -1
- package/dist/layer/index.d.mts +2 -0
- package/dist/layer/index.mjs +1 -0
- package/dist/layer-BttmtDrs.mjs +2 -0
- package/dist/layer-BttmtDrs.mjs.map +1 -0
- package/dist/layer.types-DgpCIsk_.d.mts +100 -0
- package/dist/layer.types-DgpCIsk_.d.mts.map +1 -0
- package/dist/multithread/index.d.mts +2 -0
- package/dist/multithread/index.mjs +1 -0
- package/dist/multithread-xUUh4eLn.mjs +19 -0
- package/dist/multithread-xUUh4eLn.mjs.map +1 -0
- package/dist/option/index.d.mts +2 -3
- package/dist/option/index.mjs +1 -1
- package/dist/option-Tfbo4wty.mjs +2 -0
- package/dist/option-Tfbo4wty.mjs.map +1 -0
- package/dist/option.types-D1mm0zUb.mjs +2 -0
- package/dist/option.types-D1mm0zUb.mjs.map +1 -0
- package/dist/{option.types-ClJiBTdg.d.mts → option.types-qPevEZQd.d.mts} +7 -12
- package/dist/option.types-qPevEZQd.d.mts.map +1 -0
- package/dist/order/index.d.mts +2 -0
- package/dist/order/index.mjs +1 -0
- package/dist/order-D5c4QChk.mjs +2 -0
- package/dist/order-D5c4QChk.mjs.map +1 -0
- package/dist/pipeable-COGyGMUV.mjs +2 -0
- package/dist/pipeable-COGyGMUV.mjs.map +1 -0
- package/dist/{pipeable-B4YJA56p.d.mts → pipeable-rfqacPxZ.d.mts} +2 -9
- package/dist/{pipeable-B4YJA56p.d.mts.map → pipeable-rfqacPxZ.d.mts.map} +1 -1
- package/dist/predicate/index.d.mts +2 -2
- package/dist/predicate/index.mjs +1 -1
- package/dist/predicate-DUhhQqWY.mjs +2 -0
- package/dist/predicate-DUhhQqWY.mjs.map +1 -0
- package/dist/provide/index.d.mts +2 -0
- package/dist/provide/index.mjs +1 -0
- package/dist/provide-C2cWOx2B.mjs +2 -0
- package/dist/provide-C2cWOx2B.mjs.map +1 -0
- package/dist/queue/index.d.mts +2 -0
- package/dist/queue/index.mjs +1 -0
- package/dist/queue-Sg6KJerl.mjs +2 -0
- package/dist/queue-Sg6KJerl.mjs.map +1 -0
- package/dist/queue.types-CD2LOu37.d.mts +36 -0
- package/dist/queue.types-CD2LOu37.d.mts.map +1 -0
- package/dist/result/index.d.mts +2 -3
- package/dist/result/index.mjs +1 -1
- package/dist/result-BEzV0DYC.mjs +2 -0
- package/dist/result-BEzV0DYC.mjs.map +1 -0
- package/dist/{result.types-HHDzgSTV.d.mts → result.types-_xDAei3-.d.mts} +5 -97
- package/dist/result.types-_xDAei3-.d.mts.map +1 -0
- package/dist/schedule/index.d.mts +2 -0
- package/dist/schedule/index.mjs +1 -0
- package/dist/schedule-C6tjcJ1O.mjs +2 -0
- package/dist/schedule-C6tjcJ1O.mjs.map +1 -0
- package/dist/schedule-DlX2Dg69.d.mts +144 -0
- package/dist/schedule-DlX2Dg69.d.mts.map +1 -0
- package/dist/scope/index.d.mts +2 -0
- package/dist/scope/index.mjs +1 -0
- package/dist/scope-CZdp4wKX.d.mts +79 -0
- package/dist/scope-CZdp4wKX.d.mts.map +1 -0
- package/dist/scope-D_kzd1nT.mjs +2 -0
- package/dist/scope-D_kzd1nT.mjs.map +1 -0
- package/dist/service/index.d.mts +2 -0
- package/dist/service/index.mjs +1 -0
- package/dist/service-3PYQTUdH.mjs +2 -0
- package/dist/service-3PYQTUdH.mjs.map +1 -0
- package/dist/service-DrXU7KJG.d.mts +69 -0
- package/dist/service-DrXU7KJG.d.mts.map +1 -0
- package/dist/service-resolution-C19smeaO.mjs +2 -0
- package/dist/service-resolution-C19smeaO.mjs.map +1 -0
- package/package.json +50 -12
- package/dist/adt-CkRcY_GA.mjs +0 -2
- package/dist/adt-CkRcY_GA.mjs.map +0 -1
- package/dist/apply-fn.types-0g_9eXRy.d.mts +0 -8
- package/dist/apply-fn.types-0g_9eXRy.d.mts.map +0 -1
- package/dist/brand-Gy0kW6-n.mjs +0 -2
- package/dist/brand-Gy0kW6-n.mjs.map +0 -1
- package/dist/data-C0_3MGwm.mjs +0 -2
- package/dist/data-C0_3MGwm.mjs.map +0 -1
- package/dist/discriminator.types-9PxvrZki.d.mts.map +0 -1
- package/dist/either-CPzK-s8W.mjs +0 -2
- package/dist/either-CPzK-s8W.mjs.map +0 -1
- package/dist/err/index.d.mts +0 -2
- package/dist/err/index.mjs +0 -1
- package/dist/err-3KpQ4pj9.mjs +0 -2
- package/dist/err-3KpQ4pj9.mjs.map +0 -1
- package/dist/flow/index.d.mts +0 -2
- package/dist/flow/index.mjs +0 -1
- package/dist/flow-CYjiodlC.mjs.map +0 -1
- package/dist/fx-vqywVJhV.mjs +0 -2
- package/dist/fx-vqywVJhV.mjs.map +0 -1
- package/dist/fx.types-CDVjDn_3.mjs.map +0 -1
- package/dist/index-8Ne4GdOG.d.mts +0 -288
- package/dist/index-8Ne4GdOG.d.mts.map +0 -1
- package/dist/index-B2l8_CiD.d.mts.map +0 -1
- package/dist/index-BOrJQBPO.d.mts +0 -80
- package/dist/index-BOrJQBPO.d.mts.map +0 -1
- package/dist/index-BsXtpnw-.d.mts +0 -225
- package/dist/index-BsXtpnw-.d.mts.map +0 -1
- package/dist/index-BzYtgdX0.d.mts.map +0 -1
- package/dist/index-C4v_3f3-.d.mts.map +0 -1
- package/dist/index-CjZ95Dsv.d.mts.map +0 -1
- package/dist/index-CklRfom5.d.mts.map +0 -1
- package/dist/index-DZdmFtjA.d.mts +0 -79
- package/dist/index-DZdmFtjA.d.mts.map +0 -1
- package/dist/index-a4MEBZZ1.d.mts +0 -850
- package/dist/index-a4MEBZZ1.d.mts.map +0 -1
- package/dist/index-jeC5jyRh.d.mts.map +0 -1
- package/dist/option-DawZC1cE.mjs +0 -2
- package/dist/option-DawZC1cE.mjs.map +0 -1
- package/dist/option.types-ClJiBTdg.d.mts.map +0 -1
- package/dist/pipe/index.d.mts +0 -2
- package/dist/pipe/index.mjs +0 -1
- package/dist/pipe-BPpJyZf7.mjs +0 -2
- package/dist/pipe-BPpJyZf7.mjs.map +0 -1
- package/dist/pipeable-BA0mXhs4.mjs +0 -2
- package/dist/pipeable-BA0mXhs4.mjs.map +0 -1
- package/dist/predicate-Cy_oHA1Q.mjs +0 -2
- package/dist/predicate-Cy_oHA1Q.mjs.map +0 -1
- package/dist/result-CgGYLp0L.mjs +0 -2
- package/dist/result-CgGYLp0L.mjs.map +0 -1
- package/dist/result.types-HHDzgSTV.d.mts.map +0 -1
- /package/dist/{chunk-DAexk1S7.mjs → chunk-C934ptG5.mjs} +0 -0
- /package/dist/{option-Bb-taghv.mjs → option-CBCwzF0L.mjs} +0 -0
- /package/dist/{result-fiJhwVGz.mjs → result-B5WbPg8C.mjs} +0 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { i as Fx } from "./fx.types-DeEWEltG.mjs";
|
|
2
|
+
import { t as Result } from "./result.types-_xDAei3-.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/multithread/multithread.types.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Shared cancellation signal propagated to worker tasks.
|
|
8
|
+
*
|
|
9
|
+
* - When `null`, cooperative cancellation is unavailable in this environment.
|
|
10
|
+
* - When present, `Atomics.load(signal, 0) === 1` indicates cancellation.
|
|
11
|
+
*/
|
|
12
|
+
type MultithreadSignal = Int32Array<SharedArrayBuffer> | null;
|
|
13
|
+
/**
|
|
14
|
+
* Cooperative cancellation context injected as the last argument in worker callbacks.
|
|
15
|
+
*/
|
|
16
|
+
type MultithreadCtx = {
|
|
17
|
+
readonly signal: MultithreadSignal;
|
|
18
|
+
isCancelled(): boolean;
|
|
19
|
+
throwIfCancelled(): void;
|
|
20
|
+
};
|
|
21
|
+
type MultithreadRuntimeUnavailableError = {
|
|
22
|
+
readonly _tag: "MultithreadRuntimeUnavailableError";
|
|
23
|
+
readonly message: string;
|
|
24
|
+
readonly cause?: unknown;
|
|
25
|
+
};
|
|
26
|
+
type MultithreadRuntimeAlreadyInitializedError = {
|
|
27
|
+
readonly _tag: "MultithreadRuntimeAlreadyInitializedError";
|
|
28
|
+
readonly message: string;
|
|
29
|
+
};
|
|
30
|
+
type MultithreadWorkerExecutionError = {
|
|
31
|
+
readonly _tag: "MultithreadWorkerExecutionError";
|
|
32
|
+
readonly message: string;
|
|
33
|
+
readonly cause: unknown;
|
|
34
|
+
};
|
|
35
|
+
type MultithreadCancelledError = {
|
|
36
|
+
readonly _tag: "MultithreadCancelledError";
|
|
37
|
+
readonly message: string;
|
|
38
|
+
};
|
|
39
|
+
type MultithreadAllFailedError = {
|
|
40
|
+
readonly _tag: "MultithreadAllFailedError";
|
|
41
|
+
readonly message: string;
|
|
42
|
+
readonly errors: readonly unknown[];
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Canonical error union for multithread operations.
|
|
46
|
+
*/
|
|
47
|
+
type MultithreadError = MultithreadRuntimeUnavailableError | MultithreadRuntimeAlreadyInitializedError | MultithreadWorkerExecutionError | MultithreadCancelledError | MultithreadAllFailedError;
|
|
48
|
+
/**
|
|
49
|
+
* Worker callback output shape.
|
|
50
|
+
*
|
|
51
|
+
* Worker callbacks may return either:
|
|
52
|
+
* - raw values (wrapped as `Result.ok`), or
|
|
53
|
+
* - explicit `Result` values.
|
|
54
|
+
*/
|
|
55
|
+
type WorkerReturn<A, E> = A | Result<A, E> | Promise<A> | Promise<Result<A, E>>;
|
|
56
|
+
/**
|
|
57
|
+
* Cold, memoized operation representing one multithread execution.
|
|
58
|
+
*
|
|
59
|
+
* - `result()` is the canonical Result-first API.
|
|
60
|
+
* - `await op` works through `then`.
|
|
61
|
+
* - `yield* op` works through async iterator yieldability.
|
|
62
|
+
*/
|
|
63
|
+
type MultithreadOp<A, E> = Fx<A, E> & {
|
|
64
|
+
readonly _tag: "MultithreadOp";
|
|
65
|
+
result(): Promise<Result<A, E>>;
|
|
66
|
+
abort(): void;
|
|
67
|
+
then: PromiseLike<Result<A, E>>["then"];
|
|
68
|
+
[Symbol.asyncIterator](): AsyncGenerator<E, A, unknown>;
|
|
69
|
+
};
|
|
70
|
+
type MultithreadParallelOptions = {
|
|
71
|
+
readonly parallelism?: number;
|
|
72
|
+
};
|
|
73
|
+
type WorkerWithCtx<Args extends readonly unknown[], A, E> = (...args: [...Args, MultithreadCtx]) => WorkerReturn<A, E>;
|
|
74
|
+
type MultithreadRun = {
|
|
75
|
+
<A, E = never>(worker: (ctx: MultithreadCtx) => WorkerReturn<A, E>): MultithreadOp<A, E | MultithreadError>;
|
|
76
|
+
<Args extends readonly unknown[], A, E = never>(worker: WorkerWithCtx<Args, A, E>, ...args: Args): MultithreadOp<A, E | MultithreadError>;
|
|
77
|
+
};
|
|
78
|
+
type MultithreadTask = {
|
|
79
|
+
<A, E = never>(worker: (ctx: MultithreadCtx) => WorkerReturn<A, E>): () => MultithreadOp<A, E | MultithreadError>;
|
|
80
|
+
<Args extends readonly unknown[], A, E = never>(worker: WorkerWithCtx<Args, A, E>): (...args: Args) => MultithreadOp<A, E | MultithreadError>;
|
|
81
|
+
};
|
|
82
|
+
type MultithreadMapWorker<A, B, E> = (value: A, index: number, ctx: MultithreadCtx) => WorkerReturn<B, E>;
|
|
83
|
+
type MultithreadMap = {
|
|
84
|
+
<A, B, E = never>(values: readonly A[], worker: MultithreadMapWorker<A, B, E>, options?: MultithreadParallelOptions): MultithreadOp<readonly B[], E | MultithreadError>;
|
|
85
|
+
<A, B, E = never, InputE = never>(values: Result<readonly A[], InputE>, worker: MultithreadMapWorker<A, B, E>, options?: MultithreadParallelOptions): Promise<Result<readonly B[], E | InputE | MultithreadError>>;
|
|
86
|
+
<A, B, E = never>(worker: MultithreadMapWorker<A, B, E>, options?: MultithreadParallelOptions): <Input extends readonly A[] | Result<readonly A[], unknown>>(values: Input) => Input extends Result<readonly A[], infer InputE> ? Promise<Result<readonly B[], E | InputE | MultithreadError>> : MultithreadOp<readonly B[], E | MultithreadError>;
|
|
87
|
+
};
|
|
88
|
+
type MultithreadForEach = {
|
|
89
|
+
<A, E = never>(values: readonly A[], worker: MultithreadMapWorker<A, unknown, E>, options?: MultithreadParallelOptions): MultithreadOp<void, E | MultithreadError>;
|
|
90
|
+
<A, E = never, InputE = never>(values: Result<readonly A[], InputE>, worker: MultithreadMapWorker<A, unknown, E>, options?: MultithreadParallelOptions): Promise<Result<void, E | InputE | MultithreadError>>;
|
|
91
|
+
<A, E = never>(worker: MultithreadMapWorker<A, unknown, E>, options?: MultithreadParallelOptions): <Input extends readonly A[] | Result<readonly A[], unknown>>(values: Input) => Input extends Result<readonly A[], infer InputE> ? Promise<Result<void, E | InputE | MultithreadError>> : MultithreadOp<void, E | MultithreadError>;
|
|
92
|
+
};
|
|
93
|
+
type MultithreadFilterWorker<A, E> = (value: A, index: number, ctx: MultithreadCtx) => WorkerReturn<boolean, E>;
|
|
94
|
+
type MultithreadFilter = {
|
|
95
|
+
<A, E = never>(values: readonly A[], worker: MultithreadFilterWorker<A, E>, options?: MultithreadParallelOptions): MultithreadOp<readonly A[], E | MultithreadError>;
|
|
96
|
+
<A, E = never, InputE = never>(values: Result<readonly A[], InputE>, worker: MultithreadFilterWorker<A, E>, options?: MultithreadParallelOptions): Promise<Result<readonly A[], E | InputE | MultithreadError>>;
|
|
97
|
+
<A, E = never>(worker: MultithreadFilterWorker<A, E>, options?: MultithreadParallelOptions): <Input extends readonly A[] | Result<readonly A[], unknown>>(values: Input) => Input extends Result<readonly A[], infer InputE> ? Promise<Result<readonly A[], E | InputE | MultithreadError>> : MultithreadOp<readonly A[], E | MultithreadError>;
|
|
98
|
+
};
|
|
99
|
+
type MultithreadFlatMapWorker<A, B, E> = (value: A, index: number, ctx: MultithreadCtx) => WorkerReturn<readonly B[] | B[], E>;
|
|
100
|
+
type MultithreadFlatMap = {
|
|
101
|
+
<A, B, E = never>(values: readonly A[], worker: MultithreadFlatMapWorker<A, B, E>, options?: MultithreadParallelOptions): MultithreadOp<readonly B[], E | MultithreadError>;
|
|
102
|
+
<A, B, E = never, InputE = never>(values: Result<readonly A[], InputE>, worker: MultithreadFlatMapWorker<A, B, E>, options?: MultithreadParallelOptions): Promise<Result<readonly B[], E | InputE | MultithreadError>>;
|
|
103
|
+
<A, B, E = never>(worker: MultithreadFlatMapWorker<A, B, E>, options?: MultithreadParallelOptions): <Input extends readonly A[] | Result<readonly A[], unknown>>(values: Input) => Input extends Result<readonly A[], infer InputE> ? Promise<Result<readonly B[], E | InputE | MultithreadError>> : MultithreadOp<readonly B[], E | MultithreadError>;
|
|
104
|
+
};
|
|
105
|
+
type MultithreadValue<T> = T extends MultithreadOp<infer A, unknown> ? A : never;
|
|
106
|
+
type MultithreadOpError<T> = T extends MultithreadOp<unknown, infer E> ? E : never;
|
|
107
|
+
type MultithreadRace = {
|
|
108
|
+
<A, E>(operations: readonly MultithreadOp<A, E>[]): MultithreadOp<A, E | MultithreadError>;
|
|
109
|
+
<A, E, InputE = never>(operations: Result<readonly MultithreadOp<A, E>[], InputE>): Promise<Result<A, E | InputE | MultithreadError>>;
|
|
110
|
+
<Ops extends readonly MultithreadOp<unknown, unknown>[]>(operations: Ops): MultithreadOp<MultithreadValue<Ops[number]>, MultithreadOpError<Ops[number]> | MultithreadError>;
|
|
111
|
+
<Ops extends readonly MultithreadOp<unknown, unknown>[], InputE = never>(operations: Result<Ops, InputE>): Promise<Result<MultithreadValue<Ops[number]>, MultithreadOpError<Ops[number]> | InputE | MultithreadError>>;
|
|
112
|
+
};
|
|
113
|
+
type MultithreadFirstSuccess = {
|
|
114
|
+
<A, E>(operations: readonly MultithreadOp<A, E>[]): MultithreadOp<A, E | MultithreadError>;
|
|
115
|
+
<A, E, InputE = never>(operations: Result<readonly MultithreadOp<A, E>[], InputE>): Promise<Result<A, E | InputE | MultithreadError>>;
|
|
116
|
+
<Ops extends readonly MultithreadOp<unknown, unknown>[]>(operations: Ops): MultithreadOp<MultithreadValue<Ops[number]>, MultithreadOpError<Ops[number]> | MultithreadError>;
|
|
117
|
+
<Ops extends readonly MultithreadOp<unknown, unknown>[], InputE = never>(operations: Result<Ops, InputE>): Promise<Result<MultithreadValue<Ops[number]>, MultithreadOpError<Ops[number]> | InputE | MultithreadError>>;
|
|
118
|
+
};
|
|
119
|
+
declare namespace multithread_d_exports {
|
|
120
|
+
export { MultithreadCtx, MultithreadError, MultithreadOp, configure, filter, firstSuccess, flatMap, forEach, map, race, run, shutdown, task };
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Execute one worker task as a cancelable `MultithreadOp`.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```ts
|
|
127
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
128
|
+
*
|
|
129
|
+
* const op = Multithread.run((ctx) => (ctx.isCancelled() ? 0 : 42))
|
|
130
|
+
* // => cancelable operation with result() and abort()
|
|
131
|
+
* ```
|
|
132
|
+
*
|
|
133
|
+
* @category Constructors
|
|
134
|
+
*/
|
|
135
|
+
declare const run: MultithreadRun;
|
|
136
|
+
/**
|
|
137
|
+
* Create a reusable worker task factory.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
142
|
+
*
|
|
143
|
+
* const create = Multithread.task((ctx) => (ctx.isCancelled() ? 0 : 16))
|
|
144
|
+
* const op = create()
|
|
145
|
+
* // => operation that resolves to 16 when executed
|
|
146
|
+
* ```
|
|
147
|
+
*
|
|
148
|
+
* @category Constructors
|
|
149
|
+
*/
|
|
150
|
+
declare const task: MultithreadTask;
|
|
151
|
+
/**
|
|
152
|
+
* Map a collection in parallel.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
157
|
+
*
|
|
158
|
+
* const op = Multithread.map([1, 2, 3], (value) => value * 2)
|
|
159
|
+
* // => operation that resolves to [2, 4, 6]
|
|
160
|
+
* ```
|
|
161
|
+
*
|
|
162
|
+
* @category Mapping
|
|
163
|
+
*/
|
|
164
|
+
declare const map: MultithreadMap;
|
|
165
|
+
/**
|
|
166
|
+
* Run side-effecting parallel work for each item.
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```ts
|
|
170
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
171
|
+
*
|
|
172
|
+
* const op = Multithread.forEach(["a", "b"], (value) => value.toUpperCase())
|
|
173
|
+
* // => operation that resolves to void after all items complete
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* @category Sequencing
|
|
177
|
+
*/
|
|
178
|
+
declare const forEach: MultithreadForEach;
|
|
179
|
+
/**
|
|
180
|
+
* Filter a collection in parallel.
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```ts
|
|
184
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
185
|
+
*
|
|
186
|
+
* const op = Multithread.filter([1, 2, 3, 4], (value) => value % 2 === 0)
|
|
187
|
+
* // => operation that resolves to [2, 4]
|
|
188
|
+
* ```
|
|
189
|
+
*
|
|
190
|
+
* @category Filtering
|
|
191
|
+
*/
|
|
192
|
+
declare const filter: MultithreadFilter;
|
|
193
|
+
/**
|
|
194
|
+
* Flat-map a collection in parallel.
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```ts
|
|
198
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
199
|
+
*
|
|
200
|
+
* const op = Multithread.flatMap([1, 2], (value) => [value, value * 10])
|
|
201
|
+
* // => operation that resolves to [1, 10, 2, 20]
|
|
202
|
+
* ```
|
|
203
|
+
*
|
|
204
|
+
* @category Sequencing
|
|
205
|
+
*/
|
|
206
|
+
declare const flatMap: MultithreadFlatMap;
|
|
207
|
+
/**
|
|
208
|
+
* Resolve with the first successfully completed operation.
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```ts
|
|
212
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
213
|
+
*
|
|
214
|
+
* const fast = Multithread.run(() => 1)
|
|
215
|
+
* const slow = Multithread.run(() => 2)
|
|
216
|
+
* const op = Multithread.race([fast, slow])
|
|
217
|
+
* // => operation that resolves with the first finished result
|
|
218
|
+
* ```
|
|
219
|
+
*
|
|
220
|
+
* @category Combining
|
|
221
|
+
*/
|
|
222
|
+
declare const race: MultithreadRace;
|
|
223
|
+
/**
|
|
224
|
+
* Return the first successful operation, aggregating failures if none succeed.
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```ts
|
|
228
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
229
|
+
*
|
|
230
|
+
* import { Result } from "@nicolastoulemont/std"
|
|
231
|
+
*
|
|
232
|
+
* const fail = Multithread.run(() => Result.err("boom"))
|
|
233
|
+
* const pass = Multithread.run(() => Result.ok(1))
|
|
234
|
+
* const op = Multithread.firstSuccess([fail, pass])
|
|
235
|
+
* // => operation that resolves with 1
|
|
236
|
+
* ```
|
|
237
|
+
*
|
|
238
|
+
* @category Combining
|
|
239
|
+
*/
|
|
240
|
+
declare const firstSuccess: MultithreadFirstSuccess;
|
|
241
|
+
/**
|
|
242
|
+
* Configure max worker count used by the underlying runtime.
|
|
243
|
+
*
|
|
244
|
+
* Must be called before first multithread operation starts.
|
|
245
|
+
*
|
|
246
|
+
* @example
|
|
247
|
+
* ```ts
|
|
248
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
249
|
+
*
|
|
250
|
+
* const configured = Multithread.configure({ maxWorkers: 4 })
|
|
251
|
+
* // => { _tag: "Ok", value: undefined }
|
|
252
|
+
* ```
|
|
253
|
+
*
|
|
254
|
+
* @category Constructors
|
|
255
|
+
*/
|
|
256
|
+
declare const configure: (config: {
|
|
257
|
+
maxWorkers: number;
|
|
258
|
+
}) => Result<void, MultithreadError>;
|
|
259
|
+
/**
|
|
260
|
+
* Shutdown worker runtime.
|
|
261
|
+
*
|
|
262
|
+
* This function is idempotent.
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```ts
|
|
266
|
+
* import { Multithread } from "@nicolastoulemont/std"
|
|
267
|
+
*
|
|
268
|
+
* const shutdownPromise = Multithread.shutdown()
|
|
269
|
+
* // => Promise<Result<void, MultithreadError>>
|
|
270
|
+
* ```
|
|
271
|
+
*
|
|
272
|
+
* @category Utilities
|
|
273
|
+
*/
|
|
274
|
+
declare const shutdown: () => Promise<Result<void, MultithreadError>>;
|
|
275
|
+
//#endregion
|
|
276
|
+
export { multithread_d_exports as t };
|
|
277
|
+
//# sourceMappingURL=index-By6dNRc4.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-By6dNRc4.d.mts","names":[],"sources":["../src/multithread/multithread.types.ts","../src/multithread/multithread.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as Discriminator } from "./discriminator.types-
|
|
1
|
+
import { t as Discriminator } from "./discriminator.types-CTURejXz.mjs";
|
|
2
|
+
import { t as TaggedErrorFactory } from "./data.tagged-error.types-CGiKD-ES.mjs";
|
|
2
3
|
|
|
3
4
|
//#region src/data/data.types.d.ts
|
|
4
|
-
|
|
5
5
|
/**
|
|
6
6
|
* A tagged value object created by tagged().
|
|
7
7
|
* Contains the data fields plus a readonly _tag discriminator.
|
|
@@ -114,7 +114,7 @@ type ArrayValue<out T> = {
|
|
|
114
114
|
* arr1.push(4) // TypeError
|
|
115
115
|
* ```
|
|
116
116
|
*/
|
|
117
|
-
declare function array<T>(items: readonly T[]): ArrayValue<T>;
|
|
117
|
+
declare function array$1<T>(items: readonly T[]): ArrayValue<T>;
|
|
118
118
|
//#endregion
|
|
119
119
|
//#region src/data/data.struct.d.ts
|
|
120
120
|
/**
|
|
@@ -148,7 +148,7 @@ declare function array<T>(items: readonly T[]): ArrayValue<T>;
|
|
|
148
148
|
* Object.keys(point) // ["x", "y"]
|
|
149
149
|
* ```
|
|
150
150
|
*/
|
|
151
|
-
declare function struct<T extends Record<string, unknown>>(input: T): StructValue<T>;
|
|
151
|
+
declare function struct$1<T extends Record<string, unknown>>(input: T): StructValue<T>;
|
|
152
152
|
//#endregion
|
|
153
153
|
//#region src/data/data.tagged.d.ts
|
|
154
154
|
/**
|
|
@@ -183,7 +183,44 @@ declare function struct<T extends Record<string, unknown>>(input: T): StructValu
|
|
|
183
183
|
* alice.name = "Bob" // TypeError
|
|
184
184
|
* ```
|
|
185
185
|
*/
|
|
186
|
-
declare function tagged<T extends Record<string, unknown>>(tag: string): TaggedConstructor<typeof tag, T>;
|
|
186
|
+
declare function tagged$1<T extends Record<string, unknown>>(tag: string): TaggedConstructor<typeof tag, T>;
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region src/data/data.tagged-error.d.ts
|
|
189
|
+
/**
|
|
190
|
+
* Create a class-based tagged error type (Effect-style syntax).
|
|
191
|
+
* Returns a class that can be extended to create custom error types.
|
|
192
|
+
* Errors are native Error objects with proper stack traces and instanceof support.
|
|
193
|
+
* Implements Yieldable protocol so errors can be directly yielded in Fx.gen computations.
|
|
194
|
+
*
|
|
195
|
+
* @template Tag - The error tag (discriminator string)
|
|
196
|
+
* @param tag - The error tag
|
|
197
|
+
* @returns A class that can be extended with custom data
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* // Error with data
|
|
202
|
+
* class NotFoundError extends TaggedError("NotFoundError")<{ id: string }> {}
|
|
203
|
+
* const err = new NotFoundError({ id: "123" })
|
|
204
|
+
* err.id // "123"
|
|
205
|
+
* err._tag // "NotFoundError"
|
|
206
|
+
* err.stack // Error stack trace
|
|
207
|
+
*
|
|
208
|
+
* // Error without data
|
|
209
|
+
* class UnauthorizedError extends TaggedError("UnauthorizedError") {}
|
|
210
|
+
* const err2 = new UnauthorizedError()
|
|
211
|
+
*
|
|
212
|
+
* // Direct yielding in Fx.gen computation
|
|
213
|
+
* const program = Fx.gen(function* () {
|
|
214
|
+
* yield* new NotFoundError({ id: "123" }) // Short-circuits with error
|
|
215
|
+
* })
|
|
216
|
+
*
|
|
217
|
+
* // instanceof checks work
|
|
218
|
+
* if (err instanceof NotFoundError) {
|
|
219
|
+
* console.log(err.id)
|
|
220
|
+
* }
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
declare function TaggedError$1<Tag extends string>(tag: Tag): TaggedErrorFactory<Tag>;
|
|
187
224
|
//#endregion
|
|
188
225
|
//#region src/data/data.tuple.d.ts
|
|
189
226
|
/**
|
|
@@ -216,15 +253,85 @@ declare function tagged<T extends Record<string, unknown>>(tag: string): TaggedC
|
|
|
216
253
|
* t1[0] = 5 // TypeError
|
|
217
254
|
* ```
|
|
218
255
|
*/
|
|
219
|
-
declare function tuple<T extends readonly unknown[]>(...args: T): TupleValue<T>;
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
256
|
+
declare function tuple$1<T extends readonly unknown[]>(...args: T): TupleValue<T>;
|
|
257
|
+
declare namespace data_d_exports {
|
|
258
|
+
export { TaggedError, array, struct, tagged, tuple };
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Construct tagged data objects.
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```ts
|
|
265
|
+
* import { Data } from "@nicolastoulemont/std"
|
|
266
|
+
*
|
|
267
|
+
* const User = Data.tagged<{ id: string }>("User")
|
|
268
|
+
* const user = User({ id: "u1" })
|
|
269
|
+
* // => { _tag: "User", id: "u1" }
|
|
270
|
+
* ```
|
|
271
|
+
*
|
|
272
|
+
* @category Constructors
|
|
273
|
+
*/
|
|
274
|
+
declare const tagged: typeof tagged$1;
|
|
275
|
+
/**
|
|
276
|
+
* Construct tagged error classes.
|
|
277
|
+
*
|
|
278
|
+
* @example
|
|
279
|
+
* ```ts
|
|
280
|
+
* import { Data } from "@nicolastoulemont/std"
|
|
281
|
+
*
|
|
282
|
+
* class NotFoundError extends Data.TaggedError("NotFoundError")<{ id: string }> {}
|
|
283
|
+
* const error = new NotFoundError({ id: "u1" })
|
|
284
|
+
* // => { _tag: "NotFoundError", id: "u1" }
|
|
285
|
+
* ```
|
|
286
|
+
*
|
|
287
|
+
* @category Constructors
|
|
288
|
+
*/
|
|
289
|
+
declare const TaggedError: typeof TaggedError$1;
|
|
290
|
+
/**
|
|
291
|
+
* Construct immutable-like structs with stable structural behavior.
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* ```ts
|
|
295
|
+
* import { Data } from "@nicolastoulemont/std"
|
|
296
|
+
*
|
|
297
|
+
* const point = Data.struct({ x: 1, y: 2 })
|
|
298
|
+
* const same = point.equals({ x: 1, y: 2 })
|
|
299
|
+
* // => true
|
|
300
|
+
* ```
|
|
301
|
+
*
|
|
302
|
+
* @category Constructors
|
|
303
|
+
*/
|
|
304
|
+
declare const struct: typeof struct$1;
|
|
305
|
+
/**
|
|
306
|
+
* Construct immutable-like tuples with stable structural behavior.
|
|
307
|
+
*
|
|
308
|
+
* @example
|
|
309
|
+
* ```ts
|
|
310
|
+
* import { Data } from "@nicolastoulemont/std"
|
|
311
|
+
*
|
|
312
|
+
* const pair = Data.tuple("left", 1)
|
|
313
|
+
* const first = pair[0]
|
|
314
|
+
* // => "left"
|
|
315
|
+
* ```
|
|
316
|
+
*
|
|
317
|
+
* @category Constructors
|
|
318
|
+
*/
|
|
319
|
+
declare const tuple: typeof tuple$1;
|
|
320
|
+
/**
|
|
321
|
+
* Construct immutable-like arrays with stable structural behavior.
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```ts
|
|
325
|
+
* import { Data } from "@nicolastoulemont/std"
|
|
326
|
+
*
|
|
327
|
+
* const ids = Data.array(["a", "b"])
|
|
328
|
+
* const upper = ids.map((id) => id.toUpperCase())
|
|
329
|
+
* // => ["A", "B"]
|
|
330
|
+
* ```
|
|
331
|
+
*
|
|
332
|
+
* @category Constructors
|
|
333
|
+
*/
|
|
334
|
+
declare const array: typeof array$1;
|
|
228
335
|
//#endregion
|
|
229
|
-
export {
|
|
230
|
-
//# sourceMappingURL=index-
|
|
336
|
+
export { data_d_exports as t };
|
|
337
|
+
//# sourceMappingURL=index-CGiLfREk.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CGiLfREk.d.mts","names":[],"sources":["../src/data/data.types.ts","../src/data/data.array.ts","../src/data/data.struct.ts","../src/data/data.tagged.ts","../src/data/data.tagged-error.ts","../src/data/data.tuple.ts","../src/data/data.ts"],"sourcesContent":[],"mappings":"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"}
|