parseman 0.54.0 → 0.55.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/dist/analysis/diagnostics.js +17 -1
- package/dist/analysis/diagnostics.js.map +2 -2
- package/dist/cli/index.js +17 -1
- package/dist/cli/index.js.map +2 -2
- package/dist/combinators/withCtx.d.ts +22 -7
- package/dist/combinators/withCtx.d.ts.map +1 -1
- package/dist/index.js +36 -11
- package/dist/index.js.map +2 -2
- package/dist/plugin/evaluator.d.ts.map +1 -1
- package/dist/plugin/index.js +41 -13
- package/dist/plugin/index.js.map +2 -2
- package/dist/table/assemble.d.ts.map +1 -1
- package/dist/table/encode.d.ts.map +1 -1
- package/dist/table/exec.d.ts.map +1 -1
- package/dist/table/index.js +17 -1
- package/dist/table/index.js.map +2 -2
- package/dist/table/ops.d.ts +3 -1
- package/dist/table/ops.d.ts.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/combinators/withCtx.ts +61 -28
- package/src/plugin/evaluator.ts +12 -2
- package/src/table/assemble.ts +11 -1
- package/src/table/encode.ts +5 -0
- package/src/table/exec.ts +2 -1
- package/src/table/ops.ts +3 -1
- package/src/types.ts +2 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/plugin/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,UAAU,EAAE,IAAI,EAMjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAInE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/plugin/evaluator.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/index.js
CHANGED
|
@@ -7876,6 +7876,9 @@ var Encoder = class {
|
|
|
7876
7876
|
this.expected([adjacencyExpected(d)])
|
|
7877
7877
|
);
|
|
7878
7878
|
case "withCtx": {
|
|
7879
|
+
if (typeof d.extra === "function") {
|
|
7880
|
+
return this.emit(OP_WITHCTX, ~this.fn(d.extra, d.extraSrc ?? null), this.node(d.parser).ip);
|
|
7881
|
+
}
|
|
7879
7882
|
if (!emittableConst(d.extra)) {
|
|
7880
7883
|
this.runtimeOnly.add("withCtx(extra) \u2014 the state object is not serialisable");
|
|
7881
7884
|
}
|
|
@@ -12816,8 +12819,21 @@ function assemble(t, prog, cfg) {
|
|
|
12816
12819
|
};
|
|
12817
12820
|
}
|
|
12818
12821
|
case OP_WITHCTX: {
|
|
12819
|
-
const
|
|
12822
|
+
const ki = code[ip + 1];
|
|
12820
12823
|
const child = link(code[ip + 2]);
|
|
12824
|
+
if (ki < 0) {
|
|
12825
|
+
const derive2 = fns[~ki];
|
|
12826
|
+
return (input, pos, ctx) => {
|
|
12827
|
+
const saved = ctx.state;
|
|
12828
|
+
ctx.state = derive2(saved);
|
|
12829
|
+
try {
|
|
12830
|
+
return child(input, pos, ctx);
|
|
12831
|
+
} finally {
|
|
12832
|
+
ctx.state = saved;
|
|
12833
|
+
}
|
|
12834
|
+
};
|
|
12835
|
+
}
|
|
12836
|
+
const extra = k[ki];
|
|
12821
12837
|
return (input, pos, ctx) => {
|
|
12822
12838
|
const saved = ctx.state;
|
|
12823
12839
|
ctx.state = extra;
|
|
@@ -17311,7 +17327,7 @@ function fieldOptionsSrc(def) {
|
|
|
17311
17327
|
}
|
|
17312
17328
|
|
|
17313
17329
|
// src/version.ts
|
|
17314
|
-
var PARSEMAN_VERSION = "0.
|
|
17330
|
+
var PARSEMAN_VERSION = "0.55.0";
|
|
17315
17331
|
|
|
17316
17332
|
// src/compiler/compile-linkable-table.ts
|
|
17317
17333
|
function isLocal(rule) {
|
|
@@ -17430,19 +17446,28 @@ function withCtx(extra, combinator) {
|
|
|
17430
17446
|
canMatchNewline: combinator._meta.canMatchNewline,
|
|
17431
17447
|
isTrivia: false
|
|
17432
17448
|
};
|
|
17449
|
+
const parse2 = typeof extra === "function" ? (input, pos, ctx) => {
|
|
17450
|
+
const saved = ctx.state;
|
|
17451
|
+
ctx.state = extra(saved);
|
|
17452
|
+
try {
|
|
17453
|
+
return combinator.parse(input, pos, ctx);
|
|
17454
|
+
} finally {
|
|
17455
|
+
ctx.state = saved;
|
|
17456
|
+
}
|
|
17457
|
+
} : (input, pos, ctx) => {
|
|
17458
|
+
const saved = ctx.state;
|
|
17459
|
+
ctx.state = extra;
|
|
17460
|
+
try {
|
|
17461
|
+
return combinator.parse(input, pos, ctx);
|
|
17462
|
+
} finally {
|
|
17463
|
+
ctx.state = saved;
|
|
17464
|
+
}
|
|
17465
|
+
};
|
|
17433
17466
|
return {
|
|
17434
17467
|
_tag: "withCtx",
|
|
17435
17468
|
_meta: meta,
|
|
17436
17469
|
_def: { tag: "withCtx", extra, parser: combinator },
|
|
17437
|
-
parse
|
|
17438
|
-
const saved = ctx.state;
|
|
17439
|
-
ctx.state = extra;
|
|
17440
|
-
try {
|
|
17441
|
-
return combinator.parse(input, pos, ctx);
|
|
17442
|
-
} finally {
|
|
17443
|
-
ctx.state = saved;
|
|
17444
|
-
}
|
|
17445
|
-
}
|
|
17470
|
+
parse: parse2
|
|
17446
17471
|
};
|
|
17447
17472
|
}
|
|
17448
17473
|
|
|
@@ -17721,6 +17746,7 @@ function stripTsFromSource(node2, code) {
|
|
|
17721
17746
|
var UnevaluatedExtra = class {
|
|
17722
17747
|
};
|
|
17723
17748
|
var UNEVALUATED_EXTRA = new UnevaluatedExtra();
|
|
17749
|
+
var DERIVE_STAND_IN = (state) => state;
|
|
17724
17750
|
var _reducers = null;
|
|
17725
17751
|
var _entrySource = null;
|
|
17726
17752
|
function setReducerResolver(r, entrySource = null) {
|
|
@@ -18324,9 +18350,11 @@ function exprToCombi(node2, scope, code, mfs) {
|
|
|
18324
18350
|
const inner = anyValue(innerArg, scope, code, mfs);
|
|
18325
18351
|
if (!isCombinator2(inner)) return null;
|
|
18326
18352
|
try {
|
|
18327
|
-
const
|
|
18353
|
+
const extraType = unwrapStaticExpr(extraArg).type;
|
|
18354
|
+
const derives = extraType === "ArrowFunctionExpression" || extraType === "FunctionExpression";
|
|
18355
|
+
const evaluated = derives ? null : anyValue(extraArg, scope, code, []);
|
|
18328
18356
|
const usable = typeof evaluated === "object" && evaluated !== null && !Array.isArray(evaluated) && Object.getPrototypeOf(evaluated) === Object.prototype;
|
|
18329
|
-
const combi = withCtx(usable ? evaluated : UNEVALUATED_EXTRA, inner);
|
|
18357
|
+
const combi = withCtx(derives ? DERIVE_STAND_IN : usable ? evaluated : UNEVALUATED_EXTRA, inner);
|
|
18330
18358
|
if (combi._def.tag !== "withCtx") return null;
|
|
18331
18359
|
combi._def.extraSrc = extraSrc;
|
|
18332
18360
|
return combi;
|