🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@chevrotain/gast

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chevrotain/gast - npm Package Compare versions

Comparing version
11.2.0
to
12.0.0
+3
-4
lib/src/helpers.js

@@ -1,2 +0,1 @@

import { every, includes, some } from "lodash-es";
import { AbstractProduction, Alternation, Alternative, NonTerminal, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Rule, Terminal, } from "./model.js";

@@ -25,7 +24,7 @@ export function isSequenceProd(prod) {

// for OR its enough for just one of the alternatives to be optional
return some(prod.definition, (subProd) => {
return prod.definition.some((subProd) => {
return isOptionalProd(subProd, alreadyVisited);
});
}
else if (prod instanceof NonTerminal && includes(alreadyVisited, prod)) {
else if (prod instanceof NonTerminal && alreadyVisited.includes(prod)) {
// avoiding stack overflow due to infinite recursion

@@ -38,3 +37,3 @@ return false;

}
return every(prod.definition, (subProd) => {
return prod.definition.every((subProd) => {
return isOptionalProd(subProd, alreadyVisited);

@@ -41,0 +40,0 @@ });

@@ -1,1 +0,1 @@

{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,gCAAgC,EAChC,uBAAuB,EACvB,IAAI,EACJ,QAAQ,GACT,MAAM,YAAY,CAAC;AAGpB,MAAM,UAAU,cAAc,CAC5B,IAAiB;IAEjB,OAAO,CACL,IAAI,YAAY,WAAW;QAC3B,IAAI,YAAY,MAAM;QACtB,IAAI,YAAY,UAAU;QAC1B,IAAI,YAAY,mBAAmB;QACnC,IAAI,YAAY,gCAAgC;QAChD,IAAI,YAAY,uBAAuB;QACvC,IAAI,YAAY,QAAQ;QACxB,IAAI,YAAY,IAAI,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAiB,EACjB,iBAAgC,EAAE;IAElC,MAAM,kBAAkB,GACtB,IAAI,YAAY,MAAM;QACtB,IAAI,YAAY,UAAU;QAC1B,IAAI,YAAY,uBAAuB,CAAC;IAC1C,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mHAAmH;IACnH,0BAA0B;IAC1B,mDAAmD;IACnD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,oEAAoE;QACpE,OAAqB,IAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAoB,EAAE,EAAE;YAClE,OAAO,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,YAAY,WAAW,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,oDAAoD;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;QAC9C,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YAChC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,OAA4B,IAAK,CAAC,UAAU,CAAC,KAAK,CAChD,CAAC,OAAoB,EAAE,EAAE;YACvB,OAAO,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAiB;IAEjB,OAAO,IAAI,YAAY,WAAW,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAA+B;IAClE,0BAA0B;IAC1B,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,YAAY,mBAAmB,EAAE,CAAC;QAC/C,OAAO,cAAc,CAAC;IACxB,CAAC;SAAM,IAAI,IAAI,YAAY,gCAAgC,EAAE,CAAC;QAC5D,OAAO,kBAAkB,CAAC;IAC5B,CAAC;SAAM,IAAI,IAAI,YAAY,uBAAuB,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;QACjB,sBAAsB;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}

@@ -1,2 +0,1 @@

import { assign, forEach, isRegExp, isString, map, pickBy } from "lodash-es";
// TODO: duplicated code to avoid extracting another sub-package -- how to avoid?

@@ -13,3 +12,3 @@ function tokenLabel(tokType) {

function hasTokenLabel(obj) {
return isString(obj.LABEL) && obj.LABEL !== "";
return typeof obj.LABEL === "string" && obj.LABEL !== "";
}

@@ -28,3 +27,3 @@ export class AbstractProduction {

visitor.visit(this);
forEach(this.definition, (prod) => {
this.definition.forEach((prod) => {
prod.accept(visitor);

@@ -38,3 +37,3 @@ });

this.idx = 1;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -59,3 +58,3 @@ set definition(definition) {

this.orgText = "";
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -67,3 +66,3 @@ }

this.ignoreAmbiguities = false;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -75,3 +74,3 @@ }

this.idx = 1;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -83,3 +82,3 @@ }

this.idx = 1;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -91,3 +90,3 @@ }

this.idx = 1;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -99,3 +98,3 @@ }

this.idx = 1;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -107,3 +106,3 @@ }

this.idx = 1;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -123,3 +122,3 @@ }

this.hasPredicates = false;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -130,3 +129,3 @@ }

this.idx = 1;
assign(this, pickBy(options, (v) => v !== undefined));
Object.assign(this, pickOnlyDefined(options));
}

@@ -138,7 +137,7 @@ accept(visitor) {

export function serializeGrammar(topRules) {
return map(topRules, serializeProduction);
return topRules.map(serializeProduction);
}
export function serializeProduction(node) {
function convertDefinition(definition) {
return map(definition, serializeProduction);
return definition.map(serializeProduction);
}

@@ -152,3 +151,3 @@ /* istanbul ignore else */

};
if (isString(node.label)) {
if (typeof node.label === "string") {
serializedNonTerminal.label = node.label;

@@ -215,3 +214,3 @@ }

};
if (isString(node.label)) {
if (typeof node.label === "string") {
serializedTerminal.terminalLabel = node.label;

@@ -221,5 +220,4 @@ }

if (node.terminalType.PATTERN) {
serializedTerminal.pattern = isRegExp(pattern)
? pattern.source
: pattern;
serializedTerminal.pattern =
pattern instanceof RegExp ? pattern.source : pattern;
}

@@ -241,2 +239,5 @@ return serializedTerminal;

}
function pickOnlyDefined(obj) {
return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
}
//# sourceMappingURL=model.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
{
"name": "@chevrotain/gast",
"version": "11.2.0",
"version": "12.0.0",
"description": "Grammar AST structure for Chevrotain Parsers",

@@ -42,12 +42,8 @@ "keywords": [],

"dependencies": {
"@chevrotain/types": "11.2.0",
"lodash-es": "4.17.23"
"@chevrotain/types": "12.0.0"
},
"devDependencies": {
"@types/lodash-es": "4.17.12"
},
"publishConfig": {
"access": "public"
},
"gitHead": "462f1bc1189c4b5090f4c995a1577d03fb639f41"
"gitHead": "d3b4d05d5dd53d53d27175119bc7c9ed8056e3d5"
}

@@ -1,2 +0,1 @@

import { every, includes, some } from "lodash-es";
import {

@@ -49,6 +48,6 @@ AbstractProduction,

// for OR its enough for just one of the alternatives to be optional
return some((<Alternation>prod).definition, (subProd: IProduction) => {
return (<Alternation>prod).definition.some((subProd: IProduction) => {
return isOptionalProd(subProd, alreadyVisited);
});
} else if (prod instanceof NonTerminal && includes(alreadyVisited, prod)) {
} else if (prod instanceof NonTerminal && alreadyVisited.includes(prod)) {
// avoiding stack overflow due to infinite recursion

@@ -60,4 +59,3 @@ return false;

}
return every(
(<AbstractProduction>prod).definition,
return (<AbstractProduction>prod).definition.every(
(subProd: IProduction) => {

@@ -64,0 +62,0 @@ return isOptionalProd(subProd, alreadyVisited);

@@ -1,2 +0,1 @@

import { assign, forEach, isRegExp, isString, map, pickBy } from "lodash-es";
import type {

@@ -23,3 +22,3 @@ IGASTVisitor,

): obj is TokenType & Pick<Required<TokenType>, "LABEL"> {
return isString(obj.LABEL) && obj.LABEL !== "";
return typeof obj.LABEL === "string" && obj.LABEL !== "";
}

@@ -41,3 +40,3 @@

visitor.visit(this);
forEach(this.definition, (prod) => {
this.definition.forEach((prod) => {
prod.accept(visitor);

@@ -64,6 +63,3 @@ });

super([]);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -98,6 +94,3 @@

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -114,6 +107,3 @@ }

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -135,6 +125,3 @@ }

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -156,6 +143,3 @@ }

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -178,6 +162,3 @@ }

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -200,6 +181,3 @@ }

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -222,6 +200,3 @@ }

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -254,6 +229,3 @@ }

super(options.definition);
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -272,6 +244,3 @@ }

}) {
assign(
this,
pickBy(options, (v) => v !== undefined),
);
Object.assign(this, pickOnlyDefined(options));
}

@@ -330,3 +299,3 @@

export function serializeGrammar(topRules: Rule[]): ISerializedGast[] {
return map(topRules, serializeProduction);
return topRules.map(serializeProduction);
}

@@ -336,3 +305,3 @@

function convertDefinition(definition: IProduction[]): ISerializedGast[] {
return map(definition, serializeProduction);
return definition.map(serializeProduction);
}

@@ -347,3 +316,3 @@ /* istanbul ignore else */

if (isString(node.label)) {
if (typeof node.label === "string") {
serializedNonTerminal.label = node.label;

@@ -408,3 +377,3 @@ }

if (isString(node.label)) {
if (typeof node.label === "string") {
serializedTerminal.terminalLabel = node.label;

@@ -415,5 +384,4 @@ }

if (node.terminalType.PATTERN) {
serializedTerminal.pattern = isRegExp(pattern)
? (<any>pattern).source
: pattern;
serializedTerminal.pattern =
pattern instanceof RegExp ? (<any>pattern).source : pattern;
}

@@ -434,1 +402,7 @@

}
function pickOnlyDefined(obj: Object): any {
return Object.fromEntries(
Object.entries(obj).filter(([, v]) => v !== undefined),
);
}