occam-dom 5.0.0 → 5.0.2
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/example.js +1495 -1305
- package/lib/example/constants.js +22 -0
- package/lib/example/utilities/query.js +23 -0
- package/lib/example/view/div/sizeable.js +2 -2
- package/lib/example/view/textarea/expressions.js +143 -0
- package/lib/example/view/textarea/outerNodes.js +147 -0
- package/lib/example/view/{input/expressionString.js → textarea/parseTree/inner.js} +43 -28
- package/lib/{expression/parser.js → example/view/textarea/parseTree/outer.js} +20 -28
- package/lib/example/view/textarea/parseTree.js +1 -19
- package/lib/example/view.js +26 -20
- package/lib/index.js +7 -19
- package/lib/node.js +302 -0
- package/lib/parseTree/childNodes.js +164 -0
- package/lib/parseTree/horizontalBranch.js +120 -0
- package/lib/parseTree/node.js +145 -0
- package/lib/parseTree/string.js +109 -0
- package/lib/parseTree/verticalBranch.js +184 -0
- package/lib/parseTree.js +191 -0
- package/lib/utilities/node.js +56 -309
- package/package.json +3 -2
- package/src/example/constants.js +4 -0
- package/src/example/utilities/query.js +21 -0
- package/src/example/view/div/sizeable.js +1 -1
- package/src/example/view/textarea/expressions.js +39 -0
- package/src/example/view/textarea/outerNodes.js +48 -0
- package/src/example/view/textarea/parseTree/inner.js +24 -0
- package/src/example/view/textarea/parseTree/outer.js +17 -0
- package/src/example/view/textarea/parseTree.js +0 -18
- package/src/example/view.js +44 -32
- package/src/index.js +2 -5
- package/src/node.js +221 -0
- package/src/parseTree/childNodes.js +108 -0
- package/src/parseTree/horizontalBranch.js +32 -0
- package/src/parseTree/node.js +77 -0
- package/src/parseTree/string.js +18 -0
- package/src/parseTree/verticalBranch.js +77 -0
- package/src/parseTree.js +141 -0
- package/src/utilities/node.js +66 -416
- package/lib/example/view/textarea/nodes.js +0 -155
- package/lib/expression/bnf.js +0 -14
- package/lib/expression/entries.js +0 -27
- package/lib/expression/lexer.js +0 -145
- package/lib/expression.js +0 -113
- package/lib/path.js +0 -69
- package/lib/query.js +0 -216
- package/lib/ruleNames.js +0 -54
- package/lib/spread.js +0 -113
- package/lib/subExpression.js +0 -101
- package/lib/utilities/array.js +0 -67
- package/lib/utilities/query.js +0 -39
- package/src/example/view/input/expressionString.js +0 -33
- package/src/example/view/textarea/nodes.js +0 -55
- package/src/expression/bnf.js +0 -63
- package/src/expression/entries.js +0 -18
- package/src/expression/lexer.js +0 -35
- package/src/expression/parser.js +0 -15
- package/src/expression.js +0 -82
- package/src/path.js +0 -32
- package/src/query.js +0 -207
- package/src/ruleNames.js +0 -12
- package/src/spread.js +0 -104
- package/src/subExpression.js +0 -52
- package/src/utilities/array.js +0 -30
- package/src/utilities/query.js +0 -22
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: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
END_INDEX_RULE_NAME: function() {
|
|
13
|
-
return END_INDEX_RULE_NAME;
|
|
14
|
-
},
|
|
15
|
-
ERROR_RULE_NAME: function() {
|
|
16
|
-
return ERROR_RULE_NAME;
|
|
17
|
-
},
|
|
18
|
-
INDEX_RULE_NAME: function() {
|
|
19
|
-
return INDEX_RULE_NAME;
|
|
20
|
-
},
|
|
21
|
-
INFINITE_DESCENT_RULE_NAME: function() {
|
|
22
|
-
return INFINITE_DESCENT_RULE_NAME;
|
|
23
|
-
},
|
|
24
|
-
RULE_NAME_RULE_NAME: function() {
|
|
25
|
-
return RULE_NAME_RULE_NAME;
|
|
26
|
-
},
|
|
27
|
-
SPREAD_RULE_NAME: function() {
|
|
28
|
-
return SPREAD_RULE_NAME;
|
|
29
|
-
},
|
|
30
|
-
START_INDEX_RULE_NAME: function() {
|
|
31
|
-
return START_INDEX_RULE_NAME;
|
|
32
|
-
},
|
|
33
|
-
SUB_EXPRESSION_RULE_NAME: function() {
|
|
34
|
-
return SUB_EXPRESSION_RULE_NAME;
|
|
35
|
-
},
|
|
36
|
-
TOKEN_TYPE_RULE_NAME: function() {
|
|
37
|
-
return TOKEN_TYPE_RULE_NAME;
|
|
38
|
-
},
|
|
39
|
-
UNIQUE_RULE_NAME: function() {
|
|
40
|
-
return UNIQUE_RULE_NAME;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
var ERROR_RULE_NAME = "error";
|
|
44
|
-
var INDEX_RULE_NAME = "index";
|
|
45
|
-
var UNIQUE_RULE_NAME = "unique";
|
|
46
|
-
var SPREAD_RULE_NAME = "spread";
|
|
47
|
-
var END_INDEX_RULE_NAME = "endIndex";
|
|
48
|
-
var RULE_NAME_RULE_NAME = "ruleName";
|
|
49
|
-
var TOKEN_TYPE_RULE_NAME = "tokenType";
|
|
50
|
-
var START_INDEX_RULE_NAME = "startIndex";
|
|
51
|
-
var SUB_EXPRESSION_RULE_NAME = "subExpression";
|
|
52
|
-
var INFINITE_DESCENT_RULE_NAME = "infiniteDescent";
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgSU5ERVhfUlVMRV9OQU1FID0gXCJpbmRleFwiO1xuZXhwb3J0IGNvbnN0IFVOSVFVRV9SVUxFX05BTUUgPSBcInVuaXF1ZVwiO1xuZXhwb3J0IGNvbnN0IFNQUkVBRF9SVUxFX05BTUUgPSBcInNwcmVhZFwiO1xuZXhwb3J0IGNvbnN0IEVORF9JTkRFWF9SVUxFX05BTUUgPSBcImVuZEluZGV4XCI7XG5leHBvcnQgY29uc3QgUlVMRV9OQU1FX1JVTEVfTkFNRSA9IFwicnVsZU5hbWVcIjtcbmV4cG9ydCBjb25zdCBUT0tFTl9UWVBFX1JVTEVfTkFNRSA9IFwidG9rZW5UeXBlXCI7XG5leHBvcnQgY29uc3QgU1RBUlRfSU5ERVhfUlVMRV9OQU1FID0gXCJzdGFydEluZGV4XCI7XG5leHBvcnQgY29uc3QgU1VCX0VYUFJFU1NJT05fUlVMRV9OQU1FID0gXCJzdWJFeHByZXNzaW9uXCI7XG5leHBvcnQgY29uc3QgSU5GSU5JVEVfREVTQ0VOVF9SVUxFX05BTUUgPSBcImluZmluaXRlRGVzY2VudFwiO1xuIl0sIm5hbWVzIjpbIkVORF9JTkRFWF9SVUxFX05BTUUiLCJFUlJPUl9SVUxFX05BTUUiLCJJTkRFWF9SVUxFX05BTUUiLCJJTkZJTklURV9ERVNDRU5UX1JVTEVfTkFNRSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJTUFJFQURfUlVMRV9OQU1FIiwiU1RBUlRfSU5ERVhfUlVMRV9OQU1FIiwiU1VCX0VYUFJFU1NJT05fUlVMRV9OQU1FIiwiVE9LRU5fVFlQRV9SVUxFX05BTUUiLCJVTklRVUVfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFNYUEsbUJBQW1CO2VBQW5CQTs7SUFKQUMsZUFBZTtlQUFmQTs7SUFDQUMsZUFBZTtlQUFmQTs7SUFRQUMsMEJBQTBCO2VBQTFCQTs7SUFKQUMsbUJBQW1CO2VBQW5CQTs7SUFGQUMsZ0JBQWdCO2VBQWhCQTs7SUFJQUMscUJBQXFCO2VBQXJCQTs7SUFDQUMsd0JBQXdCO2VBQXhCQTs7SUFGQUMsb0JBQW9CO2VBQXBCQTs7SUFKQUMsZ0JBQWdCO2VBQWhCQTs7O0FBRk4sSUFBTVIsa0JBQWtCO0FBQ3hCLElBQU1DLGtCQUFrQjtBQUN4QixJQUFNTyxtQkFBbUI7QUFDekIsSUFBTUosbUJBQW1CO0FBQ3pCLElBQU1MLHNCQUFzQjtBQUM1QixJQUFNSSxzQkFBc0I7QUFDNUIsSUFBTUksdUJBQXVCO0FBQzdCLElBQU1GLHdCQUF3QjtBQUM5QixJQUFNQywyQkFBMkI7QUFDakMsSUFBTUosNkJBQTZCIn0=
|
package/lib/spread.js
DELETED
|
@@ -1,113 +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
|
-
var _necessary = require("necessary");
|
|
12
|
-
var _array = require("./utilities/array");
|
|
13
|
-
var _node = require("./utilities/node");
|
|
14
|
-
function _class_call_check(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
var EXCLAMATION_MARK_CHARACTER = _necessary.characters.EXCLAMATION_MARK_CHARACTER;
|
|
34
|
-
var Spread = /*#__PURE__*/ function() {
|
|
35
|
-
function Spread(startIndex, endIndex, unique) {
|
|
36
|
-
_class_call_check(this, Spread);
|
|
37
|
-
this.startIndex = startIndex;
|
|
38
|
-
this.endIndex = endIndex;
|
|
39
|
-
this.unique = unique;
|
|
40
|
-
}
|
|
41
|
-
_create_class(Spread, [
|
|
42
|
-
{
|
|
43
|
-
key: "adjustNodes",
|
|
44
|
-
value: function adjustNodes(nodes) {
|
|
45
|
-
if (this.unique) {
|
|
46
|
-
var nodesLength = nodes.length;
|
|
47
|
-
if (nodesLength > 1) {
|
|
48
|
-
(0, _array.clear)(nodes);
|
|
49
|
-
}
|
|
50
|
-
} else {
|
|
51
|
-
(0, _array.trim)(nodes, this.startIndex, this.endIndex);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
], [
|
|
56
|
-
{
|
|
57
|
-
key: "fromNothing",
|
|
58
|
-
value: function fromNothing() {
|
|
59
|
-
var startIndex = 0, endIndex = Infinity, unique = false, spread = new Spread(startIndex, endIndex, unique);
|
|
60
|
-
return spread;
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
key: "fromSpreadNode",
|
|
65
|
-
value: function fromSpreadNode(spreadNode) {
|
|
66
|
-
var startIndex = 0, endIndex = Infinity, unique = false;
|
|
67
|
-
if (spreadNode !== null) {
|
|
68
|
-
var index = (0, _node.indexFromSpreadNode)(spreadNode);
|
|
69
|
-
if (index !== null) {
|
|
70
|
-
startIndex = index; ///
|
|
71
|
-
endIndex = index; ///
|
|
72
|
-
} else {
|
|
73
|
-
startIndex = (0, _node.startIndexFromSpreadNode)(spreadNode);
|
|
74
|
-
endIndex = (0, _node.endIndexFromSpreadNode)(spreadNode);
|
|
75
|
-
}
|
|
76
|
-
unique = (0, _node.uniqueFromSpreadNode)(spreadNode);
|
|
77
|
-
}
|
|
78
|
-
var spread = new Spread(startIndex, endIndex, unique);
|
|
79
|
-
return spread;
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
key: "fromSpreadExpression",
|
|
84
|
-
value: function fromSpreadExpression(spreadExpression) {
|
|
85
|
-
var startIndex = 0, endIndex = Infinity, unique = false;
|
|
86
|
-
if (spreadExpression !== null) {
|
|
87
|
-
if (spreadExpression === EXCLAMATION_MARK_CHARACTER) {
|
|
88
|
-
unique = true;
|
|
89
|
-
} else {
|
|
90
|
-
var 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;
|
|
91
|
-
if (secondMatch !== null) {
|
|
92
|
-
startIndex = parseInt(secondMatch);
|
|
93
|
-
if (thirdMatch === null) {
|
|
94
|
-
endIndex = startIndex; ///
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
if (fourthMatch !== null) {
|
|
98
|
-
endIndex = parseInt(fourthMatch);
|
|
99
|
-
if (thirdMatch === null) {
|
|
100
|
-
startIndex = endIndex; ///
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
var spread = new Spread(startIndex, endIndex, unique);
|
|
106
|
-
return spread;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
]);
|
|
110
|
-
return Spread;
|
|
111
|
-
}();
|
|
112
|
-
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcHJlYWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGNoYXJhY3RlcnMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IGNsZWFyLCB0cmltLCBzZWNvbmQsIHRoaXJkLCBmb3VydGggfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGluZGV4RnJvbVNwcmVhZE5vZGUsXG4gICAgICAgICB1bmlxdWVGcm9tU3ByZWFkTm9kZSxcbiAgICAgICAgIGVuZEluZGV4RnJvbVNwcmVhZE5vZGUsXG4gICAgICAgICBzdGFydEluZGV4RnJvbVNwcmVhZE5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5jb25zdCB7IEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSIH0gPSBjaGFyYWN0ZXJzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTcHJlYWQge1xuICBjb25zdHJ1Y3RvcihzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKSB7XG4gICAgdGhpcy5zdGFydEluZGV4ID0gc3RhcnRJbmRleDtcbiAgICB0aGlzLmVuZEluZGV4ID0gZW5kSW5kZXg7XG4gICAgdGhpcy51bmlxdWUgPSB1bmlxdWU7XG4gIH1cblxuICBhZGp1c3ROb2Rlcyhub2Rlcykge1xuICAgIGlmICh0aGlzLnVuaXF1ZSkge1xuICAgICAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGg7XG5cbiAgICAgIGlmIChub2Rlc0xlbmd0aCA+IDEpIHtcbiAgICAgICAgY2xlYXIobm9kZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cmltKG5vZGVzLCB0aGlzLnN0YXJ0SW5kZXgsIHRoaXMuZW5kSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBzdGFydEluZGV4ID0gMCxcbiAgICAgICAgICBlbmRJbmRleCA9IEluZmluaXR5LFxuICAgICAgICAgIHVuaXF1ZSA9IGZhbHNlLFxuICAgICAgICAgIHNwcmVhZCA9IG5ldyBTcHJlYWQoc3RhcnRJbmRleCwgZW5kSW5kZXgsIHVuaXF1ZSk7XG5cbiAgICByZXR1cm4gc3ByZWFkO1xuICB9XG5cbiAgc3RhdGljIGZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpIHtcbiAgICBsZXQgc3RhcnRJbmRleCA9IDAsXG4gICAgICAgIGVuZEluZGV4ID0gSW5maW5pdHksXG4gICAgICAgIHVuaXF1ZSA9IGZhbHNlO1xuXG4gICAgaWYgKHNwcmVhZE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gaW5kZXhGcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKTtcblxuICAgICAgaWYgKGluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIHN0YXJ0SW5kZXggPSBpbmRleDsgLy8vXG5cbiAgICAgICAgZW5kSW5kZXggPSBpbmRleDsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydEluZGV4ID0gc3RhcnRJbmRleEZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpO1xuXG4gICAgICAgIGVuZEluZGV4ID0gZW5kSW5kZXhGcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKTtcbiAgICAgIH1cblxuICAgICAgdW5pcXVlID0gdW5pcXVlRnJvbVNwcmVhZE5vZGUoc3ByZWFkTm9kZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ByZWFkID0gbmV3IFNwcmVhZChzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKTtcblxuICAgIHJldHVybiBzcHJlYWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVNwcmVhZEV4cHJlc3Npb24oc3ByZWFkRXhwcmVzc2lvbikge1xuICAgIGxldCBzdGFydEluZGV4ID0gMCxcbiAgICAgICAgZW5kSW5kZXggPSBJbmZpbml0eSxcbiAgICAgICAgdW5pcXVlID0gZmFsc2U7XG5cbiAgICBpZiAoc3ByZWFkRXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgICAgaWYgKHNwcmVhZEV4cHJlc3Npb24gPT09IEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSKSB7XG4gICAgICAgIHVuaXF1ZSA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZWdFeHAgPSAvXFxbKC0/XFxkKyk/KFxcLlxcLlxcLik/KC0/XFxkKyk/XS8sXG4gICAgICAgICAgICAgIG1hdGNoZXMgPSBzcHJlYWRFeHByZXNzaW9uLm1hdGNoKHJlZ0V4cCksXG4gICAgICAgICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpIHx8IG51bGwsXG4gICAgICAgICAgICAgIHRoaXJkTWF0Y2ggPSB0aGlyZChtYXRjaGVzKSB8fCBudWxsLFxuICAgICAgICAgICAgICBmb3VydGhNYXRjaCA9IGZvdXJ0aChtYXRjaGVzKSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChzZWNvbmRNYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYXJzZUludChzZWNvbmRNYXRjaCk7XG5cbiAgICAgICAgICBpZiAodGhpcmRNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZW5kSW5kZXggPSBzdGFydEluZGV4OyAgLy8vXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvdXJ0aE1hdGNoICE9PSBudWxsKSB7XG4gICAgICAgICAgZW5kSW5kZXggPSBwYXJzZUludChmb3VydGhNYXRjaCk7XG5cbiAgICAgICAgICBpZiAodGhpcmRNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IGVuZEluZGV4OyAgLy8vXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc3ByZWFkID0gbmV3IFNwcmVhZChzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKTtcblxuICAgIHJldHVybiBzcHJlYWQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTcHJlYWQiLCJFWENMQU1BVElPTl9NQVJLX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJ1bmlxdWUiLCJhZGp1c3ROb2RlcyIsIm5vZGVzIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJjbGVhciIsInRyaW0iLCJmcm9tTm90aGluZyIsIkluZmluaXR5Iiwic3ByZWFkIiwiZnJvbVNwcmVhZE5vZGUiLCJzcHJlYWROb2RlIiwiaW5kZXgiLCJpbmRleEZyb21TcHJlYWROb2RlIiwic3RhcnRJbmRleEZyb21TcHJlYWROb2RlIiwiZW5kSW5kZXhGcm9tU3ByZWFkTm9kZSIsInVuaXF1ZUZyb21TcHJlYWROb2RlIiwiZnJvbVNwcmVhZEV4cHJlc3Npb24iLCJzcHJlYWRFeHByZXNzaW9uIiwicmVnRXhwIiwibWF0Y2hlcyIsIm1hdGNoIiwic2Vjb25kTWF0Y2giLCJzZWNvbmQiLCJ0aGlyZE1hdGNoIiwidGhpcmQiLCJmb3VydGhNYXRjaCIsImZvdXJ0aCIsInBhcnNlSW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVlxQkE7Ozt5QkFWTTtxQkFFd0I7b0JBSVY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQU0sQUFBRUMsNkJBQStCQyxxQkFBVSxDQUF6Q0Q7QUFFTyxJQUFBLEFBQU1ELHVCQUFOO2FBQU1BLE9BQ1BHLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxNQUFNO2dDQURyQkw7UUFFakIsSUFBSSxDQUFDRyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7O2tCQUpHTDs7WUFPbkJNLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZQyxLQUFLO2dCQUNmLElBQUksSUFBSSxDQUFDRixNQUFNLEVBQUU7b0JBQ2YsSUFBTUcsY0FBY0QsTUFBTUUsTUFBTTtvQkFFaEMsSUFBSUQsY0FBYyxHQUFHO3dCQUNuQkUsSUFBQUEsWUFBSyxFQUFDSDtvQkFDUjtnQkFDRixPQUFPO29CQUNMSSxJQUFBQSxXQUFJLEVBQUNKLE9BQU8sSUFBSSxDQUFDSixVQUFVLEVBQUUsSUFBSSxDQUFDQyxRQUFRO2dCQUM1QztZQUNGOzs7O1lBRU9RLEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU1ULGFBQWEsR0FDYkMsV0FBV1MsVUFDWFIsU0FBUyxPQUNUUyxTQUFTLElBdkJFZCxPQXVCU0csWUFBWUMsVUFBVUM7Z0JBRWhELE9BQU9TO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxlQUFlQyxVQUFVO2dCQUM5QixJQUFJYixhQUFhLEdBQ2JDLFdBQVdTLFVBQ1hSLFNBQVM7Z0JBRWIsSUFBSVcsZUFBZSxNQUFNO29CQUN2QixJQUFNQyxRQUFRQyxJQUFBQSx5QkFBbUIsRUFBQ0Y7b0JBRWxDLElBQUlDLFVBQVUsTUFBTTt3QkFDbEJkLGFBQWFjLE9BQU8sR0FBRzt3QkFFdkJiLFdBQVdhLE9BQU8sR0FBRztvQkFDdkIsT0FBTzt3QkFDTGQsYUFBYWdCLElBQUFBLDhCQUF3QixFQUFDSDt3QkFFdENaLFdBQVdnQixJQUFBQSw0QkFBc0IsRUFBQ0o7b0JBQ3BDO29CQUVBWCxTQUFTZ0IsSUFBQUEsMEJBQW9CLEVBQUNMO2dCQUNoQztnQkFFQSxJQUFNRixTQUFTLElBakRFZCxPQWlEU0csWUFBWUMsVUFBVUM7Z0JBRWhELE9BQU9TO1lBQ1Q7OztZQUVPUSxLQUFBQTttQkFBUCxTQUFPQSxxQkFBcUJDLGdCQUFnQjtnQkFDMUMsSUFBSXBCLGFBQWEsR0FDYkMsV0FBV1MsVUFDWFIsU0FBUztnQkFFYixJQUFJa0IscUJBQXFCLE1BQU07b0JBQzdCLElBQUlBLHFCQUFxQnRCLDRCQUE0Qjt3QkFDbkRJLFNBQVM7b0JBQ1gsT0FBTzt3QkFDTCxJQUFNbUIsU0FBUyxnQ0FDVEMsVUFBVUYsaUJBQWlCRyxLQUFLLENBQUNGLFNBQ2pDRyxjQUFjQyxJQUFBQSxhQUFNLEVBQUNILFlBQVksTUFDakNJLGFBQWFDLElBQUFBLFlBQUssRUFBQ0wsWUFBWSxNQUMvQk0sY0FBY0MsSUFBQUEsYUFBTSxFQUFDUCxZQUFZO3dCQUV2QyxJQUFJRSxnQkFBZ0IsTUFBTTs0QkFDeEJ4QixhQUFhOEIsU0FBU047NEJBRXRCLElBQUlFLGVBQWUsTUFBTTtnQ0FDdkJ6QixXQUFXRCxZQUFhLEdBQUc7NEJBQzdCO3dCQUNGO3dCQUVBLElBQUk0QixnQkFBZ0IsTUFBTTs0QkFDeEIzQixXQUFXNkIsU0FBU0Y7NEJBRXBCLElBQUlGLGVBQWUsTUFBTTtnQ0FDdkIxQixhQUFhQyxVQUFXLEdBQUc7NEJBQzdCO3dCQUNGO29CQUNGO2dCQUNGO2dCQUVBLElBQU1VLFNBQVMsSUF2RkVkLE9BdUZTRyxZQUFZQyxVQUFVQztnQkFFaEQsT0FBT1M7WUFDVDs7O1dBMUZtQmQifQ==
|
package/lib/subExpression.js
DELETED
|
@@ -1,101 +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
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("./path"));
|
|
12
|
-
var _spread = /*#__PURE__*/ _interop_require_default(require("./spread"));
|
|
13
|
-
var _node = require("./utilities/node");
|
|
14
|
-
function _class_call_check(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
function _interop_require_default(obj) {
|
|
34
|
-
return obj && obj.__esModule ? obj : {
|
|
35
|
-
default: obj
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
var SubExpression = /*#__PURE__*/ function() {
|
|
39
|
-
function SubExpression(path, spread, subExpression) {
|
|
40
|
-
_class_call_check(this, SubExpression);
|
|
41
|
-
this.path = path;
|
|
42
|
-
this.spread = spread;
|
|
43
|
-
this.subExpression = subExpression;
|
|
44
|
-
}
|
|
45
|
-
_create_class(SubExpression, [
|
|
46
|
-
{
|
|
47
|
-
key: "getPath",
|
|
48
|
-
value: function getPath() {
|
|
49
|
-
return this.path;
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
key: "getSpread",
|
|
54
|
-
value: function getSpread() {
|
|
55
|
-
return this.spread;
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
key: "getSubExpression",
|
|
60
|
-
value: function getSubExpression() {
|
|
61
|
-
return this.subExpression;
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
key: "getRuleNames",
|
|
66
|
-
value: function getRuleNames() {
|
|
67
|
-
return this.path.getRuleNames();
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
key: "getTokenTypes",
|
|
72
|
-
value: function getTokenTypes() {
|
|
73
|
-
return this.path.getTokenTypes();
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
key: "isInfiniteDescent",
|
|
78
|
-
value: function isInfiniteDescent() {
|
|
79
|
-
return this.path.isInfiniteDescent();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
], [
|
|
83
|
-
{
|
|
84
|
-
key: "fromSubExpressionNode",
|
|
85
|
-
value: function fromSubExpressionNode(subExpressionNode) {
|
|
86
|
-
var subExpression = null;
|
|
87
|
-
if (subExpressionNode !== null) {
|
|
88
|
-
var pathNode = (0, _node.pathNodeFromSubExpressionNode)(subExpressionNode), spreadNode = (0, _node.spreadNodeFromSubExpressionNode)(subExpressionNode);
|
|
89
|
-
subExpressionNode = (0, _node.subExpressionNodeFromSubExpressionNode)(subExpressionNode); ///
|
|
90
|
-
var path = _path.default.fromPathNode(pathNode), spread = _spread.default.fromSpreadNode(spreadNode);
|
|
91
|
-
subExpression = SubExpression.fromSubExpressionNode(subExpressionNode);
|
|
92
|
-
subExpression = new SubExpression(path, spread, subExpression); ///
|
|
93
|
-
}
|
|
94
|
-
return subExpression;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
]);
|
|
98
|
-
return SubExpression;
|
|
99
|
-
}();
|
|
100
|
-
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJFeHByZXNzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGF0aCBmcm9tIFwiLi9wYXRoXCI7XG5pbXBvcnQgU3ByZWFkIGZyb20gXCIuL3NwcmVhZFwiO1xuXG5pbXBvcnQgeyBwYXRoTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSwgc3ByZWFkTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSwgc3ViRXhwcmVzc2lvbk5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJFeHByZXNzaW9uIHtcbiAgY29uc3RydWN0b3IocGF0aCwgc3ByZWFkLCBzdWJFeHByZXNzaW9uKSB7XG4gICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICB0aGlzLnNwcmVhZCA9IHNwcmVhZDtcbiAgICB0aGlzLnN1YkV4cHJlc3Npb24gPSBzdWJFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0UGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXRoO1xuICB9XG5cbiAgZ2V0U3ByZWFkKCkge1xuICAgIHJldHVybiB0aGlzLnNwcmVhZDtcbiAgfVxuXG4gIGdldFN1YkV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lcygpIHsgcmV0dXJuIHRoaXMucGF0aC5nZXRSdWxlTmFtZXMoKTsgfVxuXG4gIGdldFRva2VuVHlwZXMoKSB7IHJldHVybiB0aGlzLnBhdGguZ2V0VG9rZW5UeXBlcygpOyB9XG5cbiAgaXNJbmZpbml0ZURlc2NlbnQoKSB7IHJldHVybiB0aGlzLnBhdGguaXNJbmZpbml0ZURlc2NlbnQoKTsgfVxuXG4gIHN0YXRpYyBmcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpIHtcbiAgICBsZXQgc3ViRXhwcmVzc2lvbiA9IG51bGw7XG5cbiAgICBpZiAoc3ViRXhwcmVzc2lvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBhdGhOb2RlID0gcGF0aE5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpLFxuICAgICAgICAgICAgc3ByZWFkTm9kZSA9IHNwcmVhZE5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uTm9kZSA9IHN1YkV4cHJlc3Npb25Ob2RlRnJvbVN1YkV4cHJlc3Npb25Ob2RlKHN1YkV4cHJlc3Npb25Ob2RlKTsgIC8vL1xuXG4gICAgICBjb25zdCBwYXRoID0gUGF0aC5mcm9tUGF0aE5vZGUocGF0aE5vZGUpLFxuICAgICAgICAgICAgc3ByZWFkID0gU3ByZWFkLmZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uID0gU3ViRXhwcmVzc2lvbi5mcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uID0gbmV3IFN1YkV4cHJlc3Npb24ocGF0aCwgc3ByZWFkLCBzdWJFeHByZXNzaW9uKTsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YkV4cHJlc3Npb247XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTdWJFeHByZXNzaW9uIiwicGF0aCIsInNwcmVhZCIsInN1YkV4cHJlc3Npb24iLCJnZXRQYXRoIiwiZ2V0U3ByZWFkIiwiZ2V0U3ViRXhwcmVzc2lvbiIsImdldFJ1bGVOYW1lcyIsImdldFRva2VuVHlwZXMiLCJpc0luZmluaXRlRGVzY2VudCIsImZyb21TdWJFeHByZXNzaW9uTm9kZSIsInN1YkV4cHJlc3Npb25Ob2RlIiwicGF0aE5vZGUiLCJwYXRoTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSIsInNwcmVhZE5vZGUiLCJzcHJlYWROb2RlRnJvbVN1YkV4cHJlc3Npb25Ob2RlIiwic3ViRXhwcmVzc2lvbk5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUiLCJQYXRoIiwiZnJvbVBhdGhOb2RlIiwiU3ByZWFkIiwiZnJvbVNwcmVhZE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7OzJEQUxKOzZEQUNFO29CQUVvRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4RyxJQUFBLEFBQU1BLDhCQUFOO2FBQU1BLGNBQ1BDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxhQUFhO2dDQURwQkg7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxhQUFhLEdBQUdBOztrQkFKSkg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGFBQWE7WUFDM0I7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWlCLE9BQU8sSUFBSSxDQUFDTixJQUFJLENBQUNNLFlBQVk7WUFBSTs7O1lBRWxEQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWtCLE9BQU8sSUFBSSxDQUFDUCxJQUFJLENBQUNPLGFBQWE7WUFBSTs7O1lBRXBEQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQXNCLE9BQU8sSUFBSSxDQUFDUixJQUFJLENBQUNRLGlCQUFpQjtZQUFJOzs7O1lBRXJEQyxLQUFBQTttQkFBUCxTQUFPQSxzQkFBc0JDLGlCQUFpQjtnQkFDNUMsSUFBSVIsZ0JBQWdCO2dCQUVwQixJQUFJUSxzQkFBc0IsTUFBTTtvQkFDOUIsSUFBTUMsV0FBV0MsSUFBQUEsbUNBQTZCLEVBQUNGLG9CQUN6Q0csYUFBYUMsSUFBQUEscUNBQStCLEVBQUNKO29CQUVuREEsb0JBQW9CSyxJQUFBQSw0Q0FBc0MsRUFBQ0wsb0JBQXFCLEdBQUc7b0JBRW5GLElBQU1WLE9BQU9nQixhQUFJLENBQUNDLFlBQVksQ0FBQ04sV0FDekJWLFNBQVNpQixlQUFNLENBQUNDLGNBQWMsQ0FBQ047b0JBRXJDWCxnQkFBZ0JILEFBckNEQSxjQXFDZVUscUJBQXFCLENBQUNDO29CQUVwRFIsZ0JBQWdCLElBdkNESCxjQXVDbUJDLE1BQU1DLFFBQVFDLGdCQUFnQixHQUFHO2dCQUNyRTtnQkFFQSxPQUFPQTtZQUNUOzs7V0EzQ21CSCJ9
|
package/lib/utilities/array.js
DELETED
|
@@ -1,67 +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: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
clear: function() {
|
|
13
|
-
return clear;
|
|
14
|
-
},
|
|
15
|
-
fifth: function() {
|
|
16
|
-
return fifth;
|
|
17
|
-
},
|
|
18
|
-
first: function() {
|
|
19
|
-
return first;
|
|
20
|
-
},
|
|
21
|
-
fourth: function() {
|
|
22
|
-
return fourth;
|
|
23
|
-
},
|
|
24
|
-
includes: function() {
|
|
25
|
-
return includes;
|
|
26
|
-
},
|
|
27
|
-
last: function() {
|
|
28
|
-
return last;
|
|
29
|
-
},
|
|
30
|
-
push: function() {
|
|
31
|
-
return push;
|
|
32
|
-
},
|
|
33
|
-
second: function() {
|
|
34
|
-
return second;
|
|
35
|
-
},
|
|
36
|
-
third: function() {
|
|
37
|
-
return third;
|
|
38
|
-
},
|
|
39
|
-
trim: function() {
|
|
40
|
-
return trim;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
var _necessary = require("necessary");
|
|
44
|
-
var clear = _necessary.arrayUtilities.clear, push = _necessary.arrayUtilities.push, first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second, third = _necessary.arrayUtilities.third, fourth = _necessary.arrayUtilities.fourth, fifth = _necessary.arrayUtilities.fifth, last = _necessary.arrayUtilities.last;
|
|
45
|
-
function trim(array, startIndex, endIndex) {
|
|
46
|
-
if (startIndex < 0) {
|
|
47
|
-
var length = array.length; ///
|
|
48
|
-
startIndex = length + startIndex; ///
|
|
49
|
-
endIndex = length + endIndex; ///
|
|
50
|
-
}
|
|
51
|
-
if (endIndex !== Infinity) {
|
|
52
|
-
var start = endIndex + 1;
|
|
53
|
-
array.splice(start);
|
|
54
|
-
}
|
|
55
|
-
var start1 = 0, deleteCount = startIndex; ///
|
|
56
|
-
array.splice(start1, deleteCount);
|
|
57
|
-
}
|
|
58
|
-
function includes(array) {
|
|
59
|
-
for(var _len = arguments.length, elements = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
60
|
-
elements[_key - 1] = arguments[_key];
|
|
61
|
-
}
|
|
62
|
-
return elements.some(function(element) {
|
|
63
|
-
return array.includes(element);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5leHBvcnQgY29uc3QgeyBjbGVhciwgcHVzaCwgZmlyc3QsIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCwgZmlmdGgsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJpbShhcnJheSwgc3RhcnRJbmRleCwgZW5kSW5kZXgpIHtcbiAgaWYgKHN0YXJ0SW5kZXggPCAwKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoOyAvLy9cblxuICAgIHN0YXJ0SW5kZXggPSBsZW5ndGggKyBzdGFydEluZGV4OyAvLy9cblxuICAgIGVuZEluZGV4ID0gbGVuZ3RoICsgZW5kSW5kZXg7IC8vL1xuICB9XG5cbiAgaWYgKGVuZEluZGV4ICE9PSBJbmZpbml0eSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gZW5kSW5kZXggKyAxO1xuXG4gICAgYXJyYXkuc3BsaWNlKHN0YXJ0KTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBzdGFydEluZGV4OyAvLy9cblxuICBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluY2x1ZGVzKGFycmF5LCAuLi5lbGVtZW50cykge1xuICByZXR1cm4gZWxlbWVudHMuc29tZSgoZWxlbWVudCkgPT4gYXJyYXkuaW5jbHVkZXMoZWxlbWVudCkpO1xufVxuIl0sIm5hbWVzIjpbImNsZWFyIiwiZmlmdGgiLCJmaXJzdCIsImZvdXJ0aCIsImluY2x1ZGVzIiwibGFzdCIsInB1c2giLCJzZWNvbmQiLCJ0aGlyZCIsInRyaW0iLCJhcnJheVV0aWxpdGllcyIsImFycmF5Iiwic3RhcnRJbmRleCIsImVuZEluZGV4IiwibGVuZ3RoIiwiSW5maW5pdHkiLCJzdGFydCIsInNwbGljZSIsImRlbGV0ZUNvdW50IiwiZWxlbWVudHMiLCJzb21lIiwiZWxlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWVBLEtBQUs7ZUFBTEE7O0lBQTJDQyxLQUFLO2VBQUxBOztJQUE5QkMsS0FBSztlQUFMQTs7SUFBc0JDLE1BQU07ZUFBTkE7O0lBdUJsQ0MsUUFBUTtlQUFSQTs7SUF2QmlEQyxJQUFJO2VBQUpBOztJQUEzQ0MsSUFBSTtlQUFKQTs7SUFBYUMsTUFBTTtlQUFOQTs7SUFBUUMsS0FBSztlQUFMQTs7SUFFM0JDLElBQUk7ZUFBSkE7Ozt5QkFKZTtBQUV4QixJQUFRVCxRQUEyRFUseUJBQWMsQ0FBekVWLE9BQU9NLE9BQW9ESSx5QkFBYyxDQUFsRUosTUFBTUosUUFBOENRLHlCQUFjLENBQTVEUixPQUFPSyxTQUF1Q0cseUJBQWMsQ0FBckRILFFBQVFDLFFBQStCRSx5QkFBYyxDQUE3Q0YsT0FBT0wsU0FBd0JPLHlCQUFjLENBQXRDUCxRQUFRRixRQUFnQlMseUJBQWMsQ0FBOUJULE9BQU9JLE9BQVNLLHlCQUFjLENBQXZCTDtBQUUxRCxTQUFTSSxLQUFLRSxLQUFLLEVBQUVDLFVBQVUsRUFBRUMsUUFBUTtJQUM5QyxJQUFJRCxhQUFhLEdBQUc7UUFDbEIsSUFBTUUsU0FBU0gsTUFBTUcsTUFBTSxFQUFFLEdBQUc7UUFFaENGLGFBQWFFLFNBQVNGLFlBQVksR0FBRztRQUVyQ0MsV0FBV0MsU0FBU0QsVUFBVSxHQUFHO0lBQ25DO0lBRUEsSUFBSUEsYUFBYUUsVUFBVTtRQUN6QixJQUFNQyxRQUFRSCxXQUFXO1FBRXpCRixNQUFNTSxNQUFNLENBQUNEO0lBQ2Y7SUFFQSxJQUFNQSxTQUFRLEdBQ1JFLGNBQWNOLFlBQVksR0FBRztJQUVuQ0QsTUFBTU0sTUFBTSxDQUFDRCxRQUFPRTtBQUN0QjtBQUVPLFNBQVNkLFNBQVNPLEtBQUs7SUFBRSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR1EsV0FBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtRQUFHQSxTQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBVzs7SUFDekMsT0FBT0EsU0FBU0MsSUFBSSxDQUFDLFNBQUNDO2VBQVlWLE1BQU1QLFFBQVEsQ0FBQ2lCOztBQUNuRCJ9
|
package/lib/utilities/query.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: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return _default;
|
|
14
|
-
},
|
|
15
|
-
queryByExpressionString: function() {
|
|
16
|
-
return queryByExpressionString;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
var _query = /*#__PURE__*/ _interop_require_default(require("../query"));
|
|
20
|
-
var _expression = /*#__PURE__*/ _interop_require_default(require("../expression"));
|
|
21
|
-
function _interop_require_default(obj) {
|
|
22
|
-
return obj && obj.__esModule ? obj : {
|
|
23
|
-
default: obj
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function queryByExpressionString(node, expressionString, maximumDepth) {
|
|
27
|
-
var nodes = null;
|
|
28
|
-
var expression = _expression.default.fromExpressionString(expressionString);
|
|
29
|
-
if (expression !== null) {
|
|
30
|
-
var query = _query.default.fromExpression(expression, maximumDepth);
|
|
31
|
-
nodes = query.execute(node);
|
|
32
|
-
}
|
|
33
|
-
return nodes;
|
|
34
|
-
}
|
|
35
|
-
var _default = {
|
|
36
|
-
queryByExpressionString: queryByExpressionString
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBRdWVyeSBmcm9tIFwiLi4vcXVlcnlcIjtcbmltcG9ydCBFeHByZXNzaW9uIGZyb20gXCIuLi9leHByZXNzaW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeUJ5RXhwcmVzc2lvblN0cmluZyhub2RlLCBleHByZXNzaW9uU3RyaW5nLCBtYXhpbXVtRGVwdGgpIHtcbiAgbGV0IG5vZGVzID0gbnVsbDtcblxuICBjb25zdCBleHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tRXhwcmVzc2lvblN0cmluZyhleHByZXNzaW9uU3RyaW5nKTtcblxuICBpZiAoZXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbiwgbWF4aW11bURlcHRoKTtcblxuICAgIG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcbiAgfVxuXG4gIHJldHVybiBub2Rlcztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBxdWVyeUJ5RXhwcmVzc2lvblN0cmluZ1xufTtcbiJdLCJuYW1lcyI6WyJxdWVyeUJ5RXhwcmVzc2lvblN0cmluZyIsIm5vZGUiLCJleHByZXNzaW9uU3RyaW5nIiwibWF4aW11bURlcHRoIiwibm9kZXMiLCJleHByZXNzaW9uIiwiRXhwcmVzc2lvbiIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwicXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uIiwiZXhlY3V0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBbUJBLE9BRUU7ZUFGRjs7SUFkZ0JBLHVCQUF1QjtlQUF2QkE7Ozs0REFIRTtpRUFDSzs7Ozs7O0FBRWhCLFNBQVNBLHdCQUF3QkMsSUFBSSxFQUFFQyxnQkFBZ0IsRUFBRUMsWUFBWTtJQUMxRSxJQUFJQyxRQUFRO0lBRVosSUFBTUMsYUFBYUMsbUJBQVUsQ0FBQ0Msb0JBQW9CLENBQUNMO0lBRW5ELElBQUlHLGVBQWUsTUFBTTtRQUN2QixJQUFNRyxRQUFRQyxjQUFLLENBQUNDLGNBQWMsQ0FBQ0wsWUFBWUY7UUFFL0NDLFFBQVFJLE1BQU1HLE9BQU8sQ0FBQ1Y7SUFDeEI7SUFFQSxPQUFPRztBQUNUO0lBRUEsV0FBZTtJQUNiSix5QkFBQUE7QUFDRiJ9
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Input from "../input";
|
|
4
|
-
|
|
5
|
-
export default class ExpressionStringInput extends Input {
|
|
6
|
-
getExpressionString() {
|
|
7
|
-
const value = this.getValue(),
|
|
8
|
-
expression = value; ///
|
|
9
|
-
|
|
10
|
-
return expression;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
setExpressionString(expressionString) {
|
|
14
|
-
const value = expressionString; ///
|
|
15
|
-
|
|
16
|
-
this.setValue(value);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
parentContext() {
|
|
20
|
-
const getExpressionString = this.getExpressionString.bind(this),
|
|
21
|
-
setExpressionString = this.setExpressionString.bind(this); ///;
|
|
22
|
-
|
|
23
|
-
return ({
|
|
24
|
-
getExpressionString,
|
|
25
|
-
setExpressionString
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
static defaultProperties = {
|
|
30
|
-
className: "expression-string",
|
|
31
|
-
spellCheck: "false"
|
|
32
|
-
};
|
|
33
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Textarea from "../textarea";
|
|
4
|
-
|
|
5
|
-
import { EMPTY_STRING } from "../../../constants";
|
|
6
|
-
import { tokenIndexFromTerminalNodeAndTokens, tokenIndexesFromNonTerminalNodeAndTokens } from "../../utilities/token"
|
|
7
|
-
|
|
8
|
-
export default class NodesTextarea extends Textarea {
|
|
9
|
-
setNodes(nodes, tokens) { ///
|
|
10
|
-
const value = nodes.reduce((value, node) => {
|
|
11
|
-
const nodeTerminalNode = node.isTerminalNode();
|
|
12
|
-
|
|
13
|
-
if (nodeTerminalNode) {
|
|
14
|
-
const terminalNode = node, ///
|
|
15
|
-
significantToken = terminalNode.getSignificantToken(),
|
|
16
|
-
significantTokenType = significantToken.getType(),
|
|
17
|
-
tokenIndex = tokenIndexFromTerminalNodeAndTokens(terminalNode, tokens);
|
|
18
|
-
|
|
19
|
-
value = `${value}[${significantTokenType}]${tokenIndex}\n`;
|
|
20
|
-
} else {
|
|
21
|
-
const nonTerminalNode = node, ///
|
|
22
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
23
|
-
tokenIndexes = tokenIndexesFromNonTerminalNodeAndTokens(nonTerminalNode, tokens);
|
|
24
|
-
|
|
25
|
-
value = `${value}${ruleName}${tokenIndexes}\n`;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return value;
|
|
29
|
-
}, EMPTY_STRING);
|
|
30
|
-
|
|
31
|
-
this.setValue(value);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
clearNodes() {
|
|
35
|
-
const value = EMPTY_STRING;
|
|
36
|
-
|
|
37
|
-
this.setValue(value);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
parentContext() {
|
|
41
|
-
const setNodes = this.setNodes.bind(this),
|
|
42
|
-
clearNodes = this.clearNodes.bind(this);
|
|
43
|
-
|
|
44
|
-
return ({
|
|
45
|
-
setNodes,
|
|
46
|
-
clearNodes
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static defaultProperties = {
|
|
51
|
-
className: "nodes",
|
|
52
|
-
spellCheck: "false",
|
|
53
|
-
readOnly: true
|
|
54
|
-
};
|
|
55
|
-
}
|
package/src/expression/bnf.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const bnf = `
|
|
4
|
-
|
|
5
|
-
expression ::= path spread? subExpression?
|
|
6
|
-
|
|
7
|
-
| error+
|
|
8
|
-
|
|
9
|
-
;
|
|
10
|
-
|
|
11
|
-
path ::= "/" infiniteDescent? selectors ;
|
|
12
|
-
|
|
13
|
-
subExpression ::= path spread? subExpression?;
|
|
14
|
-
|
|
15
|
-
infiniteDescent ::= "/" ;
|
|
16
|
-
|
|
17
|
-
selectors ::= selector ( "|" selector )* ;
|
|
18
|
-
|
|
19
|
-
spread ::= unique
|
|
20
|
-
|
|
21
|
-
| "["
|
|
22
|
-
|
|
23
|
-
(
|
|
24
|
-
|
|
25
|
-
( startIndex "..." endIndex )
|
|
26
|
-
|
|
27
|
-
|
|
|
28
|
-
|
|
29
|
-
( startIndex "..." )
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
( "..." endIndex )
|
|
34
|
-
|
|
35
|
-
|
|
|
36
|
-
|
|
37
|
-
index
|
|
38
|
-
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
"]" ;
|
|
42
|
-
|
|
43
|
-
selector ::= ruleName | tokenType ;
|
|
44
|
-
|
|
45
|
-
ruleName ::= [name] | "*" ;
|
|
46
|
-
|
|
47
|
-
tokenType ::= "@"<NO_WHITESPACE>( [name] | "*" ) ;
|
|
48
|
-
|
|
49
|
-
startIndex ::= [number] ;
|
|
50
|
-
|
|
51
|
-
endIndex ::= [number] ;
|
|
52
|
-
|
|
53
|
-
index ::= [number] ;
|
|
54
|
-
|
|
55
|
-
unique ::= "!" ;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
error. ::= . ;
|
|
60
|
-
|
|
61
|
-
`;
|
|
62
|
-
|
|
63
|
-
export default bnf;
|
package/src/expression/lexer.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { CommonLexer, WhitespaceToken, EndOfLineSignificantToken } from "occam-lexers";
|
|
4
|
-
|
|
5
|
-
import entries from "./entries";
|
|
6
|
-
|
|
7
|
-
export default class ExpressionLexer extends CommonLexer {
|
|
8
|
-
static entries = entries;
|
|
9
|
-
|
|
10
|
-
static EndOfLineToken = EndOfLineSignificantToken; ///
|
|
11
|
-
|
|
12
|
-
static WhitespaceToken = WhitespaceToken;
|
|
13
|
-
|
|
14
|
-
static EndOfLineCommentToken = null;
|
|
15
|
-
|
|
16
|
-
static SingleLineCommentToken = null;
|
|
17
|
-
|
|
18
|
-
static RegularExpressionToken = null;
|
|
19
|
-
|
|
20
|
-
static EndOfMultiLineCommentToken = null;
|
|
21
|
-
|
|
22
|
-
static StartOfMultiLineCommentToken = null;
|
|
23
|
-
|
|
24
|
-
static MiddleOfMultiLineCommentToken = null;
|
|
25
|
-
|
|
26
|
-
static SinglyQuotedStringLiteralToken = null;
|
|
27
|
-
|
|
28
|
-
static DoublyQuotedStringLiteralToken = null;
|
|
29
|
-
|
|
30
|
-
static fromNothing() { return CommonLexer.fromNothing(ExpressionLexer); }
|
|
31
|
-
|
|
32
|
-
static fromRules(rules) { return CommonLexer.fromRules(ExpressionLexer, rules); }
|
|
33
|
-
|
|
34
|
-
static fromEntries(entries) { return CommonLexer.fromEntries(ExpressionLexer, entries); }
|
|
35
|
-
}
|
package/src/expression/parser.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { CommonParser } from "occam-parsers";
|
|
4
|
-
|
|
5
|
-
import bnf from "./bnf";
|
|
6
|
-
|
|
7
|
-
export default class ExpressionParser extends CommonParser {
|
|
8
|
-
static bnf = bnf;
|
|
9
|
-
|
|
10
|
-
static fromNothing() { return CommonParser.fromNothing(ExpressionParser); }
|
|
11
|
-
|
|
12
|
-
static fromBNF(bnf) { return CommonParser.fromBNF(ExpressionParser, bnf); }
|
|
13
|
-
|
|
14
|
-
static fromRules(rules) { return CommonParser.fromRules(ExpressionParser, rules); }
|
|
15
|
-
}
|