@barnum/barnum 0.0.0-main-a589e69d → 0.0.0-main-57736a4e

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.
Files changed (107) hide show
  1. package/artifacts/linux-arm64/barnum +0 -0
  2. package/artifacts/linux-x64/barnum +0 -0
  3. package/artifacts/macos-arm64/barnum +0 -0
  4. package/artifacts/macos-x64/barnum +0 -0
  5. package/artifacts/win-x64/barnum.exe +0 -0
  6. package/dist/all.d.ts +1 -0
  7. package/dist/all.d.ts.map +1 -0
  8. package/dist/all.js +1 -1
  9. package/dist/ast.d.ts +74 -65
  10. package/dist/ast.d.ts.map +1 -0
  11. package/dist/ast.js +186 -117
  12. package/dist/bind.d.ts +1 -0
  13. package/dist/bind.d.ts.map +1 -0
  14. package/dist/bind.js +8 -8
  15. package/dist/builtins/array.d.ts +28 -0
  16. package/dist/builtins/array.d.ts.map +1 -0
  17. package/dist/builtins/array.js +74 -0
  18. package/dist/builtins/index.d.ts +6 -0
  19. package/dist/builtins/index.d.ts.map +1 -0
  20. package/dist/builtins/index.js +5 -0
  21. package/dist/builtins/scalar.d.ts +12 -0
  22. package/dist/builtins/scalar.d.ts.map +1 -0
  23. package/dist/builtins/scalar.js +41 -0
  24. package/dist/builtins/struct.d.ts +25 -0
  25. package/dist/builtins/struct.d.ts.map +1 -0
  26. package/dist/builtins/struct.js +67 -0
  27. package/dist/builtins/tagged-union.d.ts +54 -0
  28. package/dist/builtins/tagged-union.d.ts.map +1 -0
  29. package/dist/builtins/tagged-union.js +81 -0
  30. package/dist/builtins/with-resource.d.ts +23 -0
  31. package/dist/builtins/with-resource.d.ts.map +1 -0
  32. package/dist/builtins/with-resource.js +35 -0
  33. package/dist/chain.d.ts +1 -0
  34. package/dist/chain.d.ts.map +1 -0
  35. package/dist/chain.js +4 -11
  36. package/dist/effect-id.d.ts +1 -0
  37. package/dist/effect-id.d.ts.map +1 -0
  38. package/dist/handler.d.ts +1 -0
  39. package/dist/handler.d.ts.map +1 -0
  40. package/dist/handler.js +3 -3
  41. package/dist/index.d.ts +7 -5
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +2 -2
  44. package/dist/iterator.d.ts +18 -0
  45. package/dist/iterator.d.ts.map +1 -0
  46. package/dist/iterator.js +71 -0
  47. package/dist/option.d.ts +5 -32
  48. package/dist/option.d.ts.map +1 -0
  49. package/dist/option.js +24 -77
  50. package/dist/pipe.d.ts +2 -1
  51. package/dist/pipe.d.ts.map +1 -0
  52. package/dist/pipe.js +3 -2
  53. package/dist/race.d.ts +3 -2
  54. package/dist/race.d.ts.map +1 -0
  55. package/dist/race.js +10 -9
  56. package/dist/recursive.d.ts +7 -0
  57. package/dist/recursive.d.ts.map +1 -0
  58. package/dist/recursive.js +16 -10
  59. package/dist/result.d.ts +8 -35
  60. package/dist/result.d.ts.map +1 -0
  61. package/dist/result.js +36 -96
  62. package/dist/run.d.ts +2 -1
  63. package/dist/run.d.ts.map +1 -0
  64. package/dist/run.js +9 -5
  65. package/dist/runtime.d.ts +6 -0
  66. package/dist/runtime.d.ts.map +1 -0
  67. package/dist/runtime.js +7 -0
  68. package/dist/schema.d.ts +1 -0
  69. package/dist/schema.d.ts.map +1 -0
  70. package/dist/schemas.d.ts +5 -0
  71. package/dist/schemas.d.ts.map +1 -0
  72. package/dist/schemas.js +13 -0
  73. package/dist/try-catch.d.ts +1 -0
  74. package/dist/try-catch.d.ts.map +1 -0
  75. package/dist/try-catch.js +6 -6
  76. package/dist/values.d.ts +6 -0
  77. package/dist/values.d.ts.map +1 -0
  78. package/dist/values.js +12 -0
  79. package/dist/worker.d.ts +1 -0
  80. package/dist/worker.d.ts.map +1 -0
  81. package/package.json +7 -3
  82. package/src/all.ts +1 -1
  83. package/src/ast.ts +415 -228
  84. package/src/bind.ts +18 -13
  85. package/src/builtins/array.ts +96 -0
  86. package/src/builtins/index.ts +10 -0
  87. package/src/builtins/scalar.ts +49 -0
  88. package/src/builtins/struct.ts +111 -0
  89. package/src/builtins/tagged-union.ts +142 -0
  90. package/src/builtins/with-resource.ts +69 -0
  91. package/src/chain.ts +4 -11
  92. package/src/handler.ts +3 -6
  93. package/src/index.ts +16 -11
  94. package/src/iterator.ts +125 -0
  95. package/src/option.ts +44 -117
  96. package/src/pipe.ts +10 -4
  97. package/src/race.ts +30 -20
  98. package/src/recursive.ts +44 -19
  99. package/src/result.ts +60 -162
  100. package/src/run.ts +14 -6
  101. package/src/runtime.ts +16 -0
  102. package/src/schemas.ts +21 -0
  103. package/src/try-catch.ts +8 -9
  104. package/src/values.ts +21 -0
  105. package/dist/builtins.d.ts +0 -103
  106. package/dist/builtins.js +0 -230
  107. package/src/builtins.ts +0 -366
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/all.d.ts CHANGED
@@ -40,3 +40,4 @@ export declare function all<TInput, TOut1, TOut2, TOut3, TOut4, TOut5, TOut6, TO
40
40
  TOut9,
