effect-grammar 0.4.0 → 0.5.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 +175 -87
- package/dist/binary.d.ts +64 -0
- package/dist/binary.d.ts.map +1 -0
- package/dist/binary.js +246 -0
- package/dist/binary.js.map +1 -0
- package/dist/codec.d.ts +17 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +14 -0
- package/dist/codec.js.map +1 -0
- package/dist/combinators.d.ts +112 -6
- package/dist/combinators.d.ts.map +1 -1
- package/dist/combinators.js +218 -28
- package/dist/combinators.js.map +1 -1
- package/dist/compile.d.ts +36 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +228 -0
- package/dist/compile.js.map +1 -0
- package/dist/core.d.ts +34 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +51 -1
- package/dist/core.js.map +1 -1
- package/dist/env.d.ts +5 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +20 -1
- package/dist/env.js.map +1 -1
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +40 -4
- package/dist/errors.js.map +1 -1
- package/dist/gen.d.ts.map +1 -1
- package/dist/gen.js +5 -7
- package/dist/gen.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/parse.d.ts +10 -1
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +81 -19
- package/dist/parse.js.map +1 -1
- package/dist/pattern.d.ts +2 -1
- package/dist/pattern.d.ts.map +1 -1
- package/dist/pattern.js +46 -2
- package/dist/pattern.js.map +1 -1
- package/dist/print.d.ts +8 -0
- package/dist/print.d.ts.map +1 -1
- package/dist/print.js +136 -18
- package/dist/print.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +33 -6
- package/dist/render.js.map +1 -1
- package/dist/schema.d.ts +8 -3
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +11 -13
- package/dist/schema.js.map +1 -1
- package/dist/testing.d.ts +18 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +72 -0
- package/dist/testing.js.map +1 -0
- package/package.json +9 -3
- package/dist/ast.d.ts +0 -115
- package/dist/ast.d.ts.map +0 -1
- package/dist/ast.js +0 -253
- package/dist/ast.js.map +0 -1
- package/dist/grammar.d.ts +0 -8
- package/dist/grammar.d.ts.map +0 -1
- package/dist/grammar.js +0 -8
- package/dist/grammar.js.map +0 -1
- package/dist/recovery.d.ts +0 -10
- package/dist/recovery.d.ts.map +0 -1
- package/dist/recovery.js +0 -296
- package/dist/recovery.js.map +0 -1
package/dist/combinators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combinators.js","sourceRoot":"","sources":["../src/combinators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combinators.js","sourceRoot":"","sources":["../src/combinators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result } from "effect";
|
|
2
|
+
import type { Fidelity, Grammar, GrammarInternal, GrammarIssue } from "./core.ts";
|
|
3
|
+
import type { ParseError, PrintError } from "./errors.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Check a grammar for staged errors that `parse` and `print` would otherwise
|
|
6
|
+
* only report when they run: refs used outside their gen and any nonzero
|
|
7
|
+
* repetition of a grammar proven to match empty input. Resolving suspensions
|
|
8
|
+
* may evaluate and cache their thunks. Returns the issues these checks find;
|
|
9
|
+
* an empty array is not proof of all runtime behavior.
|
|
10
|
+
*/
|
|
11
|
+
export declare const validate: (grammar: GrammarInternal) => ReadonlyArray<GrammarIssue>;
|
|
12
|
+
export interface FidelityEntry {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly fidelity: Fidelity;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* List the transforms in a grammar that do not claim a full inverse law
|
|
18
|
+
* (`transform`, `transformOrFail`, `partialIso`). An empty result means each
|
|
19
|
+
* transform makes that claim; it does not prove the claim or a round trip.
|
|
20
|
+
*/
|
|
21
|
+
export declare const auditFidelity: (grammar: GrammarInternal) => ReadonlyArray<FidelityEntry>;
|
|
22
|
+
export interface Prepared<A> {
|
|
23
|
+
readonly parse: (text: string) => Result.Result<A, ParseError>;
|
|
24
|
+
readonly print: (value: A) => Result.Result<string, PrintError>;
|
|
25
|
+
readonly printChecked: (value: A) => Result.Result<string, PrintError>;
|
|
26
|
+
readonly render: string;
|
|
27
|
+
readonly fidelity: ReadonlyArray<FidelityEntry>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Validate a grammar once, then return interpreter functions bound to it.
|
|
31
|
+
* This does not compile or optimize the grammar. Validation can resolve and
|
|
32
|
+
* cache suspended thunks, and throws if {@link validate} finds an issue. Other
|
|
33
|
+
* input, value, callback, and round-trip failures can still occur at runtime.
|
|
34
|
+
*/
|
|
35
|
+
export declare const prepare: <A>(grammar: Grammar<A>) => Prepared<A>;
|
|
36
|
+
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,KAAK,EAEV,QAAQ,EACR,OAAO,EACP,eAAe,EACf,YAAY,EAGb,MAAM,WAAW,CAAA;AAElB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAqMzD;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,YAAa,eAAe,KAAG,aAAa,CAAC,YAAY,CAI7E,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAa,eAAe,KAAG,aAAa,CAAC,aAAa,CAYnF,CAAA;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC9D,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC/D,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;CAChD;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,CAgB1D,CAAA"}
|
package/dist/compile.js
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { Result } from "effect";
|
|
2
|
+
import { children, nodeOf, resolve } from "./core.js";
|
|
3
|
+
import { exceptionMessage } from "./errors.js";
|
|
4
|
+
import { parse } from "./parse.js";
|
|
5
|
+
import { print, printChecked } from "./print.js";
|
|
6
|
+
import { describe, render } from "./render.js";
|
|
7
|
+
const exprScope = (expr) => {
|
|
8
|
+
switch (expr._tag) {
|
|
9
|
+
case "Ref":
|
|
10
|
+
return expr.scope;
|
|
11
|
+
case "Prop":
|
|
12
|
+
return exprScope(expr.object);
|
|
13
|
+
case "Count":
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const allMatchEmpty = (grammars, seen) => {
|
|
18
|
+
let result = "yes";
|
|
19
|
+
for (const grammar of grammars) {
|
|
20
|
+
const match = matchesEmpty(grammar, seen);
|
|
21
|
+
if (match === "no")
|
|
22
|
+
return "no";
|
|
23
|
+
if (match === "unknown")
|
|
24
|
+
result = "unknown";
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
/** Check whether the grammar can be proved to match or reject empty input. */
|
|
29
|
+
const matchesEmpty = (grammar, seen) => {
|
|
30
|
+
const node = nodeOf(grammar);
|
|
31
|
+
switch (node._tag) {
|
|
32
|
+
case "Literal":
|
|
33
|
+
return node.value === "" ? "yes" : "no";
|
|
34
|
+
case "Regex":
|
|
35
|
+
return new RegExp(node.source, `${node.flags}y`).exec("") === null ? "no" : "yes";
|
|
36
|
+
case "Gen":
|
|
37
|
+
return allMatchEmpty(node.steps.map((step) => step.grammar), seen);
|
|
38
|
+
case "Wrap":
|
|
39
|
+
return allMatchEmpty([node.open, node.inner, node.close], seen);
|
|
40
|
+
case "Choice": {
|
|
41
|
+
let result = "no";
|
|
42
|
+
for (const option of node.options) {
|
|
43
|
+
const match = matchesEmpty(option, new Set(seen));
|
|
44
|
+
if (match === "yes")
|
|
45
|
+
return "yes";
|
|
46
|
+
if (match === "unknown")
|
|
47
|
+
result = "unknown";
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
case "Many": {
|
|
52
|
+
if (node.max === 0)
|
|
53
|
+
return "yes";
|
|
54
|
+
const item = matchesEmpty(node.inner, seen);
|
|
55
|
+
// A zero-width item makes the repetition fail its own progress guard.
|
|
56
|
+
if (item === "yes")
|
|
57
|
+
return "no";
|
|
58
|
+
if (item === "unknown")
|
|
59
|
+
return "unknown";
|
|
60
|
+
return node.min === 0 ? "yes" : "no";
|
|
61
|
+
}
|
|
62
|
+
case "Optional":
|
|
63
|
+
return "yes";
|
|
64
|
+
case "Transform": {
|
|
65
|
+
// A transform consumes what its inner grammar does, but its decode may reject an empty match.
|
|
66
|
+
const inner = matchesEmpty(node.inner, seen);
|
|
67
|
+
return inner === "yes" && node.total !== true ? "unknown" : inner;
|
|
68
|
+
}
|
|
69
|
+
case "Label":
|
|
70
|
+
case "Skip":
|
|
71
|
+
return matchesEmpty(node.inner, seen);
|
|
72
|
+
case "Suspend": {
|
|
73
|
+
if (seen.has(node))
|
|
74
|
+
return "unknown";
|
|
75
|
+
seen.add(node);
|
|
76
|
+
const empty = matchesEmpty(resolve(node), seen);
|
|
77
|
+
seen.delete(node);
|
|
78
|
+
return empty;
|
|
79
|
+
}
|
|
80
|
+
case "Take":
|
|
81
|
+
case "RepeatExact":
|
|
82
|
+
// A repeated item must consume input, so as with take only a zero count matches empty.
|
|
83
|
+
if (node.count._tag !== "Count")
|
|
84
|
+
return "unknown";
|
|
85
|
+
return node.count.value === 0 ? "yes" : "no";
|
|
86
|
+
case "Merge":
|
|
87
|
+
return allMatchEmpty(node.parts.map((part) => part.grammar), seen);
|
|
88
|
+
case "Match":
|
|
89
|
+
return "unknown";
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
/** Walk every node reachable from `grammar`, once per `Suspend` node. */
|
|
93
|
+
const eachNode = (grammar, visit, seen) => {
|
|
94
|
+
const node = nodeOf(grammar);
|
|
95
|
+
if (node._tag === "Suspend") {
|
|
96
|
+
if (seen.has(node))
|
|
97
|
+
return;
|
|
98
|
+
seen.add(node);
|
|
99
|
+
}
|
|
100
|
+
visit(node);
|
|
101
|
+
for (const child of children(node))
|
|
102
|
+
eachNode(child, visit, seen);
|
|
103
|
+
};
|
|
104
|
+
const checkRef = (expr, where, active, issues) => {
|
|
105
|
+
const scope = exprScope(expr);
|
|
106
|
+
if (scope !== undefined && !active.includes(scope)) {
|
|
107
|
+
issues.push({
|
|
108
|
+
message: `${where}: uses a ref bound by a gen that is not an ancestor here; a ref works only inside the gen that bound it`,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const checkProgress = (inner, repetition, issues) => {
|
|
113
|
+
if (matchesEmpty(inner, new Set()) === "yes") {
|
|
114
|
+
issues.push({
|
|
115
|
+
message: `${repetition} of ${describe(inner)}, which can match the empty string, so parsing and printing would disagree about zero-width elements`,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const sameScopePath = (left, right) => left.length === right.length && left.every((scope, index) => scope === right[index]);
|
|
120
|
+
const walk = (grammar, active, visiting, completed, issues) => {
|
|
121
|
+
const node = nodeOf(grammar);
|
|
122
|
+
switch (node._tag) {
|
|
123
|
+
case "Gen": {
|
|
124
|
+
const inner = [...active, node.scope];
|
|
125
|
+
for (const step of node.steps)
|
|
126
|
+
walk(step.grammar, inner, visiting, completed, issues);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
case "Many":
|
|
130
|
+
if (node.max > 0) {
|
|
131
|
+
checkProgress(node.inner, node.max === Number.POSITIVE_INFINITY ? "unbounded repetition" : "repetition", issues);
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
case "Suspend":
|
|
135
|
+
if (visiting.has(node))
|
|
136
|
+
return;
|
|
137
|
+
const paths = completed.get(node);
|
|
138
|
+
if (paths?.some((path) => sameScopePath(path, active)))
|
|
139
|
+
return;
|
|
140
|
+
visiting.add(node);
|
|
141
|
+
try {
|
|
142
|
+
let target;
|
|
143
|
+
try {
|
|
144
|
+
target = resolve(node);
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
issues.push({
|
|
148
|
+
message: `invalid suspend: ${exceptionMessage(error)}`,
|
|
149
|
+
});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
walk(target, active, visiting, completed, issues);
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
visiting.delete(node);
|
|
156
|
+
}
|
|
157
|
+
if (paths === undefined)
|
|
158
|
+
completed.set(node, [active.slice()]);
|
|
159
|
+
else
|
|
160
|
+
paths.push(active.slice());
|
|
161
|
+
return;
|
|
162
|
+
case "Match":
|
|
163
|
+
checkRef(node.scrutinee, "match", active, issues);
|
|
164
|
+
break;
|
|
165
|
+
case "Take":
|
|
166
|
+
checkRef(node.count, node.unit === "char" ? "take" : "bytes", active, issues);
|
|
167
|
+
break;
|
|
168
|
+
case "RepeatExact":
|
|
169
|
+
checkRef(node.count, "repeat", active, issues);
|
|
170
|
+
// A bound count may be zero at run time, but like `many` with a max it is checked anyway.
|
|
171
|
+
if (node.count._tag !== "Count" || node.count.value > 0) {
|
|
172
|
+
checkProgress(node.inner, "repetition", issues);
|
|
173
|
+
}
|
|
174
|
+
break;
|
|
175
|
+
default:
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
for (const child of children(node))
|
|
179
|
+
walk(child, active, visiting, completed, issues);
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Check a grammar for staged errors that `parse` and `print` would otherwise
|
|
183
|
+
* only report when they run: refs used outside their gen and any nonzero
|
|
184
|
+
* repetition of a grammar proven to match empty input. Resolving suspensions
|
|
185
|
+
* may evaluate and cache their thunks. Returns the issues these checks find;
|
|
186
|
+
* an empty array is not proof of all runtime behavior.
|
|
187
|
+
*/
|
|
188
|
+
export const validate = (grammar) => {
|
|
189
|
+
const issues = [];
|
|
190
|
+
walk(grammar, [], new Set(), new WeakMap(), issues);
|
|
191
|
+
return issues;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* List the transforms in a grammar that do not claim a full inverse law
|
|
195
|
+
* (`transform`, `transformOrFail`, `partialIso`). An empty result means each
|
|
196
|
+
* transform makes that claim; it does not prove the claim or a round trip.
|
|
197
|
+
*/
|
|
198
|
+
export const auditFidelity = (grammar) => {
|
|
199
|
+
const entries = [];
|
|
200
|
+
eachNode(grammar, (node) => {
|
|
201
|
+
if (node._tag === "Transform" && node.fidelity !== "claimed-iso") {
|
|
202
|
+
entries.push({ name: node.name ?? describe(node.inner), fidelity: node.fidelity });
|
|
203
|
+
}
|
|
204
|
+
}, new Set());
|
|
205
|
+
return entries;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Validate a grammar once, then return interpreter functions bound to it.
|
|
209
|
+
* This does not compile or optimize the grammar. Validation can resolve and
|
|
210
|
+
* cache suspended thunks, and throws if {@link validate} finds an issue. Other
|
|
211
|
+
* input, value, callback, and round-trip failures can still occur at runtime.
|
|
212
|
+
*/
|
|
213
|
+
export const prepare = (grammar) => {
|
|
214
|
+
const issues = validate(grammar);
|
|
215
|
+
if (issues.length > 0) {
|
|
216
|
+
throw new Error(`prepare: the grammar has ${issues.length} issue${issues.length === 1 ? "" : "s"}:\n ${issues
|
|
217
|
+
.map((issue) => issue.message)
|
|
218
|
+
.join("\n ")}`);
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
parse: (text) => parse(grammar, text),
|
|
222
|
+
print: (value) => print(grammar, value),
|
|
223
|
+
printChecked: (value) => printChecked(grammar, value),
|
|
224
|
+
render: render(grammar),
|
|
225
|
+
fidelity: auditFidelity(grammar),
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
CHANGED
|
@@ -28,6 +28,9 @@ export type Expr = RefExpr | {
|
|
|
28
28
|
readonly _tag: "Prop";
|
|
29
29
|
readonly object: Expr;
|
|
30
30
|
readonly key: PropertyKey;
|
|
31
|
+
} | {
|
|
32
|
+
readonly _tag: "Count";
|
|
33
|
+
readonly value: number;
|
|
31
34
|
};
|
|
32
35
|
export type Pattern = RefExpr | {
|
|
33
36
|
readonly _tag: "Const";
|
|
@@ -40,6 +43,14 @@ export type Pattern = RefExpr | {
|
|
|
40
43
|
readonly items: ReadonlyArray<Pattern>;
|
|
41
44
|
};
|
|
42
45
|
export type MatchKey = string | number | boolean;
|
|
46
|
+
/**
|
|
47
|
+
* How much a `Transform` promises about its two directions.
|
|
48
|
+
*
|
|
49
|
+
* - `unchecked`: no law claimed (`transform`, `transformOrFail`).
|
|
50
|
+
* - `partial`: both directions may fail, and agree where they succeed (`partialIso`).
|
|
51
|
+
* - `claimed-iso`: the author claims the directions are inverse (`iso`, `decodeTo`, `as`).
|
|
52
|
+
*/
|
|
53
|
+
export type Fidelity = "unchecked" | "partial" | "claimed-iso";
|
|
43
54
|
export interface GrammarIssue {
|
|
44
55
|
readonly message: string;
|
|
45
56
|
}
|
|
@@ -61,9 +72,11 @@ export type Step = {
|
|
|
61
72
|
export type Node = {
|
|
62
73
|
readonly _tag: "Literal";
|
|
63
74
|
readonly value: string;
|
|
75
|
+
readonly name?: string | undefined;
|
|
64
76
|
} | {
|
|
65
77
|
readonly _tag: "Regex";
|
|
66
|
-
readonly
|
|
78
|
+
readonly source: string;
|
|
79
|
+
readonly flags: string;
|
|
67
80
|
readonly name: string;
|
|
68
81
|
} | {
|
|
69
82
|
readonly _tag: "Gen";
|
|
@@ -79,6 +92,12 @@ export type Node = {
|
|
|
79
92
|
} | {
|
|
80
93
|
readonly _tag: "Choice";
|
|
81
94
|
readonly options: ReadonlyArray<GrammarInternal>;
|
|
95
|
+
readonly on?: {
|
|
96
|
+
readonly tag: string;
|
|
97
|
+
readonly keys: ReadonlyArray<MatchKey>;
|
|
98
|
+
} | undefined;
|
|
99
|
+
/** Print with the first branch whose text parses back, not just the first that accepts. */
|
|
100
|
+
readonly checked?: boolean | undefined;
|
|
82
101
|
} | ({
|
|
83
102
|
readonly _tag: "Many";
|
|
84
103
|
readonly inner: GrammarInternal;
|
|
@@ -93,6 +112,10 @@ export type Node = {
|
|
|
93
112
|
readonly encode: (b: never) => Result.Result<Value, GrammarIssue>;
|
|
94
113
|
readonly is?: ((value: never) => boolean) | undefined;
|
|
95
114
|
readonly name?: string | undefined;
|
|
115
|
+
readonly keys?: ReadonlyArray<string> | undefined;
|
|
116
|
+
readonly fidelity: Fidelity;
|
|
117
|
+
/** Decoding accepts every inner match, so the transform matches empty input when its inner grammar does. */
|
|
118
|
+
readonly total?: boolean | undefined;
|
|
96
119
|
} | {
|
|
97
120
|
readonly _tag: "Skip";
|
|
98
121
|
readonly inner: GrammarInternal;
|
|
@@ -114,6 +137,14 @@ export type Node = {
|
|
|
114
137
|
} | {
|
|
115
138
|
readonly _tag: "Take";
|
|
116
139
|
readonly count: Expr;
|
|
140
|
+
readonly unit: "char" | "byte";
|
|
141
|
+
readonly name?: string | undefined;
|
|
142
|
+
} | {
|
|
143
|
+
readonly _tag: "Merge";
|
|
144
|
+
readonly parts: ReadonlyArray<{
|
|
145
|
+
readonly grammar: GrammarInternal;
|
|
146
|
+
readonly keys: ReadonlyArray<string>;
|
|
147
|
+
}>;
|
|
117
148
|
} | {
|
|
118
149
|
readonly _tag: "RepeatExact";
|
|
119
150
|
readonly count: Expr;
|
|
@@ -153,5 +184,7 @@ export declare const isSilent: (grammar: GrammarInternal) => grammar is Silent;
|
|
|
153
184
|
export declare const resolve: (node: Extract<Node, {
|
|
154
185
|
_tag: "Suspend";
|
|
155
186
|
}>) => GrammarInternal;
|
|
187
|
+
/** The grammars a node refers to directly. A `Suspend` yields its resolved target. */
|
|
188
|
+
export declare const children: (node: Node) => ReadonlyArray<GrammarInternal>;
|
|
156
189
|
export {};
|
|
157
190
|
//# sourceMappingURL=core.d.ts.map
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,EAAE,KAAK,KAAK,EAAS,MAAM,QAAQ,CAAA;AAEvE,QAAA,MAAM,aAAa,EAAE,OAAO,MAA6C,CAAA;AACzE,QAAA,MAAM,YAAY,EAAE,OAAO,MAA4C,CAAA;AACvE,QAAA,MAAM,UAAU,EAAE,OAAO,MAAsC,CAAA;AAC/D,eAAO,MAAM,SAAS,EAAE,OAAO,MAAyC,CAAA;AAExE,yEAAyE;AACzE,MAAM,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,KAAK,KAAG,KAG5C,CAAA;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,IAAI,GACZ,OAAO,GACP;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,EAAE,KAAK,KAAK,EAAS,MAAM,QAAQ,CAAA;AAEvE,QAAA,MAAM,aAAa,EAAE,OAAO,MAA6C,CAAA;AACzE,QAAA,MAAM,YAAY,EAAE,OAAO,MAA4C,CAAA;AACvE,QAAA,MAAM,UAAU,EAAE,OAAO,MAAsC,CAAA;AAC/D,eAAO,MAAM,SAAS,EAAE,OAAO,MAAyC,CAAA;AAExE,yEAAyE;AACzE,MAAM,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,KAAK,KAAG,KAG5C,CAAA;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,IAAI,GACZ,OAAO,GACP;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtD,MAAM,MAAM,OAAO,GACf,OAAO,GACP;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAAE,CAAA;AAEtE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAA;AAE9D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ,CAAC,QAAQ;IACxD,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAClC;AAED,MAAM,MAAM,IAAI,GACZ;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAA;AAEvF,MAAM,MAAM,IAAI,GACZ;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACxF;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;KAAE,GAAG,SAAS,CAAA;IAC1F,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACvC,GACD,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,GAC3F;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAC9D;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACjE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACjE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACrC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClF;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,eAAe,CAAA;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;CACvC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CAAE,GACzF;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;QACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACrC,CAAC,CAAA;CACH,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAA;AAE3F,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAEzD,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;CAC5E;AAED,MAAM,WAAW,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,SAAQ,eAAe;IACxD,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,MAAO,SAAQ,OAAO,CAAC,IAAI,CAAC;IAC3C,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;CACzC;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GACnD;IAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,GAChC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAClB;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACjD,EAAE,CAAA;AAER,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAE7C,MAAM,MAAM,MAAM,CAAC,CAAC,IAClB,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,GAC9B;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC1C,CAAC,SAAS,MAAM,GACd;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC1C,CAAC,CAAA;AAEX,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AA2B5D,eAAO,MAAM,MAAM,YAAa,eAAe,KAAG,IAA2B,CAAA;AAE7E,eAAO,MAAM,IAAI,GAAI,CAAC,QAAQ,IAAI,KAAG,OAAO,CAAC,CAAC,CAA6B,CAAA;AAE3E,eAAO,MAAM,MAAM,SAAU,IAAI,KAAG,MAA8B,CAAA;AAElE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,KAAG,KAAK,IAAI,CAAC,GAAG,eACR,CAAA;AAE7C,eAAO,MAAM,QAAQ,YAAa,eAAe,KAAG,OAAO,IAAI,MACjB,CAAA;AAI9C,eAAO,MAAM,OAAO,SAAU,OAAO,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,KAAG,eAsBlE,CAAA;AAED,sFAAsF;AACtF,eAAO,MAAM,QAAQ,SAAU,IAAI,KAAG,aAAa,CAAC,eAAe,CA2BlE,CAAA"}
|
package/dist/core.js
CHANGED
|
@@ -34,5 +34,55 @@ export const make = (node) => new GrammarImpl(node);
|
|
|
34
34
|
export const silent = (node) => new SilentImpl(node);
|
|
35
35
|
export const isGrammar = (value) => Predicate.hasProperty(value, GrammarTypeId);
|
|
36
36
|
export const isSilent = (grammar) => Predicate.hasProperty(grammar, SilentTypeId);
|
|
37
|
-
|
|
37
|
+
const Resolving = Symbol("effect-grammar/ResolvingSuspend");
|
|
38
|
+
export const resolve = (node) => {
|
|
39
|
+
if (node.resolved !== undefined)
|
|
40
|
+
return node.resolved;
|
|
41
|
+
// SAFETY: the private marker exists only while this suspend thunk is resolving.
|
|
42
|
+
const state = node;
|
|
43
|
+
if (state.resolving === Resolving) {
|
|
44
|
+
throw new Error(`suspend${node.name === undefined ? "" : ` ${JSON.stringify(node.name)}`}: thunk resolved itself while it was being evaluated`);
|
|
45
|
+
}
|
|
46
|
+
state.resolving = Resolving;
|
|
47
|
+
try {
|
|
48
|
+
const target = node.thunk();
|
|
49
|
+
if (!isGrammar(target)) {
|
|
50
|
+
throw new TypeError(`suspend${node.name === undefined ? "" : ` ${JSON.stringify(node.name)}`}: thunk must return a grammar`);
|
|
51
|
+
}
|
|
52
|
+
node.resolved = target;
|
|
53
|
+
return target;
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
delete state.resolving;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
/** The grammars a node refers to directly. A `Suspend` yields its resolved target. */
|
|
60
|
+
export const children = (node) => {
|
|
61
|
+
switch (node._tag) {
|
|
62
|
+
case "Literal":
|
|
63
|
+
case "Regex":
|
|
64
|
+
case "Take":
|
|
65
|
+
return [];
|
|
66
|
+
case "Gen":
|
|
67
|
+
return node.steps.map((step) => step.grammar);
|
|
68
|
+
case "Wrap":
|
|
69
|
+
return [node.open, node.inner, node.close];
|
|
70
|
+
case "Choice":
|
|
71
|
+
return node.options;
|
|
72
|
+
case "Many":
|
|
73
|
+
return [node.inner, node.sep];
|
|
74
|
+
case "Optional":
|
|
75
|
+
case "Transform":
|
|
76
|
+
case "Label":
|
|
77
|
+
case "Skip":
|
|
78
|
+
case "RepeatExact":
|
|
79
|
+
return [node.inner];
|
|
80
|
+
case "Suspend":
|
|
81
|
+
return [resolve(node)];
|
|
82
|
+
case "Match":
|
|
83
|
+
return node.cases.map((matchCase) => matchCase.grammar);
|
|
84
|
+
case "Merge":
|
|
85
|
+
return node.parts.map((part) => part.grammar);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
38
88
|
//# sourceMappingURL=core.js.map
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAc,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEvE,MAAM,aAAa,GAAkB,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACzE,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACvE,MAAM,UAAU,GAAkB,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAKxE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAS,EAAE;IACnD,iFAAiF;IACjF,OAAO,KAAc,CAAA;AACvB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAc,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEvE,MAAM,aAAa,GAAkB,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACzE,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACvE,MAAM,UAAU,GAAkB,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAKxE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAS,EAAE;IACnD,iFAAiF;IACjF,OAAO,KAAc,CAAA;AACvB,CAAC,CAAA;AAqKD,MAAM,WAAW;IAEN,CAAC,UAAU,CAAC,CAAM;IAE3B,YAAY,IAAU;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,IAAI;QACF,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,KAAK,CAAC,aAAa,CAAuB,IAAI,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;AAErF,MAAM,UAAW,SAAQ,WAAiB;CAEzC;AAED,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAwB,EAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,IAAI,GAAG,CAAI,IAAU,EAAc,EAAE,CAAC,IAAI,WAAW,CAAI,IAAI,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAU,EAAU,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAQ,EAAgC,EAAE,CACrE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAwB,EAAqB,EAAE,CACtE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;AAE9C,MAAM,SAAS,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAwC,EAAmB,EAAE;IACnF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrD,gFAAgF;IAChF,MAAM,KAAK,GAAG,IAA4C,CAAA;IAC1D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,sDAAsD,CAC/H,CAAA;IACH,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CACjB,UAAU,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,+BAA+B,CACxG,CAAA;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;QACtB,OAAO,MAAM,CAAA;IACf,CAAC;YAAS,CAAC;QACT,OAAO,KAAK,CAAC,SAAS,CAAA;IACxB,CAAC;AACH,CAAC,CAAA;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAkC,EAAE;IACrE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,CAAA;QACX,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/B,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,aAAa;YAChB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrB,KAAK,SAAS;YACZ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACxB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACzD,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;AACH,CAAC,CAAA"}
|
package/dist/env.d.ts
CHANGED
|
@@ -14,7 +14,12 @@ export declare const frame: (scope: ScopeId, slotCount: number, parent: Frame |
|
|
|
14
14
|
export declare const bind: (target: Frame, slot: number, value: Value) => void;
|
|
15
15
|
export declare const lookup: (env: Frame | undefined, ref: RefExpr) => BoundValue;
|
|
16
16
|
export declare const evaluate: (expr: Expr, env: Frame | undefined) => BoundValue;
|
|
17
|
+
export declare const defineField: (object: Record<string, Value>, key: string, value: Value) => void;
|
|
18
|
+
export declare const copyFields: (target: Record<string, Value>, source: Readonly<Record<string, Value>>, keys: ReadonlyArray<string>) => void;
|
|
17
19
|
export declare const materialize: (pattern: Pattern, env: Frame) => BoundValue;
|
|
18
20
|
export declare const caseFor: (cases: ReadonlyArray<Case>, value: Value) => Case | undefined;
|
|
19
21
|
export declare const isCount: (value: Value) => value is number;
|
|
22
|
+
export declare const nonByte: RegExp;
|
|
23
|
+
/** The bytes of a binary string, one per character; call only once `nonByte` has ruled out wider ones. */
|
|
24
|
+
export declare const toBytes: (binary: string) => Uint8Array;
|
|
20
25
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,OAAO,eAAmC,CAAA;AAEvD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,OAAO,CAAA;AAE/C,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC9B;AAED,eAAO,MAAM,KAAK,UAAW,OAAO,aAAa,MAAM,UAAU,KAAK,GAAG,SAAS,KAAG,KAKpF,CAAA;AAED,eAAO,MAAM,IAAI,WAAY,KAAK,QAAQ,MAAM,SAAS,KAAK,KAAG,IAEhE,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,KAAK,GAAG,SAAS,OAAO,OAAO,KAAG,UAM7D,CAAA;AAED,eAAO,MAAM,QAAQ,SAAU,IAAI,OAAO,KAAK,GAAG,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,OAAO,eAAmC,CAAA;AAEvD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,OAAO,CAAA;AAE/C,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC9B;AAED,eAAO,MAAM,KAAK,UAAW,OAAO,aAAa,MAAM,UAAU,KAAK,GAAG,SAAS,KAAG,KAKpF,CAAA;AAED,eAAO,MAAM,IAAI,WAAY,KAAK,QAAQ,MAAM,SAAS,KAAK,KAAG,IAEhE,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,KAAK,GAAG,SAAS,OAAO,OAAO,KAAG,UAM7D,CAAA;AAED,eAAO,MAAM,QAAQ,SAAU,IAAI,OAAO,KAAK,GAAG,SAAS,KAAG,UAO7D,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,MAAM,SAAS,KAAK,KAAG,IAOtF,CAAA;AAED,eAAO,MAAM,UAAU,WACb,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,UACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QACjC,aAAa,CAAC,MAAM,CAAC,KAC1B,IAIF,CAAA;AAED,eAAO,MAAM,WAAW,YAAa,OAAO,OAAO,KAAK,KAAG,UAyB1D,CAAA;AAED,eAAO,MAAM,OAAO,UAAW,aAAa,CAAC,IAAI,CAAC,SAAS,KAAK,qBACJ,CAAA;AAE5D,eAAO,MAAM,OAAO,UAAW,KAAK,KAAG,KAAK,IAAI,MACwB,CAAA;AAExE,eAAO,MAAM,OAAO,QAAe,CAAA;AAEnC,0GAA0G;AAC1G,eAAO,MAAM,OAAO,WAAY,MAAM,KAAG,UACc,CAAA"}
|
package/dist/env.js
CHANGED
|
@@ -25,11 +25,27 @@ export const lookup = (env, ref) => {
|
|
|
25
25
|
export const evaluate = (expr, env) => {
|
|
26
26
|
if (expr._tag === "Ref")
|
|
27
27
|
return lookup(env, expr);
|
|
28
|
+
if (expr._tag === "Count")
|
|
29
|
+
return expr.value;
|
|
28
30
|
const object = evaluate(expr.object, env);
|
|
29
31
|
if (object === Unbound || !Predicate.isObject(object))
|
|
30
32
|
return Unbound;
|
|
31
33
|
return Object.hasOwn(object, expr.key) ? object[expr.key] : Unbound;
|
|
32
34
|
};
|
|
35
|
+
export const defineField = (object, key, value) => {
|
|
36
|
+
Object.defineProperty(object, key, {
|
|
37
|
+
value,
|
|
38
|
+
writable: true,
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true,
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
export const copyFields = (target, source, keys) => {
|
|
44
|
+
for (const key of keys) {
|
|
45
|
+
if (Object.hasOwn(source, key))
|
|
46
|
+
defineField(target, key, source[key]);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
33
49
|
export const materialize = (pattern, env) => {
|
|
34
50
|
switch (pattern._tag) {
|
|
35
51
|
case "Ref":
|
|
@@ -42,7 +58,7 @@ export const materialize = (pattern, env) => {
|
|
|
42
58
|
const value = materialize(field, env);
|
|
43
59
|
if (value === Unbound)
|
|
44
60
|
return Unbound;
|
|
45
|
-
object
|
|
61
|
+
defineField(object, key, value);
|
|
46
62
|
}
|
|
47
63
|
return object;
|
|
48
64
|
}
|
|
@@ -60,4 +76,7 @@ export const materialize = (pattern, env) => {
|
|
|
60
76
|
};
|
|
61
77
|
export const caseFor = (cases, value) => cases.find((matchCase) => Object.is(matchCase.key, value));
|
|
62
78
|
export const isCount = (value) => Predicate.isNumber(value) && Number.isSafeInteger(value) && value >= 0;
|
|
79
|
+
export const nonByte = /[^\0-\xff]/;
|
|
80
|
+
/** The bytes of a binary string, one per character; call only once `nonByte` has ruled out wider ones. */
|
|
81
|
+
export const toBytes = (binary) => Uint8Array.from(binary, (char) => char.charCodeAt(0));
|
|
63
82
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAIlC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAUvD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,SAAiB,EAAE,MAAyB,EAAS,EAAE;IAC3F,gFAAgF;IAChF,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAa,EAAE,IAAY,EAAE,KAAY,EAAQ,EAAE;IACtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAsB,EAAE,GAAY,EAAc,EAAE;IACzE,KAAK,IAAI,OAAO,GAAG,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACxE,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK;YAAE,SAAQ;QACzC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,GAAsB,EAAc,EAAE;IACzE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|