occam-query 4.1.169 → 4.1.170
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/package.json +2 -2
- package/lib/constants.js +0 -13
- package/lib/example/utilities/token.js +0 -28
- package/lib/example/view/div/sizeable.js +0 -25
- package/lib/example/view/input/expressionString.js +0 -39
- package/lib/example/view/input/maximumDepth.js +0 -40
- package/lib/example/view/input.js +0 -27
- package/lib/example/view/subHeading.js +0 -29
- package/lib/example/view/textarea/content.js +0 -39
- package/lib/example/view/textarea/nodes.js +0 -52
- package/lib/example/view/textarea/parseTree.js +0 -48
- package/lib/example/view/textarea.js +0 -31
- package/lib/example/view.js +0 -80
- package/lib/example.js +0 -19
- package/lib/expression/bnf.js +0 -72
- package/lib/expression/entries.js +0 -27
- package/lib/expression/lexer.js +0 -41
- package/lib/expression/parser.js +0 -31
- package/lib/expression.js +0 -65
- package/lib/index.js +0 -39
- package/lib/path.js +0 -33
- package/lib/query.js +0 -145
- package/lib/ruleNames.js +0 -54
- package/lib/spread.js +0 -77
- package/lib/subExpression.js +0 -56
- package/lib/utilities/array.js +0 -62
- package/lib/utilities/node.js +0 -334
- package/lib/utilities/query.js +0 -39
package/lib/expression/lexer.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return ExpressionLexer;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _occamlexers = require("occam-lexers");
|
|
12
|
-
const _entries = /*#__PURE__*/ _interop_require_default(require("./entries"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
class ExpressionLexer extends _occamlexers.CommonLexer {
|
|
19
|
-
static entries = _entries.default;
|
|
20
|
-
static EndOfLineToken = _occamlexers.EndOfLineSignificantToken;
|
|
21
|
-
static WhitespaceToken = _occamlexers.WhitespaceToken;
|
|
22
|
-
static EndOfLineCommentToken = null;
|
|
23
|
-
static SingleLineCommentToken = null;
|
|
24
|
-
static RegularExpressionToken = null;
|
|
25
|
-
static EndOfMultiLineCommentToken = null;
|
|
26
|
-
static StartOfMultiLineCommentToken = null;
|
|
27
|
-
static MiddleOfMultiLineCommentToken = null;
|
|
28
|
-
static SinglyQuotedStringLiteralToken = null;
|
|
29
|
-
static DoublyQuotedStringLiteralToken = null;
|
|
30
|
-
static fromNothing() {
|
|
31
|
-
return _occamlexers.CommonLexer.fromNothing(ExpressionLexer);
|
|
32
|
-
}
|
|
33
|
-
static fromRules(rules) {
|
|
34
|
-
return _occamlexers.CommonLexer.fromRules(ExpressionLexer, rules);
|
|
35
|
-
}
|
|
36
|
-
static fromEntries(entries) {
|
|
37
|
-
return _occamlexers.CommonLexer.fromEntries(ExpressionLexer, entries);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHByZXNzaW9uL2xleGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uTGV4ZXIsIFdoaXRlc3BhY2VUb2tlbiwgRW5kT2ZMaW5lU2lnbmlmaWNhbnRUb2tlbiB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcclxuXHJcbmltcG9ydCBlbnRyaWVzIGZyb20gXCIuL2VudHJpZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cHJlc3Npb25MZXhlciBleHRlbmRzIENvbW1vbkxleGVyIHtcclxuICBzdGF0aWMgZW50cmllcyA9IGVudHJpZXM7XHJcblxyXG4gIHN0YXRpYyBFbmRPZkxpbmVUb2tlbiA9IEVuZE9mTGluZVNpZ25pZmljYW50VG9rZW47IC8vL1xyXG5cclxuICBzdGF0aWMgV2hpdGVzcGFjZVRva2VuID0gV2hpdGVzcGFjZVRva2VuO1xyXG5cclxuICBzdGF0aWMgRW5kT2ZMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIFNpbmdsZUxpbmVDb21tZW50VG9rZW4gPSBudWxsO1xyXG5cclxuICBzdGF0aWMgUmVndWxhckV4cHJlc3Npb25Ub2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBFbmRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBTdGFydE9mTXVsdGlMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIE1pZGRsZU9mTXVsdGlMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIFNpbmdseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBEb3VibHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW4gPSBudWxsO1xyXG5cclxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBDb21tb25MZXhlci5mcm9tTm90aGluZyhFeHByZXNzaW9uTGV4ZXIpOyB9XHJcblxyXG4gIHN0YXRpYyBmcm9tUnVsZXMocnVsZXMpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21SdWxlcyhFeHByZXNzaW9uTGV4ZXIsIHJ1bGVzKTsgfVxyXG5cclxuICBzdGF0aWMgZnJvbUVudHJpZXMoZW50cmllcykgeyByZXR1cm4gQ29tbW9uTGV4ZXIuZnJvbUVudHJpZXMoRXhwcmVzc2lvbkxleGVyLCBlbnRyaWVzKTsgfVxyXG59XHJcbiJdLCJuYW1lcyI6WyJFeHByZXNzaW9uTGV4ZXIiLCJDb21tb25MZXhlciIsImVudHJpZXMiLCJFbmRPZkxpbmVUb2tlbiIsIkVuZE9mTGluZVNpZ25pZmljYW50VG9rZW4iLCJXaGl0ZXNwYWNlVG9rZW4iLCJFbmRPZkxpbmVDb21tZW50VG9rZW4iLCJTaW5nbGVMaW5lQ29tbWVudFRva2VuIiwiUmVndWxhckV4cHJlc3Npb25Ub2tlbiIsIkVuZE9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiU3RhcnRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiIsIk1pZGRsZU9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiU2luZ2x5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuIiwiRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuIiwiZnJvbU5vdGhpbmciLCJmcm9tUnVsZXMiLCJydWxlcyIsImZyb21FbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OzZCQUptRDtnRUFFcEQ7Ozs7OztBQUVMLE1BQU1BLHdCQUF3QkMsd0JBQVc7SUFDdEQsT0FBT0MsVUFBVUEsZ0JBQU8sQ0FBQztJQUV6QixPQUFPQyxpQkFBaUJDLHNDQUF5QixDQUFDO0lBRWxELE9BQU9DLGtCQUFrQkEsNEJBQWUsQ0FBQztJQUV6QyxPQUFPQyx3QkFBd0IsS0FBSztJQUVwQyxPQUFPQyx5QkFBeUIsS0FBSztJQUVyQyxPQUFPQyx5QkFBeUIsS0FBSztJQUVyQyxPQUFPQyw2QkFBNkIsS0FBSztJQUV6QyxPQUFPQywrQkFBK0IsS0FBSztJQUUzQyxPQUFPQyxnQ0FBZ0MsS0FBSztJQUU1QyxPQUFPQyxpQ0FBaUMsS0FBSztJQUU3QyxPQUFPQyxpQ0FBaUMsS0FBSztJQUU3QyxPQUFPQyxjQUFjO1FBQUUsT0FBT2Isd0JBQVcsQ0FBQ2EsV0FBVyxDQUFDZDtJQUFrQjtJQUV4RSxPQUFPZSxVQUFVQyxLQUFLLEVBQUU7UUFBRSxPQUFPZix3QkFBVyxDQUFDYyxTQUFTLENBQUNmLGlCQUFpQmdCO0lBQVE7SUFFaEYsT0FBT0MsWUFBWWYsT0FBTyxFQUFFO1FBQUUsT0FBT0Qsd0JBQVcsQ0FBQ2dCLFdBQVcsQ0FBQ2pCLGlCQUFpQkU7SUFBVTtBQUMxRiJ9
|
package/lib/expression/parser.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return ExpressionParser;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _occamparsers = require("occam-parsers");
|
|
12
|
-
const _bnf = /*#__PURE__*/ _interop_require_default(require("./bnf"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
class ExpressionParser extends _occamparsers.CommonParser {
|
|
19
|
-
static bnf = _bnf.default;
|
|
20
|
-
static fromNothing() {
|
|
21
|
-
return _occamparsers.CommonParser.fromNothing(ExpressionParser);
|
|
22
|
-
}
|
|
23
|
-
static fromBNF(bnf) {
|
|
24
|
-
return _occamparsers.CommonParser.fromBNF(ExpressionParser, bnf);
|
|
25
|
-
}
|
|
26
|
-
static fromRules(rules) {
|
|
27
|
-
return _occamparsers.CommonParser.fromRules(ExpressionParser, rules);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHByZXNzaW9uL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IGJuZiBmcm9tIFwiLi9ibmZcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhwcmVzc2lvblBhcnNlciBleHRlbmRzIENvbW1vblBhcnNlciB7XG4gIHN0YXRpYyBibmYgPSBibmY7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkgeyByZXR1cm4gQ29tbW9uUGFyc2VyLmZyb21Ob3RoaW5nKEV4cHJlc3Npb25QYXJzZXIpOyB9XG5cbiAgc3RhdGljIGZyb21CTkYoYm5mKSB7IHJldHVybiBDb21tb25QYXJzZXIuZnJvbUJORihFeHByZXNzaW9uUGFyc2VyLCBibmYpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhydWxlcykgeyByZXR1cm4gQ29tbW9uUGFyc2VyLmZyb21SdWxlcyhFeHByZXNzaW9uUGFyc2VyLCBydWxlcyk7IH1cbn1cbiJdLCJuYW1lcyI6WyJFeHByZXNzaW9uUGFyc2VyIiwiQ29tbW9uUGFyc2VyIiwiYm5mIiwiZnJvbU5vdGhpbmciLCJmcm9tQk5GIiwiZnJvbVJ1bGVzIiwicnVsZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7OEJBSlE7NERBRWI7Ozs7OztBQUVELE1BQU1BLHlCQUF5QkMsMEJBQVk7SUFDeEQsT0FBT0MsTUFBTUEsWUFBRyxDQUFDO0lBRWpCLE9BQU9DLGNBQWM7UUFBRSxPQUFPRiwwQkFBWSxDQUFDRSxXQUFXLENBQUNIO0lBQW1CO0lBRTFFLE9BQU9JLFFBQVFGLEdBQUcsRUFBRTtRQUFFLE9BQU9ELDBCQUFZLENBQUNHLE9BQU8sQ0FBQ0osa0JBQWtCRTtJQUFNO0lBRTFFLE9BQU9HLFVBQVVDLEtBQUssRUFBRTtRQUFFLE9BQU9MLDBCQUFZLENBQUNJLFNBQVMsQ0FBQ0wsa0JBQWtCTTtJQUFRO0FBQ3BGIn0=
|
package/lib/expression.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Expression;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _path = /*#__PURE__*/ _interop_require_default(require("./path"));
|
|
12
|
-
const _spread = /*#__PURE__*/ _interop_require_default(require("./spread"));
|
|
13
|
-
const _subExpression = /*#__PURE__*/ _interop_require_default(require("./subExpression"));
|
|
14
|
-
const _lexer = /*#__PURE__*/ _interop_require_default(require("./expression/lexer"));
|
|
15
|
-
const _parser = /*#__PURE__*/ _interop_require_default(require("./expression/parser"));
|
|
16
|
-
const _node = require("./utilities/node");
|
|
17
|
-
function _interop_require_default(obj) {
|
|
18
|
-
return obj && obj.__esModule ? obj : {
|
|
19
|
-
default: obj
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
const expressionLexer = _lexer.default.fromNothing(), expressionParser = _parser.default.fromNothing();
|
|
23
|
-
class Expression {
|
|
24
|
-
constructor(path, spread, subExpression){
|
|
25
|
-
this.path = path;
|
|
26
|
-
this.spread = spread;
|
|
27
|
-
this.subExpression = subExpression;
|
|
28
|
-
}
|
|
29
|
-
getPath() {
|
|
30
|
-
return this.path;
|
|
31
|
-
}
|
|
32
|
-
getSpread() {
|
|
33
|
-
return this.spread;
|
|
34
|
-
}
|
|
35
|
-
getSubExpression() {
|
|
36
|
-
return this.subExpression;
|
|
37
|
-
}
|
|
38
|
-
getRuleNames() {
|
|
39
|
-
return this.path.getRuleNames();
|
|
40
|
-
}
|
|
41
|
-
getTokenTypes() {
|
|
42
|
-
return this.path.getTokenTypes();
|
|
43
|
-
}
|
|
44
|
-
isInfiniteDescent() {
|
|
45
|
-
return this.path.isInfiniteDescent();
|
|
46
|
-
}
|
|
47
|
-
static fromExpressionNode(expressionNode) {
|
|
48
|
-
const pathNode = (0, _node.pathNodeFromExpressionNode)(expressionNode), spreadNode = (0, _node.spreadNodeFromExpressionNode)(expressionNode), subExpressionNode = (0, _node.subExpressionNodeFromExpressionNode)(expressionNode), path = _path.default.fromPathNode(pathNode), spread = _spread.default.fromSpreadNode(spreadNode), subExpression = _subExpression.default.fromSubExpressionNode(subExpressionNode), expression = new Expression(path, spread, subExpression);
|
|
49
|
-
return expression;
|
|
50
|
-
}
|
|
51
|
-
static fromExpressionString(expressionString) {
|
|
52
|
-
let expression = null;
|
|
53
|
-
const lexer = expressionLexer, parser = expressionParser, content = expressionString, tokens = lexer.tokenise(content), node = parser.parse(tokens);
|
|
54
|
-
if (node !== null) {
|
|
55
|
-
const expressionNode = node, errorNodes = (0, _node.errorNodesFromExpressionNode)(expressionNode), errorNodesLength = errorNodes.length;
|
|
56
|
-
if (errorNodesLength === 0) {
|
|
57
|
-
const pathNode = (0, _node.pathNodeFromExpressionNode)(expressionNode), spreadNode = (0, _node.spreadNodeFromExpressionNode)(expressionNode), subExpressionNode = (0, _node.subExpressionNodeFromExpressionNode)(expressionNode), path = _path.default.fromPathNode(pathNode), spread = _spread.default.fromSpreadNode(spreadNode), subExpression = _subExpression.default.fromSubExpressionNode(subExpressionNode);
|
|
58
|
-
expression = new Expression(path, spread, subExpression);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return expression;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHByZXNzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGF0aCBmcm9tIFwiLi9wYXRoXCI7XG5pbXBvcnQgU3ByZWFkIGZyb20gXCIuL3NwcmVhZFwiO1xuaW1wb3J0IFN1YkV4cHJlc3Npb24gZnJvbSBcIi4vc3ViRXhwcmVzc2lvblwiO1xuaW1wb3J0IEV4cHJlc3Npb25MZXhlciBmcm9tIFwiLi9leHByZXNzaW9uL2xleGVyXCI7XG5pbXBvcnQgRXhwcmVzc2lvblBhcnNlciBmcm9tIFwiLi9leHByZXNzaW9uL3BhcnNlclwiO1xuXG5pbXBvcnQgeyBwYXRoTm9kZUZyb21FeHByZXNzaW9uTm9kZSxcbiAgICAgICAgIHNwcmVhZE5vZGVGcm9tRXhwcmVzc2lvbk5vZGUsXG4gICAgICAgICBlcnJvck5vZGVzRnJvbUV4cHJlc3Npb25Ob2RlLFxuICAgICAgICAgc3ViRXhwcmVzc2lvbk5vZGVGcm9tRXhwcmVzc2lvbk5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5jb25zdCBleHByZXNzaW9uTGV4ZXIgPSBFeHByZXNzaW9uTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIGV4cHJlc3Npb25QYXJzZXIgPSBFeHByZXNzaW9uUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cHJlc3Npb24ge1xuICBjb25zdHJ1Y3RvcihwYXRoLCBzcHJlYWQsIHN1YkV4cHJlc3Npb24pIHtcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIHRoaXMuc3ByZWFkID0gc3ByZWFkO1xuICAgIHRoaXMuc3ViRXhwcmVzc2lvbiA9IHN1YkV4cHJlc3Npb247XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLnBhdGg7XG4gIH1cblxuICBnZXRTcHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ByZWFkO1xuICB9XG5cbiAgZ2V0U3ViRXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0UnVsZU5hbWVzKCkgeyByZXR1cm4gdGhpcy5wYXRoLmdldFJ1bGVOYW1lcygpOyB9XG5cbiAgZ2V0VG9rZW5UeXBlcygpIHsgcmV0dXJuIHRoaXMucGF0aC5nZXRUb2tlblR5cGVzKCk7IH1cblxuICBpc0luZmluaXRlRGVzY2VudCgpIHsgcmV0dXJuIHRoaXMucGF0aC5pc0luZmluaXRlRGVzY2VudCgpOyB9XG5cbiAgc3RhdGljIGZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSkge1xuICAgIGNvbnN0IHBhdGhOb2RlID0gcGF0aE5vZGVGcm9tRXhwcmVzc2lvbk5vZGUoZXhwcmVzc2lvbk5vZGUpLFxuICAgICAgICAgIHNwcmVhZE5vZGUgPSBzcHJlYWROb2RlRnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgICBzdWJFeHByZXNzaW9uTm9kZSA9IHN1YkV4cHJlc3Npb25Ob2RlRnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgICBwYXRoID0gUGF0aC5mcm9tUGF0aE5vZGUocGF0aE5vZGUpLFxuICAgICAgICAgIHNwcmVhZCA9IFNwcmVhZC5mcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKSxcbiAgICAgICAgICBzdWJFeHByZXNzaW9uID0gU3ViRXhwcmVzc2lvbi5mcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpLFxuICAgICAgICAgIGV4cHJlc3Npb24gPSBuZXcgRXhwcmVzc2lvbihwYXRoLCBzcHJlYWQsIHN1YkV4cHJlc3Npb24pO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZykge1xuICAgIGxldCBleHByZXNzaW9uID0gbnVsbDtcblxuICAgIGNvbnN0IGxleGVyID0gZXhwcmVzc2lvbkxleGVyLCAgLy8vXG4gICAgICAgICAgcGFyc2VyID0gZXhwcmVzc2lvblBhcnNlciwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSBleHByZXNzaW9uU3RyaW5nLCAvLy9cbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvbk5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGVycm9yTm9kZXMgPSBlcnJvck5vZGVzRnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgICAgIGVycm9yTm9kZXNMZW5ndGggPSBlcnJvck5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKGVycm9yTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICAgICAgY29uc3QgcGF0aE5vZGUgPSBwYXRoTm9kZUZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSksXG4gICAgICAgICAgICAgIHNwcmVhZE5vZGUgPSBzcHJlYWROb2RlRnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgICAgICAgc3ViRXhwcmVzc2lvbk5vZGUgPSBzdWJFeHByZXNzaW9uTm9kZUZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSksXG4gICAgICAgICAgICAgIHBhdGggPSBQYXRoLmZyb21QYXRoTm9kZShwYXRoTm9kZSksXG4gICAgICAgICAgICAgIHNwcmVhZCA9IFNwcmVhZC5mcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKSxcbiAgICAgICAgICAgICAgc3ViRXhwcmVzc2lvbiA9IFN1YkV4cHJlc3Npb24uZnJvbVN1YkV4cHJlc3Npb25Ob2RlKHN1YkV4cHJlc3Npb25Ob2RlKTtcblxuICAgICAgICBleHByZXNzaW9uID0gbmV3IEV4cHJlc3Npb24ocGF0aCwgc3ByZWFkLCBzdWJFeHByZXNzaW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkV4cHJlc3Npb24iLCJleHByZXNzaW9uTGV4ZXIiLCJFeHByZXNzaW9uTGV4ZXIiLCJmcm9tTm90aGluZyIsImV4cHJlc3Npb25QYXJzZXIiLCJFeHByZXNzaW9uUGFyc2VyIiwicGF0aCIsInNwcmVhZCIsInN1YkV4cHJlc3Npb24iLCJnZXRQYXRoIiwiZ2V0U3ByZWFkIiwiZ2V0U3ViRXhwcmVzc2lvbiIsImdldFJ1bGVOYW1lcyIsImdldFRva2VuVHlwZXMiLCJpc0luZmluaXRlRGVzY2VudCIsImZyb21FeHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb25Ob2RlIiwicGF0aE5vZGUiLCJwYXRoTm9kZUZyb21FeHByZXNzaW9uTm9kZSIsInNwcmVhZE5vZGUiLCJzcHJlYWROb2RlRnJvbUV4cHJlc3Npb25Ob2RlIiwic3ViRXhwcmVzc2lvbk5vZGUiLCJzdWJFeHByZXNzaW9uTm9kZUZyb21FeHByZXNzaW9uTm9kZSIsIlBhdGgiLCJmcm9tUGF0aE5vZGUiLCJTcHJlYWQiLCJmcm9tU3ByZWFkTm9kZSIsIlN1YkV4cHJlc3Npb24iLCJmcm9tU3ViRXhwcmVzc2lvbk5vZGUiLCJleHByZXNzaW9uIiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJleHByZXNzaW9uU3RyaW5nIiwibGV4ZXIiLCJwYXJzZXIiLCJjb250ZW50IiwidG9rZW5zIiwidG9rZW5pc2UiLCJub2RlIiwicGFyc2UiLCJlcnJvck5vZGVzIiwiZXJyb3JOb2Rlc0Zyb21FeHByZXNzaW9uTm9kZSIsImVycm9yTm9kZXNMZW5ndGgiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQXFCQTs7OzZEQWRKOytEQUNFO3NFQUNPOzhEQUNFOytEQUNDO3NCQUt1Qjs7Ozs7O0FBRXBELE1BQU1DLGtCQUFrQkMsY0FBZSxDQUFDQyxXQUFXLElBQzdDQyxtQkFBbUJDLGVBQWdCLENBQUNGLFdBQVc7QUFFdEMsTUFBTUg7SUFDbkIsWUFBWU0sSUFBSSxFQUFFQyxNQUFNLEVBQUVDLGFBQWEsQ0FBRTtRQUN2QyxJQUFJLENBQUNGLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLGFBQWEsR0FBR0E7SUFDdkI7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtJQUNwQjtJQUVBSSxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNILGFBQWE7SUFDM0I7SUFFQUksZUFBZTtRQUFFLE9BQU8sSUFBSSxDQUFDTixJQUFJLENBQUNNLFlBQVk7SUFBSTtJQUVsREMsZ0JBQWdCO1FBQUUsT0FBTyxJQUFJLENBQUNQLElBQUksQ0FBQ08sYUFBYTtJQUFJO0lBRXBEQyxvQkFBb0I7UUFBRSxPQUFPLElBQUksQ0FBQ1IsSUFBSSxDQUFDUSxpQkFBaUI7SUFBSTtJQUU1RCxPQUFPQyxtQkFBbUJDLGNBQWMsRUFBRTtRQUN4QyxNQUFNQyxXQUFXQyxJQUFBQSxnQ0FBMEIsRUFBQ0YsaUJBQ3RDRyxhQUFhQyxJQUFBQSxrQ0FBNEIsRUFBQ0osaUJBQzFDSyxvQkFBb0JDLElBQUFBLHlDQUFtQyxFQUFDTixpQkFDeERWLE9BQU9pQixhQUFJLENBQUNDLFlBQVksQ0FBQ1AsV0FDekJWLFNBQVNrQixlQUFNLENBQUNDLGNBQWMsQ0FBQ1AsYUFDL0JYLGdCQUFnQm1CLHNCQUFhLENBQUNDLHFCQUFxQixDQUFDUCxvQkFDcERRLGFBQWEsSUFBSTdCLFdBQVdNLE1BQU1DLFFBQVFDO1FBRWhELE9BQU9xQjtJQUNUO0lBRUEsT0FBT0MscUJBQXFCQyxnQkFBZ0IsRUFBRTtRQUM1QyxJQUFJRixhQUFhO1FBRWpCLE1BQU1HLFFBQVEvQixpQkFDUmdDLFNBQVM3QixrQkFDVDhCLFVBQVVILGtCQUNWSSxTQUFTSCxNQUFNSSxRQUFRLENBQUNGLFVBQ3hCRyxPQUFPSixPQUFPSyxLQUFLLENBQUNIO1FBRTFCLElBQUlFLFNBQVMsTUFBTTtZQUNqQixNQUFNckIsaUJBQWlCcUIsTUFDakJFLGFBQWFDLElBQUFBLGtDQUE0QixFQUFDeEIsaUJBQzFDeUIsbUJBQW1CRixXQUFXRyxNQUFNO1lBRTFDLElBQUlELHFCQUFxQixHQUFHO2dCQUMxQixNQUFNeEIsV0FBV0MsSUFBQUEsZ0NBQTBCLEVBQUNGLGlCQUN0Q0csYUFBYUMsSUFBQUEsa0NBQTRCLEVBQUNKLGlCQUMxQ0ssb0JBQW9CQyxJQUFBQSx5Q0FBbUMsRUFBQ04saUJBQ3hEVixPQUFPaUIsYUFBSSxDQUFDQyxZQUFZLENBQUNQLFdBQ3pCVixTQUFTa0IsZUFBTSxDQUFDQyxjQUFjLENBQUNQLGFBQy9CWCxnQkFBZ0JtQixzQkFBYSxDQUFDQyxxQkFBcUIsQ0FBQ1A7Z0JBRTFEUSxhQUFhLElBQUk3QixXQUFXTSxNQUFNQyxRQUFRQztZQUM1QztRQUNGO1FBRUEsT0FBT3FCO0lBQ1Q7QUFDRiJ9
|
package/lib/index.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get Expression () {
|
|
13
|
-
return _expression.default;
|
|
14
|
-
},
|
|
15
|
-
get ExpressionLexer () {
|
|
16
|
-
return _lexer.default;
|
|
17
|
-
},
|
|
18
|
-
get ExpressionParser () {
|
|
19
|
-
return _parser.default;
|
|
20
|
-
},
|
|
21
|
-
get Query () {
|
|
22
|
-
return _query.default;
|
|
23
|
-
},
|
|
24
|
-
get queryUtilities () {
|
|
25
|
-
return _query1.default;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
const _query = /*#__PURE__*/ _interop_require_default(require("./query"));
|
|
29
|
-
const _expression = /*#__PURE__*/ _interop_require_default(require("./expression"));
|
|
30
|
-
const _query1 = /*#__PURE__*/ _interop_require_default(require("./utilities/query"));
|
|
31
|
-
const _lexer = /*#__PURE__*/ _interop_require_default(require("./expression/lexer"));
|
|
32
|
-
const _parser = /*#__PURE__*/ _interop_require_default(require("./expression/parser"));
|
|
33
|
-
function _interop_require_default(obj) {
|
|
34
|
-
return obj && obj.__esModule ? obj : {
|
|
35
|
-
default: obj
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBRdWVyeSB9IGZyb20gXCIuL3F1ZXJ5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEV4cHJlc3Npb24gfSBmcm9tIFwiLi9leHByZXNzaW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEV4cHJlc3Npb25MZXhlciB9IGZyb20gXCIuL2V4cHJlc3Npb24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRXhwcmVzc2lvblBhcnNlciB9IGZyb20gXCIuL2V4cHJlc3Npb24vcGFyc2VyXCI7XG4iXSwibmFtZXMiOlsiRXhwcmVzc2lvbiIsIkV4cHJlc3Npb25MZXhlciIsIkV4cHJlc3Npb25QYXJzZXIiLCJRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFHb0JBO2VBQUFBLG1CQUFVOztRQUVWQztlQUFBQSxjQUFlOztRQUNmQztlQUFBQSxlQUFnQjs7UUFKaEJDO2VBQUFBLGNBQUs7O1FBRUxDO2VBQUFBLGVBQWM7Ozs4REFGRDttRUFDSzsrREFDSTs4REFDQzsrREFDQyJ9
|
package/lib/path.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Path;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _node = require("./utilities/node");
|
|
12
|
-
class Path {
|
|
13
|
-
constructor(ruleNames, tokenTypes, infiniteDescent){
|
|
14
|
-
this.ruleNames = ruleNames;
|
|
15
|
-
this.tokenTypes = tokenTypes;
|
|
16
|
-
this.infiniteDescent = infiniteDescent;
|
|
17
|
-
}
|
|
18
|
-
getRuleNames() {
|
|
19
|
-
return this.ruleNames;
|
|
20
|
-
}
|
|
21
|
-
getTokenTypes() {
|
|
22
|
-
return this.tokenTypes;
|
|
23
|
-
}
|
|
24
|
-
isInfiniteDescent() {
|
|
25
|
-
return this.infiniteDescent;
|
|
26
|
-
}
|
|
27
|
-
static fromPathNode(pathNode) {
|
|
28
|
-
const ruleNames = (0, _node.ruleNamesFromPathNode)(pathNode), tokenTypes = (0, _node.tokenTypesFromPathNode)(pathNode), infiniteDescent = (0, _node.infiniteDescentFromPathNode)(pathNode), path = new Path(ruleNames, tokenTypes, infiniteDescent);
|
|
29
|
-
return path;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXRoLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBydWxlTmFtZXNGcm9tUGF0aE5vZGUsIHRva2VuVHlwZXNGcm9tUGF0aE5vZGUsIGluZmluaXRlRGVzY2VudEZyb21QYXRoTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhdGgge1xuICBjb25zdHJ1Y3RvcihydWxlTmFtZXMsIHRva2VuVHlwZXMsIGluZmluaXRlRGVzY2VudCkge1xuICAgIHRoaXMucnVsZU5hbWVzID0gcnVsZU5hbWVzO1xuICAgIHRoaXMudG9rZW5UeXBlcyA9IHRva2VuVHlwZXM7XG4gICAgdGhpcy5pbmZpbml0ZURlc2NlbnQgPSBpbmZpbml0ZURlc2NlbnQ7XG4gIH1cblxuICBnZXRSdWxlTmFtZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZU5hbWVzO1xuICB9XG5cbiAgZ2V0VG9rZW5UeXBlcygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlblR5cGVzO1xuICB9XG5cbiAgaXNJbmZpbml0ZURlc2NlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5maW5pdGVEZXNjZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXRoTm9kZShwYXRoTm9kZSkge1xuICAgIGNvbnN0IHJ1bGVOYW1lcyA9IHJ1bGVOYW1lc0Zyb21QYXRoTm9kZShwYXRoTm9kZSksXG4gICAgICAgICAgdG9rZW5UeXBlcyA9IHRva2VuVHlwZXNGcm9tUGF0aE5vZGUocGF0aE5vZGUpLFxuICAgICAgICAgIGluZmluaXRlRGVzY2VudCA9IGluZmluaXRlRGVzY2VudEZyb21QYXRoTm9kZShwYXRoTm9kZSksXG4gICAgICAgICAgcGF0aCA9IG5ldyBQYXRoKHJ1bGVOYW1lcywgdG9rZW5UeXBlcywgaW5maW5pdGVEZXNjZW50KTtcblxuICAgIHJldHVybiBwYXRoO1xuICB9XG59XG4iXSwibmFtZXMiOlsiUGF0aCIsInJ1bGVOYW1lcyIsInRva2VuVHlwZXMiLCJpbmZpbml0ZURlc2NlbnQiLCJnZXRSdWxlTmFtZXMiLCJnZXRUb2tlblR5cGVzIiwiaXNJbmZpbml0ZURlc2NlbnQiLCJmcm9tUGF0aE5vZGUiLCJwYXRoTm9kZSIsInJ1bGVOYW1lc0Zyb21QYXRoTm9kZSIsInRva2VuVHlwZXNGcm9tUGF0aE5vZGUiLCJpbmZpbml0ZURlc2NlbnRGcm9tUGF0aE5vZGUiLCJwYXRoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O3NCQUZzRTtBQUU1RSxNQUFNQTtJQUNuQixZQUFZQyxTQUFTLEVBQUVDLFVBQVUsRUFBRUMsZUFBZSxDQUFFO1FBQ2xELElBQUksQ0FBQ0YsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxlQUFlLEdBQUdBO0lBQ3pCO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0gsU0FBUztJQUN2QjtJQUVBSSxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0gsVUFBVTtJQUN4QjtJQUVBSSxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUNILGVBQWU7SUFDN0I7SUFFQSxPQUFPSSxhQUFhQyxRQUFRLEVBQUU7UUFDNUIsTUFBTVAsWUFBWVEsSUFBQUEsMkJBQXFCLEVBQUNELFdBQ2xDTixhQUFhUSxJQUFBQSw0QkFBc0IsRUFBQ0YsV0FDcENMLGtCQUFrQlEsSUFBQUEsaUNBQTJCLEVBQUNILFdBQzlDSSxPQUFPLElBQUlaLEtBQUtDLFdBQVdDLFlBQVlDO1FBRTdDLE9BQU9TO0lBQ1Q7QUFDRiJ9
|
package/lib/query.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Query;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _necessary = require("necessary");
|
|
12
|
-
const _expression = /*#__PURE__*/ _interop_require_default(require("./expression"));
|
|
13
|
-
const _array = require("./utilities/array");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const { WILDCARD_CHARACTER } = _necessary.characters;
|
|
20
|
-
class Query {
|
|
21
|
-
constructor(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes){
|
|
22
|
-
this.spread = spread;
|
|
23
|
-
this.subQuery = subQuery;
|
|
24
|
-
this.ruleNames = ruleNames;
|
|
25
|
-
this.tokenTypes = tokenTypes;
|
|
26
|
-
this.maximumDepth = maximumDepth;
|
|
27
|
-
this.infiniteDescent = infiniteDescent;
|
|
28
|
-
this.intermediateNodes = intermediateNodes;
|
|
29
|
-
}
|
|
30
|
-
getSpread() {
|
|
31
|
-
return this.sprea;
|
|
32
|
-
}
|
|
33
|
-
getSubQuery() {
|
|
34
|
-
return this.subQuery;
|
|
35
|
-
}
|
|
36
|
-
getRuleNames() {
|
|
37
|
-
return this.ruleNames;
|
|
38
|
-
}
|
|
39
|
-
getTokenTypes() {
|
|
40
|
-
return this.tokenTypes;
|
|
41
|
-
}
|
|
42
|
-
getMaximumDepth() {
|
|
43
|
-
return this.maximumDepth;
|
|
44
|
-
}
|
|
45
|
-
isInfiniteDescent() {
|
|
46
|
-
return this.infiniteDescent;
|
|
47
|
-
}
|
|
48
|
-
getIntermediateNodes() {
|
|
49
|
-
return this.intermediateNodes;
|
|
50
|
-
}
|
|
51
|
-
execute(node, depth = 0, maximumDepth = this.maximumDepth) {
|
|
52
|
-
const nodes = [];
|
|
53
|
-
this.clear();
|
|
54
|
-
this.find(node, depth, maximumDepth);
|
|
55
|
-
this.apply(nodes, depth, maximumDepth);
|
|
56
|
-
return nodes;
|
|
57
|
-
}
|
|
58
|
-
clear() {
|
|
59
|
-
(0, _array.clear)(this.intermediateNodes);
|
|
60
|
-
}
|
|
61
|
-
find(node, depth, maximumDepth) {
|
|
62
|
-
if (depth > maximumDepth) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
const nodeTerminalNode = node.isTerminalNode(), nodeNonTerminalNode = !nodeTerminalNode;
|
|
66
|
-
let found;
|
|
67
|
-
if (nodeTerminalNode) {
|
|
68
|
-
const terminalNode = node, types = this.tokenTypes, type = terminalNode.getType();
|
|
69
|
-
found = (0, _array.includes)(types, type, WILDCARD_CHARACTER);
|
|
70
|
-
}
|
|
71
|
-
if (nodeNonTerminalNode) {
|
|
72
|
-
const nonTerminalNode = node, ruleName = nonTerminalNode.getRuleName();
|
|
73
|
-
found = (0, _array.includes)(this.ruleNames, ruleName, WILDCARD_CHARACTER);
|
|
74
|
-
}
|
|
75
|
-
if (found) {
|
|
76
|
-
const intermediateNode = node; ///
|
|
77
|
-
this.intermediateNodes.push(intermediateNode);
|
|
78
|
-
}
|
|
79
|
-
if (this.infiniteDescent) {
|
|
80
|
-
if (nodeNonTerminalNode) {
|
|
81
|
-
depth++;
|
|
82
|
-
const nonTerminalNode = node; ///
|
|
83
|
-
nonTerminalNode.forEachChildNode((childNode)=>{
|
|
84
|
-
this.find(childNode, depth, maximumDepth);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
apply(nodes, depth, maximumDepth) {
|
|
90
|
-
this.spread.adjustNodes(this.intermediateNodes);
|
|
91
|
-
if (this.subQuery === null) {
|
|
92
|
-
(0, _array.push)(nodes, this.intermediateNodes);
|
|
93
|
-
} else {
|
|
94
|
-
this.intermediateNodes.forEach((intermediateNode)=>{
|
|
95
|
-
const intermediateNodeNonTerminalNode = intermediateNode.isNonTerminalNode();
|
|
96
|
-
if (intermediateNodeNonTerminalNode) {
|
|
97
|
-
depth++;
|
|
98
|
-
const nonTerminalNode = intermediateNode; ///
|
|
99
|
-
this.subQuery.clear();
|
|
100
|
-
nonTerminalNode.forEachChildNode((childNode)=>{
|
|
101
|
-
this.subQuery.find(childNode, depth, maximumDepth);
|
|
102
|
-
});
|
|
103
|
-
this.subQuery.apply(nodes, depth, maximumDepth);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
static fromExpression(expression, maximumDepth = Infinity) {
|
|
109
|
-
const spread = expression.getSpread(), subQuery = subQueryFromExpression(expression), ruleNames = expression.getRuleNames(), tokenTypes = expression.getTokenTypes(), infiniteDescent = expression.isInfiniteDescent(), intermediateNodes = [], query = new Query(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes);
|
|
110
|
-
return query;
|
|
111
|
-
}
|
|
112
|
-
static fromSubExpression(subExpression) {
|
|
113
|
-
const spread = subExpression.getSpread(), subQuery = subQueryFromSubExpression(subExpression), ruleNames = subExpression.getRuleNames(), tokenTypes = subExpression.getTokenTypes(), maximumDepth = Infinity, infiniteDescent = subExpression.isInfiniteDescent(), intermediateNodes = [], query = new Query(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes);
|
|
114
|
-
return query;
|
|
115
|
-
}
|
|
116
|
-
static fromExpressionString(expressionString, maximumDepth = Infinity) {
|
|
117
|
-
let query = null;
|
|
118
|
-
const expression = _expression.default.fromExpressionString(expressionString);
|
|
119
|
-
if (expression !== null) {
|
|
120
|
-
const spread = expression.getSpread(), subQuery = subQueryFromExpression(expression), ruleNames = expression.getRuleNames(), tokenTypes = expression.getTokenTypes(), infiniteDescent = expression.isInfiniteDescent(), intermediateNodes = [];
|
|
121
|
-
query = new Query(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes);
|
|
122
|
-
}
|
|
123
|
-
return query;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
function subQueryFromExpression(expression) {
|
|
127
|
-
let subQuery = null;
|
|
128
|
-
const subExpression = expression.getSubExpression();
|
|
129
|
-
if (subExpression !== null) {
|
|
130
|
-
const query = Query.fromSubExpression(subExpression);
|
|
131
|
-
subQuery = query; ///
|
|
132
|
-
}
|
|
133
|
-
return subQuery;
|
|
134
|
-
}
|
|
135
|
-
function subQueryFromSubExpression(subExpression) {
|
|
136
|
-
let subQuery = null;
|
|
137
|
-
subExpression = subExpression.getSubExpression(); ///
|
|
138
|
-
if (subExpression !== null) {
|
|
139
|
-
const query = Query.fromSubExpression(subExpression);
|
|
140
|
-
subQuery = query; ///
|
|
141
|
-
}
|
|
142
|
-
return subQuery;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgY2hhcmFjdGVycyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4cHJlc3Npb24gZnJvbSBcIi4vZXhwcmVzc2lvblwiO1xuXG5pbXBvcnQgeyBwdXNoLCBjbGVhciwgaW5jbHVkZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuY29uc3QgeyBXSUxEQ0FSRF9DSEFSQUNURVIgfSA9IGNoYXJhY3RlcnM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFF1ZXJ5IHtcbiAgY29uc3RydWN0b3Ioc3ByZWFkLCBzdWJRdWVyeSwgcnVsZU5hbWVzLCB0b2tlblR5cGVzLCBtYXhpbXVtRGVwdGgsIGluZmluaXRlRGVzY2VudCwgaW50ZXJtZWRpYXRlTm9kZXMpIHtcbiAgICB0aGlzLnNwcmVhZCA9IHNwcmVhZDtcbiAgICB0aGlzLnN1YlF1ZXJ5ID0gc3ViUXVlcnk7XG4gICAgdGhpcy5ydWxlTmFtZXMgPSBydWxlTmFtZXM7XG4gICAgdGhpcy50b2tlblR5cGVzID0gdG9rZW5UeXBlcztcbiAgICB0aGlzLm1heGltdW1EZXB0aCA9IG1heGltdW1EZXB0aDtcbiAgICB0aGlzLmluZmluaXRlRGVzY2VudCA9IGluZmluaXRlRGVzY2VudDtcbiAgICB0aGlzLmludGVybWVkaWF0ZU5vZGVzID0gaW50ZXJtZWRpYXRlTm9kZXM7XG4gIH1cblxuICBnZXRTcHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ByZWE7XG4gIH1cblxuICBnZXRTdWJRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJRdWVyeTtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lcygpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTmFtZXM7XG4gIH1cblxuICBnZXRUb2tlblR5cGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuVHlwZXM7XG4gIH1cblxuICBnZXRNYXhpbXVtRGVwdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4aW11bURlcHRoO1xuICB9XG5cbiAgaXNJbmZpbml0ZURlc2NlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5maW5pdGVEZXNjZW50O1xuICB9XG5cbiAgZ2V0SW50ZXJtZWRpYXRlTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJtZWRpYXRlTm9kZXM7XG4gIH1cblxuICBleGVjdXRlKG5vZGUsIGRlcHRoID0gMCwgbWF4aW11bURlcHRoID0gdGhpcy5tYXhpbXVtRGVwdGgpIHtcbiAgICBjb25zdCBub2RlcyA9IFtdO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy5maW5kKG5vZGUsIGRlcHRoLCBtYXhpbXVtRGVwdGgpO1xuXG4gICAgdGhpcy5hcHBseShub2RlcywgZGVwdGgsIG1heGltdW1EZXB0aCk7XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBjbGVhcih0aGlzLmludGVybWVkaWF0ZU5vZGVzKTtcbiAgfVxuXG4gIGZpbmQobm9kZSwgZGVwdGgsIG1heGltdW1EZXB0aCkge1xuICAgIGlmIChkZXB0aCA+IG1heGltdW1EZXB0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9ICFub2RlVGVybWluYWxOb2RlO1xuXG4gICAgbGV0IGZvdW5kO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIHR5cGVzID0gdGhpcy50b2tlblR5cGVzLCAgLy8vXG4gICAgICAgICAgICB0eXBlID0gdGVybWluYWxOb2RlLmdldFR5cGUoKTtcblxuICAgICAgZm91bmQgPSBpbmNsdWRlcyh0eXBlcywgdHlwZSwgV0lMRENBUkRfQ0hBUkFDVEVSKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgICBmb3VuZCA9IGluY2x1ZGVzKHRoaXMucnVsZU5hbWVzLCBydWxlTmFtZSwgV0lMRENBUkRfQ0hBUkFDVEVSKTtcbiAgICB9XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIGNvbnN0IGludGVybWVkaWF0ZU5vZGUgPSBub2RlOyAvLy9cblxuICAgICAgdGhpcy5pbnRlcm1lZGlhdGVOb2Rlcy5wdXNoKGludGVybWVkaWF0ZU5vZGUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluZmluaXRlRGVzY2VudCkge1xuICAgICAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgZGVwdGgrKztcblxuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGUuZm9yRWFjaENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgdGhpcy5maW5kKGNoaWxkTm9kZSwgZGVwdGgsIG1heGltdW1EZXB0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFwcGx5KG5vZGVzLCBkZXB0aCwgbWF4aW11bURlcHRoKSB7XG4gICAgdGhpcy5zcHJlYWQuYWRqdXN0Tm9kZXModGhpcy5pbnRlcm1lZGlhdGVOb2Rlcyk7XG5cbiAgICBpZiAodGhpcy5zdWJRdWVyeSA9PT0gbnVsbCkge1xuICAgICAgcHVzaChub2RlcywgdGhpcy5pbnRlcm1lZGlhdGVOb2Rlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW50ZXJtZWRpYXRlTm9kZXMuZm9yRWFjaCgoaW50ZXJtZWRpYXRlTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBpbnRlcm1lZGlhdGVOb2RlTm9uVGVybWluYWxOb2RlID0gaW50ZXJtZWRpYXRlTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICAgIGlmIChpbnRlcm1lZGlhdGVOb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgICAgZGVwdGgrKztcblxuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGludGVybWVkaWF0ZU5vZGU7IC8vL1xuXG4gICAgICAgICAgdGhpcy5zdWJRdWVyeS5jbGVhcigpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlLmZvckVhY2hDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJRdWVyeS5maW5kKGNoaWxkTm9kZSwgZGVwdGgsIG1heGltdW1EZXB0aCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnN1YlF1ZXJ5LmFwcGx5KG5vZGVzLCBkZXB0aCwgbWF4aW11bURlcHRoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24sIG1heGltdW1EZXB0aCA9IEluZmluaXR5KSB7XG4gICAgY29uc3Qgc3ByZWFkID0gZXhwcmVzc2lvbi5nZXRTcHJlYWQoKSxcbiAgICAgICAgICBzdWJRdWVyeSA9IHN1YlF1ZXJ5RnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbiksXG4gICAgICAgICAgcnVsZU5hbWVzID0gZXhwcmVzc2lvbi5nZXRSdWxlTmFtZXMoKSxcbiAgICAgICAgICB0b2tlblR5cGVzID0gZXhwcmVzc2lvbi5nZXRUb2tlblR5cGVzKCksXG4gICAgICAgICAgaW5maW5pdGVEZXNjZW50ID0gZXhwcmVzc2lvbi5pc0luZmluaXRlRGVzY2VudCgpLFxuICAgICAgICAgIGludGVybWVkaWF0ZU5vZGVzID0gW10sXG4gICAgICAgICAgcXVlcnkgPSBuZXcgUXVlcnkoc3ByZWFkLCBzdWJRdWVyeSwgcnVsZU5hbWVzLCB0b2tlblR5cGVzLCBtYXhpbXVtRGVwdGgsIGluZmluaXRlRGVzY2VudCwgaW50ZXJtZWRpYXRlTm9kZXMpO1xuXG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgc3RhdGljIGZyb21TdWJFeHByZXNzaW9uKHN1YkV4cHJlc3Npb24pIHtcbiAgICBjb25zdCBzcHJlYWQgPSBzdWJFeHByZXNzaW9uLmdldFNwcmVhZCgpLFxuICAgICAgICAgIHN1YlF1ZXJ5ID0gc3ViUXVlcnlGcm9tU3ViRXhwcmVzc2lvbihzdWJFeHByZXNzaW9uKSxcbiAgICAgICAgICBydWxlTmFtZXMgPSBzdWJFeHByZXNzaW9uLmdldFJ1bGVOYW1lcygpLFxuICAgICAgICAgIHRva2VuVHlwZXMgPSBzdWJFeHByZXNzaW9uLmdldFRva2VuVHlwZXMoKSxcbiAgICAgICAgICBtYXhpbXVtRGVwdGggPSBJbmZpbml0eSxcbiAgICAgICAgICBpbmZpbml0ZURlc2NlbnQgPSBzdWJFeHByZXNzaW9uLmlzSW5maW5pdGVEZXNjZW50KCksXG4gICAgICAgICAgaW50ZXJtZWRpYXRlTm9kZXMgPSBbXSxcbiAgICAgICAgICBxdWVyeSA9IG5ldyBRdWVyeShzcHJlYWQsIHN1YlF1ZXJ5LCBydWxlTmFtZXMsIHRva2VuVHlwZXMsIG1heGltdW1EZXB0aCwgaW5maW5pdGVEZXNjZW50LCBpbnRlcm1lZGlhdGVOb2Rlcyk7XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZywgbWF4aW11bURlcHRoID0gSW5maW5pdHkpIHtcbiAgICBsZXQgcXVlcnkgPSBudWxsO1xuXG4gICAgY29uc3QgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyk7XG5cbiAgICBpZiAoZXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3ByZWFkID0gZXhwcmVzc2lvbi5nZXRTcHJlYWQoKSxcbiAgICAgICAgICAgIHN1YlF1ZXJ5ID0gc3ViUXVlcnlGcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lcyA9IGV4cHJlc3Npb24uZ2V0UnVsZU5hbWVzKCksXG4gICAgICAgICAgICB0b2tlblR5cGVzID0gZXhwcmVzc2lvbi5nZXRUb2tlblR5cGVzKCksXG4gICAgICAgICAgICBpbmZpbml0ZURlc2NlbnQgPSBleHByZXNzaW9uLmlzSW5maW5pdGVEZXNjZW50KCksXG4gICAgICAgICAgICBpbnRlcm1lZGlhdGVOb2RlcyA9IFtdO1xuXG4gICAgICBxdWVyeSA9IG5ldyBRdWVyeShzcHJlYWQsIHN1YlF1ZXJ5LCBydWxlTmFtZXMsIHRva2VuVHlwZXMsIG1heGltdW1EZXB0aCwgaW5maW5pdGVEZXNjZW50LCBpbnRlcm1lZGlhdGVOb2Rlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG59XG5cbmZ1bmN0aW9uIHN1YlF1ZXJ5RnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbikge1xuICBsZXQgc3ViUXVlcnkgPSBudWxsO1xuXG4gIGNvbnN0IHN1YkV4cHJlc3Npb24gPSBleHByZXNzaW9uLmdldFN1YkV4cHJlc3Npb24oKTtcblxuICBpZiAoc3ViRXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbVN1YkV4cHJlc3Npb24oc3ViRXhwcmVzc2lvbik7XG5cbiAgICBzdWJRdWVyeSA9IHF1ZXJ5OyAvLy9cbiAgfVxuXG4gIHJldHVybiBzdWJRdWVyeTtcbn1cblxuZnVuY3Rpb24gc3ViUXVlcnlGcm9tU3ViRXhwcmVzc2lvbihzdWJFeHByZXNzaW9uKSB7XG4gIGxldCBzdWJRdWVyeSA9IG51bGw7XG5cbiAgc3ViRXhwcmVzc2lvbiA9IHN1YkV4cHJlc3Npb24uZ2V0U3ViRXhwcmVzc2lvbigpOyAvLy9cblxuICBpZiAoc3ViRXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbVN1YkV4cHJlc3Npb24oc3ViRXhwcmVzc2lvbik7XG5cbiAgICBzdWJRdWVyeSA9IHF1ZXJ5OyAvLy9cbiAgfVxuXG4gIHJldHVybiBzdWJRdWVyeTtcbn1cbiJdLCJuYW1lcyI6WyJRdWVyeSIsIldJTERDQVJEX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJzcHJlYWQiLCJzdWJRdWVyeSIsInJ1bGVOYW1lcyIsInRva2VuVHlwZXMiLCJtYXhpbXVtRGVwdGgiLCJpbmZpbml0ZURlc2NlbnQiLCJpbnRlcm1lZGlhdGVOb2RlcyIsImdldFNwcmVhZCIsInNwcmVhIiwiZ2V0U3ViUXVlcnkiLCJnZXRSdWxlTmFtZXMiLCJnZXRUb2tlblR5cGVzIiwiZ2V0TWF4aW11bURlcHRoIiwiaXNJbmZpbml0ZURlc2NlbnQiLCJnZXRJbnRlcm1lZGlhdGVOb2RlcyIsImV4ZWN1dGUiLCJub2RlIiwiZGVwdGgiLCJub2RlcyIsImNsZWFyIiwiZmluZCIsImFwcGx5Iiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImZvdW5kIiwidGVybWluYWxOb2RlIiwidHlwZXMiLCJ0eXBlIiwiZ2V0VHlwZSIsImluY2x1ZGVzIiwibm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImludGVybWVkaWF0ZU5vZGUiLCJwdXNoIiwiZm9yRWFjaENoaWxkTm9kZSIsImNoaWxkTm9kZSIsImFkanVzdE5vZGVzIiwiZm9yRWFjaCIsImludGVybWVkaWF0ZU5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsImZyb21FeHByZXNzaW9uIiwiZXhwcmVzc2lvbiIsIkluZmluaXR5Iiwic3ViUXVlcnlGcm9tRXhwcmVzc2lvbiIsInF1ZXJ5IiwiZnJvbVN1YkV4cHJlc3Npb24iLCJzdWJFeHByZXNzaW9uIiwic3ViUXVlcnlGcm9tU3ViRXhwcmVzc2lvbiIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwiZXhwcmVzc2lvblN0cmlu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
|
package/lib/ruleNames.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get END_INDEX_RULE_NAME () {
|
|
13
|
-
return END_INDEX_RULE_NAME;
|
|
14
|
-
},
|
|
15
|
-
get ERROR_RULE_NAME () {
|
|
16
|
-
return ERROR_RULE_NAME;
|
|
17
|
-
},
|
|
18
|
-
get INDEX_RULE_NAME () {
|
|
19
|
-
return INDEX_RULE_NAME;
|
|
20
|
-
},
|
|
21
|
-
get INFINITE_DESCENT_RULE_NAME () {
|
|
22
|
-
return INFINITE_DESCENT_RULE_NAME;
|
|
23
|
-
},
|
|
24
|
-
get RULE_NAME_RULE_NAME () {
|
|
25
|
-
return RULE_NAME_RULE_NAME;
|
|
26
|
-
},
|
|
27
|
-
get SPREAD_RULE_NAME () {
|
|
28
|
-
return SPREAD_RULE_NAME;
|
|
29
|
-
},
|
|
30
|
-
get START_INDEX_RULE_NAME () {
|
|
31
|
-
return START_INDEX_RULE_NAME;
|
|
32
|
-
},
|
|
33
|
-
get SUB_EXPRESSION_RULE_NAME () {
|
|
34
|
-
return SUB_EXPRESSION_RULE_NAME;
|
|
35
|
-
},
|
|
36
|
-
get TOKEN_TYPE_RULE_NAME () {
|
|
37
|
-
return TOKEN_TYPE_RULE_NAME;
|
|
38
|
-
},
|
|
39
|
-
get UNIQUE_RULE_NAME () {
|
|
40
|
-
return UNIQUE_RULE_NAME;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
const ERROR_RULE_NAME = "error";
|
|
44
|
-
const INDEX_RULE_NAME = "index";
|
|
45
|
-
const UNIQUE_RULE_NAME = "unique";
|
|
46
|
-
const SPREAD_RULE_NAME = "spread";
|
|
47
|
-
const END_INDEX_RULE_NAME = "endIndex";
|
|
48
|
-
const RULE_NAME_RULE_NAME = "ruleName";
|
|
49
|
-
const TOKEN_TYPE_RULE_NAME = "tokenType";
|
|
50
|
-
const START_INDEX_RULE_NAME = "startIndex";
|
|
51
|
-
const SUB_EXPRESSION_RULE_NAME = "subExpression";
|
|
52
|
-
const INFINITE_DESCENT_RULE_NAME = "infiniteDescent";
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgSU5ERVhfUlVMRV9OQU1FID0gXCJpbmRleFwiO1xuZXhwb3J0IGNvbnN0IFVOSVFVRV9SVUxFX05BTUUgPSBcInVuaXF1ZVwiO1xuZXhwb3J0IGNvbnN0IFNQUkVBRF9SVUxFX05BTUUgPSBcInNwcmVhZFwiO1xuZXhwb3J0IGNvbnN0IEVORF9JTkRFWF9SVUxFX05BTUUgPSBcImVuZEluZGV4XCI7XG5leHBvcnQgY29uc3QgUlVMRV9OQU1FX1JVTEVfTkFNRSA9IFwicnVsZU5hbWVcIjtcbmV4cG9ydCBjb25zdCBUT0tFTl9UWVBFX1JVTEVfTkFNRSA9IFwidG9rZW5UeXBlXCI7XG5leHBvcnQgY29uc3QgU1RBUlRfSU5ERVhfUlVMRV9OQU1FID0gXCJzdGFydEluZGV4XCI7XG5leHBvcnQgY29uc3QgU1VCX0VYUFJFU1NJT05fUlVMRV9OQU1FID0gXCJzdWJFeHByZXNzaW9uXCI7XG5leHBvcnQgY29uc3QgSU5GSU5JVEVfREVTQ0VOVF9SVUxFX05BTUUgPSBcImluZmluaXRlRGVzY2VudFwiO1xuIl0sIm5hbWVzIjpbIkVORF9JTkRFWF9SVUxFX05BTUUiLCJFUlJPUl9SVUxFX05BTUUiLCJJTkRFWF9SVUxFX05BTUUiLCJJTkZJTklURV9ERVNDRU5UX1JVTEVfTkFNRSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJTUFJFQURfUlVMRV9OQU1FIiwiU1RBUlRfSU5ERVhfUlVMRV9OQU1FIiwiU1VCX0VYUFJFU1NJT05fUlVMRV9OQU1FIiwiVE9LRU5fVFlQRV9SVUxFX05BTUUiLCJVTklRVUVfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFNYUE7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFJQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFKQUM7ZUFBQUE7OztBQUZOLE1BQU1SLGtCQUFrQjtBQUN4QixNQUFNQyxrQkFBa0I7QUFDeEIsTUFBTU8sbUJBQW1CO0FBQ3pCLE1BQU1KLG1CQUFtQjtBQUN6QixNQUFNTCxzQkFBc0I7QUFDNUIsTUFBTUksc0JBQXNCO0FBQzVCLE1BQU1JLHVCQUF1QjtBQUM3QixNQUFNRix3QkFBd0I7QUFDOUIsTUFBTUMsMkJBQTJCO0FBQ2pDLE1BQU1KLDZCQUE2QiJ9
|
package/lib/spread.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Spread;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _necessary = require("necessary");
|
|
12
|
-
const _array = require("./utilities/array");
|
|
13
|
-
const _node = require("./utilities/node");
|
|
14
|
-
const { EXCLAMATION_MARK_CHARACTER } = _necessary.characters;
|
|
15
|
-
class Spread {
|
|
16
|
-
constructor(startIndex, endIndex, unique){
|
|
17
|
-
this.startIndex = startIndex;
|
|
18
|
-
this.endIndex = endIndex;
|
|
19
|
-
this.unique = unique;
|
|
20
|
-
}
|
|
21
|
-
adjustNodes(nodes) {
|
|
22
|
-
if (this.unique) {
|
|
23
|
-
const nodesLength = nodes.length;
|
|
24
|
-
if (nodesLength > 1) {
|
|
25
|
-
(0, _array.clear)(nodes);
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
(0, _array.trim)(nodes, this.startIndex, this.endIndex);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static fromNothing() {
|
|
32
|
-
const startIndex = 0, endIndex = Infinity, unique = false, spread = new Spread(startIndex, endIndex, unique);
|
|
33
|
-
return spread;
|
|
34
|
-
}
|
|
35
|
-
static fromSpreadNode(spreadNode) {
|
|
36
|
-
let startIndex = 0, endIndex = Infinity, unique = false;
|
|
37
|
-
if (spreadNode !== null) {
|
|
38
|
-
const index = (0, _node.indexFromSpreadNode)(spreadNode);
|
|
39
|
-
if (index !== null) {
|
|
40
|
-
startIndex = index; ///
|
|
41
|
-
endIndex = index; ///
|
|
42
|
-
} else {
|
|
43
|
-
startIndex = (0, _node.startIndexFromSpreadNode)(spreadNode);
|
|
44
|
-
endIndex = (0, _node.endIndexFromSpreadNode)(spreadNode);
|
|
45
|
-
}
|
|
46
|
-
unique = (0, _node.uniqueFromSpreadNode)(spreadNode);
|
|
47
|
-
}
|
|
48
|
-
const spread = new Spread(startIndex, endIndex, unique);
|
|
49
|
-
return spread;
|
|
50
|
-
}
|
|
51
|
-
static fromSpreadExpression(spreadExpression) {
|
|
52
|
-
let startIndex = 0, endIndex = Infinity, unique = false;
|
|
53
|
-
if (spreadExpression !== null) {
|
|
54
|
-
if (spreadExpression === EXCLAMATION_MARK_CHARACTER) {
|
|
55
|
-
unique = true;
|
|
56
|
-
} else {
|
|
57
|
-
const regExp = /\[(-?\d+)?(\.\.\.)?(-?\d+)?]/, matches = spreadExpression.match(regExp), secondMatch = (0, _array.second)(matches) || null, thirdMatch = (0, _array.third)(matches) || null, fourthMatch = (0, _array.fourth)(matches) || null;
|
|
58
|
-
if (secondMatch !== null) {
|
|
59
|
-
startIndex = parseInt(secondMatch);
|
|
60
|
-
if (thirdMatch === null) {
|
|
61
|
-
endIndex = startIndex; ///
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (fourthMatch !== null) {
|
|
65
|
-
endIndex = parseInt(fourthMatch);
|
|
66
|
-
if (thirdMatch === null) {
|
|
67
|
-
startIndex = endIndex; ///
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
const spread = new Spread(startIndex, endIndex, unique);
|
|
73
|
-
return spread;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcHJlYWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGNoYXJhY3RlcnMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IGNsZWFyLCB0cmltLCBzZWNvbmQsIHRoaXJkLCBmb3VydGggfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGluZGV4RnJvbVNwcmVhZE5vZGUsXG4gICAgICAgICB1bmlxdWVGcm9tU3ByZWFkTm9kZSxcbiAgICAgICAgIGVuZEluZGV4RnJvbVNwcmVhZE5vZGUsXG4gICAgICAgICBzdGFydEluZGV4RnJvbVNwcmVhZE5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5jb25zdCB7IEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSIH0gPSBjaGFyYWN0ZXJzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTcHJlYWQge1xuICBjb25zdHJ1Y3RvcihzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKSB7XG4gICAgdGhpcy5zdGFydEluZGV4ID0gc3RhcnRJbmRleDtcbiAgICB0aGlzLmVuZEluZGV4ID0gZW5kSW5kZXg7XG4gICAgdGhpcy51bmlxdWUgPSB1bmlxdWU7XG4gIH1cblxuICBhZGp1c3ROb2Rlcyhub2Rlcykge1xuICAgIGlmICh0aGlzLnVuaXF1ZSkge1xuICAgICAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGg7XG5cbiAgICAgIGlmIChub2Rlc0xlbmd0aCA+IDEpIHtcbiAgICAgICAgY2xlYXIobm9kZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cmltKG5vZGVzLCB0aGlzLnN0YXJ0SW5kZXgsIHRoaXMuZW5kSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBzdGFydEluZGV4ID0gMCxcbiAgICAgICAgICBlbmRJbmRleCA9IEluZmluaXR5LFxuICAgICAgICAgIHVuaXF1ZSA9IGZhbHNlLFxuICAgICAgICAgIHNwcmVhZCA9IG5ldyBTcHJlYWQoc3RhcnRJbmRleCwgZW5kSW5kZXgsIHVuaXF1ZSk7XG5cbiAgICByZXR1cm4gc3ByZWFkO1xuICB9XG5cbiAgc3RhdGljIGZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpIHtcbiAgICBsZXQgc3RhcnRJbmRleCA9IDAsXG4gICAgICAgIGVuZEluZGV4ID0gSW5maW5pdHksXG4gICAgICAgIHVuaXF1ZSA9IGZhbHNlO1xuXG4gICAgaWYgKHNwcmVhZE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gaW5kZXhGcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKTtcblxuICAgICAgaWYgKGluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIHN0YXJ0SW5kZXggPSBpbmRleDsgLy8vXG5cbiAgICAgICAgZW5kSW5kZXggPSBpbmRleDsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydEluZGV4ID0gc3RhcnRJbmRleEZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpO1xuXG4gICAgICAgIGVuZEluZGV4ID0gZW5kSW5kZXhGcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKTtcbiAgICAgIH1cblxuICAgICAgdW5pcXVlID0gdW5pcXVlRnJvbVNwcmVhZE5vZGUoc3ByZWFkTm9kZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ByZWFkID0gbmV3IFNwcmVhZChzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKTtcblxuICAgIHJldHVybiBzcHJlYWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVNwcmVhZEV4cHJlc3Npb24oc3ByZWFkRXhwcmVzc2lvbikge1xuICAgIGxldCBzdGFydEluZGV4ID0gMCxcbiAgICAgICAgZW5kSW5kZXggPSBJbmZpbml0eSxcbiAgICAgICAgdW5pcXVlID0gZmFsc2U7XG5cbiAgICBpZiAoc3ByZWFkRXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgICAgaWYgKHNwcmVhZEV4cHJlc3Npb24gPT09IEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSKSB7XG4gICAgICAgIHVuaXF1ZSA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZWdFeHAgPSAvXFxbKC0/XFxkKyk/KFxcLlxcLlxcLik/KC0/XFxkKyk/XS8sXG4gICAgICAgICAgICAgIG1hdGNoZXMgPSBzcHJlYWRFeHByZXNzaW9uLm1hdGNoKHJlZ0V4cCksXG4gICAgICAgICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpIHx8IG51bGwsXG4gICAgICAgICAgICAgIHRoaXJkTWF0Y2ggPSB0aGlyZChtYXRjaGVzKSB8fCBudWxsLFxuICAgICAgICAgICAgICBmb3VydGhNYXRjaCA9IGZvdXJ0aChtYXRjaGVzKSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChzZWNvbmRNYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYXJzZUludChzZWNvbmRNYXRjaCk7XG5cbiAgICAgICAgICBpZiAodGhpcmRNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZW5kSW5kZXggPSBzdGFydEluZGV4OyAgLy8vXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvdXJ0aE1hdGNoICE9PSBudWxsKSB7XG4gICAgICAgICAgZW5kSW5kZXggPSBwYXJzZUludChmb3VydGhNYXRjaCk7XG5cbiAgICAgICAgICBpZiAodGhpcmRNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IGVuZEluZGV4OyAgLy8vXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc3ByZWFkID0gbmV3IFNwcmVhZChzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKTtcblxuICAgIHJldHVybiBzcHJlYWQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTcHJlYWQiLCJFWENMQU1BVElPTl9NQVJLX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJ1bmlxdWUiLCJhZGp1c3ROb2RlcyIsIm5vZGVzIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJjbGVhciIsInRyaW0iLCJmcm9tTm90aGluZyIsIkluZmluaXR5Iiwic3ByZWFkIiwiZnJvbVNwcmVhZE5vZGUiLCJzcHJlYWROb2RlIiwiaW5kZXgiLCJpbmRleEZyb21TcHJlYWROb2RlIiwic3RhcnRJbmRleEZyb21TcHJlYWROb2RlIiwiZW5kSW5kZXhGcm9tU3ByZWFkTm9kZSIsInVuaXF1ZUZyb21TcHJlYWROb2RlIiwiZnJvbVNwcmVhZEV4cHJlc3Npb24iLCJzcHJlYWRFeHByZXNzaW9uIiwicmVnRXhwIiwibWF0Y2hlcyIsIm1hdGNoIiwic2Vjb25kTWF0Y2giLCJzZWNvbmQiLCJ0aGlyZE1hdGNoIiwidGhpcmQiLCJmb3VydGhNYXRjaCIsImZvdXJ0aCIsInBhcnNlSW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXFCQTs7OzJCQVZNO3VCQUV3QjtzQkFJVjtBQUV6QyxNQUFNLEVBQUVDLDBCQUEwQixFQUFFLEdBQUdDLHFCQUFVO0FBRWxDLE1BQU1GO0lBQ25CLFlBQVlHLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxNQUFNLENBQUU7UUFDeEMsSUFBSSxDQUFDRixVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7SUFDaEI7SUFFQUMsWUFBWUMsS0FBSyxFQUFFO1FBQ2pCLElBQUksSUFBSSxDQUFDRixNQUFNLEVBQUU7WUFDZixNQUFNRyxjQUFjRCxNQUFNRSxNQUFNO1lBRWhDLElBQUlELGNBQWMsR0FBRztnQkFDbkJFLElBQUFBLFlBQUssRUFBQ0g7WUFDUjtRQUNGLE9BQU87WUFDTEksSUFBQUEsV0FBSSxFQUFDSixPQUFPLElBQUksQ0FBQ0osVUFBVSxFQUFFLElBQUksQ0FBQ0MsUUFBUTtRQUM1QztJQUNGO0lBRUEsT0FBT1EsY0FBYztRQUNuQixNQUFNVCxhQUFhLEdBQ2JDLFdBQVdTLFVBQ1hSLFNBQVMsT0FDVFMsU0FBUyxJQUFJZCxPQUFPRyxZQUFZQyxVQUFVQztRQUVoRCxPQUFPUztJQUNUO0lBRUEsT0FBT0MsZUFBZUMsVUFBVSxFQUFFO1FBQ2hDLElBQUliLGFBQWEsR0FDYkMsV0FBV1MsVUFDWFIsU0FBUztRQUViLElBQUlXLGVBQWUsTUFBTTtZQUN2QixNQUFNQyxRQUFRQyxJQUFBQSx5QkFBbUIsRUFBQ0Y7WUFFbEMsSUFBSUMsVUFBVSxNQUFNO2dCQUNsQmQsYUFBYWMsT0FBTyxHQUFHO2dCQUV2QmIsV0FBV2EsT0FBTyxHQUFHO1lBQ3ZCLE9BQU87Z0JBQ0xkLGFBQWFnQixJQUFBQSw4QkFBd0IsRUFBQ0g7Z0JBRXRDWixXQUFXZ0IsSUFBQUEsNEJBQXNCLEVBQUNKO1lBQ3BDO1lBRUFYLFNBQVNnQixJQUFBQSwwQkFBb0IsRUFBQ0w7UUFDaEM7UUFFQSxNQUFNRixTQUFTLElBQUlkLE9BQU9HLFlBQVlDLFVBQVVDO1FBRWhELE9BQU9TO0lBQ1Q7SUFFQSxPQUFPUSxxQkFBcUJDLGdCQUFnQixFQUFFO1FBQzVDLElBQUlwQixhQUFhLEdBQ2JDLFdBQVdTLFVBQ1hSLFNBQVM7UUFFYixJQUFJa0IscUJBQXFCLE1BQU07WUFDN0IsSUFBSUEscUJBQXFCdEIsNEJBQTRCO2dCQUNuREksU0FBUztZQUNYLE9BQU87Z0JBQ0wsTUFBTW1CLFNBQVMsZ0NBQ1RDLFVBQVVGLGlCQUFpQkcsS0FBSyxDQUFDRixTQUNqQ0csY0FBY0MsSUFBQUEsYUFBTSxFQUFDSCxZQUFZLE1BQ2pDSSxhQUFhQyxJQUFBQSxZQUFLLEVBQUNMLFlBQVksTUFDL0JNLGNBQWNDLElBQUFBLGFBQU0sRUFBQ1AsWUFBWTtnQkFFdkMsSUFBSUUsZ0JBQWdCLE1BQU07b0JBQ3hCeEIsYUFBYThCLFNBQVNOO29CQUV0QixJQUFJRSxlQUFlLE1BQU07d0JBQ3ZCekIsV0FBV0QsWUFBYSxHQUFHO29CQUM3QjtnQkFDRjtnQkFFQSxJQUFJNEIsZ0JBQWdCLE1BQU07b0JBQ3hCM0IsV0FBVzZCLFNBQVNGO29CQUVwQixJQUFJRixlQUFlLE1BQU07d0JBQ3ZCMUIsYUFBYUMsVUFBVyxHQUFHO29CQUM3QjtnQkFDRjtZQUNGO1FBQ0Y7UUFFQSxNQUFNVSxTQUFTLElBQUlkLE9BQU9HLFlBQVlDLFVBQVVDO1FBRWhELE9BQU9TO0lBQ1Q7QUFDRiJ9
|
package/lib/subExpression.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return SubExpression;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _path = /*#__PURE__*/ _interop_require_default(require("./path"));
|
|
12
|
-
const _spread = /*#__PURE__*/ _interop_require_default(require("./spread"));
|
|
13
|
-
const _node = require("./utilities/node");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
class SubExpression {
|
|
20
|
-
constructor(path, spread, subExpression){
|
|
21
|
-
this.path = path;
|
|
22
|
-
this.spread = spread;
|
|
23
|
-
this.subExpression = subExpression;
|
|
24
|
-
}
|
|
25
|
-
getPath() {
|
|
26
|
-
return this.path;
|
|
27
|
-
}
|
|
28
|
-
getSpread() {
|
|
29
|
-
return this.spread;
|
|
30
|
-
}
|
|
31
|
-
getSubExpression() {
|
|
32
|
-
return this.subExpression;
|
|
33
|
-
}
|
|
34
|
-
getRuleNames() {
|
|
35
|
-
return this.path.getRuleNames();
|
|
36
|
-
}
|
|
37
|
-
getTokenTypes() {
|
|
38
|
-
return this.path.getTokenTypes();
|
|
39
|
-
}
|
|
40
|
-
isInfiniteDescent() {
|
|
41
|
-
return this.path.isInfiniteDescent();
|
|
42
|
-
}
|
|
43
|
-
static fromSubExpressionNode(subExpressionNode) {
|
|
44
|
-
let subExpression = null;
|
|
45
|
-
if (subExpressionNode !== null) {
|
|
46
|
-
const pathNode = (0, _node.pathNodeFromSubExpressionNode)(subExpressionNode), spreadNode = (0, _node.spreadNodeFromSubExpressionNode)(subExpressionNode);
|
|
47
|
-
subExpressionNode = (0, _node.subExpressionNodeFromSubExpressionNode)(subExpressionNode); ///
|
|
48
|
-
const path = _path.default.fromPathNode(pathNode), spread = _spread.default.fromSpreadNode(spreadNode);
|
|
49
|
-
subExpression = SubExpression.fromSubExpressionNode(subExpressionNode);
|
|
50
|
-
subExpression = new SubExpression(path, spread, subExpression); ///
|
|
51
|
-
}
|
|
52
|
-
return subExpression;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJFeHByZXNzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGF0aCBmcm9tIFwiLi9wYXRoXCI7XG5pbXBvcnQgU3ByZWFkIGZyb20gXCIuL3NwcmVhZFwiO1xuXG5pbXBvcnQgeyBwYXRoTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSwgc3ByZWFkTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSwgc3ViRXhwcmVzc2lvbk5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJFeHByZXNzaW9uIHtcbiAgY29uc3RydWN0b3IocGF0aCwgc3ByZWFkLCBzdWJFeHByZXNzaW9uKSB7XG4gICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICB0aGlzLnNwcmVhZCA9IHNwcmVhZDtcbiAgICB0aGlzLnN1YkV4cHJlc3Npb24gPSBzdWJFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0UGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXRoO1xuICB9XG5cbiAgZ2V0U3ByZWFkKCkge1xuICAgIHJldHVybiB0aGlzLnNwcmVhZDtcbiAgfVxuXG4gIGdldFN1YkV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lcygpIHsgcmV0dXJuIHRoaXMucGF0aC5nZXRSdWxlTmFtZXMoKTsgfVxuXG4gIGdldFRva2VuVHlwZXMoKSB7IHJldHVybiB0aGlzLnBhdGguZ2V0VG9rZW5UeXBlcygpOyB9XG5cbiAgaXNJbmZpbml0ZURlc2NlbnQoKSB7IHJldHVybiB0aGlzLnBhdGguaXNJbmZpbml0ZURlc2NlbnQoKTsgfVxuXG4gIHN0YXRpYyBmcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpIHtcbiAgICBsZXQgc3ViRXhwcmVzc2lvbiA9IG51bGw7XG5cbiAgICBpZiAoc3ViRXhwcmVzc2lvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBhdGhOb2RlID0gcGF0aE5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpLFxuICAgICAgICAgICAgc3ByZWFkTm9kZSA9IHNwcmVhZE5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uTm9kZSA9IHN1YkV4cHJlc3Npb25Ob2RlRnJvbVN1YkV4cHJlc3Npb25Ob2RlKHN1YkV4cHJlc3Npb25Ob2RlKTsgIC8vL1xuXG4gICAgICBjb25zdCBwYXRoID0gUGF0aC5mcm9tUGF0aE5vZGUocGF0aE5vZGUpLFxuICAgICAgICAgICAgc3ByZWFkID0gU3ByZWFkLmZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uID0gU3ViRXhwcmVzc2lvbi5mcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uID0gbmV3IFN1YkV4cHJlc3Npb24ocGF0aCwgc3ByZWFkLCBzdWJFeHByZXNzaW9uKTsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YkV4cHJlc3Npb247XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTdWJFeHByZXNzaW9uIiwicGF0aCIsInNwcmVhZCIsInN1YkV4cHJlc3Npb24iLCJnZXRQYXRoIiwiZ2V0U3ByZWFkIiwiZ2V0U3ViRXhwcmVzc2lvbiIsImdldFJ1bGVOYW1lcyIsImdldFRva2VuVHlwZXMiLCJpc0luZmluaXRlRGVzY2VudCIsImZyb21TdWJFeHByZXNzaW9uTm9kZSIsInN1YkV4cHJlc3Npb25Ob2RlIiwicGF0aE5vZGUiLCJwYXRoTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSIsInNwcmVhZE5vZGUiLCJzcHJlYWROb2RlRnJvbVN1YkV4cHJlc3Npb25Ob2RlIiwic3ViRXhwcmVzc2lvbk5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUiLCJQYXRoIiwiZnJvbVBhdGhOb2RlIiwiU3ByZWFkIiwiZnJvbVNwcmVhZE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBcUJBOzs7NkRBTEo7K0RBQ0U7c0JBRW9HOzs7Ozs7QUFFeEcsTUFBTUE7SUFDbkIsWUFBWUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLGFBQWEsQ0FBRTtRQUN2QyxJQUFJLENBQUNGLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLGFBQWEsR0FBR0E7SUFDdkI7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtJQUNwQjtJQUVBSSxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNILGFBQWE7SUFDM0I7SUFFQUksZUFBZTtRQUFFLE9BQU8sSUFBSSxDQUFDTixJQUFJLENBQUNNLFlBQVk7SUFBSTtJQUVsREMsZ0JBQWdCO1FBQUUsT0FBTyxJQUFJLENBQUNQLElBQUksQ0FBQ08sYUFBYTtJQUFJO0lBRXBEQyxvQkFBb0I7UUFBRSxPQUFPLElBQUksQ0FBQ1IsSUFBSSxDQUFDUSxpQkFBaUI7SUFBSTtJQUU1RCxPQUFPQyxzQkFBc0JDLGlCQUFpQixFQUFFO1FBQzlDLElBQUlSLGdCQUFnQjtRQUVwQixJQUFJUSxzQkFBc0IsTUFBTTtZQUM5QixNQUFNQyxXQUFXQyxJQUFBQSxtQ0FBNkIsRUFBQ0Ysb0JBQ3pDRyxhQUFhQyxJQUFBQSxxQ0FBK0IsRUFBQ0o7WUFFbkRBLG9CQUFvQkssSUFBQUEsNENBQXNDLEVBQUNMLG9CQUFxQixHQUFHO1lBRW5GLE1BQU1WLE9BQU9nQixhQUFJLENBQUNDLFlBQVksQ0FBQ04sV0FDekJWLFNBQVNpQixlQUFNLENBQUNDLGNBQWMsQ0FBQ047WUFFckNYLGdCQUFnQkgsY0FBY1UscUJBQXFCLENBQUNDO1lBRXBEUixnQkFBZ0IsSUFBSUgsY0FBY0MsTUFBTUMsUUFBUUMsZ0JBQWdCLEdBQUc7UUFDckU7UUFFQSxPQUFPQTtJQUNUO0FBQ0YifQ==
|