@nicolastoulemont/std 0.8.2 → 0.10.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 +391 -40
- 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-C_7QgCA4.d.mts} +1 -1
- package/dist/{brand.types-B3NDX1vo.d.mts.map → brand.types-C_7QgCA4.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-B9oWzbwF.d.mts} +2 -2
- package/dist/{context-B2dWloPl.d.mts.map → context-B9oWzbwF.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-CYoDHcOR.mjs → duration-Dwtjy95Z.mjs} +2 -2
- package/dist/{duration-CYoDHcOR.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-DOdhmr81.d.mts +67 -0
- package/dist/exit-DOdhmr81.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.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-BuIElLpZ.d.mts +16 -0
- package/dist/fx.runtime-BuIElLpZ.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-DCUGtEcj.d.mts → index-5QkUtJ-4.d.mts} +4 -4
- package/dist/{index-DCUGtEcj.d.mts.map → index-5QkUtJ-4.d.mts.map} +1 -1
- package/dist/{index-C4DOLLaU.d.mts → index-B3xia3Jl.d.mts} +82 -58
- package/dist/index-B3xia3Jl.d.mts.map +1 -0
- package/dist/{index-CIvNgjsx.d.mts → index-B4rHoUK4.d.mts} +2 -2
- package/dist/{index-CIvNgjsx.d.mts.map → index-B4rHoUK4.d.mts.map} +1 -1
- package/dist/{index-BA0EsFxS.d.mts → index-BDUhDs4D.d.mts} +3 -3
- package/dist/{index-BA0EsFxS.d.mts.map → index-BDUhDs4D.d.mts.map} +1 -1
- package/dist/{index-CNTYbcY9.d.mts → index-BZ1-IrU_.d.mts} +1 -1
- package/dist/{index-CNTYbcY9.d.mts.map → index-BZ1-IrU_.d.mts.map} +1 -1
- package/dist/{index-uE3S3Krx.d.mts → index-BZP6t2h9.d.mts} +5 -5
- package/dist/{index-uE3S3Krx.d.mts.map → index-BZP6t2h9.d.mts.map} +1 -1
- package/dist/{index-D8rDE60Y.d.mts → index-Bu-z5Xoq.d.mts} +1 -1
- package/dist/index-Bu-z5Xoq.d.mts.map +1 -0
- package/dist/index-C8KMi_I9.d.mts +226 -0
- package/dist/index-C8KMi_I9.d.mts.map +1 -0
- package/dist/{index-dCRymj_g.d.mts → index-CfXGmPMY.d.mts} +5 -5
- package/dist/{index-dCRymj_g.d.mts.map → index-CfXGmPMY.d.mts.map} +1 -1
- package/dist/index-Cv48HmyO.d.mts +59 -0
- package/dist/index-Cv48HmyO.d.mts.map +1 -0
- package/dist/{index-B2Z7-XGR.d.mts → index-D-KxgnwF.d.mts} +59 -34
- package/dist/index-D-KxgnwF.d.mts.map +1 -0
- package/dist/{index-DR7hzXU4.d.mts → index-DLkMqvw4.d.mts} +137 -29
- package/dist/index-DLkMqvw4.d.mts.map +1 -0
- package/dist/index-DlWm_PwP.d.mts +436 -0
- package/dist/index-DlWm_PwP.d.mts.map +1 -0
- package/dist/{index-B0flvtFB.d.mts → index-DogEz6WQ.d.mts} +2 -2
- package/dist/{index-B0flvtFB.d.mts.map → index-DogEz6WQ.d.mts.map} +1 -1
- package/dist/{index-crtzMG48.d.mts → index-XxPUUAGQ.d.mts} +41 -6
- package/dist/index-XxPUUAGQ.d.mts.map +1 -0
- package/dist/{index-BqJ1GWAF.d.mts → index-pC80zLHb.d.mts} +2 -2
- package/dist/{index-BqJ1GWAF.d.mts.map → index-pC80zLHb.d.mts.map} +1 -1
- package/dist/index.d.mts +23 -20
- 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-DsCTjICW.d.mts} +4 -4
- package/dist/{layer.types-BB0MrvLg.d.mts.map → layer.types-DsCTjICW.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-DLp3QpFE.d.mts} +3 -3
- package/dist/{option.types-D9hrKcfa.d.mts.map → option.types-DLp3QpFE.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-D_1SsIi4.mjs → predicate-8hY-0Ocv.mjs} +2 -2
- package/dist/{predicate-D_1SsIi4.mjs.map → predicate-8hY-0Ocv.mjs.map} +1 -1
- 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-apiEOlRD.mjs → queue-CeEIUHcY.mjs} +2 -2
- package/dist/{queue-apiEOlRD.mjs.map → queue-CeEIUHcY.mjs.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-CnhiVFEV.d.mts} +3 -3
- package/dist/{result.types-BKzChyWY.d.mts.map → result.types-CnhiVFEV.d.mts.map} +1 -1
- package/dist/schedule/index.d.mts +1 -1
- package/dist/schedule/index.mjs +1 -1
- package/dist/{schedule-C6iN3oMt.mjs → schedule-ChcIgvd5.mjs} +2 -2
- package/dist/{schedule-C6iN3oMt.mjs.map → schedule-ChcIgvd5.mjs.map} +1 -1
- package/dist/{schedule-D2651VJY.d.mts → schedule-DiidMLcl.d.mts} +3 -3
- package/dist/{schedule-D2651VJY.d.mts.map → schedule-DiidMLcl.d.mts.map} +1 -1
- package/dist/schema/index.d.mts +1 -1
- package/dist/schema/index.mjs +1 -1
- package/dist/schema-CT_wO7tN.mjs +2 -0
- package/dist/schema-CT_wO7tN.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-7bLTmdRX.d.mts} +4 -4
- package/dist/scope-7bLTmdRX.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-D8mr0wwg.d.mts → service-C4xUfS_M.d.mts} +2 -2
- package/dist/{service-D8mr0wwg.d.mts.map → service-C4xUfS_M.d.mts.map} +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/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-D_7sjH22.d.mts +375 -0
- package/dist/trace-D_7sjH22.d.mts.map +1 -0
- package/package.json +13 -5
- package/dist/adt/index.d.mts +0 -2
- package/dist/adt/index.mjs +0 -1
- package/dist/adt-CPG_sa8q.mjs +0 -2
- package/dist/adt-CPG_sa8q.mjs.map +0 -1
- package/dist/data-BHYPdqWZ.mjs +0 -2
- package/dist/data-BHYPdqWZ.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/equality-BX6BUidG.mjs +0 -2
- package/dist/equality-BX6BUidG.mjs.map +0 -1
- package/dist/functions-ByAk682_.mjs +0 -2
- package/dist/fx-DUXDxwsU.mjs +0 -2
- package/dist/fx-DUXDxwsU.mjs.map +0 -1
- package/dist/fx.runtime-jQxh77s3.mjs +0 -2
- package/dist/fx.runtime-jQxh77s3.mjs.map +0 -1
- package/dist/index-B2Z7-XGR.d.mts.map +0 -1
- package/dist/index-B41_sFR6.d.mts +0 -64
- package/dist/index-B41_sFR6.d.mts.map +0 -1
- package/dist/index-C4DOLLaU.d.mts.map +0 -1
- package/dist/index-C6W3_n_Q.d.mts +0 -458
- package/dist/index-C6W3_n_Q.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/index-crtzMG48.d.mts.map +0 -1
- package/dist/layer-CKtH7TRL.mjs +0 -2
- package/dist/layer-CKtH7TRL.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/provide--yZE8x-n.mjs +0 -2
- package/dist/provide--yZE8x-n.mjs.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-E1pjcc0Y.d.mts +0 -62
- package/dist/schema.types-E1pjcc0Y.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,458 +0,0 @@
|
|
|
1
|
-
import { h as Prettify, t as Result } from "./result.types-BKzChyWY.mjs";
|
|
2
|
-
import { c as ValidationError } from "./schema.types-E1pjcc0Y.mjs";
|
|
3
|
-
import { t as Discriminator } from "./discriminator.types-C-ygT2S1.mjs";
|
|
4
|
-
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
5
|
-
|
|
6
|
-
//#region src/adt/adt.match.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Handler functions for each variant in a discriminated union.
|
|
9
|
-
* Each key maps to a function that receives the variant value and returns TResult.
|
|
10
|
-
*
|
|
11
|
-
* @template T - The discriminated union type (must have readonly _tag)
|
|
12
|
-
* @template TResult - The return type of all handlers
|
|
13
|
-
*/
|
|
14
|
-
type AdtMatchHandlers<T extends {
|
|
15
|
-
readonly _tag: string;
|
|
16
|
-
}, TResult> = { [K in T["_tag"]]: (value: Extract<T, {
|
|
17
|
-
readonly _tag: K;
|
|
18
|
-
}>) => TResult };
|
|
19
|
-
/**
|
|
20
|
-
* Exhaustive pattern matching for discriminated unions.
|
|
21
|
-
*
|
|
22
|
-
* TypeScript will error if any variant is missing from handlers,
|
|
23
|
-
* ensuring exhaustive handling of all cases.
|
|
24
|
-
*
|
|
25
|
-
* @template T - The discriminated union type (must have readonly _tag)
|
|
26
|
-
* @template TResult - The return type of all handlers
|
|
27
|
-
* @template Handlers - The handler object type (inferred)
|
|
28
|
-
* @param value - A discriminated union value with _tag
|
|
29
|
-
* @param handlers - An object with a handler function for each variant
|
|
30
|
-
* @returns The result of calling the matching handler
|
|
31
|
-
*
|
|
32
|
-
* @see {@link union} for creating discriminated unions
|
|
33
|
-
* @see {@link variant} for creating individual variant types
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```ts
|
|
37
|
-
* import { Adt } from "@nicolastoulemont/std"
|
|
38
|
-
* import { z } from "zod"
|
|
39
|
-
*
|
|
40
|
-
* // Adt accepts any Standard Schema-compatible schema, such as zod, valibot, or arktype.
|
|
41
|
-
* const Circle = Adt.variant("Circle", z.object({ radius: z.number() }))
|
|
42
|
-
* const Square = Adt.variant("Square", z.object({ size: z.number() }))
|
|
43
|
-
* const Shape = Adt.union("Shape", { Circle, Square })
|
|
44
|
-
* type Shape = Adt.Infer<typeof Shape>
|
|
45
|
-
*
|
|
46
|
-
* function describeShape(shape: Shape): string {
|
|
47
|
-
* return Adt.match(shape, {
|
|
48
|
-
* Circle: (c) => `Circle with radius ${c.radius}`,
|
|
49
|
-
* Square: (s) => `Square with size ${s.size}`,
|
|
50
|
-
* })
|
|
51
|
-
* }
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
declare function match$1<T extends {
|
|
55
|
-
readonly _tag: string;
|
|
56
|
-
}, TResult, Handlers extends AdtMatchHandlers<T, TResult> = AdtMatchHandlers<T, TResult>>(value: T, handlers: Handlers): TResult;
|
|
57
|
-
//#endregion
|
|
58
|
-
//#region src/adt/adt.types.d.ts
|
|
59
|
-
/**
|
|
60
|
-
* Constraint for custom codec definitions.
|
|
61
|
-
* Ensures codecs have properly typed `to` and `from` methods.
|
|
62
|
-
* Used to constrain the Codecs generic parameter throughout the codebase.
|
|
63
|
-
*/
|
|
64
|
-
type AdtCodecConstraint<Tag$1 extends string, S$1 extends StandardSchemaV1> = Record<string, {
|
|
65
|
-
to: (value: AdtInferOutput<S$1> & Discriminator<Tag$1>) => any;
|
|
66
|
-
from: (input: any) => any;
|
|
67
|
-
}>;
|
|
68
|
-
/**
|
|
69
|
-
* Error type for codec operations.
|
|
70
|
-
* Used when encoding fails or when decoded data fails validation.
|
|
71
|
-
*/
|
|
72
|
-
type AdtCodecError = {
|
|
73
|
-
readonly kind: "EncodingError" | "DecodingError" | "ValidationError";
|
|
74
|
-
readonly message: string;
|
|
75
|
-
readonly cause?: unknown;
|
|
76
|
-
readonly validationIssues?: ValidationError["issues"];
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* Infer the input type from a Standard Schema.
|
|
80
|
-
* This is what the user provides to create().
|
|
81
|
-
*/
|
|
82
|
-
type AdtInferInput<S$1 extends StandardSchemaV1> = NonNullable<S$1["~standard"]["types"]>["input"];
|
|
83
|
-
/**
|
|
84
|
-
* Infer the output type from a Standard Schema.
|
|
85
|
-
* This is what validation returns (after transforms/defaults).
|
|
86
|
-
*/
|
|
87
|
-
type AdtInferOutput<S$1 extends StandardSchemaV1> = NonNullable<S$1["~standard"]["types"]>["output"];
|
|
88
|
-
/**
|
|
89
|
-
* Extract the return type from a codec's `to` method.
|
|
90
|
-
* This is what the encoding function returns (e.g., string, Uint8Array).
|
|
91
|
-
*/
|
|
92
|
-
type ExtractToReturn<C> = C extends {
|
|
93
|
-
to: (value: any) => infer R;
|
|
94
|
-
} ? R : never;
|
|
95
|
-
/**
|
|
96
|
-
* Extract the input type from a codec's `from` method.
|
|
97
|
-
* This is what the decoding function accepts (e.g., string, Uint8Array).
|
|
98
|
-
*/
|
|
99
|
-
type ExtractFromInput<C> = C extends {
|
|
100
|
-
from: (input: infer I) => any;
|
|
101
|
-
} ? I : never;
|
|
102
|
-
/**
|
|
103
|
-
* Build the "to" object containing encoding methods.
|
|
104
|
-
* Always includes 'json' plus any custom codec names.
|
|
105
|
-
* Uses type extraction to infer return types from codec definitions.
|
|
106
|
-
* All methods return Result<T, AdtCodecError> for consistent error handling.
|
|
107
|
-
*/
|
|
108
|
-
type ToMethods<S$1 extends StandardSchemaV1, Codecs> = {
|
|
109
|
-
json: (value: AdtInferInput<S$1>) => Result<string, AdtCodecError>;
|
|
110
|
-
} & (Codecs extends Record<string, any> ? { [K in keyof Codecs]: (value: AdtInferInput<S$1>) => Result<ExtractToReturn<Codecs[K]>, AdtCodecError> } : object);
|
|
111
|
-
/**
|
|
112
|
-
* Build the "from" object containing decoding methods.
|
|
113
|
-
* Always includes 'json' plus any custom codec names.
|
|
114
|
-
* All methods return Result<T, AdtCodecError> for consistent error handling.
|
|
115
|
-
* Uses type extraction to infer input types from codec definitions.
|
|
116
|
-
*/
|
|
117
|
-
type FromMethods<Tag$1 extends string, S$1 extends StandardSchemaV1, Codecs> = {
|
|
118
|
-
json: (input: string) => Result<AdtInferOutput<S$1> & Discriminator<Tag$1>, AdtCodecError>;
|
|
119
|
-
} & (Codecs extends Record<string, any> ? { [K in keyof Codecs]: (input: ExtractFromInput<Codecs[K]>) => Result<AdtInferOutput<S$1> & Discriminator<Tag$1>, AdtCodecError> } : object);
|
|
120
|
-
/**
|
|
121
|
-
* A tagged variant created by the variant() function.
|
|
122
|
-
* Can be used standalone or composed into an AdtUnion via union().
|
|
123
|
-
* Callable as a function to create instances.
|
|
124
|
-
*/
|
|
125
|
-
type AdtVariant<Tag$1 extends string = string, S$1 extends StandardSchemaV1 = StandardSchemaV1, Codecs extends AdtCodecConstraint<Tag$1, S$1> | undefined = undefined> = {
|
|
126
|
-
/** Marker to identify this as a AdtVariant */
|
|
127
|
-
readonly _variant: true;
|
|
128
|
-
/** The _tag discriminator value */
|
|
129
|
-
readonly _tag: Tag$1;
|
|
130
|
-
/** The underlying Standard Schema */
|
|
131
|
-
readonly schema: S$1;
|
|
132
|
-
/** Codec definitions (if provided) */
|
|
133
|
-
readonly codecs?: Codecs;
|
|
134
|
-
/**
|
|
135
|
-
* Create an instance of this variant.
|
|
136
|
-
* @param input - The input data (schema defaults apply)
|
|
137
|
-
* @returns Result with tagged output or validation error
|
|
138
|
-
*/
|
|
139
|
-
(input: AdtInferInput<S$1>): Result<AdtInferOutput<S$1> & Discriminator<Tag$1>, ValidationError>;
|
|
140
|
-
/**
|
|
141
|
-
* Type guard to check if a value is this variant type.
|
|
142
|
-
* @param value - The value to check
|
|
143
|
-
*/
|
|
144
|
-
is(value: unknown): value is AdtInferOutput<S$1> & Discriminator<Tag$1>;
|
|
145
|
-
/**
|
|
146
|
-
* Encoding methods for serializing variant values.
|
|
147
|
-
* Always includes 'json' plus any custom codecs.
|
|
148
|
-
*/
|
|
149
|
-
readonly to: ToMethods<S$1, Codecs>;
|
|
150
|
-
/**
|
|
151
|
-
* Decoding methods for deserializing to variant values.
|
|
152
|
-
* Always includes 'json' plus any custom codecs.
|
|
153
|
-
* All methods validate through the schema before returning.
|
|
154
|
-
*/
|
|
155
|
-
readonly from: FromMethods<Tag$1, S$1, Codecs>;
|
|
156
|
-
/**
|
|
157
|
-
* Compare two instances of this variant for value equality.
|
|
158
|
-
* Performs deep comparison of all fields.
|
|
159
|
-
*/
|
|
160
|
-
equals(a: AdtInferOutput<S$1> & Discriminator<Tag$1>, b: AdtInferOutput<S$1> & Discriminator<Tag$1>): boolean;
|
|
161
|
-
/**
|
|
162
|
-
* Compute a hash code for a variant instance.
|
|
163
|
-
* Equal values always produce the same hash.
|
|
164
|
-
* Useful for Map/Set keys.
|
|
165
|
-
*/
|
|
166
|
-
hash(value: AdtInferOutput<S$1> & Discriminator<Tag$1>): number;
|
|
167
|
-
};
|
|
168
|
-
/**
|
|
169
|
-
* A variant definition can be either:
|
|
170
|
-
* - A raw Standard Schema (will be wrapped internally)
|
|
171
|
-
* - A pre-built AdtVariant from variant()
|
|
172
|
-
*/
|
|
173
|
-
type AdtVariantDef = StandardSchemaV1 | AdtVariant<string, any, any>;
|
|
174
|
-
/**
|
|
175
|
-
* Extract the schema from a AdtVariantDef (handles both raw schema and AdtVariant)
|
|
176
|
-
*/
|
|
177
|
-
type AdtExtractSchema<T extends AdtVariantDef> = T extends AdtVariant<string, infer S, any> ? S : T extends StandardSchemaV1 ? T : never;
|
|
178
|
-
/**
|
|
179
|
-
* Extract the codecs from a AdtVariantDef (if it's a AdtVariant with codecs)
|
|
180
|
-
*/
|
|
181
|
-
type ExtractCodecs<T extends AdtVariantDef> = T extends AdtVariant<string, any, infer Codecs> ? Codecs : undefined;
|
|
182
|
-
/**
|
|
183
|
-
* The AdtUnion returned by union().
|
|
184
|
-
* Contains all variant accessors plus a root type guard.
|
|
185
|
-
* Codecs from variants are preserved in AdtUnion variants.
|
|
186
|
-
*/
|
|
187
|
-
type AdtUnion<R$1 extends Record<string, AdtVariantDef>> = {
|
|
188
|
-
/** The name of this AdtUnion */
|
|
189
|
-
readonly _name: string;
|
|
190
|
-
/**
|
|
191
|
-
* Type guard to check if a value is any variant of this AdtUnion.
|
|
192
|
-
*/
|
|
193
|
-
is(value: unknown): value is InferADTUnion<R$1>;
|
|
194
|
-
/**
|
|
195
|
-
* Compare two AdtUnion values for equality.
|
|
196
|
-
* First checks _tag matches, then compares fields.
|
|
197
|
-
*/
|
|
198
|
-
equals(a: InferADTUnion<R$1>, b: InferADTUnion<R$1>): boolean;
|
|
199
|
-
/**
|
|
200
|
-
* Compute a hash code for any AdtUnion variant.
|
|
201
|
-
*/
|
|
202
|
-
hash(value: InferADTUnion<R$1>): number;
|
|
203
|
-
} & { [K in keyof R$1]: AdtVariant<K & string, AdtExtractSchema<R$1[K]>, ExtractCodecs<R$1[K]>> };
|
|
204
|
-
/**
|
|
205
|
-
* Infer the output type for a single variant within an AdtUnion.
|
|
206
|
-
*/
|
|
207
|
-
type InferRecordOutput<Tag$1 extends string, R$1 extends AdtVariantDef> = AdtInferOutput<AdtExtractSchema<R$1>> & {
|
|
208
|
-
readonly _tag: Tag$1;
|
|
209
|
-
};
|
|
210
|
-
/**
|
|
211
|
-
* Infer the union of all variant output types in an AdtUnion.
|
|
212
|
-
*/
|
|
213
|
-
type InferADTUnion<R$1 extends Record<string, AdtVariantDef>> = { [K in keyof R$1]: InferRecordOutput<K & string, R$1[K]> }[keyof R$1];
|
|
214
|
-
/**
|
|
215
|
-
* AdtInfer types from an AdtUnion or AdtVariant, following Zod's `z.infer` pattern.
|
|
216
|
-
*
|
|
217
|
-
* - For ADTs: Returns the union of all variant types
|
|
218
|
-
* - For AdtVariants: Returns the individual variant type
|
|
219
|
-
*
|
|
220
|
-
* @example
|
|
221
|
-
* ```ts
|
|
222
|
-
* // AdtInfer union type from AdtUnion
|
|
223
|
-
* const Shape = union('Shape', { Circle, Square })
|
|
224
|
-
* type Shape = AdtInfer<typeof Shape>
|
|
225
|
-
* // => { _tag: 'Circle', radius: number } | { _tag: 'Square', size: number }
|
|
226
|
-
*
|
|
227
|
-
* // Infer individual variant type
|
|
228
|
-
* type Circle = AdtInfer<typeof Shape.Circle>
|
|
229
|
-
* // => { _tag: 'Circle', radius: number }
|
|
230
|
-
* ```
|
|
231
|
-
*/
|
|
232
|
-
type AdtInfer<T> = T extends AdtUnion<infer R> ? Prettify<InferADTUnion<R>> : T extends AdtVariant<infer Tag, infer S> ? Prettify<AdtInferOutput<S> & Discriminator<Tag>> : never;
|
|
233
|
-
/**
|
|
234
|
-
* Extract the union of all variant names from an AdtUnion.
|
|
235
|
-
*
|
|
236
|
-
* @example
|
|
237
|
-
* ```ts
|
|
238
|
-
* const Shape = union('Shape', { Circle, Square })
|
|
239
|
-
* type Names = AdtVariantNames<typeof Shape> // "Circle" | "Square"
|
|
240
|
-
* ```
|
|
241
|
-
*/
|
|
242
|
-
type AdtVariantNames<T> = T extends AdtUnion<infer R> ? keyof R & string : never;
|
|
243
|
-
/**
|
|
244
|
-
* Extract the type of a specific variant from an AdtUnion.
|
|
245
|
-
*
|
|
246
|
-
* @example
|
|
247
|
-
* ```ts
|
|
248
|
-
* const Shape = union('Shape', { Circle, Square })
|
|
249
|
-
* type CircleType = AdtVariantOf<typeof Shape, "Circle">
|
|
250
|
-
* // => { _tag: "Circle", radius: number }
|
|
251
|
-
* ```
|
|
252
|
-
*/
|
|
253
|
-
type AdtVariantOf<T, K$1 extends string> = T extends AdtUnion<infer R> ? K$1 extends keyof R ? Prettify<AdtInferOutput<AdtExtractSchema<R[K$1]>> & Discriminator<K$1>> : never : never;
|
|
254
|
-
//#endregion
|
|
255
|
-
//#region src/adt/adt.union.d.ts
|
|
256
|
-
/**
|
|
257
|
-
* Compose records or schemas into a discriminated union (AdtUnion).
|
|
258
|
-
*
|
|
259
|
-
* Accepts either:
|
|
260
|
-
* - Pre-built AdtVariants from variant() (codecs are preserved)
|
|
261
|
-
* - Raw Standard Schema validators (will be wrapped internally)
|
|
262
|
-
*
|
|
263
|
-
* When using pre-built records, the object key overrides the original _tag.
|
|
264
|
-
*
|
|
265
|
-
* @template R - Record of variant names to AdtVariants or StandardSchema validators
|
|
266
|
-
* @param name - The name of this AdtUnion (for identification)
|
|
267
|
-
* @param records - An object mapping _tag names to AdtVariants or schemas
|
|
268
|
-
* @returns An AdtUnion object with accessors for each variant
|
|
269
|
-
*
|
|
270
|
-
* @see {@link variant} for creating individual variant types
|
|
271
|
-
* @see {@link match} for exhaustive pattern matching on AdtUnion values
|
|
272
|
-
*
|
|
273
|
-
* @example
|
|
274
|
-
* ```ts
|
|
275
|
-
* // From pre-built variants
|
|
276
|
-
* const Circle = variant('Circle', CircleSchema)
|
|
277
|
-
* const Square = variant('Square', SquareSchema)
|
|
278
|
-
* const Shape = union('Shape', { Circle, Square })
|
|
279
|
-
*
|
|
280
|
-
* // From raw schemas (JSON codec is automatically included)
|
|
281
|
-
* const Shape = union('Shape', {
|
|
282
|
-
* Circle: CircleSchema,
|
|
283
|
-
* Square: SquareSchema
|
|
284
|
-
* })
|
|
285
|
-
*
|
|
286
|
-
* // JSON codec works on all variants
|
|
287
|
-
* Shape.Circle.to.json({ radius: 10 })
|
|
288
|
-
* Shape.Circle.from.json(jsonString)
|
|
289
|
-
*
|
|
290
|
-
* // Mixed
|
|
291
|
-
* const Shape = union('Shape', {
|
|
292
|
-
* Circle, // Pre-built variant
|
|
293
|
-
* Square: SquareSchema // Raw schema
|
|
294
|
-
* })
|
|
295
|
-
*
|
|
296
|
-
* // Usage
|
|
297
|
-
* Shape.Circle({ radius: 10 })
|
|
298
|
-
* Shape.is(someValue) // type guard for any variant
|
|
299
|
-
* Shape.Circle.is(someValue) // type guard for Circle
|
|
300
|
-
* ```
|
|
301
|
-
*/
|
|
302
|
-
declare function union$1<R$1 extends Record<string, AdtVariantDef>>(name: string, records: R$1): AdtUnion<R$1>;
|
|
303
|
-
//#endregion
|
|
304
|
-
//#region src/adt/adt.variant.d.ts
|
|
305
|
-
/**
|
|
306
|
-
* Create a standalone tagged variant from a Standard Schema with optional codecs.
|
|
307
|
-
*
|
|
308
|
-
* Variants can be used independently or composed into an AdtUnion via union().
|
|
309
|
-
* All defaults should be defined at the schema level (e.g., Zod's .default()).
|
|
310
|
-
*
|
|
311
|
-
* @template Tag - The string literal type for the _tag discriminator
|
|
312
|
-
* @template S - The Standard Schema type for validation
|
|
313
|
-
* @template Codecs - Optional codec definitions for custom serialization formats
|
|
314
|
-
* @param _tag - The _tag discriminator value
|
|
315
|
-
* @param schema - A Standard Schema compliant validator
|
|
316
|
-
* @param codecs - Optional codec definitions for custom serialization formats
|
|
317
|
-
* @returns A callable AdtVariant with is(), to, and from methods
|
|
318
|
-
*
|
|
319
|
-
* @see {@link union} for composing variants into discriminated unions
|
|
320
|
-
* @see {@link tagged} for unvalidated tagged value constructors
|
|
321
|
-
*
|
|
322
|
-
* @example
|
|
323
|
-
* ```ts
|
|
324
|
-
* const CircleSchema = z.object({
|
|
325
|
-
* radius: z.number().positive(),
|
|
326
|
-
* color: z.string().default('blue')
|
|
327
|
-
* })
|
|
328
|
-
*
|
|
329
|
-
* // Basic variant with JSON codec (always included)
|
|
330
|
-
* const Circle = variant('Circle', CircleSchema)
|
|
331
|
-
*
|
|
332
|
-
* const result = Circle({ radius: 10 })
|
|
333
|
-
* // { _tag: "Ok", value: { _tag: "Circle", radius: 10, color: "blue" } }
|
|
334
|
-
*
|
|
335
|
-
* Circle.is(someValue) // type guard
|
|
336
|
-
*
|
|
337
|
-
* const json = Circle.to.json({ radius: 10 }) // JSON string
|
|
338
|
-
* const result2 = Circle.from.json(json) // Result<Circle, AdtCodecError>
|
|
339
|
-
*
|
|
340
|
-
* // Variant with custom codec
|
|
341
|
-
* const Circle2 = variant('Circle', CircleSchema, {
|
|
342
|
-
* graphic: {
|
|
343
|
-
* to: (circle) => `(${circle.radius})`,
|
|
344
|
-
* from: (input: string) => {
|
|
345
|
-
* const match = input.match(/^\((\d+)\)$/)
|
|
346
|
-
* return match ? { radius: parseInt(match[1]!) } : null
|
|
347
|
-
* }
|
|
348
|
-
* }
|
|
349
|
-
* })
|
|
350
|
-
*
|
|
351
|
-
* const graphic = Circle2.to.graphic({ radius: 10 }) // "(10)"
|
|
352
|
-
* const result3 = Circle2.from.graphic("(10)") // Result<Circle, AdtCodecError>
|
|
353
|
-
* ```
|
|
354
|
-
*/
|
|
355
|
-
declare function variant$1<Tag$1 extends string, S$1 extends StandardSchemaV1, Codecs extends AdtCodecConstraint<Tag$1, S$1>>(_tag: Tag$1, schema: S$1, codecs: Codecs): AdtVariant<Tag$1, S$1, Codecs>;
|
|
356
|
-
declare function variant$1<Tag$1 extends string, S$1 extends StandardSchemaV1>(_tag: Tag$1, schema: S$1): AdtVariant<Tag$1, S$1>;
|
|
357
|
-
declare namespace adt_d_exports {
|
|
358
|
-
export { Infer, VariantNames, VariantOf, match, union, variant };
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* Re-exported ADT inferred union helper.
|
|
362
|
-
*
|
|
363
|
-
* @example
|
|
364
|
-
* ```ts
|
|
365
|
-
* import { Adt } from "@nicolastoulemont/std"
|
|
366
|
-
* import { z } from "zod"
|
|
367
|
-
*
|
|
368
|
-
* // Adt accepts any Standard Schema-compatible schema, such as zod, valibot, or arktype.
|
|
369
|
-
* const Shape = Adt.union("Shape", {
|
|
370
|
-
* Circle: z.object({ radius: z.number() }),
|
|
371
|
-
* })
|
|
372
|
-
* type Shape = Adt.Infer<typeof Shape>
|
|
373
|
-
* ```
|
|
374
|
-
*/
|
|
375
|
-
type Infer<T> = AdtInfer<T>;
|
|
376
|
-
/**
|
|
377
|
-
* Re-exported union variant name helper.
|
|
378
|
-
*
|
|
379
|
-
* @example
|
|
380
|
-
* ```ts
|
|
381
|
-
* import { Adt } from "@nicolastoulemont/std"
|
|
382
|
-
* import { z } from "zod"
|
|
383
|
-
*
|
|
384
|
-
* // Adt accepts any Standard Schema-compatible schema, such as zod, valibot, or arktype.
|
|
385
|
-
* const Shape = Adt.union("Shape", {
|
|
386
|
-
* Circle: z.object({ radius: z.number() }),
|
|
387
|
-
* })
|
|
388
|
-
* type Names = Adt.VariantNames<typeof Shape>
|
|
389
|
-
* ```
|
|
390
|
-
*/
|
|
391
|
-
type VariantNames<T> = AdtVariantNames<T>;
|
|
392
|
-
/**
|
|
393
|
-
* Re-exported helper to extract a specific variant from an ADT.
|
|
394
|
-
*
|
|
395
|
-
* @example
|
|
396
|
-
* ```ts
|
|
397
|
-
* import { Adt } from "@nicolastoulemont/std"
|
|
398
|
-
* import { z } from "zod"
|
|
399
|
-
*
|
|
400
|
-
* // Adt accepts any Standard Schema-compatible schema, such as zod, valibot, or arktype.
|
|
401
|
-
* const Shape = Adt.union("Shape", {
|
|
402
|
-
* Circle: z.object({ radius: z.number() }),
|
|
403
|
-
* })
|
|
404
|
-
* type Circle = Adt.VariantOf<typeof Shape, "Circle">
|
|
405
|
-
* ```
|
|
406
|
-
*/
|
|
407
|
-
type VariantOf<T, K$1 extends string> = AdtVariantOf<T, K$1>;
|
|
408
|
-
/**
|
|
409
|
-
* Build an ADT union from named variants.
|
|
410
|
-
*
|
|
411
|
-
* @example
|
|
412
|
-
* ```ts
|
|
413
|
-
* import { Adt } from "@nicolastoulemont/std"
|
|
414
|
-
* import { z } from "zod"
|
|
415
|
-
*
|
|
416
|
-
* // Adt accepts any Standard Schema-compatible schema, such as zod, valibot, or arktype.
|
|
417
|
-
* const CircleSchema = z.object({ radius: z.number() })
|
|
418
|
-
*
|
|
419
|
-
* const Shape = Adt.union("Shape", { Circle: CircleSchema })
|
|
420
|
-
* const result = Shape.Circle({ radius: 2 })
|
|
421
|
-
* // => { _tag: "Ok", value: { _tag: "Circle", radius: 2 } }
|
|
422
|
-
* ```
|
|
423
|
-
*/
|
|
424
|
-
declare const union: typeof union$1;
|
|
425
|
-
/**
|
|
426
|
-
* Define one ADT variant with schema-backed validation.
|
|
427
|
-
*
|
|
428
|
-
* @example
|
|
429
|
-
* ```ts
|
|
430
|
-
* import { Adt } from "@nicolastoulemont/std"
|
|
431
|
-
* import { z } from "zod"
|
|
432
|
-
*
|
|
433
|
-
* // Adt accepts any Standard Schema-compatible schema, such as zod, valibot, or arktype.
|
|
434
|
-
* const CircleSchema = z.object({ radius: z.number() })
|
|
435
|
-
*
|
|
436
|
-
* const Circle = Adt.variant("Circle", CircleSchema)
|
|
437
|
-
* const result = Circle({ radius: 2 })
|
|
438
|
-
* // => { _tag: "Ok", value: { _tag: "Circle", radius: 2 } }
|
|
439
|
-
* ```
|
|
440
|
-
*/
|
|
441
|
-
declare const variant: typeof variant$1;
|
|
442
|
-
/**
|
|
443
|
-
* Match over ADT variants by discriminator tag.
|
|
444
|
-
*
|
|
445
|
-
* @example
|
|
446
|
-
* ```ts
|
|
447
|
-
* import { Adt } from "@nicolastoulemont/std"
|
|
448
|
-
*
|
|
449
|
-
* const label = Adt.match({ _tag: "Circle", radius: 2 } as const, {
|
|
450
|
-
* Circle: (circle) => `r=${circle.radius}` ,
|
|
451
|
-
* })
|
|
452
|
-
* // => "r=2"
|
|
453
|
-
* ```
|
|
454
|
-
*/
|
|
455
|
-
declare const match: typeof match$1;
|
|
456
|
-
//#endregion
|
|
457
|
-
export { adt_d_exports as t };
|
|
458
|
-
//# sourceMappingURL=index-C6W3_n_Q.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-C6W3_n_Q.d.mts","names":[],"sources":["../src/adt/adt.match.ts","../src/adt/adt.types.ts","../src/adt/adt.union.ts","../src/adt/adt.variant.ts","../src/adt/adt.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-D8rDE60Y.d.mts","names":[],"sources":["../src/order/order.types.ts","../src/order/order.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DR7hzXU4.d.mts","names":[],"sources":["../src/multithread/multithread.types.ts","../src/multithread/multithread.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-crtzMG48.d.mts","names":[],"sources":["../src/provide/provide.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAoBK,iBAAiB,UAAU;;;;KAK3B,iBAAiB,UAAU;AAlBsB;AAaZ;AAKA;;;;;;KAUrC,aAMqC,CAAA,EAAA,EAAA,kBAAA,OAAA,EAAA,WAH7B,UAG6B,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA,GAFtC,SAEsC,SAAA,IAAA,GADtC,EACsC,CAAA,MAAA,CAAA,SAAA,QAAA,GAApC,MAAoC,CAA7B,WAA6B,CAAjB,EAAiB,CAAA,EAAZ,WAAY,CAAA,EAAA,CAAA,GAAM,EAAN,CAAA,GACpC,OADoC,CAC5B,WAD4B,CAChB,EADgB,CAAA,EACX,WADW,CACC,EADD,CAAA,GACO,EADP,CAAA,GAEtC,SAFsC,SAAA,KAAA,GAGpC,OAHoC,CAG5B,WAH4B,CAGhB,EAHgB,CAAA,EAGX,WAHW,CAGC,EAHD,CAAA,GAGO,EAHP,CAAA,GAIpC,UAJoC,CAIzB,WAJyB,CAIb,EAJa,CAAA,EAIR,WAJQ,CAII,EAJJ,CAAA,GAIU,EAJV,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AAiC1C;;;;AACS,iBADO,KACP,CAAA,IAAA,EAAA,EAAA,EAAA,kBAAA,OAAA,CAAA,CAAA,KAAA,EAAA,KAAA,CAAM,IAAN,EAAY,EAAZ,EAAA,KAAA,EAAuB,SAAvB,CAAA,CAAA,EAAA,CAAA,WACM,UADN,CAAA,OAAA,EAAA,OAAA,EACmC,IADnC,CAAA,CAAA,CAAA,EAAA,EAC8C,EAD9C,EAAA,GACqD,aADrD,CACmE,EADnE,EACuE,SADvE,EACkF,EADlF,CAAA;;;;;;;;;AA+LT;;;;;;;;;;;AA8FA;AAC4B,cA/Ff,OA+Fe,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EA9FjB,OA8FiB,CA9FT,CA8FS,CAAA,EAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EA7Ff,UA6Fe,CA7FJ,CA6FI,EA7FD,CA6FC,EA7FE,CA6FF,CAAA,EAAA,GA7FO,UA6FP,CA7FkB,CA6FlB,EA7FqB,CA6FrB,CAAA;;;;;;;;;;;;;;;;;;;;;cADf,sBACE,aAAa,UAAU,oBACtB,WAAW,GAAG,GAAG,IAAI,OAAK,WAAW,GAAG,GAAG,QAAQ,GAAG"}
|
package/dist/layer-CKtH7TRL.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./chunk-oQKkju2G.mjs";import{t}from"./fx.types-DyQVgTS8.mjs";import{i as n,n as r,r as i}from"./context-0xDbwtpx.mjs";import{n as a,t as o}from"./service-resolution-BefYr4nR.mjs";var s=e({err:()=>h,fx:()=>g,merge:()=>y,ok:()=>m,provide:()=>v,scoped:()=>_});const c=(e,n)=>({_tag:`Layer`,_ROut:void 0,_E:void 0,_RIn:void 0,_Sync:void 0,build:()=>({_tag:`SyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},*[Symbol.iterator](){return i(e,n)}})}),l=e=>({_tag:`Layer`,_ROut:void 0,_E:void 0,_RIn:void 0,_Sync:void 0,build:()=>({_tag:`SyncFx`,[t]:{_A:()=>void 0,_E:()=>e,_R:()=>void 0},*[Symbol.iterator](){throw yield e,Error(`Unreachable`)}})});function u(e){return n=>({_tag:`Layer`,_ROut:void 0,_E:void 0,_RIn:void 0,_Sync:void 0,build:()=>n._tag===`AsyncFx`?{_tag:`AsyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},async*[Symbol.asyncIterator](){let t=n[Symbol.asyncIterator](),r=await t.next();for(;r.done!==!0;){let e=yield r.value;r=await t.next(e)}return i(e,r.value)}}:{_tag:`SyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},*[Symbol.iterator](){let t=n[Symbol.iterator](),r=t.next();for(;r.done!==!0;){let e=yield r.value;r=t.next(e)}return i(e,r.value)}}})}function d(e){return n=>({_tag:`Layer`,_ROut:void 0,_E:void 0,_RIn:void 0,_Sync:void 0,build:(r,a)=>n._tag===`AsyncFx`?{_tag:`AsyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},async*[Symbol.asyncIterator](){let t=n[Symbol.asyncIterator](),r=await t.next();for(;r.done!==!0;){let e=r.value;if(o(e)?.key===`@std/Scope`)r=await t.next(a);else{let n=yield e;r=await t.next(n)}}return i(e,r.value)}}:{_tag:`SyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},*[Symbol.iterator](){let t=n[Symbol.iterator](),r=t.next();for(;r.done!==!0;){let e=r.value;if(o(e)?.key===`@std/Scope`)r=t.next(a);else{let n=yield e;r=t.next(n)}}return i(e,r.value)}}})}function f(e){return r=>({_tag:`Layer`,_ROut:void 0,_E:void 0,_RIn:void 0,_Sync:void 0,build:(i,o)=>{let s=e.build(i,o);return s._tag===`AsyncFx`?{_tag:`AsyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},async*[Symbol.asyncIterator](){let e=s[Symbol.asyncIterator](),t=await e.next();for(;t.done!==!0;){let n=yield t.value;t=await e.next(n)}let c=t.value,l=r.build(i,o);if(l._tag===`AsyncFx`){let e=l[Symbol.asyncIterator](),t=await e.next();for(;t.done!==!0;){let n=t.value,r=a(c,n);if(r!==void 0){t=await e.next(r);continue}let i=yield n;t=await e.next(i)}return n(c,t.value)}let u=l[Symbol.iterator](),d=u.next();for(;d.done!==!0;){let e=d.value,t=a(c,e);if(t!==void 0){d=u.next(t);continue}let n=yield e;d=u.next(n)}return n(c,d.value)}}:{_tag:`SyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},*[Symbol.iterator](){let e=s[Symbol.iterator](),t=e.next();for(;t.done!==!0;){let n=yield t.value;t=e.next(n)}let c=t.value,l=r.build(i,o);if(l._tag===`SyncFx`){let e=l[Symbol.iterator](),t=e.next();for(;t.done!==!0;){let n=t.value,r=a(c,n);if(r!==void 0){t=e.next(r);continue}let i=yield n;t=e.next(i)}return n(c,t.value)}throw Error(`Cannot use async layer in sync context`)}}}})}function p(...e){return{_tag:`Layer`,_ROut:void 0,_E:void 0,_RIn:void 0,_Sync:void 0,build:(i,o)=>e.some(e=>e.build(i,o)._tag===`AsyncFx`)?{_tag:`AsyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},async*[Symbol.asyncIterator](){let t=r();for(let r of e){let e=r.build(i,o);if(e._tag===`AsyncFx`){let r=e[Symbol.asyncIterator](),i=await r.next();for(;i.done!==!0;){let e=i.value,n=a(t,e);if(n!==void 0){i=await r.next(n);continue}let o=yield e;i=await r.next(o)}t=n(t,i.value)}else{let r=e[Symbol.iterator](),i=r.next();for(;i.done!==!0;){let e=i.value,n=a(t,e);if(n!==void 0){i=r.next(n);continue}let o=yield e;i=r.next(o)}t=n(t,i.value)}}return t}}:{_tag:`SyncFx`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},*[Symbol.iterator](){let t=r();for(let r of e){let e=r.build(i,o);if(e._tag!==`SyncFx`)throw Error(`Expected sync layer in sync context`);let s=e[Symbol.iterator](),c=s.next();for(;c.done!==!0;){let e=c.value,n=a(t,e);if(n!==void 0){c=s.next(n);continue}let r=yield e;c=s.next(r)}t=n(t,c.value)}return t}}}}const m=c,h=l,g=u,_=d,v=f,y=p;export{s as t};
|
|
2
|
-
//# sourceMappingURL=layer-CKtH7TRL.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layer-CKtH7TRL.mjs","names":["Context.make","fx","layerGen","layerResult","Context.merge","Context.empty"],"sources":["../src/layer/layer.ts"],"sourcesContent":["/**\n * Layer construction and composition for service dependency graphs.\n *\n * **Mental model**\n * - A `Layer` builds one or more services, potentially requiring other services.\n * - Compose layers and provide dependencies before running `Fx`.\n *\n * **Common tasks**\n * - Build from values with `Layer.ok`.\n * - Build from effects with `Layer.fx` or `Layer.scoped`.\n * - Compose with `Layer.provide` and `Layer.merge`.\n *\n * **Gotchas**\n * - Async layers force async execution paths.\n * - Scoped layers require scope finalization.\n *\n * **Quickstart**\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Port = Service.tag<number>(\"Port\")\n * const program = Fx.gen(function* () {\n * return yield* Port\n * })\n * const exit = Fx.run(Provide.layer(Layer.ok(Port, 3000))(program))\n * // => { _tag: \"Ok\", value: 3000 }\n * ```\n *\n * @module\n */\nimport * as Context from \"../context/context\"\nimport type { Context as ContextType } from \"../context/context\"\nimport { FxTypeId } from \"../fx/fx.types\"\nimport type { RunnableFx, SyncFx, AsyncFx, FxYield } from \"../fx/fx.types\"\nimport type { ScopeService, ExcludeScope } from \"../scope/scope\"\nimport type { ServiceClass } from \"../service/service\"\nimport { asServiceRequest, resolveService } from \"../service/service-resolution\"\nimport type { Layer as LayerType, MergeROut, MergeError, UnprovidedDeps, AllSync } from \"./layer.types\"\n\n/* oxlint-disable no-unsafe-type-assertion -- Layer composition carries erased generic channels and phantom type slots that require assertion-based reconstruction. */\n\n/**\n * Create a layer from a synchronous value (no dependencies).\n */\nconst layerOk = <S>(service: ServiceClass<S>, impl: S): LayerType<S, never, never, true> => ({\n _tag: \"Layer\",\n _ROut: undefined as unknown as S,\n _E: undefined as never,\n _RIn: undefined as never,\n _Sync: undefined as unknown as true,\n build: (): SyncFx<ContextType<S>> => ({\n _tag: \"SyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<S>,\n _E: () => undefined as never,\n _R: () => undefined as never,\n },\n // oxlint-disable-next-line require-yield\n *[Symbol.iterator](): Generator<never, ContextType<S>, unknown> {\n return Context.make(service, impl)\n },\n }),\n})\n\n/**\n * Create a layer that always fails with an error.\n */\nconst layerErr = <E>(error: E): LayerType<never, E, never, true> => ({\n _tag: \"Layer\",\n _ROut: undefined as never,\n _E: undefined as unknown as E,\n _RIn: undefined as never,\n _Sync: undefined as unknown as true,\n build: (): SyncFx<ContextType, E> => ({\n _tag: \"SyncFx\",\n [FxTypeId]: {\n _A: () => undefined as never,\n _E: () => error,\n _R: () => undefined as never,\n },\n *[Symbol.iterator](): Generator<E, never, unknown> {\n yield error\n throw new Error(\"Unreachable\")\n },\n }),\n})\n\n/**\n * Create a layer from an Fx computation (can have dependencies).\n * The Sync type parameter is inferred from the input fx:\n * - SyncFx input → Layer with Sync=true\n * - AsyncFx input → Layer with Sync=false\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Port = Service.tag<number>(\"Port\")\n * const portLayer = Layer.fx(Port)(Fx.gen(function* () {\n * return 3000\n * }))\n * const program = Fx.gen(function* () {\n * return yield* Port\n * })\n * const exit = Fx.run(Provide.layer(portLayer)(program))\n * // => { _tag: \"Ok\", value: 3000 }\n * ```\n */\nfunction layerFx<S>(service: ServiceClass<S>): {\n <E, R>(fx: SyncFx<S, E, R>): LayerType<S, E, R, true>\n <E, R>(fx: AsyncFx<S, E, R>): LayerType<S, E, R, false>\n <E, R>(fx: RunnableFx<S, E, R>): LayerType<S, E, R>\n}\nfunction layerFx<S>(service: ServiceClass<S>) {\n return <E, R>(fx: RunnableFx<S, E, R>): LayerType<S, E, R> => ({\n _tag: \"Layer\",\n _ROut: undefined as unknown as S,\n _E: undefined as unknown as E,\n _RIn: undefined as unknown as R,\n _Sync: undefined as unknown as boolean,\n build: (): RunnableFx<ContextType<S>, E, R> => {\n if (fx._tag === \"AsyncFx\") {\n return {\n _tag: \"AsyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<S>,\n _E: () => undefined as unknown as E,\n _R: () => undefined as unknown as R,\n },\n async *[Symbol.asyncIterator](): AsyncGenerator<FxYield<E, R>, ContextType<S>, unknown> {\n const gen = fx[Symbol.asyncIterator]()\n let result = await gen.next()\n while (result.done !== true) {\n const value = yield result.value\n // oxlint-disable-next-line no-await-in-loop\n result = await gen.next(value)\n }\n return Context.make(service, result.value)\n },\n } as AsyncFx<ContextType<S>, E, R>\n }\n\n return {\n _tag: \"SyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<S>,\n _E: () => undefined as unknown as E,\n _R: () => undefined as unknown as R,\n },\n *[Symbol.iterator](): Generator<FxYield<E, R>, ContextType<S>, unknown> {\n const gen = fx[Symbol.iterator]()\n let result = gen.next()\n while (result.done !== true) {\n const value = yield result.value\n result = gen.next(value)\n }\n return Context.make(service, result.value)\n },\n } as SyncFx<ContextType<S>, E, R>\n },\n })\n}\n\n/**\n * Create a scoped layer (with resource cleanup).\n * The Sync type parameter is inferred from the input fx.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Scope, Service } from \"@nicolastoulemont/std\"\n *\n * const Resource = Service.tag<{ readonly id: number }>(\"Resource\")\n * const ScopeTag = Service.tag<Scope.ScopeService>(\"@std/Scope\")\n * let finalized = 0\n *\n * const resourceLayer = Layer.scoped(Resource)(Fx.gen(function* () {\n * const scope = yield* ScopeTag\n * yield* scope.addFinalizer(() =>\n * Fx.gen(function* () {\n * finalized += 1\n * }),\n * )\n * return { id: 1 }\n * }))\n * const program = Fx.gen(function* () {\n * return (yield* Resource).id\n * })\n * const exit = Fx.run(Provide.layer(resourceLayer)(program))\n * // => { _tag: \"Ok\", value: 1 }\n * ```\n */\nfunction layerScoped<S>(service: ServiceClass<S>): {\n <E, R>(fx: SyncFx<S, E, R | ScopeService>): LayerType<S, E, ExcludeScope<R>, true>\n <E, R>(fx: AsyncFx<S, E, R | ScopeService>): LayerType<S, E, ExcludeScope<R>, false>\n <E, R>(fx: RunnableFx<S, E, R | ScopeService>): LayerType<S, E, ExcludeScope<R>>\n}\nfunction layerScoped<S>(service: ServiceClass<S>) {\n return <E, R>(fx: RunnableFx<S, E, R | ScopeService>): LayerType<S, E, ExcludeScope<R>> => ({\n _tag: \"Layer\",\n _ROut: undefined as unknown as S,\n _E: undefined as unknown as E,\n _RIn: undefined as unknown as ExcludeScope<R>,\n _Sync: undefined as unknown as boolean,\n build: (_memoMap, scope): RunnableFx<ContextType<S>, E, ExcludeScope<R>> => {\n if (fx._tag === \"AsyncFx\") {\n return {\n _tag: \"AsyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<S>,\n _E: () => undefined as unknown as E,\n _R: () => undefined as unknown as ExcludeScope<R>,\n },\n async *[Symbol.asyncIterator](): AsyncGenerator<FxYield<E, ExcludeScope<R>>, ContextType<S>, unknown> {\n const gen = fx[Symbol.asyncIterator]()\n let result = await gen.next()\n while (result.done !== true) {\n const yielded = result.value\n const serviceRequest = asServiceRequest(yielded)\n if (serviceRequest?.key === \"@std/Scope\") {\n // oxlint-disable-next-line no-await-in-loop\n result = await gen.next(scope)\n } else {\n const value = yield yielded as FxYield<E, ExcludeScope<R>>\n // oxlint-disable-next-line no-await-in-loop\n result = await gen.next(value)\n }\n }\n return Context.make(service, result.value)\n },\n } as AsyncFx<ContextType<S>, E, ExcludeScope<R>>\n }\n\n return {\n _tag: \"SyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<S>,\n _E: () => undefined as unknown as E,\n _R: () => undefined as unknown as ExcludeScope<R>,\n },\n *[Symbol.iterator](): Generator<FxYield<E, ExcludeScope<R>>, ContextType<S>, unknown> {\n const gen = fx[Symbol.iterator]()\n let result = gen.next()\n while (result.done !== true) {\n const yielded = result.value\n const serviceRequest = asServiceRequest(yielded)\n if (serviceRequest?.key === \"@std/Scope\") {\n result = gen.next(scope)\n } else {\n const value = yield yielded as FxYield<E, ExcludeScope<R>>\n result = gen.next(value)\n }\n }\n return Context.make(service, result.value)\n },\n } as SyncFx<ContextType<S>, E, ExcludeScope<R>>\n },\n })\n}\n\n// ============================================================================\n// Layer Composition\n// ============================================================================\n\n/**\n * Provide dependencies to a layer and merge outputs.\n * Sync is preserved only if both the deps layer and the consuming layer are sync.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Port = Service.tag<number>(\"Port\")\n * const Server = Service.tag<{ readonly port: number }>(\"Server\")\n * const portLayer = Layer.ok(Port, 3000)\n * const serverLayer = Layer.fx(Server)(Fx.gen(function* () {\n * const port = yield* Port\n * return { port }\n * }))\n * const provided = Layer.provide(portLayer)(serverLayer)\n * const program = Fx.gen(function* () {\n * return (yield* Server).port\n * })\n * const exit = Fx.run(Provide.layer(provided)(program))\n * // => { _tag: \"Ok\", value: 3000 }\n * ```\n */\nfunction layerProvide<DepsROut, DepsE, DepsRIn, DepsSync extends boolean>(\n deps: LayerType<DepsROut, DepsE, DepsRIn, DepsSync>,\n): {\n <ROut, E, RIn extends DepsROut, LayerSync extends boolean>(\n layer: LayerType<ROut, E, RIn, LayerSync>,\n ): LayerType<ROut | DepsROut, E | DepsE, DepsRIn, LayerSync extends true ? DepsSync : false>\n}\nfunction layerProvide<DepsROut, DepsE, DepsRIn>(deps: LayerType<DepsROut, DepsE, DepsRIn>) {\n return <ROut, E, RIn extends DepsROut>(\n layer: LayerType<ROut, E, RIn>,\n ): LayerType<ROut | DepsROut, E | DepsE, DepsRIn> => ({\n _tag: \"Layer\",\n _ROut: undefined as unknown as ROut | DepsROut,\n _E: undefined as unknown as E | DepsE,\n _RIn: undefined as unknown as DepsRIn,\n _Sync: undefined as unknown as boolean,\n build: (memoMap, scope): RunnableFx<ContextType<ROut | DepsROut>, E | DepsE, DepsRIn> => {\n const depsBuildFx = deps.build(memoMap, scope)\n\n if (depsBuildFx._tag === \"AsyncFx\") {\n return {\n _tag: \"AsyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<ROut | DepsROut>,\n _E: () => undefined as unknown as E | DepsE,\n _R: () => undefined as unknown as DepsRIn,\n },\n async *[Symbol.asyncIterator](): AsyncGenerator<\n FxYield<E | DepsE, DepsRIn>,\n ContextType<ROut | DepsROut>,\n unknown\n > {\n const depsGen = depsBuildFx[Symbol.asyncIterator]()\n let depsResult = await depsGen.next()\n while (depsResult.done !== true) {\n const value = yield depsResult.value\n // oxlint-disable-next-line no-await-in-loop\n depsResult = await depsGen.next(value)\n }\n const depsCtx = depsResult.value\n\n const layerBuildFx = layer.build(memoMap, scope)\n if (layerBuildFx._tag === \"AsyncFx\") {\n const layerGen = layerBuildFx[Symbol.asyncIterator]()\n let layerResult = await layerGen.next()\n while (layerResult.done !== true) {\n const yielded = layerResult.value\n const service = resolveService(depsCtx, yielded)\n if (service !== undefined) {\n // oxlint-disable-next-line no-await-in-loop\n layerResult = await layerGen.next(service)\n continue\n }\n const value = yield yielded as FxYield<E, DepsRIn>\n // oxlint-disable-next-line no-await-in-loop\n layerResult = await layerGen.next(value)\n }\n return Context.merge(depsCtx, layerResult.value)\n }\n\n const layerGen = layerBuildFx[Symbol.iterator]()\n let layerResult = layerGen.next()\n while (layerResult.done !== true) {\n const yielded = layerResult.value\n const service = resolveService(depsCtx, yielded)\n if (service !== undefined) {\n layerResult = layerGen.next(service)\n continue\n }\n const value = yield yielded as FxYield<E, DepsRIn>\n layerResult = layerGen.next(value)\n }\n return Context.merge(depsCtx, layerResult.value)\n },\n } as AsyncFx<ContextType<ROut | DepsROut>, E | DepsE, DepsRIn>\n }\n\n return {\n _tag: \"SyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<ROut | DepsROut>,\n _E: () => undefined as unknown as E | DepsE,\n _R: () => undefined as unknown as DepsRIn,\n },\n *[Symbol.iterator](): Generator<FxYield<E | DepsE, DepsRIn>, ContextType<ROut | DepsROut>, unknown> {\n const depsGen = depsBuildFx[Symbol.iterator]()\n let depsResult = depsGen.next()\n while (depsResult.done !== true) {\n const value = yield depsResult.value\n depsResult = depsGen.next(value)\n }\n const depsCtx = depsResult.value\n\n const layerBuildFx = layer.build(memoMap, scope)\n if (layerBuildFx._tag === \"SyncFx\") {\n const syncGen = layerBuildFx[Symbol.iterator]()\n let layerResult = syncGen.next()\n while (layerResult.done !== true) {\n const yielded = layerResult.value\n const service = resolveService(depsCtx, yielded)\n if (service !== undefined) {\n layerResult = syncGen.next(service)\n continue\n }\n const value = yield yielded as FxYield<E, DepsRIn>\n layerResult = syncGen.next(value)\n }\n return Context.merge(depsCtx, layerResult.value)\n }\n throw new Error(\"Cannot use async layer in sync context\")\n },\n } as SyncFx<ContextType<ROut | DepsROut>, E | DepsE, DepsRIn>\n },\n })\n}\n\n/**\n * Merge multiple layers with automatic dependency resolution.\n * The merged layer is sync only if ALL input layers are sync.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Logger = Service.tag<{ readonly prefix: string }>(\"Logger\")\n * const Clock = Service.tag<{ readonly now: () => number }>(\"Clock\")\n * const merged = Layer.merge(\n * Layer.ok(Logger, { prefix: \"dev\" }),\n * Layer.ok(Clock, { now: () => 123 }),\n * )\n * const program = Fx.gen(function* () {\n * const logger = yield* Logger\n * const clock = yield* Clock\n * return `${logger.prefix}:${clock.now()}`\n * })\n * const exit = Fx.run(Provide.layer(merged)(program))\n * // => { _tag: \"Ok\", value: \"dev:123\" }\n * ```\n */\nfunction layerMerge<L extends LayerType<unknown, unknown, unknown>[]>(\n ...layers: L\n): LayerType<MergeROut<L>, MergeError<L>, UnprovidedDeps<L>, AllSync<L>>\nfunction layerMerge<L extends LayerType<unknown, unknown, unknown>[]>(\n ...layers: L\n): LayerType<MergeROut<L>, MergeError<L>, UnprovidedDeps<L>> {\n return {\n _tag: \"Layer\",\n _ROut: undefined as unknown as MergeROut<L>,\n _E: undefined as unknown as MergeError<L>,\n _RIn: undefined as unknown as UnprovidedDeps<L>,\n _Sync: undefined as unknown as boolean,\n build: (memoMap, scope): RunnableFx<ContextType<MergeROut<L>>, MergeError<L>, UnprovidedDeps<L>> => {\n const hasAsync = layers.some((l) => l.build(memoMap, scope)._tag === \"AsyncFx\")\n\n if (hasAsync) {\n return {\n _tag: \"AsyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<MergeROut<L>>,\n _E: () => undefined as unknown as MergeError<L>,\n _R: () => undefined as unknown as UnprovidedDeps<L>,\n },\n async *[Symbol.asyncIterator](): AsyncGenerator<\n FxYield<MergeError<L>, UnprovidedDeps<L>>,\n ContextType<MergeROut<L>>,\n unknown\n > {\n let ctx = Context.empty() as ContextType<unknown>\n for (const layer of layers) {\n const buildFx = layer.build(memoMap, scope)\n if (buildFx._tag === \"AsyncFx\") {\n const gen = buildFx[Symbol.asyncIterator]()\n // oxlint-disable-next-line no-await-in-loop\n let result = await gen.next()\n while (result.done !== true) {\n const yielded = result.value\n const service = resolveService(ctx, yielded)\n if (service !== undefined) {\n // oxlint-disable-next-line no-await-in-loop\n result = await gen.next(service)\n continue\n }\n const value = yield yielded as FxYield<MergeError<L>, UnprovidedDeps<L>>\n // oxlint-disable-next-line no-await-in-loop\n result = await gen.next(value)\n }\n ctx = Context.merge(ctx, result.value)\n } else {\n const gen = buildFx[Symbol.iterator]()\n let result = gen.next()\n while (result.done !== true) {\n const yielded = result.value\n const service = resolveService(ctx, yielded)\n if (service !== undefined) {\n result = gen.next(service)\n continue\n }\n const value = yield yielded as FxYield<MergeError<L>, UnprovidedDeps<L>>\n result = gen.next(value)\n }\n ctx = Context.merge(ctx, result.value)\n }\n }\n return ctx as ContextType<MergeROut<L>>\n },\n } as AsyncFx<ContextType<MergeROut<L>>, MergeError<L>, UnprovidedDeps<L>>\n }\n\n return {\n _tag: \"SyncFx\",\n [FxTypeId]: {\n _A: () => undefined as unknown as ContextType<MergeROut<L>>,\n _E: () => undefined as unknown as MergeError<L>,\n _R: () => undefined as unknown as UnprovidedDeps<L>,\n },\n *[Symbol.iterator](): Generator<FxYield<MergeError<L>, UnprovidedDeps<L>>, ContextType<MergeROut<L>>, unknown> {\n let ctx = Context.empty() as ContextType<unknown>\n for (const layer of layers) {\n const buildFx = layer.build(memoMap, scope)\n if (buildFx._tag !== \"SyncFx\") {\n throw new Error(\"Expected sync layer in sync context\")\n }\n const gen = buildFx[Symbol.iterator]()\n let result = gen.next()\n while (result.done !== true) {\n const yielded = result.value\n const service = resolveService(ctx, yielded)\n if (service !== undefined) {\n result = gen.next(service)\n continue\n }\n const value = yield yielded as FxYield<MergeError<L>, UnprovidedDeps<L>>\n result = gen.next(value)\n }\n ctx = Context.merge(ctx, result.value)\n }\n return ctx as ContextType<MergeROut<L>>\n },\n } as SyncFx<ContextType<MergeROut<L>>, MergeError<L>, UnprovidedDeps<L>>\n },\n }\n}\n\n/**\n * Create a successful no-dependency layer from a plain service value.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Port = Service.tag<number>(\"Port\")\n * const program = Fx.gen(function* () {\n * return yield* Port\n * })\n * const exit = Fx.run(Provide.layer(Layer.ok(Port, 3000))(program))\n * // => { _tag: \"Ok\", value: 3000 }\n * ```\n */\nexport const ok = layerOk\n\n/**\n * Create a layer that always fails with an error.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide } from \"@nicolastoulemont/std\"\n *\n * const program = Fx.gen(function* () {\n * return 1\n * })\n * const exit = Fx.run(Provide.layer(Layer.err(\"missing-config\"))(program))\n * // => { _tag: \"Err\", error: \"missing-config\" }\n * ```\n */\nexport const err = layerErr\n\n/**\n * Create a layer from an effectful service builder.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Port = Service.tag<number>(\"Port\")\n * const portLayer = Layer.fx(Port)(Fx.gen(function* () {\n * return 3000\n * }))\n * const program = Fx.gen(function* () {\n * return yield* Port\n * })\n * const exit = Fx.run(Provide.layer(portLayer)(program))\n * // => { _tag: \"Ok\", value: 3000 }\n * ```\n */\nexport const fx = layerFx\n\n/**\n * Create a scoped layer that registers resource finalizers.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Scope, Service } from \"@nicolastoulemont/std\"\n *\n * const Resource = Service.tag<{ readonly id: number }>(\"Resource\")\n * const ScopeTag = Service.tag<Scope.ScopeService>(\"@std/Scope\")\n * let finalized = 0\n *\n * const resourceLayer = Layer.scoped(Resource)(Fx.gen(function* () {\n * const scope = yield* ScopeTag\n * yield* scope.addFinalizer(() =>\n * Fx.gen(function* () {\n * finalized += 1\n * }),\n * )\n * return { id: 1 }\n * }))\n * const program = Fx.gen(function* () {\n * return (yield* Resource).id\n * })\n * const exit = Fx.run(Provide.layer(resourceLayer)(program))\n * // => { _tag: \"Ok\", value: 1 }\n * ```\n */\nexport const scoped = layerScoped\n\n/**\n * Provide one layer to another, satisfying dependencies.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Port = Service.tag<number>(\"Port\")\n * const Server = Service.tag<{ readonly port: number }>(\"Server\")\n * const portLayer = Layer.ok(Port, 3000)\n * const serverLayer = Layer.fx(Server)(Fx.gen(function* () {\n * const port = yield* Port\n * return { port }\n * }))\n * const provided = Layer.provide(portLayer)(serverLayer)\n * const program = Fx.gen(function* () {\n * return (yield* Server).port\n * })\n * const exit = Fx.run(Provide.layer(provided)(program))\n * // => { _tag: \"Ok\", value: 3000 }\n * ```\n */\nexport const provide = layerProvide\n\n/**\n * Merge multiple layers into a single composite layer.\n *\n * @example\n * ```ts\n * import { Fx, Layer, Provide, Service } from \"@nicolastoulemont/std\"\n *\n * const Logger = Service.tag<{ readonly prefix: string }>(\"Logger\")\n * const Clock = Service.tag<{ readonly now: () => number }>(\"Clock\")\n * const merged = Layer.merge(\n * Layer.ok(Logger, { prefix: \"dev\" }),\n * Layer.ok(Clock, { now: () => 123 }),\n * )\n * const program = Fx.gen(function* () {\n * const logger = yield* Logger\n * const clock = yield* Clock\n * return `${logger.prefix}:${clock.now()}`\n * })\n * const exit = Fx.run(Provide.layer(merged)(program))\n * // => { _tag: \"Ok\", value: \"dev:123\" }\n * ```\n */\nexport const merge = layerMerge\n\n/* oxlint-enable no-unsafe-type-assertion */\n"],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./chunk-oQKkju2G.mjs";import{t}from"./fx.types-DyQVgTS8.mjs";import{i as n,t as r}from"./result-D3VY0qBG.mjs";var i=e({configure:()=>ae,filter:()=>Y,firstSuccess:()=>ie,flatMap:()=>Q,forEach:()=>K,map:()=>U,race:()=>te,run:()=>L,shutdown:()=>oe,task:()=>z});const a=`@nicolastoulemont/std/multithread/cancelled`;let o,s=!1,c;const l=new WeakMap,u=(e,t=`Optional peer dependency "multithreading" is unavailable. Install it to use Multithread APIs.`)=>({_tag:`MultithreadRuntimeUnavailableError`,message:t,cause:e}),d=(e=`Multithread runtime is already initialized and can no longer be configured.`)=>({_tag:`MultithreadRuntimeAlreadyInitializedError`,message:e}),f=(e,t)=>({_tag:`MultithreadWorkerExecutionError`,message:e,cause:t}),p=(e=`Multithread operation was cancelled before completion.`)=>({_tag:`MultithreadCancelledError`,message:e}),m=(e,t)=>({_tag:`MultithreadAllFailedError`,message:e,errors:t}),h=e=>e instanceof Error?e.message:typeof e==`string`?e:void 0,g=e=>{let t=h(e);return t===a||t===`Task aborted`},_=e=>{let t=h(e);return typeof t==`string`&&t.startsWith(`Could not parse coordinates from:`)},v=e=>{if(typeof e!=`object`||!e||!(`_tag`in e))return!1;let t=Reflect.get(e,`_tag`);return t===`Ok`?`value`in e:t===`Err`?`error`in e:!1},y=e=>n(e),b=e=>r(e),x=e=>v(e)?e:y(e),S=(e,t)=>v(e)?e._tag===`Err`?Promise.resolve(b(e.error)):t(e.value).result():t(e),C=(e,t)=>{if(typeof e!=`number`||!Number.isFinite(e))return t;let n=Math.floor(e);return n>0?n:t},w=e=>typeof e==`function`,T=e=>typeof e==`object`&&!!e,E=e=>T(e)?e:void 0,D=()=>o===void 0?typeof navigator<`u`&&typeof navigator.hardwareConcurrency==`number`?C(navigator.hardwareConcurrency,4):4:o.maxWorkers,O=()=>typeof SharedArrayBuffer==`function`?new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)):null,k=()=>{let e=O(),t=new Set,n=!1;return{signal:e,isCancelled:()=>n||e!==null&&Atomics.load(e,0)===1,cancel:()=>{if(n)return;n=!0,e!==null&&(Atomics.store(e,0,1),Atomics.notify(e,0));let r=Array.from(t);t.clear();for(let e of r)try{e()}catch{}},onCancel:e=>{if(n){e();return}t.add(e)}}},A=async()=>{try{return c??=import(`multithreading`),y(await c)}catch(e){return b(u(e))}},j=async()=>{let e=await A();if(e._tag===`Err`)return e;let t=e.value;if(!s)try{o!==void 0&&t.initRuntime(o),s=!0}catch(e){return b(f(`Failed to initialize multithreading runtime.`,e))}return y(t)},M=e=>{let t=l.get(e);if(t!==void 0)return t;let n=e.toString(),r=Function(`
|
|
2
|
-
return async function (...__args) {
|
|
3
|
-
const __signal = __args.pop()
|
|
4
|
-
const __isCancelled = () => __signal !== null && Atomics.load(__signal, 0) === 1
|
|
5
|
-
const __throwIfCancelled = () => {
|
|
6
|
-
if (__isCancelled()) {
|
|
7
|
-
throw new Error(${JSON.stringify(a)})
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const __ctx = {
|
|
11
|
-
signal: __signal,
|
|
12
|
-
isCancelled: __isCancelled,
|
|
13
|
-
throwIfCancelled: __throwIfCancelled,
|
|
14
|
-
}
|
|
15
|
-
const __worker = (${n})
|
|
16
|
-
return await __worker(...__args, __ctx)
|
|
17
|
-
}
|
|
18
|
-
`)();return l.set(e,r),r},N=e=>{let n=k(),r,i=()=>r===void 0?n.isCancelled()?(r=Promise.resolve(b(p())),r):(r=e(n).catch(e=>b(f(`Multithread operation failed.`,e))).then(e=>n.isCancelled()?b(p()):e),r):r,a=(e,t)=>i().then(e,t);return{_tag:`MultithreadOp`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},result:i,abort:()=>{n.cancel()},then:a,async*[Symbol.asyncIterator](){let e=await i();if(e._tag===`Err`)throw yield e.error,Error(`Unreachable: Fx.gen should short-circuit on yielded Multithread errors`);return e.value}}},P=async(e,t,n)=>{if(n.isCancelled())return b(p());let r={signal:n.signal,isCancelled:()=>n.isCancelled(),throwIfCancelled:()=>{if(n.isCancelled())throw Error(a)}};try{let i=await e(...t,r);if(n.isCancelled())return b(p());let a=x(i);return a._tag===`Err`?b(a.error):y(a.value)}catch(e){return n.isCancelled()||g(e)?b(p()):b(f(`Multithread worker failed during execution.`,e))}},F=(e,t)=>N(async n=>{if(n.isCancelled())return b(p());let r=await j();if(r._tag===`Err`)return b(r.error);let i=r.value,a=M(e),o;try{let e=i.move(...t,n.signal);o=i.spawn(e,a),n.onCancel(()=>{o?.abort()})}catch(r){return _(r)?P(e,t,n):n.isCancelled()||g(r)?b(p()):b(f(`Failed to start multithread worker.`,r))}try{let e=await o.join();if(n.isCancelled())return b(p());if(!e.ok){let t=e.error??Error(`Multithread worker returned an unknown error.`);return g(t)?b(p()):b(f(`Multithread worker failed during execution.`,t))}let t=x(e.value);return t._tag===`Err`?b(t.error):y(t.value)}catch(e){return n.isCancelled()||g(e)?b(p()):b(f(`Failed to join multithread worker.`,e))}});function I(e,...t){if(!w(e))throw TypeError(`Multithread.run expects a worker function as first argument.`);return F(e,t)}const L=I;function R(e){if(!w(e))throw TypeError(`Multithread.task expects a worker function.`);return(...t)=>F(e,t)}const z=R,B=(e,t,n,r)=>e.length===0?Promise.resolve(y([])):new Promise(i=>{let a=new Map,o=[],s=0,c=0,l=0,u=!1,d=()=>{for(let e of a.values())e.abort();a.clear()},m=e=>{u||(u=!0,d(),i(e))};r.onCancel(()=>{m(b(p()))});let h=(t,n)=>{(async()=>{try{let r=await n.result();if(--s,a.delete(t),u)return;if(r._tag===`Err`){m(b(r.error));return}if(o[t]=r.value,l+=1,l===e.length){u=!0,i(y(o));return}_()}catch(e){if(--s,a.delete(t),u)return;if(r.isCancelled()||g(e)){m(b(p()));return}m(b(f(`Failed while executing multithread batch.`,e)))}})()},_=()=>{for(;!u&&s<n&&c<e.length;){let n=c;c+=1;let r=t(e[n],n);a.set(n,r),s+=1,h(n,r)}};_()}),V=(e,t,n)=>N(r=>B(e,(e,n)=>F(t,[e,n]),C(n?.parallelism,D()),r));function H(e,t,n){if(typeof e==`function`){let n=E(t);return(t=>S(t,t=>V(t,e,n)))}if(typeof t!=`function`)throw TypeError(`Multithread.map(values, worker, options) requires a worker function.`);return S(e,e=>V(e,t,n))}const U=H,W=(e,t,n)=>N(async r=>{let i=await B(e,(e,n)=>F(t,[e,n]),C(n?.parallelism,D()),r);return i._tag===`Err`?b(i.error):y(void 0)});function G(e,t,n){if(typeof e==`function`){let n=E(t);return(t=>S(t,t=>W(t,e,n)))}if(typeof t!=`function`)throw TypeError(`Multithread.forEach(values, worker, options) requires a worker function.`);return S(e,e=>W(e,t,n))}const K=G,q=(e,t,n)=>N(async r=>{let i=await B(e,(e,n)=>F(t,[e,n]),C(n?.parallelism,D()),r);if(i._tag===`Err`)return b(i.error);let a=[];for(let t=0;t<e.length;t+=1)i.value[t]===!0&&a.push(e[t]);return y(a)});function J(e,t,n){if(typeof e==`function`){let n=E(t);return(t=>S(t,t=>q(t,e,n)))}if(typeof t!=`function`)throw TypeError(`Multithread.filter(values, worker, options) requires a worker function.`);return S(e,e=>q(e,t,n))}const Y=J,X=(e,t,n)=>N(async r=>{let i=await B(e,(e,n)=>F(t,[e,n]),C(n?.parallelism,D()),r);if(i._tag===`Err`)return b(i.error);let a=[];for(let e of i.value)a.push(...e);return y(a)});function Z(e,t,n){if(typeof e==`function`){let n=E(t);return(t=>S(t,t=>X(t,e,n)))}if(typeof t!=`function`)throw TypeError(`Multithread.flatMap(values, worker, options) requires a worker function.`);return S(e,e=>X(e,t,n))}const Q=Z,$=e=>N(t=>e.length===0?Promise.resolve(b(m(`Cannot race an empty list of operations.`,[]))):new Promise(n=>{let r=!1,i=()=>{for(let t of e)t.abort()},a=e=>{r||(r=!0,i(),n(e))};t.onCancel(()=>{a(b(p()))});let o=e=>{(async()=>{try{a(await e.result())}catch(e){if(t.isCancelled()||g(e)){a(b(p()));return}a(b(f(`Multithread race failed.`,e)))}})()};for(let t of e)o(t)}));function ee(e){return S(e,e=>$(e))}const te=ee,ne=e=>N(t=>e.length===0?Promise.resolve(b(m(`Cannot select a first success from an empty list of operations.`,[]))):new Promise(n=>{let r=Array.from({length:e.length}),i=e.length,a=!1,o=()=>{for(let t of e)t.abort()},s=e=>{a||(a=!0,o(),n(e))};t.onCancel(()=>{s(b(p()))});let c=(e,n)=>{(async()=>{try{let t=await e.result();if(a)return;if(t._tag===`Ok`){s(y(t.value));return}r[n]=t.error,--i,i===0&&s(b(m(`All multithread operations failed before any success was produced.`,r.filter(e=>e!==void 0))))}catch(e){if(a)return;if(t.isCancelled()||g(e)){s(b(p()));return}r[n]=f(`Multithread operation rejected unexpectedly.`,e),--i,i===0&&s(b(m(`All multithread operations failed before any success was produced.`,r.filter(e=>e!==void 0))))}})()};e.forEach((e,t)=>{c(e,t)})}));function re(e){return S(e,e=>ne(e))}const ie=re,ae=e=>s?b(d()):(o={maxWorkers:C(e.maxWorkers,1)},y(void 0)),oe=async()=>{if(!s)return y(void 0);let e=await A();if(e._tag===`Err`)return s=!1,b(e.error);try{return e.value.shutdown(),y(void 0)}catch(e){return b(f(`Failed to shutdown multithreading runtime.`,e))}finally{s=!1}};export{i as t};
|
|
19
|
-
//# sourceMappingURL=multithread-Cyc8Bz45.mjs.map
|