41
41
  TOut10
42
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
@@ -1,5 +1,5 @@
1
1
  import { typedAction, } from "./ast.js";
2
- import { constant } from "./builtins.js";
2
+ import { constant } from "./builtins/index.js";
3
3
  export function all(...actions) {
4
4
  if (actions.length === 0) {
5
5
  return constant([]);
package/dist/ast.d.ts CHANGED
@@ -73,6 +73,8 @@ export type BuiltinKind = {
73
73
  index: number;
74
74
  } | {
75
75
  kind: "CollectSome";
76
+ } | {
77
+ kind: "AsOption";
76
78
  } | {
77
79
  kind: "SplitFirst";
78
80
  } | {
@@ -86,6 +88,8 @@ export type BuiltinKind = {
86
88
  } | {
87
89
  kind: "Panic";
88
90
  message: string;
91
+ } | {
92
+ kind: "ExtractPrefix";
89
93
  };
90
94
  /**
91
95
  * When T is `never` or `void` (handler ignores input / recur doesn't
@@ -99,45 +103,6 @@ export interface Config {
99
103
  type UnionToIntersection<TUnion> = (TUnion extends any ? (x: TUnion) => void : never) extends (x: infer TIntersection) => void ? TIntersection : never;
100
104
  /** Merge a tuple of objects into a single intersection type. */
101
105
  export type MergeTuple<TTuple> = TTuple extends unknown[] ? UnionToIntersection<TTuple[number]> : never;
102
- /**
103
- * Runtime dispatch table for union postfix methods. Each method is optional —
104
- * Option and Result provide different subsets. TypedAction type signatures
105
- * gate availability at compile time; this table handles runtime dispatch.
106
- */
107
- export interface UnionMethods {
108
- map?: (action: Action) => Action;
109
- andThen?: (action: Action) => Action;
110
- unwrap?: () => Action;
111
- unwrapOr?: (action: Action) => Action;
112
- flatten?: () => Action;
113
- filter?: (predicate: Action) => Action;
114
- collect?: () => Action;
115
- isSome?: () => Action;
116
- isNone?: () => Action;
117
- mapErr?: (action: Action) => Action;
118
- and?: (other: Action) => Action;
119
- or?: (fallback: Action) => Action;
120
- toOption?: () => Action;
121
- toOptionErr?: () => Action;
122
- transpose?: () => Action;
123
- isOk?: () => Action;
124
- isErr?: () => Action;
125
- }
126
- /**
127
- * Runtime dispatch info attached to every TypedAction. Non-null when the
128
- * output is a union type (Option, Result). `name` identifies the type for
129
- * error messages; `methods` is the dispatch table.
130
- */
131
- export interface UnionDispatch {
132
- name: string;
133
- methods: UnionMethods;
134
- }
135
- /**
136
- * Attach a union dispatch table to a TypedAction. Used by constructors
137
- * and family-preserving combinators so postfix methods can dispatch
138
- * to the correct implementation.
139
- */
140
- export declare function withUnion<In, Out>(action: TypedAction<In, Out>, name: string, methods: UnionMethods): TypedAction<In, Out>;
141
106
  /**
142
107
  * An action with tracked input/output types. Phantom fields enforce variance
143
108
  * and are never set at runtime — they exist only for the TypeScript compiler.
@@ -157,33 +122,30 @@ export type TypedAction<In = unknown, Out = unknown> = Action & {
157
122
  __in?: (input: In) => void;
158
123
  __in_co?: In;
159
124
  __out?: () => Out;
160
- /** Runtime dispatch info for union postfix methods (Option/Result). Null for non-union outputs. */
161
- __union: UnionDispatch | null;
162
125
  /** Chain this action with another. `a.then(b)` ≡ `chain(a, b)`. */
163
126
  then<TNext>(next: Pipeable<Out, TNext>): TypedAction<In, TNext>;
164
- /** Apply an action to each element of an array output. `a.forEach(b)` ≡ `a.then(forEach(b))`. */
165
- forEach<TIn, TElement, TNext>(this: TypedAction<TIn, TElement[]>, action: Pipeable<TElement, TNext>): TypedAction<TIn, TNext[]>;
166
127
  /** Dispatch on a tagged union output. Auto-unwraps `value` before each case handler. */
167
128
  branch<TCases extends {
168
129
  [K in BranchKeys<Out>]: CaseHandler<BranchPayload<Out, K>, unknown>;
169
130
  }>(cases: [BranchKeys<Out>] extends [never] ? never : TCases): TypedAction<In, ExtractOutput<TCases[keyof TCases & string]>>;
170
- /** Flatten one level of nesting. Dispatches: Array, Option, Result. */
131
+ /** Flatten one level of array nesting. `TElement[][] TElement[]` */
171
132
  flatten<TIn, TElement>(this: TypedAction<TIn, TElement[][]>): TypedAction<TIn, TElement[]>;
172
- flatten<TIn, TValue>(this: TypedAction<TIn, Option<Option<TValue>>>): TypedAction<TIn, Option<TValue>>;
173
- flatten<TIn, TValue, TError>(this: TypedAction<TIn, Result<Result<TValue, TError>, TError>>): TypedAction<TIn, Result<TValue, TError>>;
174
- flatten(): TypedAction<In, unknown>;
175
133
  /** Discard output. `a.drop()` ≡ `pipe(a, drop)`. */
176
134
  drop(): TypedAction<In, void>;
177
135
  /** Wrap output as a tagged union member. Requires full variant map TDef so __def is carried. */
178
- tag<TDef extends Record<string, unknown>, TKind extends keyof TDef & string>(kind: TKind): TypedAction<In, TaggedUnion<TDef>>;
136
+ tag<TEnumName extends string, TDef extends Record<string, unknown>, TKind extends keyof TDef & string>(kind: TKind, enumName: TEnumName): TypedAction<In, TaggedUnion<TEnumName, TDef>>;
137
+ /** Wrap output as `Option.Some`. `T → Option<T>` */
138
+ some(): TypedAction<In, Option<Out>>;
139
+ /** Wrap output as `Result.Ok`. `T → Result<T, never>` */
140
+ ok(): TypedAction<In, Result<Out, never>>;
141
+ /** Wrap output as `Result.Err`. `T → Result<never, T>` */
142
+ err(): TypedAction<In, Result<never, Out>>;
179
143
  /** Extract a field from the output object. `a.getField("name")` ≡ `pipe(a, getField("name"))`. */
180
144
  getField<TField extends keyof Out & string>(field: TField): TypedAction<In, Out[TField]>;
181
- /** Extract an element from the output tuple by index. `a.getIndex(0)` ≡ `pipe(a, getIndex(0))`. */
182
- getIndex<TIn, TTuple extends unknown[], TIndex extends number>(this: TypedAction<TIn, TTuple>, index: TIndex): TypedAction<TIn, TTuple[TIndex]>;
145
+ /** Extract an element from the output array by index. Returns Option. */
146
+ getIndex<TIn, TTuple extends unknown[], TIndex extends number>(this: TypedAction<TIn, TTuple>, index: TIndex): TypedAction<TIn, Option<TTuple[TIndex]>>;
183
147
  /** Wrap output in an object under a field name. `a.wrapInField("foo")` ≡ `pipe(a, wrapInField("foo"))`. */
184
148
  wrapInField<TField extends string>(field: TField): TypedAction<In, Record<TField, Out>>;
185
- /** Merge a tuple of objects into a single object. `a.merge()` ≡ `pipe(a, merge())`. */
186
- merge(): TypedAction<In, MergeTuple<Out>>;
187
149
  /** Select fields from the output. `a.pick("x", "y")` ≡ `pipe(a, pick("x", "y"))`. */
188
150
  pick<TKeys extends (keyof Out & string)[]>(...keys: TKeys): TypedAction<In, Pick<Out, TKeys[number]>>;
189
151
  /** Head/tail decomposition. Only callable when Out is TElement[]. */
@@ -232,12 +194,12 @@ export type TypedAction<In = unknown, Out = unknown> = Action & {
232
194
  collect<TIn, TValue>(this: TypedAction<TIn, Option<TValue>[]>): TypedAction<TIn, TValue[]>;
233
195
  /** Fallback on Err. `Result<T,E> → Result<T,F>` */
234
196
  or<TIn, TValue, TError, TErrorOut>(this: TypedAction<TIn, Result<TValue, TError>>, fallback: Pipeable<TError, Result<TValue, TErrorOut>>): TypedAction<TIn, Result<TValue, TErrorOut>>;
235
- /** Replace Ok value with another Result. `Result<T,E> → Result<U,E>` */
236
- and<TIn, TValue, TOut, TError>(this: TypedAction<TIn, Result<TValue, TError>>, other: Pipeable<void, Result<TOut, TError>>): TypedAction<TIn, Result<TOut, TError>>;
237
197
  /** Convert Ok to Some, Err to None. `Result<T,E> → Option<T>` */
238
- toOption<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TValue>>;
198
+ asOkOption<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TValue>>;
239
199
  /** Convert Err to Some, Ok to None. `Result<T,E> → Option<E>` */
240
- toOptionErr<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TError>>;
200
+ asErrOption<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TError>>;
201
+ /** Convert boolean to Option<void>. `boolean → Option<void>` */
202
+ asOption<TIn>(this: TypedAction<TIn, boolean>): TypedAction<TIn, Option<void>>;
241
203
  /** Test if the value is Ok. `Result<T,E> → boolean` */
242
204
  isOk<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, boolean>;
243
205
  /** Test if the value is Err. `Result<T,E> → boolean` */
@@ -245,6 +207,26 @@ export type TypedAction<In = unknown, Out = unknown> = Action & {
245
207
  /** Swap nesting. `Option<Result<T,E>> → Result<Option<T>,E>` or `Result<Option<T>,E> → Option<Result<T,E>>`. */
246
208
  transpose<TIn, TValue, TError>(this: TypedAction<TIn, Option<Result<TValue, TError>>>): TypedAction<TIn, Result<Option<TValue>, TError>>;
247
209
  transpose<TIn, TValue, TError>(this: TypedAction<TIn, Result<Option<TValue>, TError>>): TypedAction<TIn, Option<Result<TValue, TError>>>;
210
+ /** Enter Iterator from Option. `Option<T> → Iterator<T>` */
211
+ iterate<TIn, TElement>(this: TypedAction<TIn, Option<TElement>>): TypedAction<TIn, Iterator<TElement>>;
212
+ /** Enter Iterator from Result. `Result<T,E> → Iterator<T>` */
213
+ iterate<TIn, TElement, TError>(this: TypedAction<TIn, Result<TElement, TError>>): TypedAction<TIn, Iterator<TElement>>;
214
+ /** Enter Iterator from array. `T[] → Iterator<T>` */
215
+ iterate<TIn, TElement>(this: TypedAction<TIn, TElement[]>): TypedAction<TIn, Iterator<TElement>>;
216
+ /** Transform each element in Iterator. `Iterator<T> → Iterator<U>` */
217
+ map<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, TOut>): TypedAction<TIn, Iterator<TOut>>;
218
+ /** Flat-map each element. `f` returns Iterator. `Iterator<T> → Iterator<U>` */
219
+ flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Iterator<TOut>>): TypedAction<TIn, Iterator<TOut>>;
220
+ /** Flat-map each element. `f` returns Option. `Iterator<T> → Iterator<U>` */
221
+ flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Option<TOut>>): TypedAction<TIn, Iterator<TOut>>;
222
+ /** Flat-map each element. `f` returns Result. `Iterator<T> → Iterator<U>` */
223
+ flatMap<TIn, TElement, TOut, TError>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Result<TOut, TError>>): TypedAction<TIn, Iterator<TOut>>;
224
+ /** Flat-map each element. `f` returns array. `Iterator<T> → Iterator<U>` */
225
+ flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, TOut[]>): TypedAction<TIn, Iterator<TOut>>;
226
+ /** Keep elements where predicate returns true. `Iterator<T> → Iterator<T>` */
227
+ filter<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>, predicate: Pipeable<TElement, boolean>): TypedAction<TIn, Iterator<TElement>>;
228
+ /** Unwrap Iterator to array. `Iterator<T> → T[]` */
229
+ collect<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>): TypedAction<TIn, TElement[]>;
248
230
  /** Bind concurrent values as VarRefs available throughout the body. */
