@nicolastoulemont/std 0.9.0 → 0.11.0
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 +406 -69
- package/dist/brand/index.d.mts +1 -1
- package/dist/brand/index.mjs +1 -1
- package/dist/{brand-DZgGDrAe.mjs → brand-DP-C92GS.mjs} +2 -2
- package/dist/{brand-DZgGDrAe.mjs.map → brand-DP-C92GS.mjs.map} +1 -1
- package/dist/{brand.types-B3NDX1vo.d.mts → brand.types-Cqkibdlt.d.mts} +1 -1
- package/dist/{brand.types-B3NDX1vo.d.mts.map → brand.types-Cqkibdlt.d.mts.map} +1 -1
- package/dist/context/index.d.mts +1 -1
- package/dist/context/index.mjs +1 -1
- package/dist/{context-0xDbwtpx.mjs → context-7oKePrBY.mjs} +2 -2
- package/dist/{context-0xDbwtpx.mjs.map → context-7oKePrBY.mjs.map} +1 -1
- package/dist/{context-B2dWloPl.d.mts → context-C9UX6GJo.d.mts} +2 -2
- package/dist/{context-B2dWloPl.d.mts.map → context-C9UX6GJo.d.mts.map} +1 -1
- package/dist/data/index.d.mts +1 -1
- package/dist/data/index.mjs +1 -1
- package/dist/data-W10ldR5l.mjs +2 -0
- package/dist/data-W10ldR5l.mjs.map +1 -0
- package/dist/{dual-fN6OUwN_.mjs → dual-CZhzZslG.mjs} +1 -1
- package/dist/{dual-fN6OUwN_.mjs.map → dual-CZhzZslG.mjs.map} +1 -1
- package/dist/duration/index.d.mts +1 -1
- package/dist/duration/index.mjs +1 -1
- package/dist/{duration-Bas3mi1N.mjs → duration-Dwtjy95Z.mjs} +2 -2
- package/dist/{duration-Bas3mi1N.mjs.map → duration-Dwtjy95Z.mjs.map} +1 -1
- package/dist/either/index.d.mts +1 -1
- package/dist/either/index.mjs +1 -1
- package/dist/{either-G7uOu4Ar.mjs → either-B2TvVY_j.mjs} +2 -2
- package/dist/{either-G7uOu4Ar.mjs.map → either-B2TvVY_j.mjs.map} +1 -1
- package/dist/exit-D5zZVlCn.d.mts +67 -0
- package/dist/exit-D5zZVlCn.d.mts.map +1 -0
- package/dist/fiber/index.d.mts +2 -0
- package/dist/fiber/index.mjs +1 -0
- package/dist/fiber-CZsyrDdd.mjs +2 -0
- package/dist/fiber-CZsyrDdd.mjs.map +1 -0
- package/dist/{flow-CNyLsPGb.mjs → flow-D8_tllWl.mjs} +1 -1
- package/dist/{flow-CNyLsPGb.mjs.map → flow-D8_tllWl.mjs.map} +1 -1
- package/dist/functions/index.d.mts +1 -1
- package/dist/functions/index.mjs +1 -1
- package/dist/functions-DmOZ7O4j.mjs +2 -0
- package/dist/{functions-ByAk682_.mjs.map → functions-DmOZ7O4j.mjs.map} +1 -1
- package/dist/fx/index.d.mts +1 -1
- package/dist/fx/index.mjs +1 -1
- package/dist/fx-DXBw4iYX.mjs +2 -0
- package/dist/fx-DXBw4iYX.mjs.map +1 -0
- package/dist/fx.runtime-B2_rL7h_.mjs +2 -0
- package/dist/fx.runtime-B2_rL7h_.mjs.map +1 -0
- package/dist/fx.runtime-q661ckFI.d.mts +16 -0
- package/dist/fx.runtime-q661ckFI.d.mts.map +1 -0
- package/dist/{fx.types-DyQVgTS8.mjs → fx.types-Bg-Mmdm5.mjs} +1 -1
- package/dist/{fx.types-DyQVgTS8.mjs.map → fx.types-Bg-Mmdm5.mjs.map} +1 -1
- package/dist/{fx.types-BdN1EWxr.d.mts → fx.types-CpFKa-Jj.d.mts} +1 -1
- package/dist/{fx.types-BdN1EWxr.d.mts.map → fx.types-CpFKa-Jj.d.mts.map} +1 -1
- package/dist/{index-DfAqfnY0.d.mts → index-BJiD1-T_.d.mts} +4 -4
- package/dist/{index-DfAqfnY0.d.mts.map → index-BJiD1-T_.d.mts.map} +1 -1
- package/dist/{index-DR7hzXU4.d.mts → index-BR6lwlNv.d.mts} +137 -29
- package/dist/index-BR6lwlNv.d.mts.map +1 -0
- package/dist/index-BfQSp6pV.d.mts +226 -0
- package/dist/index-BfQSp6pV.d.mts.map +1 -0
- package/dist/{index-uE3S3Krx.d.mts → index-Bo6pkkVO.d.mts} +5 -5
- package/dist/{index-uE3S3Krx.d.mts.map → index-Bo6pkkVO.d.mts.map} +1 -1
- package/dist/{index-D8rDE60Y.d.mts → index-BsCrdweM.d.mts} +1 -1
- package/dist/index-BsCrdweM.d.mts.map +1 -0
- package/dist/{index-D7mFNjot.d.mts → index-BtPFPfja.d.mts} +1 -1
- package/dist/{index-D7mFNjot.d.mts.map → index-BtPFPfja.d.mts.map} +1 -1
- package/dist/{index-BA0EsFxS.d.mts → index-C7uSldLA.d.mts} +3 -3
- package/dist/{index-BA0EsFxS.d.mts.map → index-C7uSldLA.d.mts.map} +1 -1
- package/dist/{index-CVmgBpDt.d.mts → index-CBtUJ94I.d.mts} +3 -3
- package/dist/{index-CVmgBpDt.d.mts.map → index-CBtUJ94I.d.mts.map} +1 -1
- package/dist/{index-BD-els5J.d.mts → index-CIEdspey.d.mts} +83 -59
- package/dist/index-CIEdspey.d.mts.map +1 -0
- package/dist/{index-dCRymj_g.d.mts → index-CXz5Z5MP.d.mts} +5 -5
- package/dist/{index-dCRymj_g.d.mts.map → index-CXz5Z5MP.d.mts.map} +1 -1
- package/dist/{index-D8gcYvR9.d.mts → index-DDdSA1Rs.d.mts} +5 -5
- package/dist/{index-D8gcYvR9.d.mts.map → index-DDdSA1Rs.d.mts.map} +1 -1
- package/dist/{index-BqJ1GWAF.d.mts → index-D_JbOTtg.d.mts} +2 -2
- package/dist/index-D_JbOTtg.d.mts.map +1 -0
- package/dist/index-DzGXoCV1.d.mts +433 -0
- package/dist/index-DzGXoCV1.d.mts.map +1 -0
- package/dist/{index-CNTYbcY9.d.mts → index-Pma2THAy.d.mts} +10 -3
- package/dist/index-Pma2THAy.d.mts.map +1 -0
- package/dist/{index-CIvNgjsx.d.mts → index-hrn4s4Vn.d.mts} +2 -2
- package/dist/{index-CIvNgjsx.d.mts.map → index-hrn4s4Vn.d.mts.map} +1 -1
- package/dist/{index-D6pjHqlK.d.mts → index-lYxaV6H7.d.mts} +49 -70
- package/dist/index-lYxaV6H7.d.mts.map +1 -0
- package/dist/index-xY9km50k.d.mts +59 -0
- package/dist/index-xY9km50k.d.mts.map +1 -0
- package/dist/index.d.mts +24 -21
- package/dist/index.mjs +1 -1
- package/dist/layer/index.d.mts +1 -1
- package/dist/layer/index.mjs +1 -1
- package/dist/layer-BmrPWBkT.mjs +2 -0
- package/dist/layer-BmrPWBkT.mjs.map +1 -0
- package/dist/{layer.types-BB0MrvLg.d.mts → layer.types-smjitsoN.d.mts} +4 -4
- package/dist/{layer.types-BB0MrvLg.d.mts.map → layer.types-smjitsoN.d.mts.map} +1 -1
- package/dist/log/index.d.mts +2 -0
- package/dist/log/index.mjs +1 -0
- package/dist/log-Bh8G5umo.mjs +2 -0
- package/dist/log-Bh8G5umo.mjs.map +1 -0
- package/dist/multithread/index.d.mts +1 -1
- package/dist/multithread/index.mjs +1 -1
- package/dist/multithread-CovZ2ioL.mjs +21 -0
- package/dist/multithread-CovZ2ioL.mjs.map +1 -0
- package/dist/option/index.d.mts +1 -1
- package/dist/option/index.mjs +1 -1
- package/dist/{option-C2iCxAuJ.mjs → option-BlyP5LA2.mjs} +2 -2
- package/dist/{option-C2iCxAuJ.mjs.map → option-BlyP5LA2.mjs.map} +1 -1
- package/dist/{option.types-D9hrKcfa.d.mts → option.types-Po1qwxiW.d.mts} +3 -3
- package/dist/{option.types-D9hrKcfa.d.mts.map → option.types-Po1qwxiW.d.mts.map} +1 -1
- package/dist/{option.types-CbY_swma.mjs → option.types-bFFSErJ-.mjs} +1 -1
- package/dist/{option.types-CbY_swma.mjs.map → option.types-bFFSErJ-.mjs.map} +1 -1
- package/dist/order/index.d.mts +1 -1
- package/dist/order/index.mjs +1 -1
- package/dist/{order-BXOBEKvB.mjs → order-VTXpppmI.mjs} +2 -2
- package/dist/{order-BXOBEKvB.mjs.map → order-VTXpppmI.mjs.map} +1 -1
- package/dist/{pipeable-BIrevC0D.d.mts → pipeable-BY9yPsNK.d.mts} +1 -1
- package/dist/{pipeable-BIrevC0D.d.mts.map → pipeable-BY9yPsNK.d.mts.map} +1 -1
- package/dist/pipeable-COGyGMUV.mjs +2 -0
- package/dist/{pipeable-Dp1_23zH.mjs.map → pipeable-COGyGMUV.mjs.map} +1 -1
- package/dist/predicate/index.d.mts +1 -1
- package/dist/predicate/index.mjs +1 -1
- package/dist/predicate-CvH7cY_J.mjs +2 -0
- package/dist/predicate-CvH7cY_J.mjs.map +1 -0
- package/dist/provide/index.d.mts +1 -1
- package/dist/provide/index.mjs +1 -1
- package/dist/provide-K-6oXtLm.mjs +2 -0
- package/dist/provide-K-6oXtLm.mjs.map +1 -0
- package/dist/queue/index.d.mts +1 -1
- package/dist/queue/index.mjs +1 -1
- package/dist/{queue-GYVrD39q.mjs → queue-CeEIUHcY.mjs} +2 -2
- package/dist/{queue-GYVrD39q.mjs.map → queue-CeEIUHcY.mjs.map} +1 -1
- package/dist/{queue.types-B-l5XYbU.d.mts → queue.types-Bj63N2ab.d.mts} +1 -1
- package/dist/{queue.types-B-l5XYbU.d.mts.map → queue.types-Bj63N2ab.d.mts.map} +1 -1
- package/dist/result/index.d.mts +1 -1
- package/dist/result/index.mjs +1 -1
- package/dist/{result-D3VY0qBG.mjs → result-C74pRN2x.mjs} +2 -2
- package/dist/{result-D3VY0qBG.mjs.map → result-C74pRN2x.mjs.map} +1 -1
- package/dist/{result.types-BKzChyWY.d.mts → result.types-JEcowzYH.d.mts} +6 -27
- package/dist/result.types-JEcowzYH.d.mts.map +1 -0
- package/dist/schedule/index.d.mts +1 -1
- package/dist/schedule/index.mjs +1 -1
- package/dist/{schedule-B7qV60tO.mjs → schedule-ChcIgvd5.mjs} +2 -2
- package/dist/{schedule-B7qV60tO.mjs.map → schedule-ChcIgvd5.mjs.map} +1 -1
- package/dist/{schedule-BzPjvMXc.d.mts → schedule-ap6y014J.d.mts} +3 -3
- package/dist/{schedule-BzPjvMXc.d.mts.map → schedule-ap6y014J.d.mts.map} +1 -1
- package/dist/schema/index.d.mts +1 -1
- package/dist/schema/index.mjs +1 -1
- package/dist/schema-CjON86AZ.mjs +2 -0
- package/dist/schema-CjON86AZ.mjs.map +1 -0
- package/dist/scope/index.d.mts +1 -1
- package/dist/scope/index.mjs +1 -1
- package/dist/{scope-CuM3CzwG.d.mts → scope-BQEFiS_2.d.mts} +4 -4
- package/dist/scope-BQEFiS_2.d.mts.map +1 -0
- package/dist/scope-D2AqJy7j.mjs +2 -0
- package/dist/scope-D2AqJy7j.mjs.map +1 -0
- package/dist/service/index.d.mts +1 -1
- package/dist/service/index.mjs +1 -1
- package/dist/{service-CWAIEH46.mjs → service-DHkeorS3.mjs} +2 -2
- package/dist/{service-CWAIEH46.mjs.map → service-DHkeorS3.mjs.map} +1 -1
- package/dist/{service-D8mr0wwg.d.mts → service-DIKUYHda.d.mts} +2 -2
- package/dist/{service-D8mr0wwg.d.mts.map → service-DIKUYHda.d.mts.map} +1 -1
- package/dist/trace/index.d.mts +2 -0
- package/dist/trace/index.mjs +1 -0
- package/dist/trace-ByjppUes.mjs +2 -0
- package/dist/trace-ByjppUes.mjs.map +1 -0
- package/dist/trace-NETIRDfA.d.mts +375 -0
- package/dist/trace-NETIRDfA.d.mts.map +1 -0
- package/dist/type-utils.types-CnPpsvt5.d.mts +30 -0
- package/dist/type-utils.types-CnPpsvt5.d.mts.map +1 -0
- package/package.json +15 -5
- package/dist/adt/index.d.mts +0 -2
- package/dist/adt/index.mjs +0 -1
- package/dist/adt-CY8wLJJI.mjs +0 -2
- package/dist/adt-CY8wLJJI.mjs.map +0 -1
- package/dist/data-DqACNS_g.mjs +0 -2
- package/dist/data-DqACNS_g.mjs.map +0 -1
- package/dist/discriminator.types-C-ygT2S1.d.mts +0 -7
- package/dist/discriminator.types-C-ygT2S1.d.mts.map +0 -1
- package/dist/functions-ByAk682_.mjs +0 -2
- package/dist/fx-C_RTDEpv.mjs +0 -2
- package/dist/fx-C_RTDEpv.mjs.map +0 -1
- package/dist/fx.runtime-jQxh77s3.mjs +0 -2
- package/dist/fx.runtime-jQxh77s3.mjs.map +0 -1
- package/dist/index-BD-els5J.d.mts.map +0 -1
- package/dist/index-BaRJVkLo.d.mts +0 -458
- package/dist/index-BaRJVkLo.d.mts.map +0 -1
- package/dist/index-BipW0MC3.d.mts +0 -64
- package/dist/index-BipW0MC3.d.mts.map +0 -1
- package/dist/index-BqJ1GWAF.d.mts.map +0 -1
- package/dist/index-CNTYbcY9.d.mts.map +0 -1
- package/dist/index-D6pjHqlK.d.mts.map +0 -1
- package/dist/index-D8rDE60Y.d.mts.map +0 -1
- package/dist/index-DR7hzXU4.d.mts.map +0 -1
- package/dist/is-plain-object-BoFjRafL.mjs +0 -2
- package/dist/is-plain-object-BoFjRafL.mjs.map +0 -1
- package/dist/layer-C5A-EM0h.mjs +0 -2
- package/dist/layer-C5A-EM0h.mjs.map +0 -1
- package/dist/multithread-Cyc8Bz45.mjs +0 -19
- package/dist/multithread-Cyc8Bz45.mjs.map +0 -1
- package/dist/pipeable-Dp1_23zH.mjs +0 -2
- package/dist/predicate-D_1SsIi4.mjs +0 -2
- package/dist/predicate-D_1SsIi4.mjs.map +0 -1
- package/dist/provide-CuccogWx.mjs +0 -2
- package/dist/provide-CuccogWx.mjs.map +0 -1
- package/dist/result.types-BKzChyWY.d.mts.map +0 -1
- package/dist/schema-DstB1_VK.mjs +0 -2
- package/dist/schema-DstB1_VK.mjs.map +0 -1
- package/dist/schema.shared-Bjyroa6b.mjs +0 -2
- package/dist/schema.shared-Bjyroa6b.mjs.map +0 -1
- package/dist/schema.types-w1WK4kGS.d.mts +0 -62
- package/dist/schema.types-w1WK4kGS.d.mts.map +0 -1
- package/dist/scope-CuM3CzwG.d.mts.map +0 -1
- package/dist/scope-gVt4PESc.mjs +0 -2
- package/dist/scope-gVt4PESc.mjs.map +0 -1
- package/dist/service-resolution-BefYr4nR.mjs +0 -2
- package/dist/service-resolution-BefYr4nR.mjs.map +0 -1
- /package/dist/{chunk-oQKkju2G.mjs → chunk-6rpU2rUb.mjs} +0 -0
- /package/dist/{option-CXXiA1w-.mjs → option-BqAUkJ8e.mjs} +0 -0
- /package/dist/{result-xFLfwriM.mjs → result-B5WbPg8C.mjs} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { i as Fx } from "./fx.types-
|
|
2
|
-
import { t as Result } from "./result.types-
|
|
1
|
+
import { i as Fx, t as AsyncFx } from "./fx.types-CpFKa-Jj.mjs";
|
|
2
|
+
import { t as Result } from "./result.types-JEcowzYH.mjs";
|
|
3
|
+
import { n as Layer } from "./layer.types-smjitsoN.mjs";
|
|
3
4
|
|
|
4
5
|
//#region src/multithread/multithread.types.d.ts
|
|
5
6
|
|
|
@@ -10,11 +11,21 @@ import { t as Result } from "./result.types-BKzChyWY.mjs";
|
|
|
10
11
|
* - When present, `Atomics.load(signal, 0) === 1` indicates cancellation.
|
|
11
12
|
*/
|
|
12
13
|
type MultithreadSignal = Int32Array<SharedArrayBuffer> | null;
|
|
14
|
+
type MultithreadRuntimeSnapshot = {
|
|
15
|
+
readonly fiberId: number | undefined;
|
|
16
|
+
readonly logFields: Record<string, unknown>;
|
|
17
|
+
readonly trace: {
|
|
18
|
+
readonly traceId: string;
|
|
19
|
+
readonly spanId: string;
|
|
20
|
+
readonly traceFlags?: number;
|
|
21
|
+
} | undefined;
|
|
22
|
+
};
|
|
13
23
|
/**
|
|
14
24
|
* Cooperative cancellation context injected as the last argument in worker callbacks.
|
|
15
25
|
*/
|
|
16
26
|
type MultithreadCtx = {
|
|
17
27
|
readonly signal: MultithreadSignal;
|
|
28
|
+
readonly runtime: MultithreadRuntimeSnapshot;
|
|
18
29
|
isCancelled(): boolean;
|
|
19
30
|
throwIfCancelled(): void;
|
|
20
31
|
};
|
|
@@ -79,6 +90,13 @@ type MultithreadTask = {
|
|
|
79
90
|
<A, E = never>(worker: (ctx: MultithreadCtx) => WorkerReturn<A, E>): () => MultithreadOp<A, E | MultithreadError>;
|
|
80
91
|
<Args extends readonly unknown[], A, E = never>(worker: WorkerWithCtx<Args, A, E>): (...args: Args) => MultithreadOp<A, E | MultithreadError>;
|
|
81
92
|
};
|
|
93
|
+
type MultithreadFx = {
|
|
94
|
+
<A, E = never>(worker: (ctx: MultithreadCtx) => WorkerReturn<A, E>): AsyncFx<A, E | MultithreadError>;
|
|
95
|
+
<Args extends readonly unknown[], A, E = never>(worker: WorkerWithCtx<Args, A, E>, ...args: Args): AsyncFx<A, E | MultithreadError>;
|
|
96
|
+
};
|
|
97
|
+
type MultithreadLayer = (config: {
|
|
98
|
+
readonly maxWorkers: number;
|
|
99
|
+
}) => Layer<never, MultithreadError, never, false>;
|
|
82
100
|
type MultithreadMapWorker<A, B, E> = (value: A, index: number, ctx: MultithreadCtx) => WorkerReturn<B, E>;
|
|
83
101
|
type MultithreadMap = {
|
|
84
102
|
<A, B, E = never>(values: readonly A[], worker: MultithreadMapWorker<A, B, E>, options?: MultithreadParallelOptions): MultithreadOp<readonly B[], E | MultithreadError>;
|
|
@@ -117,54 +135,106 @@ type MultithreadFirstSuccess = {
|
|
|
117
135
|
<Ops extends readonly MultithreadOp<unknown, unknown>[], InputE = never>(operations: Result<Ops, InputE>): Promise<Result<MultithreadValue<Ops[number]>, MultithreadOpError<Ops[number]> | InputE | MultithreadError>>;
|
|
118
136
|
};
|
|
119
137
|
declare namespace multithread_d_exports {
|
|
120
|
-
export { MultithreadCtx, MultithreadError, MultithreadOp, configure, filter, firstSuccess, flatMap, forEach, map, race, run, shutdown, task };
|
|
138
|
+
export { MultithreadCtx, MultithreadError, MultithreadOp, MultithreadRuntimeSnapshot, configure, filter, firstSuccess, flatMap, forEach, fx, layer, map, race, run, shutdown, task };
|
|
121
139
|
}
|
|
122
140
|
/**
|
|
123
141
|
* Execute one worker task as a cancelable `MultithreadOp`.
|
|
124
142
|
*
|
|
143
|
+
* Use `run` when you need direct `result()`, `abort()`, `await op`, or explicit
|
|
144
|
+
* sharing of one memoized operation.
|
|
145
|
+
*
|
|
125
146
|
* @example
|
|
126
147
|
* ```ts
|
|
127
148
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
128
149
|
*
|
|
129
|
-
* const op = Multithread.run((
|
|
130
|
-
*
|
|
150
|
+
* const op = Multithread.run((input: string, ctx) => {
|
|
151
|
+
* ctx.throwIfCancelled()
|
|
152
|
+
* return input.toUpperCase()
|
|
153
|
+
* }, "hello")
|
|
154
|
+
*
|
|
155
|
+
* const result = await op.result()
|
|
156
|
+
* // => { _tag: "Ok", value: "HELLO" }
|
|
131
157
|
* ```
|
|
132
158
|
*/
|
|
133
159
|
declare const run: MultithreadRun;
|
|
134
160
|
/**
|
|
135
161
|
* Create a reusable worker task factory.
|
|
136
162
|
*
|
|
163
|
+
* Each call to the returned function creates a fresh `MultithreadOp`.
|
|
164
|
+
*
|
|
137
165
|
* @example
|
|
138
166
|
* ```ts
|
|
139
167
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
140
168
|
*
|
|
141
|
-
* const
|
|
142
|
-
*
|
|
143
|
-
*
|
|
169
|
+
* const uppercase = Multithread.task((input: string, ctx) => {
|
|
170
|
+
* ctx.throwIfCancelled()
|
|
171
|
+
* return input.toUpperCase()
|
|
172
|
+
* })
|
|
173
|
+
*
|
|
174
|
+
* const result = await uppercase("hello").result()
|
|
175
|
+
* // => { _tag: "Ok", value: "HELLO" }
|
|
144
176
|
* ```
|
|
145
177
|
*/
|
|
146
178
|
declare const task: MultithreadTask;
|
|
179
|
+
/**
|
|
180
|
+
* Create a fresh worker-backed Fx for each execution.
|
|
181
|
+
*
|
|
182
|
+
* Prefer this inside reusable `Fx.gen` programs. Use `run` when you need a
|
|
183
|
+
* lower-level operation handle, manual cancellation, or explicit sharing.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```ts
|
|
187
|
+
* import { Fx, Multithread } from "@nicolastoulemont/std"
|
|
188
|
+
*
|
|
189
|
+
* const program = Fx.gen(async function* () {
|
|
190
|
+
* return yield* Multithread.fx((input: number, ctx) => {
|
|
191
|
+
* ctx.throwIfCancelled()
|
|
192
|
+
* return input * 2
|
|
193
|
+
* }, 21)
|
|
194
|
+
* })
|
|
195
|
+
*
|
|
196
|
+
* const exit = await Fx.run(program)
|
|
197
|
+
* // => { _tag: "Ok", value: 42 }
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
declare const fx: MultithreadFx;
|
|
147
201
|
/**
|
|
148
202
|
* Map a collection in parallel.
|
|
149
203
|
*
|
|
204
|
+
* The `parallelism` option controls how many item operations this call keeps in
|
|
205
|
+
* flight. Runtime execution is still bounded by the configured worker count.
|
|
206
|
+
*
|
|
150
207
|
* @example
|
|
151
208
|
* ```ts
|
|
152
209
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
153
210
|
*
|
|
154
|
-
* const
|
|
155
|
-
*
|
|
211
|
+
* const result = await Multithread.map(
|
|
212
|
+
* [1, 2, 3],
|
|
213
|
+
* (value, _index, ctx) => {
|
|
214
|
+
* ctx.throwIfCancelled()
|
|
215
|
+
* return value * 2
|
|
216
|
+
* },
|
|
217
|
+
* { parallelism: 2 },
|
|
218
|
+
* ).result()
|
|
219
|
+
* // => { _tag: "Ok", value: [2, 4, 6] }
|
|
156
220
|
* ```
|
|
157
221
|
*/
|
|
158
222
|
declare const map: MultithreadMap;
|
|
159
223
|
/**
|
|
160
224
|
* Run side-effecting parallel work for each item.
|
|
161
225
|
*
|
|
226
|
+
* Use this when only completion matters. If you need collected values, use
|
|
227
|
+
* `map`.
|
|
228
|
+
*
|
|
162
229
|
* @example
|
|
163
230
|
* ```ts
|
|
164
231
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
165
232
|
*
|
|
166
|
-
* const
|
|
167
|
-
*
|
|
233
|
+
* const result = await Multithread.forEach(["a", "b"], (value, _index, ctx) => {
|
|
234
|
+
* ctx.throwIfCancelled()
|
|
235
|
+
* return value.toUpperCase()
|
|
236
|
+
* }).result()
|
|
237
|
+
* // => { _tag: "Ok", value: undefined }
|
|
168
238
|
* ```
|
|
169
239
|
*/
|
|
170
240
|
declare const forEach: MultithreadForEach;
|
|
@@ -175,8 +245,11 @@ declare const forEach: MultithreadForEach;
|
|
|
175
245
|
* ```ts
|
|
176
246
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
177
247
|
*
|
|
178
|
-
* const
|
|
179
|
-
*
|
|
248
|
+
* const result = await Multithread.filter([1, 2, 3, 4], (value, _index, ctx) => {
|
|
249
|
+
* ctx.throwIfCancelled()
|
|
250
|
+
* return value % 2 === 0
|
|
251
|
+
* }).result()
|
|
252
|
+
* // => { _tag: "Ok", value: [2, 4] }
|
|
180
253
|
* ```
|
|
181
254
|
*/
|
|
182
255
|
declare const filter: MultithreadFilter;
|
|
@@ -187,22 +260,34 @@ declare const filter: MultithreadFilter;
|
|
|
187
260
|
* ```ts
|
|
188
261
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
189
262
|
*
|
|
190
|
-
* const
|
|
191
|
-
*
|
|
263
|
+
* const result = await Multithread.flatMap([1, 2], (value, _index, ctx) => {
|
|
264
|
+
* ctx.throwIfCancelled()
|
|
265
|
+
* return [value, value * 10]
|
|
266
|
+
* }).result()
|
|
267
|
+
* // => { _tag: "Ok", value: [1, 10, 2, 20] }
|
|
192
268
|
* ```
|
|
193
269
|
*/
|
|
194
270
|
declare const flatMap: MultithreadFlatMap;
|
|
195
271
|
/**
|
|
196
|
-
* Resolve with the first
|
|
272
|
+
* Resolve with the first settled operation.
|
|
273
|
+
*
|
|
274
|
+
* The winner may be successful or failed. All remaining operations are aborted
|
|
275
|
+
* after the first operation settles.
|
|
197
276
|
*
|
|
198
277
|
* @example
|
|
199
278
|
* ```ts
|
|
200
279
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
201
280
|
*
|
|
202
|
-
* const fast = Multithread.run(() =>
|
|
203
|
-
* const slow = Multithread.run(() =>
|
|
204
|
-
*
|
|
205
|
-
*
|
|
281
|
+
* const fast = Multithread.run(() => "fast")
|
|
282
|
+
* const slow = Multithread.run(async () => {
|
|
283
|
+
* await new Promise((resolve) => {
|
|
284
|
+
* setTimeout(resolve, 50)
|
|
285
|
+
* })
|
|
286
|
+
* return "slow"
|
|
287
|
+
* })
|
|
288
|
+
*
|
|
289
|
+
* const result = await Multithread.race([fast, slow]).result()
|
|
290
|
+
* // => { _tag: "Ok", value: "fast" }
|
|
206
291
|
* ```
|
|
207
292
|
*/
|
|
208
293
|
declare const race: MultithreadRace;
|
|
@@ -211,14 +296,13 @@ declare const race: MultithreadRace;
|
|
|
211
296
|
*
|
|
212
297
|
* @example
|
|
213
298
|
* ```ts
|
|
214
|
-
* import { Multithread } from "@nicolastoulemont/std"
|
|
215
|
-
*
|
|
216
|
-
* import { Result } from "@nicolastoulemont/std"
|
|
299
|
+
* import { Multithread, Result } from "@nicolastoulemont/std"
|
|
217
300
|
*
|
|
218
301
|
* const fail = Multithread.run(() => Result.err("boom"))
|
|
219
302
|
* const pass = Multithread.run(() => Result.ok(1))
|
|
220
|
-
*
|
|
221
|
-
*
|
|
303
|
+
*
|
|
304
|
+
* const result = await Multithread.firstSuccess([fail, pass]).result()
|
|
305
|
+
* // => { _tag: "Ok", value: 1 }
|
|
222
306
|
* ```
|
|
223
307
|
*/
|
|
224
308
|
declare const firstSuccess: MultithreadFirstSuccess;
|
|
@@ -226,6 +310,7 @@ declare const firstSuccess: MultithreadFirstSuccess;
|
|
|
226
310
|
* Configure max worker count used by the underlying runtime.
|
|
227
311
|
*
|
|
228
312
|
* Must be called before first multithread operation starts.
|
|
313
|
+
* Use `layer` instead when the worker runtime should follow an `Fx` scope.
|
|
229
314
|
*
|
|
230
315
|
* @example
|
|
231
316
|
* ```ts
|
|
@@ -238,20 +323,43 @@ declare const firstSuccess: MultithreadFirstSuccess;
|
|
|
238
323
|
declare const configure: (config: {
|
|
239
324
|
maxWorkers: number;
|
|
240
325
|
}) => Result<void, MultithreadError>;
|
|
326
|
+
/**
|
|
327
|
+
* Create an Fx layer that configures and shuts down the shared worker runtime.
|
|
328
|
+
*
|
|
329
|
+
* The underlying `multithreading` runtime is process-global, so the layer makes
|
|
330
|
+
* that lifecycle visible to `Fx` scopes rather than creating a per-fiber pool.
|
|
331
|
+
*
|
|
332
|
+
* @example
|
|
333
|
+
* ```ts
|
|
334
|
+
* import { Fx, Multithread, Provide } from "@nicolastoulemont/std"
|
|
335
|
+
*
|
|
336
|
+
* const program = Provide.layer(Multithread.layer({ maxWorkers: 2 }))(
|
|
337
|
+
* Fx.gen(async function* () {
|
|
338
|
+
* return yield* Multithread.fx(() => 42)
|
|
339
|
+
* }),
|
|
340
|
+
* )
|
|
341
|
+
*
|
|
342
|
+
* const exit = await Fx.run(program)
|
|
343
|
+
* // => { _tag: "Ok", value: 42 }
|
|
344
|
+
* ```
|
|
345
|
+
*/
|
|
346
|
+
declare const layer: MultithreadLayer;
|
|
241
347
|
/**
|
|
242
348
|
* Shutdown worker runtime.
|
|
243
349
|
*
|
|
244
350
|
* This function is idempotent.
|
|
351
|
+
* Direct users can call it in test cleanup or process teardown. `layer` calls it
|
|
352
|
+
* automatically when the owning scope closes.
|
|
245
353
|
*
|
|
246
354
|
* @example
|
|
247
355
|
* ```ts
|
|
248
356
|
* import { Multithread } from "@nicolastoulemont/std"
|
|
249
357
|
*
|
|
250
|
-
* const
|
|
251
|
-
* // =>
|
|
358
|
+
* const result = await Multithread.shutdown()
|
|
359
|
+
* // => { _tag: "Ok", value: undefined }
|
|
252
360
|
* ```
|
|
253
361
|
*/
|
|
254
362
|
declare const shutdown: () => Promise<Result<void, MultithreadError>>;
|
|
255
363
|
//#endregion
|
|
256
364
|
export { multithread_d_exports as t };
|
|
257
|
-
//# sourceMappingURL=index-
|
|
365
|
+
//# sourceMappingURL=index-BR6lwlNv.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BR6lwlNv.d.mts","names":[],"sources":["../src/multithread/multithread.types.ts","../src/multithread/multithread.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { f as RunnableFx, m as SyncFx } from "./fx.types-CpFKa-Jj.mjs";
|
|
2
|
+
import { n as Layer } from "./layer.types-smjitsoN.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/log/log.d.ts
|
|
5
|
+
declare namespace log_d_exports {
|
|
6
|
+
export { ContextualLogger, Event, Fields, Level, Logger, console, context, emit, json, layer, withFields, withSpan };
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Supported log event levels.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import type { Log } from "@nicolastoulemont/std"
|
|
14
|
+
*
|
|
15
|
+
* const level: Log.Level = "info"
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
type Level = "debug" | "info" | "warn" | "error";
|
|
19
|
+
/**
|
|
20
|
+
* Structured fields attached to log events.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import type { Log } from "@nicolastoulemont/std"
|
|
25
|
+
*
|
|
26
|
+
* const fields: Log.Fields = { requestId: "req_1" }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
type Fields = Record<string, unknown>;
|
|
30
|
+
/**
|
|
31
|
+
* Concrete event delivered to installed logger backends.
|
|
32
|
+
*
|
|
33
|
+
* Events include merged contextual fields, active log spans, trace correlation
|
|
34
|
+
* when a current span exists, and the current fiber id.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* import type { Log } from "@nicolastoulemont/std"
|
|
39
|
+
*
|
|
40
|
+
* const logger: Log.Logger = {
|
|
41
|
+
* log: (event) => {
|
|
42
|
+
* globalThis.console.log(event.level, event.message, event.fields)
|
|
43
|
+
* },
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
type Event = {
|
|
48
|
+
readonly timestamp: Date;
|
|
49
|
+
readonly level: Level;
|
|
50
|
+
readonly message: string;
|
|
51
|
+
readonly fields: Fields;
|
|
52
|
+
readonly logSpans: ReadonlyArray<{
|
|
53
|
+
readonly label: string;
|
|
54
|
+
readonly elapsedMs: number;
|
|
55
|
+
}>;
|
|
56
|
+
readonly trace: {
|
|
57
|
+
readonly traceId: string;
|
|
58
|
+
readonly spanId: string;
|
|
59
|
+
readonly spanName: string;
|
|
60
|
+
} | undefined;
|
|
61
|
+
readonly fiberId: number | undefined;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Logger backend installed through `Log.layer`.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* import type { Log } from "@nicolastoulemont/std"
|
|
69
|
+
*
|
|
70
|
+
* const events: Log.Event[] = []
|
|
71
|
+
* const logger: Log.Logger = { log: (event) => events.push(event) }
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
type Logger = {
|
|
75
|
+
readonly log: (event: Event) => void;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Logger returned by `Log.context`.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* import { Fx, Log } from "@nicolastoulemont/std"
|
|
83
|
+
*
|
|
84
|
+
* const program = Fx.gen(function* () {
|
|
85
|
+
* const log = yield* Log.context({ requestId: "req_1" })
|
|
86
|
+
* yield* log.info("request received")
|
|
87
|
+
* })
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
type ContextualLogger = {
|
|
91
|
+
readonly debug: (message: string, fields?: Fields) => SyncFx<void>;
|
|
92
|
+
readonly info: (message: string, fields?: Fields) => SyncFx<void>;
|
|
93
|
+
readonly warn: (message: string, fields?: Fields) => SyncFx<void>;
|
|
94
|
+
readonly error: (message: string, fields?: Fields) => SyncFx<void>;
|
|
95
|
+
};
|
|
96
|
+
type LogContextOptions = {
|
|
97
|
+
readonly logSpan?: string;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Emit one log event at the given level.
|
|
101
|
+
*
|
|
102
|
+
* The event is delivered to every logger installed in the current runtime state.
|
|
103
|
+
* Logger failures are swallowed so logging cannot fail the user program.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* import { Fx, Log, Provide } from "@nicolastoulemont/std"
|
|
108
|
+
*
|
|
109
|
+
* const program = Provide.layer(Log.layer(Log.console()))(
|
|
110
|
+
* Fx.gen(function* () {
|
|
111
|
+
* yield* Log.emit("info", "request received", { route: "/orders" })
|
|
112
|
+
* return "ok"
|
|
113
|
+
* }),
|
|
114
|
+
* )
|
|
115
|
+
*
|
|
116
|
+
* const exit = Fx.run(program)
|
|
117
|
+
* // => { _tag: "Ok", value: "ok" }
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
declare const emit: (level: Level, message: string, fields?: Fields) => SyncFx<void>;
|
|
121
|
+
/**
|
|
122
|
+
* Add log fields to the current runtime state and return a contextual logger.
|
|
123
|
+
*
|
|
124
|
+
* Fields are inherited by nested effects and merged into later log events.
|
|
125
|
+
* Passing `logSpan` also adds elapsed-time decoration to later log events.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* import { Fx, Log } from "@nicolastoulemont/std"
|
|
130
|
+
*
|
|
131
|
+
* const program = Fx.gen(function* () {
|
|
132
|
+
* const log = yield* Log.context({ requestId: "req_1" }, { logSpan: "request" })
|
|
133
|
+
* yield* log.info("loaded user", { userId: "user_1" })
|
|
134
|
+
* return "ok"
|
|
135
|
+
* })
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
declare const context: (fields: Fields, options?: LogContextOptions) => SyncFx<ContextualLogger>;
|
|
139
|
+
/**
|
|
140
|
+
* Run an effect with additional log fields.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* import { Fx, Log } from "@nicolastoulemont/std"
|
|
145
|
+
*
|
|
146
|
+
* const program = Log.withFields({ service: "checkout" })(
|
|
147
|
+
* Fx.gen(function* () {
|
|
148
|
+
* yield* Log.emit("info", "started")
|
|
149
|
+
* return "ok"
|
|
150
|
+
* }),
|
|
151
|
+
* )
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
declare const withFields: (fields: Fields) => <A, E, R>(fx: RunnableFx<A, E, R>) => RunnableFx<A, E, R>;
|
|
155
|
+
/**
|
|
156
|
+
* Run an effect with an active log span.
|
|
157
|
+
*
|
|
158
|
+
* Log spans decorate log events with elapsed time. Use `Trace.span` when you
|
|
159
|
+
* need a real tracing span.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```ts
|
|
163
|
+
* import { Fx, Log } from "@nicolastoulemont/std"
|
|
164
|
+
*
|
|
165
|
+
* const program = Log.withSpan("load-user")(
|
|
166
|
+
* Fx.gen(function* () {
|
|
167
|
+
* yield* Log.emit("info", "loaded user")
|
|
168
|
+
* return "user_1"
|
|
169
|
+
* }),
|
|
170
|
+
* )
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
declare const withSpan: (label: string) => <A, E, R>(fx: RunnableFx<A, E, R>) => RunnableFx<A, E, R>;
|
|
174
|
+
/**
|
|
175
|
+
* Create a logger backend that writes events to `globalThis.console`.
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```ts
|
|
179
|
+
* import { Fx, Log, Provide } from "@nicolastoulemont/std"
|
|
180
|
+
*
|
|
181
|
+
* const program = Provide.layer(Log.layer(Log.console()))(
|
|
182
|
+
* Fx.gen(function* () {
|
|
183
|
+
* yield* Log.emit("info", "hello")
|
|
184
|
+
* }),
|
|
185
|
+
* )
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
declare const console: () => Logger;
|
|
189
|
+
/**
|
|
190
|
+
* Create a logger backend that writes JSON events to `globalThis.console.log`.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```ts
|
|
194
|
+
* import { Fx, Log, Provide } from "@nicolastoulemont/std"
|
|
195
|
+
*
|
|
196
|
+
* const program = Provide.layer(Log.layer(Log.json()))(
|
|
197
|
+
* Fx.gen(function* () {
|
|
198
|
+
* yield* Log.emit("info", "hello")
|
|
199
|
+
* }),
|
|
200
|
+
* )
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
declare const json: () => Logger;
|
|
204
|
+
/**
|
|
205
|
+
* Install one or more logger backends in the current Fx runtime.
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```ts
|
|
209
|
+
* import { Fx, Log, Provide } from "@nicolastoulemont/std"
|
|
210
|
+
*
|
|
211
|
+
* const events: Log.Event[] = []
|
|
212
|
+
* const program = Provide.layer(Log.layer({ log: (event) => events.push(event) }))(
|
|
213
|
+
* Fx.gen(function* () {
|
|
214
|
+
* yield* Log.emit("info", "stored")
|
|
215
|
+
* return events.length
|
|
216
|
+
* }),
|
|
217
|
+
* )
|
|
218
|
+
*
|
|
219
|
+
* const exit = Fx.run(program)
|
|
220
|
+
* // => { _tag: "Ok", value: 1 }
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
declare const layer: (loggers: Logger | ReadonlyArray<Logger>) => Layer<never, never, never, true>;
|
|
224
|
+
//#endregion
|
|
225
|
+
export { log_d_exports as t };
|
|
226
|
+
//# sourceMappingURL=index-BfQSp6pV.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BfQSp6pV.d.mts","names":[],"sources":["../src/log/log.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;KA6CY,KAAA;;;;;;;AAAZ;AAYA;AAmBA;;AAEkB,KArBN,MAAA,GAAS,MAqBH,CAAA,MAAA,EAAA,OAAA,CAAA;;;;AA4BlB;AAiBA;;;;;;;;;;AAKC;AA+CD;;AAA6D,KAnGjD,KAAA,GAmGiD;EAAS,SAAA,SAAA,EAlGhD,IAkGgD;EAAM,SAAA,KAAA,EAjG1D,KAiG0D;EAmE/D,SAAA,OA4BX,EAAA,MAAA;EA5B8B,SAAA,MAAA,EAlKb,MAkKa;EAAkB,SAAA,QAAA,EAjK7B,aAiK6B,CAAA;IAA2B,SAAA,KAAA,EAAA,MAAA;IAAP,SAAA,SAAA,EAAA,MAAA;EAAM,CAAA,CAAA;EA6C/D,SAAA,KASiB,EAAA;IARnB,SAAA,OAAA,EAAA,MAAA;IACgB,SAAA,MAAA,EAAA,MAAA;IAAG,SAAA,QAAA,EAAA,MAAA;EAAG,CAAA,GAAA,SAAA;EAAjB,SAAA,OAAA,EAAA,MAAA,GAAA,SAAA;CAAiC;;;;;AA2BjD;;;;;;;AAEuD,KApN3C,MAAA,GAoN2C;EAAjB,SAAA,GAAA,EAAA,CAAA,KAAA,EAnNd,KAmNc,EAAA,GAAA,IAAA;CAAU;AA0BhD;AAoBA;AAyBA;;;;;;;;;;;KA1QY,gBAAA;6CACiC,WAAW;4CACZ,WAAW;4CACX,WAAW;6CACV,WAAW;;KAGnD,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;cA6CQ,cAAe,iCAAiC,WAAS;;;;;;;;;;;;;;;;;;cAmEzD,kBAAmB,kBAAkB,sBAAoB,OAAO;;;;;;;;;;;;;;;;cA6ChE,qBACF,yBACK,WAAW,GAAG,GAAG,OAAK,WAAW,GAAG,GAAG;;;;;;;;;;;;;;;;;;;cA2B1C,2CAEG,WAAW,GAAG,GAAG,OAAK,WAAW,GAAG,GAAG;;;;;;;;;;;;;;;cA0B1C,eAAc;;;;;;;;;;;;;;;cAoBd,YAAW;;;;;;;;;;;;;;;;;;;;cAyBX,iBAAkB,SAAS,cAAc,YAAU"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { f as RunnableFx, m as SyncFx, t as AsyncFx } from "./fx.types-
|
|
2
|
-
import { t as ServiceClass } from "./service-
|
|
3
|
-
import { n as ScopeService, t as ExcludeScope } from "./scope-
|
|
4
|
-
import { a as UnprovidedDeps, i as MergeROut, n as Layer, r as MergeError, t as AllSync } from "./layer.types-
|
|
1
|
+
import { f as RunnableFx, m as SyncFx, t as AsyncFx } from "./fx.types-CpFKa-Jj.mjs";
|
|
2
|
+
import { t as ServiceClass } from "./service-DIKUYHda.mjs";
|
|
3
|
+
import { n as ScopeService, t as ExcludeScope } from "./scope-BQEFiS_2.mjs";
|
|
4
|
+
import { a as UnprovidedDeps, i as MergeROut, n as Layer, r as MergeError, t as AllSync } from "./layer.types-smjitsoN.mjs";
|
|
5
5
|
|
|
6
6
|
//#region src/layer/layer.d.ts
|
|
7
7
|
declare namespace layer_d_exports {
|
|
@@ -242,4 +242,4 @@ declare const provide: typeof layerProvide;
|
|
|
242
242
|
declare const merge: typeof layerMerge;
|
|
243
243
|
//#endregion
|
|
244
244
|
export { layer_d_exports as t };
|
|
245
|
-
//# sourceMappingURL=index-
|
|
245
|
+
//# sourceMappingURL=index-Bo6pkkVO.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Bo6pkkVO.d.mts","names":[],"sources":["../src/layer/layer.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -456,4 +456,4 @@ declare const sortWith: {
|
|
|
456
456
|
declare const sortBy: <A>(...orders: readonly Order$1<A>[]) => (input: Iterable<A>) => A[];
|
|
457
457
|
//#endregion
|
|
458
458
|
export { order_d_exports as t };
|
|
459
|
-
//# sourceMappingURL=index-
|
|
459
|
+
//# sourceMappingURL=index-BsCrdweM.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BsCrdweM.d.mts","names":[],"sources":["../src/order/order.types.ts","../src/order/order.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -122,4 +122,4 @@ declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(arg: A, f1: (
|
|
|
122
122
|
declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(arg: A, f1: (arg: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J, f10: (arg: Awaited<J>) => K, f11: (arg: Awaited<K>) => L, f12: (arg: Awaited<L>) => M, f13: (arg: Awaited<M>) => N, f14: (arg: Awaited<N>) => O, f15: (arg: Awaited<O>) => P): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11, typeof f12, typeof f13, typeof f14, typeof f15], A>;
|
|
123
123
|
//#endregion
|
|
124
124
|
export { flow as n, pipe as t };
|
|
125
|
-
//# sourceMappingURL=index-
|
|
125
|
+
//# sourceMappingURL=index-BtPFPfja.d.mts.map
|