@barnum/barnum 0.3.0 → 0.4.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/artifacts/linux-arm64/barnum +0 -0
- package/artifacts/linux-x64/barnum +0 -0
- package/artifacts/macos-arm64/barnum +0 -0
- package/artifacts/macos-x64/barnum +0 -0
- package/artifacts/win-x64/barnum.exe +0 -0
- package/dist/all.d.ts +41 -10
- package/dist/all.d.ts.map +1 -0
- package/dist/all.js +1 -1
- package/dist/ast.d.ts +199 -98
- package/dist/ast.d.ts.map +1 -0
- package/dist/ast.js +271 -233
- package/dist/bind.d.ts +9 -12
- package/dist/bind.d.ts.map +1 -0
- package/dist/bind.js +14 -51
- package/dist/builtins/array.d.ts +36 -0
- package/dist/builtins/array.d.ts.map +1 -0
- package/dist/builtins/array.js +93 -0
- package/dist/builtins/index.d.ts +6 -0
- package/dist/builtins/index.d.ts.map +1 -0
- package/dist/builtins/index.js +5 -0
- package/dist/builtins/scalar.d.ts +12 -0
- package/dist/builtins/scalar.d.ts.map +1 -0
- package/dist/builtins/scalar.js +41 -0
- package/dist/builtins/struct.d.ts +25 -0
- package/dist/builtins/struct.d.ts.map +1 -0
- package/dist/builtins/struct.js +67 -0
- package/dist/builtins/tagged-union.d.ts +54 -0
- package/dist/builtins/tagged-union.d.ts.map +1 -0
- package/dist/builtins/tagged-union.js +81 -0
- package/dist/builtins/with-resource.d.ts +23 -0
- package/dist/builtins/with-resource.d.ts.map +1 -0
- package/dist/builtins/with-resource.js +35 -0
- package/dist/chain.d.ts +1 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +3 -3
- package/dist/effect-id.d.ts +1 -0
- package/dist/effect-id.d.ts.map +1 -0
- package/dist/handler.d.ts +7 -6
- package/dist/handler.d.ts.map +1 -0
- package/dist/handler.js +5 -21
- package/dist/index.d.ts +10 -6
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -2
- package/dist/iterator.d.ts +32 -0
- package/dist/iterator.d.ts.map +1 -0
- package/dist/iterator.js +123 -0
- package/dist/option.d.ts +74 -0
- package/dist/option.d.ts.map +1 -0
- package/dist/option.js +141 -0
- package/dist/pipe.d.ts +11 -10
- package/dist/pipe.d.ts.map +1 -0
- package/dist/pipe.js +5 -4
- package/dist/race.d.ts +5 -4
- package/dist/race.d.ts.map +1 -0
- package/dist/race.js +17 -42
- package/dist/recursive.d.ts +9 -3
- package/dist/recursive.d.ts.map +1 -0
- package/dist/recursive.js +18 -13
- package/dist/result.d.ts +50 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +117 -0
- package/dist/run.d.ts +9 -2
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +37 -20
- package/dist/runtime.d.ts +6 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +7 -0
- package/dist/schema.d.ts +1 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schemas.d.ts +5 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +13 -0
- package/dist/try-catch.d.ts +2 -1
- package/dist/try-catch.d.ts.map +1 -0
- package/dist/try-catch.js +10 -9
- package/dist/values.d.ts +6 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +12 -0
- package/dist/worker.d.ts +5 -1
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +15 -3
- package/package.json +8 -6
- package/src/all.ts +118 -74
- package/src/ast.ts +773 -350
- package/src/bind.ts +32 -62
- package/src/builtins/array.ts +121 -0
- package/src/builtins/index.ts +17 -0
- package/src/builtins/scalar.ts +49 -0
- package/src/builtins/struct.ts +111 -0
- package/src/builtins/tagged-union.ts +142 -0
- package/src/builtins/with-resource.ts +69 -0
- package/src/chain.ts +4 -4
- package/src/handler.ts +12 -28
- package/src/index.ts +24 -17
- package/src/iterator.ts +243 -0
- package/src/option.ts +199 -0
- package/src/pipe.ts +123 -78
- package/src/race.ts +41 -51
- package/src/recursive.ts +44 -27
- package/src/result.ts +168 -0
- package/src/run.ts +53 -25
- package/src/runtime.ts +16 -0
- package/src/schemas.ts +21 -0
- package/src/try-catch.ts +14 -10
- package/src/values.ts +21 -0
- package/src/worker.ts +17 -2
- package/dist/builtins.d.ts +0 -257
- package/dist/builtins.js +0 -600
- package/src/builtins.ts +0 -804
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/all.d.ts
CHANGED
|
@@ -1,12 +1,43 @@
|
|
|
1
1
|
import { type Pipeable, type TypedAction } from "./ast.js";
|
|
2
2
|
export declare function all(): TypedAction<any, []>;
|
|
3
|
-
export declare function all<
|
|
4
|
-
export declare function all<
|
|
5
|
-
export declare function all<
|
|
6
|
-
export declare function all<
|
|
7
|
-
export declare function all<
|
|
8
|
-
export declare function all<
|
|
9
|
-
export declare function all<
|
|
10
|
-
export declare function all<
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
export declare function all<TInput, TOut1>(a1: Pipeable<TInput, TOut1>): TypedAction<TInput, [TOut1]>;
|
|
4
|
+
export declare function all<TInput, TOut1, TOut2>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>): TypedAction<TInput, [TOut1, TOut2]>;
|
|
5
|
+
export declare function all<TInput, TOut1, TOut2, TOut3>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>): TypedAction<TInput, [TOut1, TOut2, TOut3]>;
|
|
6
|
+
export declare function all<TInput, TOut1, TOut2, TOut3, TOut4>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>, a4: Pipeable<TInput, TOut4>): TypedAction<TInput, [TOut1, TOut2, TOut3, TOut4]>;
|
|
7
|
+
export declare function all<TInput, TOut1, TOut2, TOut3, TOut4, TOut5>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>, a4: Pipeable<TInput, TOut4>, a5: Pipeable<TInput, TOut5>): TypedAction<TInput, [TOut1, TOut2, TOut3, TOut4, TOut5]>;
|
|
8
|
+
export declare function all<TInput, TOut1, TOut2, TOut3, TOut4, TOut5, TOut6>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>, a4: Pipeable<TInput, TOut4>, a5: Pipeable<TInput, TOut5>, a6: Pipeable<TInput, TOut6>): TypedAction<TInput, [TOut1, TOut2, TOut3, TOut4, TOut5, TOut6]>;
|
|
9
|
+
export declare function all<TInput, TOut1, TOut2, TOut3, TOut4, TOut5, TOut6, TOut7>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>, a4: Pipeable<TInput, TOut4>, a5: Pipeable<TInput, TOut5>, a6: Pipeable<TInput, TOut6>, a7: Pipeable<TInput, TOut7>): TypedAction<TInput, [TOut1, TOut2, TOut3, TOut4, TOut5, TOut6, TOut7]>;
|
|
10
|
+
export declare function all<TInput, TOut1, TOut2, TOut3, TOut4, TOut5, TOut6, TOut7, TOut8>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>, a4: Pipeable<TInput, TOut4>, a5: Pipeable<TInput, TOut5>, a6: Pipeable<TInput, TOut6>, a7: Pipeable<TInput, TOut7>, a8: Pipeable<TInput, TOut8>): TypedAction<TInput, [
|
|
11
|
+
TOut1,
|
|
12
|
+
TOut2,
|
|
13
|
+
TOut3,
|
|
14
|
+
TOut4,
|
|
15
|
+
TOut5,
|
|
16
|
+
TOut6,
|
|
17
|
+
TOut7,
|
|
18
|
+
TOut8
|
|
19
|
+
]>;
|
|
20
|
+
export declare function all<TInput, TOut1, TOut2, TOut3, TOut4, TOut5, TOut6, TOut7, TOut8, TOut9>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>, a4: Pipeable<TInput, TOut4>, a5: Pipeable<TInput, TOut5>, a6: Pipeable<TInput, TOut6>, a7: Pipeable<TInput, TOut7>, a8: Pipeable<TInput, TOut8>, a9: Pipeable<TInput, TOut9>): TypedAction<TInput, [
|
|
21
|
+
TOut1,
|
|
22
|
+
TOut2,
|
|
23
|
+
TOut3,
|
|
24
|
+
TOut4,
|
|
25
|
+
TOut5,
|
|
26
|
+
TOut6,
|
|
27
|
+
TOut7,
|
|
28
|
+
TOut8,
|
|
29
|
+
TOut9
|
|
30
|
+
]>;
|
|
31
|
+
export declare function all<TInput, TOut1, TOut2, TOut3, TOut4, TOut5, TOut6, TOut7, TOut8, TOut9, TOut10>(a1: Pipeable<TInput, TOut1>, a2: Pipeable<TInput, TOut2>, a3: Pipeable<TInput, TOut3>, a4: Pipeable<TInput, TOut4>, a5: Pipeable<TInput, TOut5>, a6: Pipeable<TInput, TOut6>, a7: Pipeable<TInput, TOut7>, a8: Pipeable<TInput, TOut8>, a9: Pipeable<TInput, TOut9>, a10: Pipeable<TInput, TOut10>): TypedAction<TInput, [
|
|
32
|
+
TOut1,
|
|
33
|
+
TOut2,
|
|
34
|
+
TOut3,
|
|
35
|
+
TOut4,
|
|
36
|
+
TOut5,
|
|
37
|
+
TOut6,
|
|
38
|
+
TOut7,
|
|
39
|
+
TOut8,
|
|
40
|
+
TOut9,
|
|
41
|
+
TOut10
|
|
42
|
+
]>;
|
|
43
|
+
//# sourceMappingURL=all.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../src/all.ts"],"names":[],"mappings":"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"}
|
package/dist/all.js
CHANGED
package/dist/ast.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { JSONSchema7 } from "json-schema";
|
|
2
|
+
import { type VarRef, type InferVarRefs } from "./bind.js";
|
|
2
3
|
export type Action = InvokeAction | ChainAction | ForEachAction | AllAction | BranchAction | ResumeHandleAction | ResumePerformAction | RestartHandleAction | RestartPerformAction;
|
|
3
4
|
export interface InvokeAction {
|
|
4
5
|
kind: "Invoke";
|
|
@@ -60,33 +61,46 @@ export type BuiltinKind = {
|
|
|
60
61
|
kind: "Identity";
|
|
61
62
|
} | {
|
|
62
63
|
kind: "Drop";
|
|
63
|
-
} | {
|
|
64
|
-
kind: "Tag";
|
|
65
|
-
value: string;
|
|
66
64
|
} | {
|
|
67
65
|
kind: "Merge";
|
|
68
66
|
} | {
|
|
69
67
|
kind: "Flatten";
|
|
70
68
|
} | {
|
|
71
|
-
kind: "
|
|
72
|
-
|
|
73
|
-
} | {
|
|
74
|
-
kind: "ExtractIndex";
|
|
75
|
-
value: number;
|
|
69
|
+
kind: "GetField";
|
|
70
|
+
field: string;
|
|
76
71
|
} | {
|
|
77
|
-
kind: "
|
|
78
|
-
|
|
72
|
+
kind: "GetIndex";
|
|
73
|
+
index: number;
|
|
79
74
|
} | {
|
|
80
75
|
kind: "CollectSome";
|
|
76
|
+
} | {
|
|
77
|
+
kind: "AsOption";
|
|
78
|
+
} | {
|
|
79
|
+
kind: "SplitFirst";
|
|
80
|
+
} | {
|
|
81
|
+
kind: "SplitLast";
|
|
82
|
+
} | {
|
|
83
|
+
kind: "WrapInField";
|
|
84
|
+
field: string;
|
|
81
85
|
} | {
|
|
82
86
|
kind: "Sleep";
|
|
83
|
-
|
|
87
|
+
ms: number;
|
|
88
|
+
} | {
|
|
89
|
+
kind: "Panic";
|
|
90
|
+
message: string;
|
|
91
|
+
} | {
|
|
92
|
+
kind: "ExtractPrefix";
|
|
93
|
+
} | {
|
|
94
|
+
kind: "Slice";
|
|
95
|
+
start: number;
|
|
96
|
+
end?: number;
|
|
84
97
|
};
|
|
85
98
|
/**
|
|
86
|
-
* When
|
|
87
|
-
* combinator
|
|
99
|
+
* When T is `never` or `void` (handler ignores input / recur doesn't
|
|
100
|
+
* thread state), produce `any` so the combinator can sit in any
|
|
101
|
+
* pipeline position.
|
|
88
102
|
*/
|
|
89
|
-
export type PipeIn<T> = [T] extends [never] ? any : T;
|
|
103
|
+
export type PipeIn<T> = [T] extends [never] ? any : [T] extends [void] ? any : T;
|
|
90
104
|
export interface Config {
|
|
91
105
|
workflow: Action;
|
|
92
106
|
}
|
|
@@ -94,97 +108,160 @@ type UnionToIntersection<TUnion> = (TUnion extends any ? (x: TUnion) => void : n
|
|
|
94
108
|
/** Merge a tuple of objects into a single intersection type. */
|
|
95
109
|
export type MergeTuple<TTuple> = TTuple extends unknown[] ? UnionToIntersection<TTuple[number]> : never;
|
|
96
110
|
/**
|
|
97
|
-
* An action with tracked input/output types. Phantom fields enforce
|
|
111
|
+
* An action with tracked input/output types. Phantom fields enforce variance
|
|
98
112
|
* and are never set at runtime — they exist only for the TypeScript compiler.
|
|
99
113
|
*
|
|
100
|
-
* Each type variable gets a contravariant + covariant field pair:
|
|
101
114
|
* In: __in (contravariant) + __in_co (covariant) → invariant
|
|
102
|
-
* Out: __out (covariant
|
|
115
|
+
* Out: __out (covariant only)
|
|
103
116
|
*
|
|
104
|
-
*
|
|
117
|
+
* Input invariance ensures exact type matching at pipeline connection points.
|
|
105
118
|
* Data crosses serialization boundaries to handlers in arbitrary languages
|
|
106
119
|
* (Rust, Python, etc.), so extra/missing fields are runtime errors.
|
|
120
|
+
*
|
|
121
|
+
* Output covariance is safe — a step producing Dog where Animal is expected
|
|
122
|
+
* downstream works. `never` (throwError, recur, done) is assignable to any
|
|
123
|
+
* output slot via standard subtyping.
|
|
107
124
|
*/
|
|
108
|
-
export type TypedAction<In = unknown, Out = unknown
|
|
125
|
+
export type TypedAction<In = unknown, Out = unknown> = Action & {
|
|
109
126
|
__in?: (input: In) => void;
|
|
110
127
|
__in_co?: In;
|
|
111
128
|
__out?: () => Out;
|
|
112
|
-
__out_contra?: (output: Out) => void;
|
|
113
|
-
__refs?: {
|
|
114
|
-
_brand: Refs;
|
|
115
|
-
};
|
|
116
129
|
/** Chain this action with another. `a.then(b)` ≡ `chain(a, b)`. */
|
|
117
|
-
then<TNext>(next: Pipeable<Out, TNext>): TypedAction<In, TNext
|
|
118
|
-
/** Apply an action to each element of an array output. `a.forEach(b)` ≡ `a.then(forEach(b))`. */
|
|
119
|
-
forEach<TIn, TElement, TNext, TRefs extends string>(this: TypedAction<TIn, TElement[], TRefs>, action: Pipeable<TElement, TNext>): TypedAction<TIn, TNext[], TRefs>;
|
|
130
|
+
then<TNext>(next: Pipeable<Out, TNext>): TypedAction<In, TNext>;
|
|
120
131
|
/** Dispatch on a tagged union output. Auto-unwraps `value` before each case handler. */
|
|
121
132
|
branch<TCases extends {
|
|
122
133
|
[K in BranchKeys<Out>]: CaseHandler<BranchPayload<Out, K>, unknown>;
|
|
123
|
-
}>(cases: [BranchKeys<Out>] extends [never] ? never : TCases): TypedAction<In, ExtractOutput<TCases[keyof TCases & string]
|
|
124
|
-
/** Flatten
|
|
125
|
-
flatten(
|
|
134
|
+
}>(cases: [BranchKeys<Out>] extends [never] ? never : TCases): TypedAction<In, ExtractOutput<TCases[keyof TCases & string]>>;
|
|
135
|
+
/** Flatten one level of array nesting. `TElement[][] → TElement[]` */
|
|
136
|
+
flatten<TIn, TElement>(this: TypedAction<TIn, TElement[][]>): TypedAction<TIn, TElement[]>;
|
|
126
137
|
/** Discard output. `a.drop()` ≡ `pipe(a, drop)`. */
|
|
127
|
-
drop(): TypedAction<In,
|
|
138
|
+
drop(): TypedAction<In, void>;
|
|
128
139
|
/** Wrap output as a tagged union member. Requires full variant map TDef so __def is carried. */
|
|
129
|
-
tag<TDef extends Record<string, unknown>, TKind extends keyof TDef & string>(kind: TKind): TypedAction<In, TaggedUnion<TDef
|
|
130
|
-
/**
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
merge(): TypedAction<In, MergeTuple<Out>, Refs>;
|
|
140
|
+
tag<TEnumName extends string, TDef extends Record<string, unknown>, TKind extends keyof TDef & string>(kind: TKind, enumName: TEnumName): TypedAction<In, TaggedUnion<TEnumName, TDef>>;
|
|
141
|
+
/** Wrap output as `Option.Some`. `T → Option<T>` */
|
|
142
|
+
some(): TypedAction<In, Option<Out>>;
|
|
143
|
+
/** Wrap output as `Result.Ok`. `T → Result<T, never>` */
|
|
144
|
+
ok(): TypedAction<In, Result<Out, never>>;
|
|
145
|
+
/** Wrap output as `Result.Err`. `T → Result<never, T>` */
|
|
146
|
+
err(): TypedAction<In, Result<never, Out>>;
|
|
147
|
+
/** Extract a field from the output object. `a.getField("name")` ≡ `pipe(a, getField("name"))`. */
|
|
148
|
+
getField<TField extends keyof Out & string>(field: TField): TypedAction<In, Out[TField]>;
|
|
149
|
+
/** Extract an element from the output array by index. Returns Option. */
|
|
150
|
+
getIndex<TIn, TTuple extends unknown[], TIndex extends number>(this: TypedAction<TIn, TTuple>, index: TIndex): TypedAction<TIn, Option<TTuple[TIndex]>>;
|
|
151
|
+
/** Wrap output in an object under a field name. `a.wrapInField("foo")` ≡ `pipe(a, wrapInField("foo"))`. */
|
|
152
|
+
wrapInField<TField extends string>(field: TField): TypedAction<In, Record<TField, Out>>;
|
|
143
153
|
/** Select fields from the output. `a.pick("x", "y")` ≡ `pipe(a, pick("x", "y"))`. */
|
|
144
|
-
pick<TKeys extends (keyof Out & string)[]>(...keys: TKeys): TypedAction<In, Pick<Out, TKeys[number]
|
|
154
|
+
pick<TKeys extends (keyof Out & string)[]>(...keys: TKeys): TypedAction<In, Pick<Out, TKeys[number]>>;
|
|
155
|
+
/** Head/tail decomposition for Iterator. `Iterator<T> → Option<[T, Iterator<T>]>` */
|
|
156
|
+
splitFirst<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>): TypedAction<TIn, Option<[TElement, Iterator<TElement>]>>;
|
|
157
|
+
/** Head/tail decomposition. Only callable when Out is TElement[]. */
|
|
158
|
+
splitFirst<TIn, TElement>(this: TypedAction<TIn, TElement[]>): TypedAction<TIn, Option<[TElement, TElement[]]>>;
|
|
159
|
+
/** Init/last decomposition for Iterator. `Iterator<T> → Option<[Iterator<T>, T]>` */
|
|
160
|
+
splitLast<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>): TypedAction<TIn, Option<[Iterator<TElement>, TElement]>>;
|
|
161
|
+
/** Init/last decomposition. Only callable when Out is TElement[]. */
|
|
162
|
+
splitLast<TIn, TElement>(this: TypedAction<TIn, TElement[]>): TypedAction<TIn, Option<[TElement[], TElement]>>;
|
|
145
163
|
/**
|
|
146
|
-
* Transform the
|
|
147
|
-
* Out is Option<T>. Uses `this` parameter constraint to gate availability.
|
|
164
|
+
* Transform the inner value. Dispatches: Option.map, Result.map.
|
|
148
165
|
*/
|
|
149
|
-
|
|
166
|
+
map<TIn, T, U>(this: TypedAction<TIn, Option<T>>, action: Pipeable<T, U>): TypedAction<TIn, Option<U>>;
|
|
167
|
+
map<TIn, TValue, TOut, TError>(this: TypedAction<TIn, Result<TValue, TError>>, action: Pipeable<TValue, TOut>): TypedAction<TIn, Result<TOut, TError>>;
|
|
168
|
+
/** Transform each element in Iterator. `Iterator<T> → Iterator<U>` */
|
|
169
|
+
map<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, TOut>): TypedAction<TIn, Iterator<TOut>>;
|
|
150
170
|
/**
|
|
151
171
|
* Transform the Err value of a Result output.
|
|
152
172
|
* `Result<TValue, TError> → Result<TValue, TErrorOut>`
|
|
153
|
-
*
|
|
154
|
-
* Only callable when Out is Result<TValue, TError>.
|
|
155
173
|
*/
|
|
156
|
-
mapErr<TIn, TValue, TError, TErrorOut>(this: TypedAction<TIn, Result<TValue, TError
|
|
174
|
+
mapErr<TIn, TValue, TError, TErrorOut>(this: TypedAction<TIn, Result<TValue, TError>>, action: Pipeable<TError, TErrorOut>): TypedAction<TIn, Result<TValue, TErrorOut>>;
|
|
157
175
|
/**
|
|
158
|
-
* Unwrap
|
|
159
|
-
* the default action. Only callable when Out is Result<TValue, TError>.
|
|
176
|
+
* Unwrap or panic. Dispatches: Option.unwrap, Result.unwrap.
|
|
160
177
|
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
|
|
178
|
+
* Option: If Some, pass through value. If None, panic.
|
|
179
|
+
* Result: If Ok, pass through value. If Err, panic.
|
|
180
|
+
*/
|
|
181
|
+
unwrap<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>): TypedAction<TIn, TValue>;
|
|
182
|
+
unwrap<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, TValue>;
|
|
183
|
+
/**
|
|
184
|
+
* Unwrap a union output. Dispatches: Option.unwrapOr, Result.unwrapOr.
|
|
164
185
|
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
186
|
+
* Option: If Some, pass through value. If None, apply default.
|
|
187
|
+
* Result: If Ok, pass through value. If Err, apply default.
|
|
167
188
|
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* The return type uses the enclosing TypedAction's `Refs` directly.
|
|
189
|
+
* Covariant output makes throw tokens (Out=never) work:
|
|
190
|
+
* `handler.unwrapOr(throwError)`
|
|
171
191
|
*/
|
|
172
|
-
unwrapOr<TIn, TValue
|
|
192
|
+
unwrapOr<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>, defaultAction: Pipeable<void, TValue>): TypedAction<TIn, TValue>;
|
|
193
|
+
unwrapOr<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>, defaultAction: Pipeable<TError, TValue>): TypedAction<TIn, TValue>;
|
|
194
|
+
/** Monadic bind. Option: `Option<T> → Option<U>`. Result: `Result<T,E> → Result<U,E>`. */
|
|
195
|
+
andThen<TIn, TValue, TOut>(this: TypedAction<TIn, Option<TValue>>, action: Pipeable<TValue, Option<TOut>>): TypedAction<TIn, Option<TOut>>;
|
|
196
|
+
andThen<TIn, TValue, TOut, TError>(this: TypedAction<TIn, Result<TValue, TError>>, action: Pipeable<TValue, Result<TOut, TError>>): TypedAction<TIn, Result<TOut, TError>>;
|
|
197
|
+
/** Conditional keep. If Some, apply predicate. If None, stay None. */
|
|
198
|
+
filter<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>, predicate: Pipeable<TValue, Option<TValue>>): TypedAction<TIn, Option<TValue>>;
|
|
199
|
+
/** Keep elements where predicate returns true. `Iterator<T> → Iterator<T>` */
|
|
200
|
+
filter<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>, predicate: Pipeable<TElement, boolean>): TypedAction<TIn, Iterator<TElement>>;
|
|
201
|
+
/** Test if the value is Some. `Option<T> → boolean` */
|
|
202
|
+
isSome<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>): TypedAction<TIn, boolean>;
|
|
203
|
+
/** Test if the value is None. `Option<T> → boolean` */
|
|
204
|
+
isNone<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>): TypedAction<TIn, boolean>;
|
|
205
|
+
/** Collect Some values from an array, discarding Nones. `Option<T>[] → T[]` */
|
|
206
|
+
collect<TIn, TValue>(this: TypedAction<TIn, Option<TValue>[]>): TypedAction<TIn, TValue[]>;
|
|
207
|
+
/** Unwrap Iterator to array. `Iterator<T> → T[]` */
|
|
208
|
+
collect<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>): TypedAction<TIn, TElement[]>;
|
|
209
|
+
/** Fallback on Err. `Result<T,E> → Result<T,F>` */
|
|
210
|
+
or<TIn, TValue, TError, TErrorOut>(this: TypedAction<TIn, Result<TValue, TError>>, fallback: Pipeable<TError, Result<TValue, TErrorOut>>): TypedAction<TIn, Result<TValue, TErrorOut>>;
|
|
211
|
+
/** Convert Ok to Some, Err to None. `Result<T,E> → Option<T>` */
|
|
212
|
+
asOkOption<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TValue>>;
|
|
213
|
+
/** Convert Err to Some, Ok to None. `Result<T,E> → Option<E>` */
|
|
214
|
+
asErrOption<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TError>>;
|
|
215
|
+
/** Convert boolean to Option<void>. `boolean → Option<void>` */
|
|
216
|
+
asOption<TIn>(this: TypedAction<TIn, boolean>): TypedAction<TIn, Option<void>>;
|
|
217
|
+
/** Test if the value is Ok. `Result<T,E> → boolean` */
|
|
218
|
+
isOk<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, boolean>;
|
|
219
|
+
/** Test if the value is Err. `Result<T,E> → boolean` */
|
|
220
|
+
isErr<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, boolean>;
|
|
221
|
+
/** Swap nesting. `Option<Result<T,E>> → Result<Option<T>,E>` or `Result<Option<T>,E> → Option<Result<T,E>>`. */
|
|
222
|
+
transpose<TIn, TValue, TError>(this: TypedAction<TIn, Option<Result<TValue, TError>>>): TypedAction<TIn, Result<Option<TValue>, TError>>;
|
|
223
|
+
transpose<TIn, TValue, TError>(this: TypedAction<TIn, Result<Option<TValue>, TError>>): TypedAction<TIn, Option<Result<TValue, TError>>>;
|
|
224
|
+
/** Enter Iterator from Option. `Option<T> → Iterator<T>` */
|
|
225
|
+
iterate<TIn, TElement>(this: TypedAction<TIn, Option<TElement>>): TypedAction<TIn, Iterator<TElement>>;
|
|
226
|
+
/** Enter Iterator from Result. `Result<T,E> → Iterator<T>` */
|
|
227
|
+
iterate<TIn, TElement, TError>(this: TypedAction<TIn, Result<TElement, TError>>): TypedAction<TIn, Iterator<TElement>>;
|
|
228
|
+
/** Enter Iterator from array. `T[] → Iterator<T>` */
|
|
229
|
+
iterate<TIn, TElement>(this: TypedAction<TIn, TElement[]>): TypedAction<TIn, Iterator<TElement>>;
|
|
230
|
+
/** Flat-map each element. `f` returns Iterator. `Iterator<T> → Iterator<U>` */
|
|
231
|
+
flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Iterator<TOut>>): TypedAction<TIn, Iterator<TOut>>;
|
|
232
|
+
/** Flat-map each element. `f` returns Option. `Iterator<T> → Iterator<U>` */
|
|
233
|
+
flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Option<TOut>>): TypedAction<TIn, Iterator<TOut>>;
|
|
234
|
+
/** Flat-map each element. `f` returns Result. `Iterator<T> → Iterator<U>` */
|
|
235
|
+
flatMap<TIn, TElement, TOut, TError>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Result<TOut, TError>>): TypedAction<TIn, Iterator<TOut>>;
|
|
236
|
+
/** Flat-map each element. `f` returns array. `Iterator<T> → Iterator<U>` */
|
|
237
|
+
flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, TOut[]>): TypedAction<TIn, Iterator<TOut>>;
|
|
238
|
+
/** Fold elements with accumulator. `Iterator<T> → TAcc` */
|
|
239
|
+
fold<TIn, TElement, TAcc>(this: TypedAction<TIn, Iterator<TElement>>, init: Pipeable<void, TAcc>, body: Pipeable<[TAcc, TElement], TAcc>): TypedAction<TIn, TAcc>;
|
|
240
|
+
/** Check if iterator is empty. `Iterator<T> → boolean` */
|
|
241
|
+
isEmpty<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>): TypedAction<TIn, boolean>;
|
|
242
|
+
/** Slice elements from start to end. `Iterator<T> → Iterator<T>` */
|
|
243
|
+
slice<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>, start: number, end?: number): TypedAction<TIn, Iterator<TElement>>;
|
|
244
|
+
/** First n elements. `Iterator<T> → Iterator<T>` */
|
|
245
|
+
take<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>, n: number): TypedAction<TIn, Iterator<TElement>>;
|
|
246
|
+
/** Drop first n elements. `Iterator<T> → Iterator<T>` */
|
|
247
|
+
skip<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>, n: number): TypedAction<TIn, Iterator<TElement>>;
|
|
248
|
+
/** Bind concurrent values as VarRefs available throughout the body. */
|
|
249
|
+
bind<TBindings extends Action[], TOut>(bindings: [...TBindings], body: (vars: InferVarRefs<TBindings>) => Action & {
|
|
250
|
+
__out?: () => TOut;
|
|
251
|
+
}): TypedAction<In, TOut>;
|
|
252
|
+
/** Capture the pipeline input as a VarRef. */
|
|
253
|
+
bindInput<TOut>(body: (input: VarRef<Out>) => Action & {
|
|
254
|
+
__out?: () => TOut;
|
|
255
|
+
}): TypedAction<In, TOut>;
|
|
173
256
|
};
|
|
174
257
|
/**
|
|
175
|
-
* Parameter type for pipe and combinators.
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* Invariance: Both In and Out are invariant, matching TypedAction:
|
|
179
|
-
* In: __in (contravariant) + __in_co (covariant) → invariant
|
|
180
|
-
* Out: __out (covariant) + __out_contra (contravariant) → invariant
|
|
258
|
+
* Parameter type for pipe and combinators. Same phantom fields as TypedAction
|
|
259
|
+
* but without methods.
|
|
181
260
|
*
|
|
182
261
|
* Why no methods: TypedAction's methods (then, branch, etc.) participate in
|
|
183
262
|
* TS assignability checks in complex, recursive ways that interfere with
|
|
184
263
|
* generic inference in pipe overloads. Pipeable strips methods so that only
|
|
185
|
-
* phantom fields drive inference
|
|
186
|
-
* resolution, with invariance enforced when TS checks candidates from
|
|
187
|
-
* both sides of a connection.
|
|
264
|
+
* phantom fields drive inference.
|
|
188
265
|
*
|
|
189
266
|
* TypedAction (with methods) is assignable to Pipeable because Pipeable
|
|
190
267
|
* only requires a subset of properties.
|
|
@@ -193,24 +270,26 @@ export type Pipeable<In = unknown, Out = unknown> = Action & {
|
|
|
193
270
|
__in?: (input: In) => void;
|
|
194
271
|
__in_co?: In;
|
|
195
272
|
__out?: () => Out;
|
|
196
|
-
__out_contra?: (output: Out) => void;
|
|
197
273
|
};
|
|
198
274
|
/**
|
|
199
|
-
*
|
|
275
|
+
* Strip phantom types from a Pipeable, returning a plain Action.
|
|
276
|
+
*
|
|
277
|
+
* Replaces `x as Action` casts throughout the codebase. The constraint
|
|
278
|
+
* ensures the argument is structurally a Pipeable — unlike a bare cast,
|
|
279
|
+
* `toAction(123)` is a type error.
|
|
280
|
+
*/
|
|
281
|
+
export declare function toAction<TIn, TOut>(pipeable: Pipeable<TIn, TOut>): Action;
|
|
282
|
+
/**
|
|
283
|
+
* Contravariant input + covariant output for branch case handler positions.
|
|
200
284
|
*
|
|
201
|
-
* Omits __in_co (covariant input)
|
|
202
|
-
* compared to TypedAction/Pipeable. This gives:
|
|
285
|
+
* Omits __in_co (covariant input) compared to Pipeable. This gives:
|
|
203
286
|
* In: contravariant only (via __in)
|
|
204
287
|
* Out: covariant only (via __out)
|
|
205
288
|
*
|
|
206
289
|
* Why contravariant input: a handler that accepts `unknown` (like drop)
|
|
207
290
|
* can handle any variant. (input: unknown) => void is assignable to
|
|
208
291
|
* (input: HasErrors) => void because HasErrors extends unknown.
|
|
209
|
-
*
|
|
210
|
-
* Why covariant output: the constraint doesn't restrict output types —
|
|
211
|
-
* they're inferred from the actual case handlers via ExtractOutput.
|
|
212
|
-
* TypedAction's invariant __out_contra with Out=unknown would
|
|
213
|
-
* reject any handler with a specific output type, so we omit it.
|
|
292
|
+
* Pipeable's invariant input (__in_co) would reject this.
|
|
214
293
|
*
|
|
215
294
|
* TypedAction is assignable to CaseHandler because CaseHandler only
|
|
216
295
|
* requires a subset of TypedAction's phantom fields.
|
|
@@ -225,11 +304,16 @@ type CaseHandler<TIn = unknown, TOut = unknown> = Action & {
|
|
|
225
304
|
* field enables `.branch()` to decompose the union via simple indexing
|
|
226
305
|
* (`keyof ExtractDef<Out>` and `ExtractDef<Out>[K]`) instead of
|
|
227
306
|
* conditional types (`KindOf<Out>` and `Extract<Out, { kind: K }>`).
|
|
307
|
+
*
|
|
308
|
+
* **Void → null mapping:** Variants with `void` payload (e.g. `{ None: void }`)
|
|
309
|
+
* become `{ kind: "None"; value: null }` at runtime. This is handled by
|
|
310
|
+
* `VoidToNull` below — `void` has no runtime representation in JSON, so it
|
|
311
|
+
* serializes as `null`. Use `z.null()` in Zod schemas for void variants.
|
|
228
312
|
*/
|
|
229
313
|
type VoidToNull<T> = 0 extends 1 & T ? T : [T] extends [never] ? never : [T] extends [void] ? null : T;
|
|
230
|
-
export type TaggedUnion<TDef extends Record<string, unknown>> = {
|
|
314
|
+
export type TaggedUnion<TEnumName extends string, TDef extends Record<string, unknown>> = {
|
|
231
315
|
[K in keyof TDef & string]: {
|
|
232
|
-
kind: K
|
|
316
|
+
kind: `${TEnumName}.${K}`;
|
|
233
317
|
value: VoidToNull<TDef[K]>;
|
|
234
318
|
__def?: TDef;
|
|
235
319
|
};
|
|
@@ -242,43 +326,52 @@ export type OptionDef<T> = {
|
|
|
242
326
|
Some: T;
|
|
243
327
|
None: void;
|
|
244
328
|
};
|
|
245
|
-
export type Option<T> = TaggedUnion<OptionDef<T>>;
|
|
329
|
+
export type Option<T> = TaggedUnion<"Option", OptionDef<T>>;
|
|
246
330
|
export type ResultDef<TValue, TError> = {
|
|
247
331
|
Ok: TValue;
|
|
248
332
|
Err: TError;
|
|
249
333
|
};
|
|
250
|
-
export type Result<TValue, TError> = TaggedUnion<ResultDef<TValue, TError>>;
|
|
334
|
+
export type Result<TValue, TError> = TaggedUnion<"Result", ResultDef<TValue, TError>>;
|
|
335
|
+
export type IteratorDef<TElement> = {
|
|
336
|
+
Iterator: TElement[];
|
|
337
|
+
};
|
|
338
|
+
export type Iterator<TElement> = TaggedUnion<"Iterator", IteratorDef<TElement>>;
|
|
251
339
|
/** Extract all `kind` string literals from a discriminated union. */
|
|
252
340
|
type KindOf<T> = T extends {
|
|
253
341
|
kind: infer K extends string;
|
|
254
342
|
} ? K : never;
|
|
343
|
+
/** Strip a `"Prefix."` namespace from a dotted kind string. `"Nat.Zero"` → `"Zero"`. */
|
|
344
|
+
type StripKindPrefix<K extends string> = K extends `${string}.${infer Bare}` ? Bare : K;
|
|
255
345
|
/** Extract the `value` field from a `{ kind, value }` variant. Falls back to T if no `value` field. */
|
|
256
346
|
type UnwrapVariant<T> = T extends {
|
|
257
347
|
value: infer V;
|
|
258
348
|
} ? V : T;
|
|
259
349
|
/**
|
|
260
350
|
* Branch case keys: prefer ExtractDef (simple keyof indexing) when the
|
|
261
|
-
* output carries __def. Falls back to KindOf
|
|
262
|
-
* outputs without __def.
|
|
351
|
+
* output carries __def. Falls back to KindOf with prefix stripping for
|
|
352
|
+
* outputs without __def (namespaced kinds like "Nat.Zero" → "Zero").
|
|
263
353
|
*/
|
|
264
|
-
type BranchKeys<Out> = [ExtractDef<Out>] extends [never] ? KindOf<Out
|
|
354
|
+
type BranchKeys<Out> = [ExtractDef<Out>] extends [never] ? StripKindPrefix<KindOf<Out>> : keyof ExtractDef<Out> & string;
|
|
265
355
|
/**
|
|
266
356
|
* Branch case payload: prefer ExtractDef[K] (simple indexing) when available.
|
|
267
|
-
* Falls back to UnwrapVariant<Extract<Out, { kind:
|
|
357
|
+
* Falls back to UnwrapVariant<Extract<Out, { kind: ... }>> for outputs without __def.
|
|
358
|
+
* In the fallback, matches namespaced kinds (`"Prefix.K"`) against the bare key K.
|
|
268
359
|
*/
|
|
269
360
|
type BranchPayload<Out, K extends string> = [ExtractDef<Out>] extends [never] ? UnwrapVariant<Extract<Out, {
|
|
270
361
|
kind: K;
|
|
362
|
+
} | {
|
|
363
|
+
kind: `${string}.${K}`;
|
|
271
364
|
}>> : K extends keyof ExtractDef<Out> ? VoidToNull<ExtractDef<Out>[K]> : never;
|
|
272
365
|
/**
|
|
273
366
|
* Attach `.then()` and `.forEach()` methods to a plain Action object.
|
|
274
367
|
* Methods are non-enumerable: invisible to JSON.stringify and toEqual.
|
|
275
368
|
*/
|
|
276
|
-
export declare function typedAction<In = unknown, Out = unknown
|
|
369
|
+
export declare function typedAction<In = unknown, Out = unknown>(action: Action): TypedAction<In, Out>;
|
|
277
370
|
/**
|
|
278
371
|
* Extract the input type from a TypedAction.
|
|
279
372
|
*
|
|
280
373
|
* Uses direct phantom field extraction (not full TypedAction matching) to
|
|
281
|
-
* avoid
|
|
374
|
+
* avoid a full `TypedAction<any, any>` constraint which fails for In=never
|
|
282
375
|
* due to __in contravariance.
|
|
283
376
|
*/
|
|
284
377
|
export type ExtractInput<T> = T extends {
|
|
@@ -321,13 +414,20 @@ export type BranchInput<TCases> = {
|
|
|
321
414
|
};
|
|
322
415
|
}[keyof TCases & string];
|
|
323
416
|
export declare function branch<TCases extends Record<string, Action>>(cases: TCases): TypedAction<BranchInput<TCases>, ExtractOutput<TCases[keyof TCases & string]>>;
|
|
417
|
+
/**
|
|
418
|
+
* Two-level dispatch: extract the enum prefix from a tagged value's `kind`,
|
|
419
|
+
* then branch on that prefix. Used by postfix methods (`.map()`, `.unwrapOr()`,
|
|
420
|
+
* etc.) to dispatch across union families (Option, Result) without runtime
|
|
421
|
+
* metadata.
|
|
422
|
+
*
|
|
423
|
+
* `branchFamily({ Result: ..., Option: ... })` ≡ `chain(extractPrefix(), branch(cases))`
|
|
424
|
+
*/
|
|
425
|
+
export declare function branchFamily(cases: Record<string, Action>): TypedAction;
|
|
324
426
|
type LoopResultDef<TContinue, TBreak> = {
|
|
325
427
|
Continue: TContinue;
|
|
326
428
|
Break: TBreak;
|
|
327
429
|
};
|
|
328
|
-
export type LoopResult<TContinue, TBreak> = TaggedUnion<LoopResultDef<TContinue, TBreak>>;
|
|
329
|
-
export declare const TAG_BREAK: Action;
|
|
330
|
-
export declare const IDENTITY: Action;
|
|
430
|
+
export type LoopResult<TContinue, TBreak> = TaggedUnion<"LoopResult", LoopResultDef<TContinue, TBreak>>;
|
|
331
431
|
/**
|
|
332
432
|
* Restartable scope. The body callback receives `restart`, a TypedAction that
|
|
333
433
|
* re-executes the body from the beginning with a new input value.
|
|
@@ -335,9 +435,9 @@ export declare const IDENTITY: Action;
|
|
|
335
435
|
* If the body completes normally → output is TOut.
|
|
336
436
|
* If restart fires → body re-executes with the restarted value.
|
|
337
437
|
*
|
|
338
|
-
* Compiled form: `RestartHandle(id,
|
|
438
|
+
* Compiled form: `RestartHandle(id, GetIndex(0), body)`
|
|
339
439
|
*/
|
|
340
|
-
export declare function recur<TIn =
|
|
440
|
+
export declare function recur<TIn = void, TOut = any>(bodyFn: (restart: TypedAction<TIn, never>) => Pipeable<TIn, TOut>): TypedAction<PipeIn<TIn>, TOut>;
|
|
341
441
|
/**
|
|
342
442
|
* Early return scope. The body callback receives `earlyReturn`, a TypedAction
|
|
343
443
|
* that exits the scope immediately with the returned value.
|
|
@@ -350,10 +450,10 @@ export declare function recur<TIn = never, TOut = any>(bodyFn: (restart: TypedAc
|
|
|
350
450
|
* a Branch. earlyReturn tags with Break and performs — the handler restarts
|
|
351
451
|
* the body, Branch takes the Break path, and the value exits.
|
|
352
452
|
*/
|
|
353
|
-
export declare function earlyReturn<TEarlyReturn =
|
|
453
|
+
export declare function earlyReturn<TEarlyReturn = void, TIn = any, TOut = any>(bodyFn: (earlyReturn: TypedAction<TEarlyReturn, never>) => Pipeable<TIn, TOut>): TypedAction<TIn, TEarlyReturn | TOut>;
|
|
354
454
|
/**
|
|
355
455
|
* Build the restart+branch compiled form:
|
|
356
|
-
* `Chain(Tag("Continue"), RestartHandle(id,
|
|
456
|
+
* `Chain(Tag("Continue"), RestartHandle(id, GetIndex(0), Branch({ Continue: continueArm, Break: breakArm })))`
|
|
357
457
|
*
|
|
358
458
|
* Input is tagged Continue so the Branch enters the continueArm on first execution.
|
|
359
459
|
* Continue tag → restart → re-enters continueArm. Break tag → restart → runs breakArm, exits `RestartHandle`.
|
|
@@ -370,6 +470,7 @@ export declare function buildRestartBranchAction(restartHandlerId: RestartHandle
|
|
|
370
470
|
*
|
|
371
471
|
* Compiles to `RestartHandle`/`RestartPerform`/Branch — same effect substrate as tryCatch and earlyReturn.
|
|
372
472
|
*/
|
|
373
|
-
export declare function loop<TBreak =
|
|
473
|
+
export declare function loop<TBreak = void, TRecur = void>(bodyFn: (recur: TypedAction<TRecur, never>, done: TypedAction<VoidToNull<TBreak>, never>) => Pipeable<TRecur, never>): TypedAction<PipeIn<TRecur>, VoidToNull<TBreak>>;
|
|
374
474
|
/** Simple config factory. */
|
|
375
475
|
export declare function config(workflow: Action): Config;
|
|
476
|
+
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
|