parseman 0.42.1 → 0.44.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.
Files changed (68) hide show
  1. package/dist/combinators/attempt.d.ts.map +1 -1
  2. package/dist/combinators/choice.d.ts.map +1 -1
  3. package/dist/combinators/grammar.d.ts +7 -0
  4. package/dist/combinators/grammar.d.ts.map +1 -1
  5. package/dist/combinators/map.d.ts +11 -0
  6. package/dist/combinators/map.d.ts.map +1 -1
  7. package/dist/combinators/node.d.ts +21 -7
  8. package/dist/combinators/node.d.ts.map +1 -1
  9. package/dist/combinators/parser.d.ts +17 -2
  10. package/dist/combinators/parser.d.ts.map +1 -1
  11. package/dist/combinators/token.d.ts +3 -2
  12. package/dist/combinators/token.d.ts.map +1 -1
  13. package/dist/combinators/trivia-skip.d.ts +1 -0
  14. package/dist/combinators/trivia-skip.d.ts.map +1 -1
  15. package/dist/compiler/codegen.d.ts +4 -0
  16. package/dist/compiler/codegen.d.ts.map +1 -1
  17. package/dist/compiler/ir-serialize.d.ts.map +1 -1
  18. package/dist/compiler/linker.d.ts +6 -1
  19. package/dist/compiler/linker.d.ts.map +1 -1
  20. package/dist/compiler/scannable-run.d.ts +1 -1
  21. package/dist/compiler/scannable-run.d.ts.map +1 -1
  22. package/dist/compiler/trivia-fast-path.d.ts +4 -3
  23. package/dist/compiler/trivia-fast-path.d.ts.map +1 -1
  24. package/dist/cst/reflection.d.ts +24 -0
  25. package/dist/cst/reflection.d.ts.map +1 -0
  26. package/dist/cst/trivia-entries.d.ts +15 -9
  27. package/dist/cst/trivia-entries.d.ts.map +1 -1
  28. package/dist/cst/trivia-kinds.d.ts +15 -11
  29. package/dist/cst/trivia-kinds.d.ts.map +1 -1
  30. package/dist/cst/types.d.ts +2 -0
  31. package/dist/cst/types.d.ts.map +1 -1
  32. package/dist/cst/walk.d.ts +27 -62
  33. package/dist/cst/walk.d.ts.map +1 -1
  34. package/dist/functional/run.d.ts +22 -16
  35. package/dist/functional/run.d.ts.map +1 -1
  36. package/dist/index.cjs +1651 -1207
  37. package/dist/index.cjs.map +4 -4
  38. package/dist/index.d.ts +6 -5
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1651 -1207
  41. package/dist/index.js.map +4 -4
  42. package/dist/language-service/index.cjs +186 -135
  43. package/dist/language-service/index.cjs.map +4 -4
  44. package/dist/language-service/index.d.ts +1 -1
  45. package/dist/language-service/index.d.ts.map +1 -1
  46. package/dist/language-service/index.js +186 -135
  47. package/dist/language-service/index.js.map +4 -4
  48. package/dist/plugin/evaluator.d.ts +1 -0
  49. package/dist/plugin/evaluator.d.ts.map +1 -1
  50. package/dist/plugin/index.cjs +1525 -1048
  51. package/dist/plugin/index.cjs.map +4 -4
  52. package/dist/plugin/index.d.ts.map +1 -1
  53. package/dist/plugin/index.js +1525 -1048
  54. package/dist/plugin/index.js.map +4 -4
  55. package/dist/run/index.cjs +152 -102
  56. package/dist/run/index.cjs.map +3 -3
  57. package/dist/run/index.d.ts +1 -1
  58. package/dist/run/index.d.ts.map +1 -1
  59. package/dist/run/index.js +152 -102
  60. package/dist/run/index.js.map +3 -3
  61. package/dist/spec/index.cjs +1381 -1152
  62. package/dist/spec/index.cjs.map +4 -4
  63. package/dist/spec/index.js +1381 -1152
  64. package/dist/spec/index.js.map +4 -4
  65. package/dist/types.d.ts +27 -1
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/version.d.ts +1 -1
  68. package/package.json +1 -1