249
231
  bind<TBindings extends Action[], TOut>(bindings: [...TBindings], body: (vars: InferVarRefs<TBindings>) => Action & {
250
232
  __out?: () => TOut;
@@ -271,6 +253,14 @@ export type Pipeable<In = unknown, Out = unknown> = Action & {
271
253
  __in_co?: In;
272
254
  __out?: () => Out;
273
255
  };
256
+ /**
257
+ * Strip phantom types from a Pipeable, returning a plain Action.
258
+ *
259
+ * Replaces `x as Action` casts throughout the codebase. The constraint
260
+ * ensures the argument is structurally a Pipeable — unlike a bare cast,
261
+ * `toAction(123)` is a type error.
262
+ */
263
+ export declare function toAction<TIn, TOut>(pipeable: Pipeable<TIn, TOut>): Action;
274
264
  /**
275
265
  * Contravariant input + covariant output for branch case handler positions.
276
266
  *
@@ -303,9 +293,9 @@ type CaseHandler<TIn = unknown, TOut = unknown> = Action & {
303
293
  * serializes as `null`. Use `z.null()` in Zod schemas for void variants.
304
294
  */
305
295
  type VoidToNull<T> = 0 extends 1 & T ? T : [T] extends [never] ? never : [T] extends [void] ? null : T;
306
- export type TaggedUnion<TDef extends Record<string, unknown>> = {
296
+ export type TaggedUnion<TEnumName extends string, TDef extends Record<string, unknown>> = {
307
297
  [K in keyof TDef & string]: {
308
- kind: K;
298
+ kind: `${TEnumName}.${K}`;
309
299
  value: VoidToNull<TDef[K]>;
310
300
  __def?: TDef;
311
301
  };
@@ -318,32 +308,41 @@ export type OptionDef<T> = {
318
308
  Some: T;
319
309
  None: void;
320
310
  };
321
- export type Option<T> = TaggedUnion<OptionDef<T>>;
311
+ export type Option<T> = TaggedUnion<"Option", OptionDef<T>>;
322
312
  export type ResultDef<TValue, TError> = {
323
313
  Ok: TValue;
324
314
  Err: TError;
325
315
  };
326
- export type Result<TValue, TError> = TaggedUnion<ResultDef<TValue, TError>>;
316
+ export type Result<TValue, TError> = TaggedUnion<"Result", ResultDef<TValue, TError>>;
317
+ export type IteratorDef<TElement> = {
318
+ Iterator: TElement[];
319
+ };
320
+ export type Iterator<TElement> = TaggedUnion<"Iterator", IteratorDef<TElement>>;
327
321
  /** Extract all `kind` string literals from a discriminated union. */
328
322
  type KindOf<T> = T extends {
329
323
  kind: infer K extends string;
330
324
  } ? K : never;
325
+ /** Strip a `"Prefix."` namespace from a dotted kind string. `"Nat.Zero"` → `"Zero"`. */
326
+ type StripKindPrefix<K extends string> = K extends `${string}.${infer Bare}` ? Bare : K;
331
327
  /** Extract the `value` field from a `{ kind, value }` variant. Falls back to T if no `value` field. */
332
328
  type UnwrapVariant<T> = T extends {
333
329
  value: infer V;
334
330
  } ? V : T;
335
331
  /**
336
332
  * Branch case keys: prefer ExtractDef (simple keyof indexing) when the
337
- * output carries __def. Falls back to KindOf (conditional type) for
338
- * outputs without __def.
333
+ * output carries __def. Falls back to KindOf with prefix stripping for
334
+ * outputs without __def (namespaced kinds like "Nat.Zero" → "Zero").
339
335
  */
340
- type BranchKeys<Out> = [ExtractDef<Out>] extends [never] ? KindOf<Out> : keyof ExtractDef<Out> & string;
336
+ type BranchKeys<Out> = [ExtractDef<Out>] extends [never] ? StripKindPrefix<KindOf<Out>> : keyof ExtractDef<Out> & string;
341
337
  /**
342
338
  * Branch case payload: prefer ExtractDef[K] (simple indexing) when available.
343
- * Falls back to UnwrapVariant<Extract<Out, { kind: K }>> for outputs without __def.
339
+ * Falls back to UnwrapVariant<Extract<Out, { kind: ... }>> for outputs without __def.
340
+ * In the fallback, matches namespaced kinds (`"Prefix.K"`) against the bare key K.
344
341
  */
345
342
  type BranchPayload<Out, K extends string> = [ExtractDef<Out>] extends [never] ? UnwrapVariant<Extract<Out, {
346
343
  kind: K;
344
+ } | {
345
+ kind: `${string}.${K}`;
347
346
  }>> : K extends keyof ExtractDef<Out> ? VoidToNull<ExtractDef<Out>[K]> : never;
348
347
  /**
349
348
  * Attach `.then()` and `.forEach()` methods to a plain Action object.
@@ -397,11 +396,20 @@ export type BranchInput<TCases> = {
397
396
  };
398
397
  }[keyof TCases & string];
399
398
  export declare function branch<TCases extends Record<string, Action>>(cases: TCases): TypedAction<BranchInput<TCases>, ExtractOutput<TCases[keyof TCases & string]>>;
399
+ /**
400
+ * Two-level dispatch: extract the enum prefix from a tagged value's `kind`,
401
+ * then branch on that prefix. Used by postfix methods (`.map()`, `.unwrapOr()`,
402
+ * etc.) to dispatch across union families (Option, Result) without runtime
403
+ * metadata.
404
+ *
405
+ * `branchFamily({ Result: ..., Option: ... })` ≡ `chain(extractPrefix(), branch(cases))`
406
+ */
407
+ export declare function branchFamily(cases: Record<string, Action>): TypedAction;
400
408
  type LoopResultDef<TContinue, TBreak> = {
401
409
  Continue: TContinue;
402
410
  Break: TBreak;
403
411
  };
404
- export type LoopResult<TContinue, TBreak> = TaggedUnion<LoopResultDef<TContinue, TBreak>>;
412
+ export type LoopResult<TContinue, TBreak> = TaggedUnion<"LoopResult", LoopResultDef<TContinue, TBreak>>;
405
413
  /**
406
414
  * Restartable scope. The body callback receives `restart`, a TypedAction that
407
415
  * re-executes the body from the beginning with a new input value.
@@ -447,3 +455,4 @@ export declare function buildRestartBranchAction(restartHandlerId: RestartHandle
447
455
  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>>;
448
456
  /** Simple config factory. */
449
457
  export declare function config(workflow: Action): Config;
458
+ //# 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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"}