@@ -1,72 +1,37 @@
1
1
  /**
2
- * Tree traversal for the CST/AST a grammar produces. Parséman hands back a plain
3
- * object tree, so you *can* recurse it yourself — these helpers save you from
4
- * re-writing the same recursion for diagnostics, folding, or lowering a tree.
5
- *
6
- * Two entry points:
7
- * - `walk` — imperative depth-first traversal with enter/leave hooks.
8
- * - `createVisitor` — Chevrotain-style dispatch keyed on each node's `type`.
9
- *
10
- * Both default to the built-in CST shape (`CSTChild` — the `node()` / leaf / error
11
- * union), so with no annotation you get precise typing out of the box. Parsing to
12
- * a custom AST? Pass your node type as a generic: `walk<MyNode>(root, …)`.
13
- */
14
- import type { CSTChild } from './types.ts';
15
- /**
16
- * The minimal shape these helpers traverse: a `_tag`, an optional rule `type`,
17
- * and optional structural `children`. The built-in `CSTChild` satisfies it, and
18
- * so does any custom AST node (that's what the generic override targets).
2
+ * Grammar-aware CST traversal. `createVisitor(grammar, handlers)` consumes the
3
+ * reflection stamped on interpreted `rules()` maps and macro/compiled grammar
4
+ * maps, precomputes tag dispatch once, and returns a reusable `visit(root)` fn.
19
5
  */
6
+ import type { CSTChild, CSTNode } from './types.ts';
7
+ import { type GrammarWithReflection } from './reflection.ts';
20
8
  export type Walkable = {
21
9
  readonly _tag: string;
22
10
  readonly type?: string;
23
11
  readonly children?: ReadonlyArray<Walkable>;
24
12
  };
25
- export interface WalkVisitor<N extends Walkable = CSTChild, C = undefined> {
26
- /**
27
- * Called on entering a node, before its children. Return `false` to skip
28
- * descending into this node's children (`leave` still runs).
29
- */
13
+ type GrammarNodeType<G> = G extends GrammarWithReflection<infer NodeType, string> ? NodeType : G extends Record<string, unknown> ? Extract<keyof G, string> : string;
14
+ type GrammarNodeTag<G> = G extends GrammarWithReflection<string, infer NodeTag> ? NodeTag : never;
15
+ type NodeForType<N extends Walkable, Type extends string> = Extract<N, {
16
+ readonly _tag: 'node';
17
+ }> extends never ? CSTNode & {
18
+ readonly type: Type;
19
+ } : Extract<N, {
20
+ readonly _tag: 'node';
21
+ }> & {
22
+ readonly type: Type;
23
+ };
24
+ export type VisitorHandler<N extends Walkable, Root extends Walkable = CSTChild, C = undefined> = (node: N, parent: Root | null, ctx: C) => void;
25
+ export type VisitorSpec<G, N extends Walkable = CSTChild, C = undefined> = {
30
26
  enter?(node: N, parent: N | null, ctx: C): boolean | void;
31
- /** Called on leaving a node, after its children. */
32
27
  leave?(node: N, parent: N | null, ctx: C): void;
33
- }
34
- /**
35
- * Depth-first traversal. Visits `root`, then each structural child in order.
36
- * `ctx` is threaded to both hooks unchanged (use it as an accumulator).
37
- *
38
- * Defaults to the CST shape; override with `walk<MyNode>(root, …)`:
39
- *
40
- * const idents: string[] = []
41
- * walk(tree, {
42
- * enter(node) {
43
- * if (node._tag === 'leaf') idents.push(node.value)
44
- * },
45
- * })
46
- */
47
- export declare function walk<N extends Walkable = CSTChild, C = undefined>(root: N, visitor: WalkVisitor<N, C>, ctx?: C): void;
48
- export interface VisitApi<R, N extends Walkable = CSTChild> {
49
- /** Dispatch a node to its handler (by `type`); returns the handler's result. */
50
- visit(node: N): R | undefined;
51
- /** Visit every structural child, collecting the defined results in order. */
52
- visitChildren(node: N): R[];
53
- }
54
- export type VisitorHandlers<R, N extends Walkable = CSTChild> = Record<string, (node: N, api: VisitApi<R, N>) => R>;
55
- /**
56
- * Build a visitor that dispatches on each node's `type` — the direct analog of a
57
- * generated CST-visitor base class. Handlers are keyed by rule name and receive
58
- * an `api` with `visit` / `visitChildren` to recurse:
59
- *
60
- * const evalExpr = createVisitor<number>({
61
- * Num: (n) => Number((n as NumNode).value),
62
- * Add: (n, api) => api.visitChildren(n).reduce((a, b) => a + b, 0),
63
- * })
64
- * const total = evalExpr(tree)
65
- *
66
- * Defaults to the CST shape; override the return type and node type together with
67
- * `createVisitor<number, MyNode>({ … })`. A node whose `type` has no handler
68
- * falls through to visiting its children (results discarded), so partial visitors
69
- * work without listing every rule.
70
- */
71
- export declare function createVisitor<R = void, N extends Walkable = CSTChild>(handlers: VisitorHandlers<R, N>): (node: N) => R | undefined;
28
+ type?: {
29
+ [K in GrammarNodeType<G>]?: VisitorHandler<NodeForType<N, K>, N, C>;
30
+ };
31
+ tag?: {
32
+ [K in GrammarNodeTag<G>]?: VisitorHandler<NodeForType<N, GrammarNodeType<G>>, N, C>;
33
+ };
34
+ };
35
+ export declare function createVisitor<G extends object, N extends Walkable = CSTChild, C = undefined>(grammar: G, spec: VisitorSpec<G, N, C>): (root: N, ctx?: C) => void;
36
+ export {};
72
37
  //# sourceMappingURL=walk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../src/cst/walk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC5C,CAAA;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,GAAG,SAAS;IACvE;;;OAGG;IACH,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAA;IACzD,oDAAoD;IACpD,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;CAChD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,GAAG,SAAS,EAC/D,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,GAAG,GAAE,CAAkB,GACtB,IAAI,CAUN;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD,gFAAgF;IAChF,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IAC7B,6EAA6E;IAC7E,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;CAC5B;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,MAAM,CACpE,MAAM,EACN,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CACpC,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACnE,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAqB5B"}
1
+ {"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../src/cst/walk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC5C,CAAA;AAED,KAAK,eAAe,CAAC,CAAC,IACpB,CAAC,SAAS,qBAAqB,CAAC,MAAM,QAAQ,EAAE,MAAM,CAAC,GACnD,QAAQ,GACR,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACxB,MAAM,CAAA;AAEd,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,qBAAqB,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;AAE1E,KAAK,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,SAAS,MAAM,IACtD,OAAO,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,SAAS,KAAK,GAC/C,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACjC,OAAO,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAA;AAErE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,GAAG,SAAS,IAC5F,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAEhD,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,GAAG,SAAS,IAAI;IACzE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAA;IACzD,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;IAC/C,IAAI,CAAC,EAAE;SACJ,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACpE,CAAA;IACD,GAAG,CAAC,EAAE;SACH,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACpF,CAAA;CACF,CAAA;AAgBD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,GAAG,SAAS,EAC1F,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACzB,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAmC5B"}
@@ -50,10 +50,18 @@ export type RunOptions = {
50
50
  * to these trivia kinds — a bitmask over the grammar's `triviaKindLabels`
51
51
  * indices (build it with `triviaKindMask(labels, ['comment', …])`). Unlisted
52
52
  * kinds (e.g. whitespace) are skipped over but not recorded per node, so a host
53
- * that only reads comments doesn't pay to log every whitespace run. The global
54
- * `triviaLog` returned by `run()` is unaffected. Omit to capture every kind.
53
+ * that only reads comments doesn't pay to log every whitespace run. Omit to
54
+ * capture every kind.
55
55
  */
56
56
  triviaCaptureMask?: number;
57
+ /**
58
+ * Opt into sparse root trivia capture. `run()` retains no root trivia unless
59
+ * this is supplied. Capture records only the named labels, each with the one
60
+ * complete authored gap that owns it; ordinary whitespace has no root entry.
61
+ */
62
+ rootTrivia?: {
63
+ readonly select: readonly string[];
64
+ };
57
65
  /**
58
66
  * Activate automatic list recovery. When true, `many`/`sepBy`/`oneOrMore` recover
59
67
  * from a failed element — skip to a sync point (a resume token inferred from the
@@ -75,6 +83,14 @@ export type RunOptions = {
75
83
  */
76
84
  profile?: boolean;
77
85
  };
86
+ export type RootTriviaCapture = {
87
+ /** Packed `[gapStart, gapEnd, markerStart, markerEnd, selectedKindIndex]` rows. */
88
+ readonly rows: readonly number[];
89
+ /** Labels requested by this caller; row kind indices refer to this array. */
90
+ readonly select: readonly string[];
91
+ /** Lazy lookup over `rows`; no tokens or strings are materialized. */
92
+ readonly index: RootTriviaIndex;
93
+ };
78
94
  export type RunProfilePass = {
79
95
  ms: number;
80
96
  nodes: number;
@@ -106,21 +122,11 @@ export type RunResult = {
106
122
  /** Recovery diagnostics (tolerant lists / `expect()`) collected during the parse (in order). */
107
123
  errors: ParseError[];
108
124
  /**
109
- * Flat trivia log for building a trivia map. Entry width depends on whether the
110
- * grammar uses labeled trivia: 2 numbers per entry (`start, end`) for plain
111
- * trivia, 3 numbers per entry (`start, end, kindIndex`) for labeled trivia
112
- * (grammars with `label()` arms in their trivia choice). Use `triviaMap` /
113
- * `triviaEntries` to consume it format-agnostically rather than iterating raw.
114
- */
115
- triviaLog: number[];
116
- /** Trivia kind labels for `triviaLog` stride/kind decoding, when known. */
117
- triviaKindLabels?: readonly string[];
118
- /**
119
- * Lazy sparse root trivia index over `triviaLog`. It groups contiguous labeled
120
- * chunks into one gap and returns entry indices, so consumers can query
121
- * before/after offsets without materializing trivia token objects or strings.
125
+ * Sparse selected root trivia. This is present only when at least one requested
126
+ * category was actually retained; omitted means the parse retained no root
127
+ * trivia at all.
122
128
  */
123
- triviaMap: RootTriviaIndex;
129
+ rootTrivia?: RootTriviaCapture;
124
130
  /** Offset where unparsed input begins — the first non-trivia character the parse
125
131
  * left unconsumed (trailing trivia skipped when `trivia` is given), or null if
126
132
  * the whole input was consumed. This is how you detect "the grammar stopped short,
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/functional/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpF,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAMrF;;;;;;;;;;;;GAYG;AAEH,+EAA+E;AAC/E,MAAM,MAAM,QAAQ,GAChB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,GACzE,UAAU,CAAC,OAAO,CAAC,CAAA;AAEvB,MAAM,MAAM,UAAU,GAAG;IACvB;kFAC8E;IAC9E,eAAe,CAAC,EAAE;QAChB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;QACvC,aAAa,CAAC,EAAE;YAAE,KAAK,CAAC,KAAK,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAC;gBAAC,GAAG,CAAC,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,CAAA;KACjL,CAAA;IACD;qFACiF;IACjF,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7B,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB;kFAC8E;IAC9E,UAAU,EAAE,cAAc,CAAA;IAC1B,4EAA4E;IAC5E,iBAAiB,EAAE,cAAc,CAAA;IACjC,mEAAmE;IACnE,gBAAgB,EAAE,cAAc,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,OAAO,CAAA;IACX,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,gGAAgG;IAChG,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC;;;;OAIG;IACH,SAAS,EAAE,eAAe,CAAA;IAC1B;;;;4BAIwB;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,sDAAsD;IACtD,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB,CAAA;AA4HD,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,SAAS,CAsBvF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/functional/run.ts"],"names":[],"mappings":"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"}