occam-furtle 2.0.342 → 3.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 +5905 -1786
- package/lib/context/block.js +81 -41
- package/lib/context/file/furtle.js +260 -0
- package/lib/context/file/nominal.js +956 -0
- package/lib/context/file.js +146 -271
- package/lib/context.js +210 -0
- package/lib/element/assignment/array.js +116 -14
- package/lib/element/assignment/object.js +116 -14
- package/lib/element/assignment/variable.js +121 -14
- package/lib/element/assignments/variable.js +120 -13
- package/lib/element/declaration/procedure.js +120 -12
- package/lib/element/error.js +118 -13
- package/lib/element/every.js +116 -13
- package/lib/element/expression.js +127 -20
- package/lib/element/label.js +119 -12
- package/lib/element/nodeQuery.js +116 -14
- package/lib/element/nodesQuery.js +116 -14
- package/lib/element/parameter/named.js +117 -15
- package/lib/element/parameter.js +116 -14
- package/lib/element/parameters/named.js +116 -14
- package/lib/element/parameters.js +115 -13
- package/lib/element/primitive.js +115 -13
- package/lib/element/procedure/anonymous.js +118 -16
- package/lib/element/procedure.js +118 -16
- package/lib/element/procedureCall.js +116 -14
- package/lib/element/reduce.js +116 -14
- package/lib/element/reference.js +119 -12
- package/lib/element/returnBlock.js +116 -14
- package/lib/element/some.js +115 -13
- package/lib/element/statement/return.js +120 -13
- package/lib/element/step.js +121 -14
- package/lib/element/term/bracketed.js +120 -13
- package/lib/element/term/comparison.js +117 -15
- package/lib/element/term/logical.js +118 -16
- package/lib/element/term/negated.js +116 -14
- package/lib/element/term.js +127 -18
- package/lib/element/terms.js +125 -14
- package/lib/element/ternary.js +117 -15
- package/lib/element/variable.js +127 -19
- package/lib/element.js +1 -8
- package/lib/index.js +5 -5
- package/lib/log.js +13 -12
- package/lib/metaTypeNames.js +26 -0
- package/lib/metaTypes.js +66 -0
- package/lib/nodeProperties.js +17 -21
- package/lib/nodeProperty.js +4 -7
- package/lib/utilities/context.js +8 -37
- package/lib/utilities/customGrammar.js +49 -0
- package/lib/utilities/element.js +91 -37
- package/lib/utilities/lineIndex.js +26 -0
- package/lib/utilities/node.js +1 -8
- package/lib/utilities/primitive.js +14 -5
- package/lib/utilities/string.js +30 -19
- package/lib/utilities/term.js +14 -5
- package/lib/utilities/terms.js +7 -3
- package/package.json +2 -2
- package/src/context/block.js +20 -32
- package/src/context/file/furtle.js +141 -0
- package/src/context/file/nominal.js +946 -0
- package/src/context/file.js +32 -209
- package/src/context.js +74 -0
- package/src/element/assignment/array.js +6 -8
- package/src/element/assignment/object.js +6 -8
- package/src/element/assignment/variable.js +7 -8
- package/src/element/assignments/variable.js +7 -8
- package/src/element/declaration/procedure.js +6 -6
- package/src/element/error.js +4 -6
- package/src/element/every.js +5 -6
- package/src/element/expression.js +6 -7
- package/src/element/label.js +6 -7
- package/src/element/nodeQuery.js +6 -8
- package/src/element/nodesQuery.js +6 -8
- package/src/element/parameter/named.js +7 -8
- package/src/element/parameter.js +6 -8
- package/src/element/parameters/named.js +8 -9
- package/src/element/parameters.js +6 -8
- package/src/element/primitive.js +5 -7
- package/src/element/procedure/anonymous.js +7 -9
- package/src/element/procedure.js +6 -8
- package/src/element/procedureCall.js +6 -8
- package/src/element/reduce.js +5 -7
- package/src/element/reference.js +6 -7
- package/src/element/returnBlock.js +5 -7
- package/src/element/some.js +5 -7
- package/src/element/statement/return.js +7 -8
- package/src/element/step.js +6 -7
- package/src/element/term/bracketed.js +7 -8
- package/src/element/term/comparison.js +6 -8
- package/src/element/term/logical.js +6 -8
- package/src/element/term/negated.js +6 -8
- package/src/element/term.js +12 -9
- package/src/element/terms.js +16 -9
- package/src/element/ternary.js +6 -8
- package/src/element/variable.js +24 -14
- package/src/element.js +0 -8
- package/src/index.js +1 -1
- package/src/log.js +11 -11
- package/src/metaTypeNames.js +5 -0
- package/src/metaTypes.js +71 -0
- package/src/nodeProperties.js +23 -32
- package/src/nodeProperty.js +5 -10
- package/src/utilities/context.js +7 -45
- package/src/utilities/customGrammar.js +40 -0
- package/src/utilities/element.js +158 -64
- package/src/utilities/lineIndex.js +21 -0
- package/src/utilities/node.js +0 -5
- package/src/utilities/primitive.js +22 -5
- package/src/utilities/string.js +33 -19
- package/src/utilities/term.js +22 -5
- package/src/utilities/terms.js +12 -4
- package/test/context/release.js +477 -46
- package/test/helpers/furtle.js +1 -1
- package/test/helpers/nominal.js +2 -3
- package/test/main.js +1 -1
- package/test/context/file.js +0 -127
- package/test/helpers/constants.js +0 -17
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "lineIndexFromNodeAndTokens", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return lineIndexFromNodeAndTokens;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function lineIndexFromNodeAndTokens(node, tokens) {
|
|
12
|
+
var lineIndex = 0;
|
|
13
|
+
var firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens);
|
|
14
|
+
tokens.some(function(token, tokenIndex) {
|
|
15
|
+
var tokenEndOfLineToken = token.isEndOfLineToken();
|
|
16
|
+
if (tokenEndOfLineToken) {
|
|
17
|
+
lineIndex += 1;
|
|
18
|
+
}
|
|
19
|
+
if (tokenIndex === firstSignificantTokenIndex) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return lineIndex;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGluZUluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gbGluZUluZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGxldCBsaW5lSW5kZXggPSAwO1xuXG4gIGNvbnN0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpO1xuXG4gIHRva2Vucy5zb21lKCh0b2tlbiwgdG9rZW5JbmRleCkgPT4ge1xuICAgIGNvbnN0IHRva2VuRW5kT2ZMaW5lVG9rZW4gPSB0b2tlbi5pc0VuZE9mTGluZVRva2VuKCk7XG5cbiAgICBpZiAodG9rZW5FbmRPZkxpbmVUb2tlbikge1xuICAgICAgbGluZUluZGV4ICs9IDE7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuSW5kZXggPT09IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBsaW5lSW5kZXg7XG59XG4iXSwibmFtZXMiOlsibGluZUluZGV4RnJvbU5vZGVBbmRUb2tlbnMiLCJub2RlIiwidG9rZW5zIiwibGluZUluZGV4IiwiZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJnZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInNvbWUiLCJ0b2tlbiIsInRva2VuSW5kZXgiLCJ0b2tlbkVuZE9mTGluZVRva2VuIiwiaXNFbmRPZkxpbmVUb2tlbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSwyQkFBMkJDLElBQUksRUFBRUMsTUFBTTtJQUNyRCxJQUFJQyxZQUFZO0lBRWhCLElBQU1DLDZCQUE2QkgsS0FBS0ksNkJBQTZCLENBQUNIO0lBRXRFQSxPQUFPSSxJQUFJLENBQUMsU0FBQ0MsT0FBT0M7UUFDbEIsSUFBTUMsc0JBQXNCRixNQUFNRyxnQkFBZ0I7UUFFbEQsSUFBSUQscUJBQXFCO1lBQ3ZCTixhQUFhO1FBQ2Y7UUFFQSxJQUFJSyxlQUFlSiw0QkFBNEI7WUFDN0MsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPRDtBQUNUIn0=
|
package/lib/utilities/node.js
CHANGED
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get default () {
|
|
13
|
-
return _default;
|
|
14
|
-
},
|
|
15
12
|
get nodeAsString () {
|
|
16
13
|
return nodeAsString;
|
|
17
14
|
},
|
|
@@ -35,10 +32,6 @@ function nodesAsString(nodes, tokens) {
|
|
|
35
32
|
}, null);
|
|
36
33
|
return string;
|
|
37
34
|
}
|
|
38
|
-
var _default = {
|
|
39
|
-
nodeAsString: nodeAsString,
|
|
40
|
-
nodesAsString: nodesAsString
|
|
41
|
-
};
|
|
42
35
|
function trimString(string) {
|
|
43
36
|
string = string.replace(/\s+$/, _constants.EMPTY_STRING); ///
|
|
44
37
|
return string;
|
|
@@ -75,4 +68,4 @@ function nonTerminalNodeAsTokens(nonTerminalNode, tokens) {
|
|
|
75
68
|
return tokens;
|
|
76
69
|
}
|
|
77
70
|
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUFzU3RyaW5nKG5vZGUsIHRva2Vucykge1xuICBsZXQgc3RyaW5nO1xuXG4gIHRva2VucyA9IG5vZGVBc1Rva2Vucyhub2RlLCB0b2tlbnMpOyAgLy8vXG5cbiAgc3RyaW5nID0gdG9rZW5zQXNTdHJpbmcodG9rZW5zKTtcblxuICBzdHJpbmcgPSB0cmltU3RyaW5nKHN0cmluZyk7ICAvLy9cblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZXNBc1N0cmluZyhub2RlcywgdG9rZW5zKSB7XG4gIGNvbnN0IHN0cmluZyA9IG5vZGVzLnJlZHVjZSgoc3RyaW5nLCBub2RlKSA9PiB7XG4gICAgY29uc3Qgbm9kZVN0cmluZyA9IG5vZGVBc1N0cmluZyhub2RlLCB0b2tlbnMpO1xuXG4gICAgc3RyaW5nID0gKHN0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgbm9kZVN0cmluZyA6XG4gICAgICBgJHtzdHJpbmd9LCAke25vZGVTdHJpbmd9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHRyaW1TdHJpbmcoc3RyaW5nKSB7XG4gIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9cXHMrJC8sIEVNUFRZX1NUUklORyk7ICAvLy9cblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5mdW5jdGlvbiB0b2tlbnNBc1N0cmluZyh0b2tlbnMpIHtcbiAgY29uc3Qgc3RyaW5nID0gdG9rZW5zLnJlZHVjZSgoc3RyaW5nLCB0b2tlbikgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0b2tlbi5nZXRDb250ZW50KCk7XG5cbiAgICBzdHJpbmcgPSBgJHtzdHJpbmd9JHtjb250ZW50fWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIG5vZGVBc1Rva2Vucyhub2RlLCB0b2tlbnMpIHtcbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIHRva2VucyA9IHRlcm1pbmFsTm9kZUFzVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAvLy9cblxuICAgIHRva2VucyA9IG5vblRlcm1pbmFsTm9kZUFzVG9rZW5zKG5vblRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbnM7XG59XG5cbmZ1bmN0aW9uIHRlcm1pbmFsTm9kZUFzVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IHNpZ25pZmljYW50VG9rZW4gPSB0ZXJtaW5hbE5vZGUuZ2V0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICB0b2tlbiA9IHNpZ25pZmljYW50VG9rZW47IC8vL1xuXG4gIHRva2VucyA9IFsgIC8vL1xuICAgIHRva2VuXG4gIF07XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlQXNUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgY29uc3QgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vblRlcm1pbmFsTm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9uVGVybWluYWxOb2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7ICAvLy9cblxuICByZXR1cm4gdG9rZW5zO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVBc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJub2RlIiwidG9rZW5zIiwic3RyaW5nIiwibm9kZUFzVG9rZW5zIiwidG9rZW5zQXNTdHJpbmciLCJ0cmltU3RyaW5nIiwibm9kZXMiLCJyZWR1Y2UiLCJub2RlU3RyaW5nIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyIsInRva2VuIiwiY29udGVudCIsImdldENvbnRlbnQiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBc1Rva2VucyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUFzVG9rZW5zIiwic2lnbmlmaWNhbnRUb2tlbiIsImdldFNpZ25pZmljYW50VG9rZW4iLCJsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJzdGFydCIsImVuZCIsInNsaWNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFJZ0JBO2VBQUFBOztRQVlBQztlQUFBQTs7O3lCQWRhO0FBRXRCLFNBQVNELGFBQWFFLElBQUksRUFBRUMsTUFBTTtJQUN2QyxJQUFJQztJQUVKRCxTQUFTRSxhQUFhSCxNQUFNQyxTQUFVLEdBQUc7SUFFekNDLFNBQVNFLGVBQWVIO0lBRXhCQyxTQUFTRyxXQUFXSCxTQUFVLEdBQUc7SUFFakMsT0FBT0E7QUFDVDtBQUVPLFNBQVNILGNBQWNPLEtBQUssRUFBRUwsTUFBTTtJQUN6QyxJQUFNQyxTQUFTSSxNQUFNQyxNQUFNLENBQUMsU0FBQ0wsUUFBUUY7UUFDbkMsSUFBTVEsYUFBYVYsYUFBYUUsTUFBTUM7UUFFdENDLFNBQVMsQUFBQ0EsV0FBVyxPQUNuQk0sYUFDQSxBQUFDLEdBQWFBLE9BQVhOLFFBQU8sTUFBZSxPQUFYTTtRQUVoQixPQUFPTjtJQUNULEdBQUc7SUFFSCxPQUFPQTtBQUNUO0FBRUEsU0FBU0csV0FBV0gsTUFBTTtJQUN4QkEsU0FBU0EsT0FBT08sT0FBTyxDQUFDLFFBQVFDLHVCQUFZLEdBQUksR0FBRztJQUVuRCxPQUFPUjtBQUNUO0FBRUEsU0FBU0UsZUFBZUgsTUFBTTtJQUM1QixJQUFNQyxTQUFTRCxPQUFPTSxNQUFNLENBQUMsU0FBQ0wsUUFBUVM7UUFDcEMsSUFBTUMsVUFBVUQsTUFBTUUsVUFBVTtRQUVoQ1gsU0FBUyxBQUFDLEdBQVdVLE9BQVRWLFFBQWlCLE9BQVJVO1FBRXJCLE9BQU9WO0lBQ1QsR0FBR1EsdUJBQVk7SUFFZixPQUFPUjtBQUNUO0FBRUEsU0FBU0MsYUFBYUgsSUFBSSxFQUFFQyxNQUFNO0lBQ2hDLElBQU1hLG1CQUFtQmQsS0FBS2UsY0FBYztJQUU1QyxJQUFJRCxrQkFBa0I7UUFDcEIsSUFBTUUsZUFBZWhCLE1BQU8sR0FBRztRQUUvQkMsU0FBU2dCLHFCQUFxQkQsY0FBY2Y7SUFDOUMsT0FBTztRQUNMLElBQU1pQixrQkFBa0JsQixNQUFNLEdBQUc7UUFFakNDLFNBQVNrQix3QkFBd0JELGlCQUFpQmpCO0lBQ3BEO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNnQixxQkFBcUJELFlBQVksRUFBRWYsTUFBTTtJQUNoRCxJQUFNbUIsbUJBQW1CSixhQUFhSyxtQkFBbUIsSUFDbkRWLFFBQVFTLGtCQUFrQixHQUFHO0lBRW5DbkIsU0FBUztRQUNQVTtLQUNEO0lBRUQsT0FBT1Y7QUFDVDtBQUVBLFNBQVNrQix3QkFBd0JELGVBQWUsRUFBRWpCLE1BQU07SUFDdEQsSUFBTXFCLDRCQUE0QkosZ0JBQWdCSyw0QkFBNEIsQ0FBQ3RCLFNBQ3pFdUIsNkJBQTZCTixnQkFBZ0JPLDZCQUE2QixDQUFDeEIsU0FDM0V5QixRQUFRRiw0QkFDUkcsTUFBTUwsNEJBQTRCO0lBRXhDckIsU0FBU0EsT0FBTzJCLEtBQUssQ0FBQ0YsT0FBT0MsTUFBTyxHQUFHO0lBRXZDLE9BQU8xQjtBQUNUIn0=
|
|
@@ -31,20 +31,29 @@ function _interop_require_default(obj) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
function primitiveFromNode(node, context) {
|
|
34
|
-
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromNode)(node, context), string = primitiveString, type = _types.NODE_TYPE, value = node
|
|
34
|
+
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromNode)(node, context), string = primitiveString, type = _types.NODE_TYPE, value = node; ///
|
|
35
|
+
node = null;
|
|
36
|
+
context = null;
|
|
37
|
+
var primitive = new Primitive(context, string, node, type, value);
|
|
35
38
|
return primitive;
|
|
36
39
|
}
|
|
37
40
|
function primitiveFromNodes(nodes, context) {
|
|
38
|
-
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromNodes)(nodes, context), string = primitiveString, type = _types.NODES_TYPE, value = nodes,
|
|
41
|
+
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromNodes)(nodes, context), string = primitiveString, type = _types.NODES_TYPE, value = nodes, node = null;
|
|
42
|
+
context = null;
|
|
43
|
+
var primitive = new Primitive(context, string, node, type, value);
|
|
39
44
|
return primitive;
|
|
40
45
|
}
|
|
41
46
|
function primitiveFromBoolean(boolean, context) {
|
|
42
|
-
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromBoolean)(boolean), string = primitiveString, type = _types.BOOLEAN_TYPE, value = boolean,
|
|
47
|
+
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromBoolean)(boolean), string = primitiveString, type = _types.BOOLEAN_TYPE, value = boolean, node = null;
|
|
48
|
+
context = null;
|
|
49
|
+
var primitive = new Primitive(context, string, node, type, value);
|
|
43
50
|
return primitive;
|
|
44
51
|
}
|
|
45
52
|
function primitiveFromStringLiteral(stringLiteral, context) {
|
|
46
|
-
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromStringLiteral)(stringLiteral), string = primitiveString, type = _types.STRING_TYPE, value = stringLiteral,
|
|
53
|
+
var Primitive = _elements.default.Primitive, primitiveString = (0, _string.primtiveStringFromStringLiteral)(stringLiteral), string = primitiveString, type = _types.STRING_TYPE, value = stringLiteral, node = null;
|
|
54
|
+
context = null;
|
|
55
|
+
var primitive = new Primitive(context, string, node, type, value);
|
|
47
56
|
return primitive;
|
|
48
57
|
}
|
|
49
58
|
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcHJpbWl0aXZlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmltcG9ydCB7IE5PREVfVFlQRSwgTk9ERVNfVFlQRSwgU1RSSU5HX1RZUEUsIEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgcHJpbXRpdmVTdHJpbmdGcm9tTm9kZSwgcHJpbXRpdmVTdHJpbmdGcm9tTm9kZXMsIHByaW10aXZlU3RyaW5nRnJvbUJvb2xlYW4sIHByaW10aXZlU3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJpbWl0aXZlRnJvbU5vZGUobm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFByaW1pdGl2ZSB9ID0gZWxlbWVudHMsXG4gICAgICAgIHByaW1pdGl2ZVN0cmluZyA9IHByaW10aXZlU3RyaW5nRnJvbU5vZGUobm9kZSwgY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IHByaW1pdGl2ZVN0cmluZywgIC8vL1xuICAgICAgICB0eXBlID0gTk9ERV9UWVBFLFxuICAgICAgICB2YWx1ZSA9IG5vZGU7IC8vL1xuXG4gIG5vZGUgPSBudWxsO1xuXG4gIGNvbnRleHQgPSBudWxsO1xuXG4gIGNvbnN0IHByaW1pdGl2ZSA9IG5ldyBQcmltaXRpdmUoY29udGV4dCwgc3RyaW5nLCBub2RlLCB0eXBlLCB2YWx1ZSk7XG5cbiAgcmV0dXJuIHByaW1pdGl2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW1pdGl2ZUZyb21Ob2Rlcyhub2RlcywgY29udGV4dCkge1xuICBjb25zdCB7IFByaW1pdGl2ZSB9ID0gZWxlbWVudHMsXG4gICAgICAgIHByaW1pdGl2ZVN0cmluZyA9IHByaW10aXZlU3RyaW5nRnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlU3RyaW5nLCAgLy8vXG4gICAgICAgIHR5cGUgPSBOT0RFU19UWVBFLFxuICAgICAgICB2YWx1ZSA9IG5vZGVzLCAgLy8vXG4gICAgICAgIG5vZGUgPSBudWxsO1xuXG4gIGNvbnRleHQgPSBudWxsO1xuXG4gIGNvbnN0IHByaW1pdGl2ZSA9IG5ldyBQcmltaXRpdmUoY29udGV4dCwgc3RyaW5nLCBub2RlLCB0eXBlLCB2YWx1ZSk7XG5cbiAgcmV0dXJuIHByaW1pdGl2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW1pdGl2ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpIHtcbiAgY29uc3QgeyBQcmltaXRpdmUgfSA9IGVsZW1lbnRzLFxuICAgICAgICBwcmltaXRpdmVTdHJpbmcgPSBwcmltdGl2ZVN0cmluZ0Zyb21Cb29sZWFuKGJvb2xlYW4pLFxuICAgICAgICBzdHJpbmcgPSBwcmltaXRpdmVTdHJpbmcsICAvLy9cbiAgICAgICAgdHlwZSA9IEJPT0xFQU5fVFlQRSxcbiAgICAgICAgdmFsdWUgPSBib29sZWFuLCAgLy8vXG4gICAgICAgIG5vZGUgPSBudWxsO1xuXG4gIGNvbnRleHQgPSBudWxsO1xuXG4gIGNvbnN0IHByaW1pdGl2ZSA9IG5ldyBQcmltaXRpdmUoY29udGV4dCwgc3RyaW5nLCBub2RlLCB0eXBlLCB2YWx1ZSk7XG5cbiAgcmV0dXJuIHByaW1pdGl2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW1pdGl2ZUZyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBQcmltaXRpdmUgfSA9IGVsZW1lbnRzLFxuICAgICAgICBwcmltaXRpdmVTdHJpbmcgPSBwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwpLFxuICAgICAgICBzdHJpbmcgPSBwcmltaXRpdmVTdHJpbmcsICAvLy9cbiAgICAgICAgdHlwZSA9IFNUUklOR19UWVBFLFxuICAgICAgICB2YWx1ZSA9IHN0cmluZ0xpdGVyYWwsICAvLy9cbiAgICAgICAgbm9kZSA9IG51bGw7XG5cbiAgY29udGV4dCA9IG51bGw7XG5cbiAgY29uc3QgcHJpbWl0aXZlID0gbmV3IFByaW1pdGl2ZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHR5cGUsIHZhbHVlKTtcblxuICByZXR1cm4gcHJpbWl0aXZlO1xufVxuIl0sIm5hbWVzIjpbInByaW1pdGl2ZUZyb21Cb29sZWFuIiwicHJpbWl0aXZlRnJvbU5vZGUiLCJwcmltaXRpdmVGcm9tTm9kZXMiLCJwcmltaXRpdmVGcm9tU3RyaW5nTGl0ZXJhbCIsIm5vZGUiLCJjb250ZXh0IiwiUHJpbWl0aXZlIiwiZWxlbWVudHMiLCJwcmltaXRpdmVTdHJpbmciLCJwcmltdGl2ZVN0cmluZ0Zyb21Ob2RlIiwic3RyaW5nIiwidHlwZSIsIk5PREVfVFlQRSIsInZhbHVlIiwicHJpbWl0aXZlIiwibm9kZXMiLCJwcmltdGl2ZVN0cmluZ0Zyb21Ob2RlcyIsIk5PREVTX1RZUEUiLCJib29sZWFuIiwicHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbiIsIkJPT0xFQU5fVFlQRSIsInN0cmluZ0xpdGVyYWwiLCJwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsIiwiU1RSSU5HX1RZUEUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXNDZ0JBO2VBQUFBOztRQS9CQUM7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7UUE4QkFDO2VBQUFBOzs7K0RBbkRLO3FCQUU0QztzQkFDMkQ7Ozs7OztBQUVySCxTQUFTRixrQkFBa0JHLElBQUksRUFBRUMsT0FBTztJQUM3QyxJQUFNLEFBQUVDLFlBQWNDLGlCQUFRLENBQXRCRCxXQUNGRSxrQkFBa0JDLElBQUFBLDhCQUFzQixFQUFDTCxNQUFNQyxVQUMvQ0ssU0FBU0YsaUJBQ1RHLE9BQU9DLGdCQUFTLEVBQ2hCQyxRQUFRVCxNQUFNLEdBQUc7SUFFdkJBLE9BQU87SUFFUEMsVUFBVTtJQUVWLElBQU1TLFlBQVksSUFBSVIsVUFBVUQsU0FBU0ssUUFBUU4sTUFBTU8sTUFBTUU7SUFFN0QsT0FBT0M7QUFDVDtBQUVPLFNBQVNaLG1CQUFtQmEsS0FBSyxFQUFFVixPQUFPO0lBQy9DLElBQU0sQUFBRUMsWUFBY0MsaUJBQVEsQ0FBdEJELFdBQ0ZFLGtCQUFrQlEsSUFBQUEsK0JBQXVCLEVBQUNELE9BQU9WLFVBQ2pESyxTQUFTRixpQkFDVEcsT0FBT00saUJBQVUsRUFDakJKLFFBQVFFLE9BQ1JYLE9BQU87SUFFYkMsVUFBVTtJQUVWLElBQU1TLFlBQVksSUFBSVIsVUFBVUQsU0FBU0ssUUFBUU4sTUFBTU8sTUFBTUU7SUFFN0QsT0FBT0M7QUFDVDtBQUVPLFNBQVNkLHFCQUFxQmtCLE9BQU8sRUFBRWIsT0FBTztJQUNuRCxJQUFNLEFBQUVDLFlBQWNDLGlCQUFRLENBQXRCRCxXQUNGRSxrQkFBa0JXLElBQUFBLGlDQUF5QixFQUFDRCxVQUM1Q1IsU0FBU0YsaUJBQ1RHLE9BQU9TLG1CQUFZLEVBQ25CUCxRQUFRSyxTQUNSZCxPQUFPO0lBRWJDLFVBQVU7SUFFVixJQUFNUyxZQUFZLElBQUlSLFVBQVVELFNBQVNLLFFBQVFOLE1BQU1PLE1BQU1FO0lBRTdELE9BQU9DO0FBQ1Q7QUFFTyxTQUFTWCwyQkFBMkJrQixhQUFhLEVBQUVoQixPQUFPO0lBQy9ELElBQU0sQUFBRUMsWUFBY0MsaUJBQVEsQ0FBdEJELFdBQ0ZFLGtCQUFrQmMsSUFBQUEsdUNBQStCLEVBQUNELGdCQUNsRFgsU0FBU0YsaUJBQ1RHLE9BQU9ZLGtCQUFXLEVBQ2xCVixRQUFRUSxlQUNSakIsT0FBTztJQUViQyxVQUFVO0lBRVYsSUFBTVMsWUFBWSxJQUFJUixVQUFVRCxTQUFTSyxRQUFRTixNQUFNTyxNQUFNRTtJQUU3RCxPQUFPQztBQUNUIn0=
|
package/lib/utilities/string.js
CHANGED
|
@@ -18,6 +18,12 @@ _export(exports, {
|
|
|
18
18
|
get expressionStringFromProperties () {
|
|
19
19
|
return expressionStringFromProperties;
|
|
20
20
|
},
|
|
21
|
+
get nodePropertiesStringFromNodePropertiesArray () {
|
|
22
|
+
return nodePropertiesStringFromNodePropertiesArray;
|
|
23
|
+
},
|
|
24
|
+
get nodePropertyStringFromNameAndType () {
|
|
25
|
+
return nodePropertyStringFromNameAndType;
|
|
26
|
+
},
|
|
21
27
|
get primtiveStringFromBoolean () {
|
|
22
28
|
return primtiveStringFromBoolean;
|
|
23
29
|
},
|
|
@@ -45,8 +51,8 @@ _export(exports, {
|
|
|
45
51
|
get someStringFromVariableAndAnonymousProcedure () {
|
|
46
52
|
return someStringFromVariableAndAnonymousProcedure;
|
|
47
53
|
},
|
|
48
|
-
get
|
|
49
|
-
return
|
|
54
|
+
get termStringFromProperties () {
|
|
55
|
+
return termStringFromProperties;
|
|
50
56
|
},
|
|
51
57
|
get termsStringFromTermsArray () {
|
|
52
58
|
return termsStringFromTermsArray;
|
|
@@ -91,6 +97,16 @@ function primtiveStringFromNodes(nodes, context) {
|
|
|
91
97
|
var string = context.nodesAsString(nodes), primtiveString = string; ///
|
|
92
98
|
return primtiveString;
|
|
93
99
|
}
|
|
100
|
+
function termStringFromProperties(properties) {
|
|
101
|
+
var termString;
|
|
102
|
+
properties.forEach(function(property) {
|
|
103
|
+
if (property !== null) {
|
|
104
|
+
var propertyString = property.getString();
|
|
105
|
+
termString = propertyString; ///
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
return termString;
|
|
109
|
+
}
|
|
94
110
|
function primtiveStringFromBoolean(boolean) {
|
|
95
111
|
var expresssionString = "".concat(boolean);
|
|
96
112
|
return expresssionString;
|
|
@@ -117,22 +133,9 @@ function primtiveStringFromStringLiteral(stringLiteral) {
|
|
|
117
133
|
var string = (0, _stringLiteral.stringFromStringLiteral)(stringLiteral), primtiveString = string; ///
|
|
118
134
|
return primtiveString;
|
|
119
135
|
}
|
|
120
|
-
function
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
///
|
|
124
|
-
} else if (primitive !== null) {
|
|
125
|
-
var primitiveString = primitive.getString();
|
|
126
|
-
termString = primitiveString; ///
|
|
127
|
-
} else {
|
|
128
|
-
properties.forEach(function(property) {
|
|
129
|
-
if (property !== null) {
|
|
130
|
-
var propertyString = property.getString();
|
|
131
|
-
termString = propertyString; ///
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
return termString;
|
|
136
|
+
function nodePropertyStringFromNameAndType(name, type) {
|
|
137
|
+
var typeString = type, nameString = name, nodePropertyString = "".concat(typeString, " ").concat(nameString);
|
|
138
|
+
return nodePropertyString;
|
|
136
139
|
}
|
|
137
140
|
function procedureDeclarationStringFromProcedure(procedure) {
|
|
138
141
|
var type = procedure.getType(), label = procedure.getLabel(), parameters = procedure.getParameters(), returnStatement = procedure.getReturnStatement(), labelString = label.getString(), parametersString = parameters.getString(), returnStatementString = returnStatement.getString(), procedureDelcarationString = "".concat(type, " ").concat(labelString, "(").concat(parametersString, ") { ... ").concat(returnStatementString, " }");
|
|
@@ -142,6 +145,14 @@ function returnBlockStringFromReturnStatementNode(returnStatement) {
|
|
|
142
145
|
var returnStatementString = returnStatement.getString(), returnBlockString = "{ ... ".concat(returnStatementString, " }");
|
|
143
146
|
return returnBlockString;
|
|
144
147
|
}
|
|
148
|
+
function nodePropertiesStringFromNodePropertiesArray(nodePropertiesArray) {
|
|
149
|
+
var nodePropertiesString = nodePropertiesArray.reduce(function(nodePropertiesString, nodeProperty) {
|
|
150
|
+
var nodePropertyString = nodeProperty.getString();
|
|
151
|
+
nodePropertiesString = nodePropertiesString === null ? nodePropertyString : "".concat(nodePropertiesString, ", ").concat(nodePropertyString);
|
|
152
|
+
return nodePropertiesString;
|
|
153
|
+
}, null);
|
|
154
|
+
return nodePropertiesString;
|
|
155
|
+
}
|
|
145
156
|
function variableAssignmentStringFromTypeAndVariable(type, variable) {
|
|
146
157
|
var variableString = variable.getString(), variableAssignmentString = "".concat(type, " ").concat(variableString, " = ... ;");
|
|
147
158
|
return variableAssignmentString;
|
|
@@ -180,4 +191,4 @@ function reduceStringFromVariableInitialExpressionAndAnonymousProcedure(variable
|
|
|
180
191
|
return reduceString;
|
|
181
192
|
}
|
|
182
193
|
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbnVsbE5vZGUgZnJvbSBcIi4uL251bGxOb2RlXCI7XG5cbmltcG9ydCB7IE5VTEwgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCB9IGZyb20gXCIuL3N0cmluZ0xpdGVyYWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm5hcnlTdHJpbmdGcm9tVGVybSh0ZXJtKSB7XG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICB0ZXJuYXJ5U3RyaW5nID0gYGlmICgke3Rlcm1TdHJpbmd9KSB7IC4uLiB9IGVsc2UgeyAuLi4gfWA7XG5cbiAgcmV0dXJuIHRlcm5hcnlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSBuYW1lOyAgLy8vXG5cbiAgcmV0dXJuIHZhcmlhYmxlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tTm9kZShub2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHByaW10aXZlU3RyaW5nID0gKG5vZGUgPT09IG51bGxOb2RlKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW10aXZlU3RyaW5nRnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHN0cmluZyA9IGNvbnRleHQubm9kZXNBc1N0cmluZyhub2RlcyksXG4gICAgICAgIHByaW10aXZlU3RyaW5nID0gc3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHByaW10aXZlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbihib29sZWFuKSB7XG4gIGNvbnN0IGV4cHJlc3NzaW9uU3RyaW5nID0gYCR7Ym9vbGVhbn1gO1xuXG4gIHJldHVybiBleHByZXNzc2lvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkodGVybXNBcnJheSkge1xuICBjb25zdCB0ZXJtc1N0cmluZyA9IHRlcm1zQXJyYXkucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgdGVybVN0cmluZyA6XG4gICAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTsgLy8vXG5cbiAgcmV0dXJuIHRlcm1zU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwcmVzc2lvblN0cmluZ0Zyb21Qcm9wZXJ0aWVzKHByb3BlcnRpZXMpIHtcbiAgbGV0IGV4cHJlc3Npb25TdHJpbmc7XG5cbiAgcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eS5nZXRTdHJpbmcoKTtcblxuICAgICAgZXhwcmVzc2lvblN0cmluZyA9IHByb3BlcnR5U3RyaW5nOyAgLy8vXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZXhwcmVzc2lvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW10aXZlU3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCkge1xuICBjb25zdCBzdHJpbmcgPSBzdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsKSxcbiAgICAgICAgcHJpbXRpdmVTdHJpbmcgPSBzdHJpbmc7ICAvLy9cblxuICByZXR1cm4gcHJpbXRpdmVTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtU3RyaW5nRnJvbVByaW1pdGl2ZUFuZFByb3BlcnRpZXMocHJpbWl0aXZlLCBwcm9wZXJ0aWVzKSB7XG4gIGxldCB0ZXJtU3RyaW5nO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHByaW1pdGl2ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHByaW1pdGl2ZVN0cmluZyA9IHByaW1pdGl2ZS5nZXRTdHJpbmcoKTtcblxuICAgIHRlcm1TdHJpbmcgPSBwcmltaXRpdmVTdHJpbmc7IC8vL1xuICB9IGVsc2Uge1xuICAgIHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eVN0cmluZyA9IHByb3BlcnR5LmdldFN0cmluZygpO1xuXG4gICAgICAgIHRlcm1TdHJpbmcgPSBwcm9wZXJ0eVN0cmluZzsgIC8vL1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZ0Zyb21Qcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gIGNvbnN0IHR5cGUgPSBwcm9jZWR1cmUuZ2V0VHlwZSgpLFxuICAgICAgICBsYWJlbCA9IHByb2NlZHVyZS5nZXRMYWJlbCgpLFxuICAgICAgICBwYXJhbWV0ZXJzID0gcHJvY2VkdXJlLmdldFBhcmFtZXRlcnMoKSxcbiAgICAgICAgcmV0dXJuU3RhdGVtZW50ID0gcHJvY2VkdXJlLmdldFJldHVyblN0YXRlbWVudCgpLFxuICAgICAgICBsYWJlbFN0cmluZyA9IGxhYmVsLmdldFN0cmluZygpLFxuICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgcmV0dXJuU3RhdGVtZW50U3RyaW5nID0gcmV0dXJuU3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICBwcm9jZWR1cmVEZWxjYXJhdGlvblN0cmluZyA9IGAke3R5cGV9ICR7bGFiZWxTdHJpbmcgfSgke3BhcmFtZXRlcnNTdHJpbmd9KSB7IC4uLiAke3JldHVyblN0YXRlbWVudFN0cmluZ30gfWA7XG5cbiAgcmV0dXJuIHByb2NlZHVyZURlbGNhcmF0aW9uU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmV0dXJuQmxvY2tTdHJpbmdGcm9tUmV0dXJuU3RhdGVtZW50Tm9kZShyZXR1cm5TdGF0ZW1lbnQpIHtcbiAgY29uc3QgcmV0dXJuU3RhdGVtZW50U3RyaW5nID0gcmV0dXJuU3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5CbG9ja1N0cmluZyA9IGB7IC4uLiAke3JldHVyblN0YXRlbWVudFN0cmluZ30gfWA7XG5cbiAgcmV0dXJuIHJldHVybkJsb2NrU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVR5cGVBbmRWYXJpYWJsZSh0eXBlLCB2YXJpYWJsZSkge1xuICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSBgJHt0eXBlfSAke3ZhcmlhYmxlU3RyaW5nfSA9IC4uLiA7YDtcblxuICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29tZVN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSh2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGFub255bW91c1Byb2NlZHVyZVN0cmluZyA9IGFub255bW91c1Byb2NlZHVyZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgc29tZVN0cmluZyA9IGBTb21lKCR7dmFyaWFibGVTdHJpbmd9LCAke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30pIGA7XG5cbiAgcmV0dXJuIHNvbWVTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBldmVyeVN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSh2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGFub255bW91c1Byb2NlZHVyZVN0cmluZyA9IGFub255bW91c1Byb2NlZHVyZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgZXZlcnlTdHJpbmcgPSBgRXZlcnkoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSkgYDtcblxuICByZXR1cm4gZXZlcnlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVmFyaWFibGVBc3NpZ25tZW50KHZhcmlhYmxlQXNzaWdubWVudCkge1xuICBjb25zdCB2YXJpYWJsZSA9IHZhcmlhYmxlQXNzaWdubWVudC5nZXRWYXJpYWJsZSgpLFxuICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSBgJHt2YXJpYWJsZVN0cmluZ30gPSAuLi5gO1xuXG4gIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVTdHJpbmdGcm9tVHlwZUxhYmVsUGFyYW1ldGVyc0FuZFJldHVybkJsb2NrKHR5cGUsIGxhYmVsLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jaykge1xuICBjb25zdCB0eXBlU3RyaW5nID0gdHlwZSwgIC8vL1xuICAgICAgICBsYWJlbFN0cmluZyA9IGxhYmVsLmdldFN0cmluZygpLFxuICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgcmV0dXJuQmxvY2tTdHJpbmcgPSByZXR1cm5CbG9jay5nZXRTdHJpbmcoKSxcbiAgICAgICAgcHJvY2VkdXJlU3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHtsYWJlbFN0cmluZ30oJHtwYXJhbWV0ZXJzU3RyaW5nfSkgJHtyZXR1cm5CbG9ja1N0cmluZ31gO1xuXG4gIHJldHVybiBwcm9jZWR1cmVTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmdGcm9tVHlwZVBhcmFtZXRlcnNBbmRSZXR1cm5CbG9jayh0eXBlLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jaykge1xuICBjb25zdCB0eXBlU3RyaW5nID0gdHlwZSwgIC8vL1xuICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgcmV0dXJuQmxvY2tTdHJpbmcgPSByZXR1cm5CbG9jay5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYCR7dHlwZVN0cmluZ30gKCR7cGFyYW1ldGVyc1N0cmluZ30pICR7cmV0dXJuQmxvY2tTdHJpbmd9YDtcblxuICByZXR1cm4gYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkodHlwZSwgdmFyaWFibGVBc3NpZ25tZW50c0FycmF5KSB7XG4gIGxldCB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gdmFyaWFibGVBc3NpZ25tZW50c0FycmF5LnJlZHVjZSgodmFyaWFibGVBc3NpZ25tZW50c1N0cmluZywgdmFyaWFibGVBc3NpZ25tZW50KSA9PiB7XG4gICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nID0gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVZhcmlhYmxlQXNzaWdubWVudCh2YXJpYWJsZUFzc2lnbm1lbnQpO1xuXG4gICAgdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9ICh2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgOlxuICAgICAgYCR7dmFyaWFibGVBc3NpZ25tZW50c1N0cmluZ30sICR7dmFyaWFibGVBc3NpZ25tZW50U3RyaW5nfWA7XG5cbiAgICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZztcbiAgfSwgbnVsbCk7IC8vL1xuXG4gIHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPSBgJHt0eXBlfSAke3ZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmd9IDtgOyAvLy9cblxuICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZVN0cmluZ0Zyb21WYXJpYWJsZUluaXRpYWxFeHByZXNzaW9uQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBpbml0aWFsRXhwcmVzc2lvbiwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGluaXRpYWxFeHByZXNzaW9uU3RyaW5nID0gaW5pdGlhbEV4cHJlc3Npb24uZ2V0U3RyaW5nKCksXG4gICAgICAgIGFub255bW91c1Byb2NlZHVyZVN0cmluZyA9IGFub255bW91c1Byb2NlZHVyZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgcmVkdWNlU3RyaW5nID0gYFJlZHVjZSgke3ZhcmlhYmxlU3RyaW5nfSwgJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9LCAke2luaXRpYWxFeHByZXNzaW9uU3RyaW5nfSlgO1xuXG4gIHJldHVybiByZWR1Y2VTdHJpbmc7XG59XG5cbiJdLCJuYW1lcyI6WyJhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmdGcm9tVHlwZVBhcmFtZXRlcnNBbmRSZXR1cm5CbG9jayIsImV2ZXJ5U3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlIiwiZXhwcmVzc2lvblN0cmluZ0Zyb21Qcm9wZXJ0aWVzIiwicHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbiIsInByaW10aXZlU3RyaW5nRnJvbU5vZGUiLCJwcmltdGl2ZVN0cmluZ0Zyb21Ob2RlcyIsInByaW10aXZlU3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwiLCJwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZ0Zyb21Qcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmdGcm9tVHlwZUxhYmVsUGFyYW1ldGVyc0FuZFJldHVybkJsb2NrIiwicmVkdWNlU3RyaW5nRnJvbVZhcmlhYmxlSW5pdGlhbEV4cHJlc3Npb25BbmRBbm9ueW1vdXNQcm9jZWR1cmUiLCJyZXR1cm5CbG9ja1N0cmluZ0Zyb21SZXR1cm5TdGF0ZW1lbnROb2RlIiwic29tZVN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSIsInRlcm1TdHJpbmdGcm9tUHJpbWl0aXZlQW5kUHJvcGVydGllcyIsInRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkiLCJ0ZXJuYXJ5U3RyaW5nRnJvbVRlcm0iLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlIiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkiLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVmFyaWFibGVBc3NpZ25tZW50IiwidmFyaWFibGVTdHJpbmdGcm9tTmFtZSIsInRlcm0iLCJ0ZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidGVybmFyeVN0cmluZyIsIm5hbWUiLCJ2YXJpYWJsZVN0cmluZyIsIm5vZGUiLCJjb250ZXh0IiwicHJpbXRpdmVTdHJpbmciLCJudWxsTm9kZSIsIk5VTEwiLCJub2RlQXNTdHJpbmciLCJub2RlcyIsInN0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJib29sZWFuIiwiZXhwcmVzc3Npb25TdHJpbmciLCJ0ZXJtc0FycmF5IiwidGVybXNTdHJpbmciLCJyZWR1Y2UiLCJwcm9wZXJ0aWVzIiwiZXhwcmVzc2lvblN0cmluZyIsImZvckVhY2giLCJwcm9wZXJ0eSIsInByb3BlcnR5U3RyaW5nIiwic3RyaW5nTGl0ZXJhbCIsInN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsIiwicHJpbWl0aXZlIiwicHJpbWl0aXZlU3RyaW5nIiwicHJvY2VkdXJlIiwidHlwZSIsImdldFR5cGUiLCJsYWJlbCIsImdldExhYmVsIiwicGFyYW1ldGVycyIsImdldFBhcmFtZXRlcnMiLCJyZXR1cm5TdGF0ZW1lbnQiLCJnZXRSZXR1cm5TdGF0ZW1lbnQiLCJsYWJlbFN0cmluZyIsInBhcmFtZXRlcnNTdHJpbmciLCJyZXR1cm5TdGF0ZW1lbnRTdHJpbmciLCJwcm9jZWR1cmVEZWxjYXJhdGlvblN0cmluZyIsInJldHVybkJsb2NrU3RyaW5nIiwidmFyaWFibGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmciLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmciLCJzb21lU3RyaW5nIiwiZXZlcnlTdHJpbmciLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJnZXRWYXJpYWJsZSIsInJldHVybkJsb2NrIiwidHlwZVN0cmluZyIsInByb2NlZHVyZVN0cmluZyIsInZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmciLCJpbml0aWFsRXhwcmVzc2lvbiIsImluaXRpYWxFeHByZXNzaW9uU3RyaW5nIiwicmVkdWNlU3Ry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
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbnVsbE5vZGUgZnJvbSBcIi4uL251bGxOb2RlXCI7XG5cbmltcG9ydCB7IE5VTEwgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCB9IGZyb20gXCIuL3N0cmluZ0xpdGVyYWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm5hcnlTdHJpbmdGcm9tVGVybSh0ZXJtKSB7XG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICB0ZXJuYXJ5U3RyaW5nID0gYGlmICgke3Rlcm1TdHJpbmd9KSB7IC4uLiB9IGVsc2UgeyAuLi4gfWA7XG5cbiAgcmV0dXJuIHRlcm5hcnlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSBuYW1lOyAgLy8vXG5cbiAgcmV0dXJuIHZhcmlhYmxlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tTm9kZShub2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHByaW10aXZlU3RyaW5nID0gKG5vZGUgPT09IG51bGxOb2RlKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW10aXZlU3RyaW5nRnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHN0cmluZyA9IGNvbnRleHQubm9kZXNBc1N0cmluZyhub2RlcyksXG4gICAgICAgIHByaW10aXZlU3RyaW5nID0gc3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHByaW10aXZlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybVN0cmluZ0Zyb21Qcm9wZXJ0aWVzKHByb3BlcnRpZXMpIHtcbiAgbGV0IHRlcm1TdHJpbmc7XG5cbiAgcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eS5nZXRTdHJpbmcoKTtcblxuICAgICAgdGVybVN0cmluZyA9IHByb3BlcnR5U3RyaW5nOyAgLy8vXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGVybVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW10aXZlU3RyaW5nRnJvbUJvb2xlYW4oYm9vbGVhbikge1xuICBjb25zdCBleHByZXNzc2lvblN0cmluZyA9IGAke2Jvb2xlYW59YDtcblxuICByZXR1cm4gZXhwcmVzc3Npb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtc1N0cmluZ0Zyb21UZXJtc0FycmF5KHRlcm1zQXJyYXkpIHtcbiAgY29uc3QgdGVybXNTdHJpbmcgPSB0ZXJtc0FycmF5LnJlZHVjZSgodGVybXNTdHJpbmcsIHRlcm0pID0+IHtcbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKTtcblxuICAgIHRlcm1zU3RyaW5nID0gKHRlcm1zU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgIHRlcm1TdHJpbmcgOlxuICAgICAgICAgICAgICAgICAgICAgYCR7dGVybXNTdHJpbmd9LCAke3Rlcm1TdHJpbmd9YDtcblxuICAgIHJldHVybiB0ZXJtc1N0cmluZztcbiAgfSwgbnVsbCk7IC8vL1xuXG4gIHJldHVybiB0ZXJtc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cHJlc3Npb25TdHJpbmdGcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzKSB7XG4gIGxldCBleHByZXNzaW9uU3RyaW5nO1xuXG4gIHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICBpZiAocHJvcGVydHkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBwcm9wZXJ0eVN0cmluZzsgIC8vL1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwpIHtcbiAgY29uc3Qgc3RyaW5nID0gc3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCksXG4gICAgICAgIHByaW10aXZlU3RyaW5nID0gc3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHByaW10aXZlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZVByb3BlcnR5U3RyaW5nRnJvbU5hbWVBbmRUeXBlKG5hbWUsIHR5cGUpIHtcbiAgY29uc3QgdHlwZVN0cmluZyA9IHR5cGUsICAvLy9cbiAgICAgICAgbmFtZVN0cmluZyA9IG5hbWUsICAvLy9cbiAgICAgICAgbm9kZVByb3BlcnR5U3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHtuYW1lU3RyaW5nfWA7XG5cbiAgcmV0dXJuIG5vZGVQcm9wZXJ0eVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZURlY2xhcmF0aW9uU3RyaW5nRnJvbVByb2NlZHVyZShwcm9jZWR1cmUpIHtcbiAgY29uc3QgdHlwZSA9IHByb2NlZHVyZS5nZXRUeXBlKCksXG4gICAgICAgIGxhYmVsID0gcHJvY2VkdXJlLmdldExhYmVsKCksXG4gICAgICAgIHBhcmFtZXRlcnMgPSBwcm9jZWR1cmUuZ2V0UGFyYW1ldGVycygpLFxuICAgICAgICByZXR1cm5TdGF0ZW1lbnQgPSBwcm9jZWR1cmUuZ2V0UmV0dXJuU3RhdGVtZW50KCksXG4gICAgICAgIGxhYmVsU3RyaW5nID0gbGFiZWwuZ2V0U3RyaW5nKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5TdGF0ZW1lbnRTdHJpbmcgPSByZXR1cm5TdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgIHByb2NlZHVyZURlbGNhcmF0aW9uU3RyaW5nID0gYCR7dHlwZX0gJHtsYWJlbFN0cmluZyB9KCR7cGFyYW1ldGVyc1N0cmluZ30pIHsgLi4uICR7cmV0dXJuU3RhdGVtZW50U3RyaW5nfSB9YDtcblxuICByZXR1cm4gcHJvY2VkdXJlRGVsY2FyYXRpb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXR1cm5CbG9ja1N0cmluZ0Zyb21SZXR1cm5TdGF0ZW1lbnROb2RlKHJldHVyblN0YXRlbWVudCkge1xuICBjb25zdCByZXR1cm5TdGF0ZW1lbnRTdHJpbmcgPSByZXR1cm5TdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgIHJldHVybkJsb2NrU3RyaW5nID0gYHsgLi4uICR7cmV0dXJuU3RhdGVtZW50U3RyaW5nfSB9YDtcblxuICByZXR1cm4gcmV0dXJuQmxvY2tTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlUHJvcGVydGllc1N0cmluZ0Zyb21Ob2RlUHJvcGVydGllc0FycmF5KG5vZGVQcm9wZXJ0aWVzQXJyYXkpIHtcbiAgY29uc3Qgbm9kZVByb3BlcnRpZXNTdHJpbmcgPSBub2RlUHJvcGVydGllc0FycmF5LnJlZHVjZSgobm9kZVByb3BlcnRpZXNTdHJpbmcsIG5vZGVQcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZVByb3BlcnR5U3RyaW5nID0gbm9kZVByb3BlcnR5LmdldFN0cmluZygpO1xuXG4gICAgICBub2RlUHJvcGVydGllc1N0cmluZyA9IChub2RlUHJvcGVydGllc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVQcm9wZXJ0eVN0cmluZyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke25vZGVQcm9wZXJ0aWVzU3RyaW5nfSwgJHtub2RlUHJvcGVydHlTdHJpbmd9YDtcblxuICAgICAgcmV0dXJuIG5vZGVQcm9wZXJ0aWVzU3RyaW5nO1xuICAgIH0sIG51bGwpO1xuXG4gIHJldHVybiBub2RlUHJvcGVydGllc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21UeXBlQW5kVmFyaWFibGUodHlwZSwgdmFyaWFibGUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nID0gYCR7dHlwZX0gJHt2YXJpYWJsZVN0cmluZ30gPSAuLi4gO2A7XG5cbiAgcmV0dXJuIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvbWVTdHJpbmdGcm9tVmFyaWFibGVBbmRBbm9ueW1vdXNQcm9jZWR1cmUodmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSkge1xuICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSBhbm9ueW1vdXNQcm9jZWR1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHNvbWVTdHJpbmcgPSBgU29tZSgke3ZhcmlhYmxlU3RyaW5nfSwgJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9KSBgO1xuXG4gIHJldHVybiBzb21lU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXZlcnlTdHJpbmdGcm9tVmFyaWFibGVBbmRBbm9ueW1vdXNQcm9jZWR1cmUodmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSkge1xuICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSBhbm9ueW1vdXNQcm9jZWR1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGV2ZXJ5U3RyaW5nID0gYEV2ZXJ5KCR7dmFyaWFibGVTdHJpbmd9LCAke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30pIGA7XG5cbiAgcmV0dXJuIGV2ZXJ5U3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVZhcmlhYmxlQXNzaWdubWVudCh2YXJpYWJsZUFzc2lnbm1lbnQpIHtcbiAgY29uc3QgdmFyaWFibGUgPSB2YXJpYWJsZUFzc2lnbm1lbnQuZ2V0VmFyaWFibGUoKSxcbiAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nID0gYCR7dmFyaWFibGVTdHJpbmd9ID0gLi4uYDtcblxuICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlU3RyaW5nRnJvbVR5cGVMYWJlbFBhcmFtZXRlcnNBbmRSZXR1cm5CbG9jayh0eXBlLCBsYWJlbCwgcGFyYW1ldGVycywgcmV0dXJuQmxvY2spIHtcbiAgY29uc3QgdHlwZVN0cmluZyA9IHR5cGUsICAvLy9cbiAgICAgICAgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgcGFyYW1ldGVyc1N0cmluZyA9IHBhcmFtZXRlcnMuZ2V0U3RyaW5nKCksXG4gICAgICAgIHJldHVybkJsb2NrU3RyaW5nID0gcmV0dXJuQmxvY2suZ2V0U3RyaW5nKCksXG4gICAgICAgIHByb2NlZHVyZVN0cmluZyA9IGAke3R5cGVTdHJpbmd9ICR7bGFiZWxTdHJpbmd9KCR7cGFyYW1ldGVyc1N0cmluZ30pICR7cmV0dXJuQmxvY2tTdHJpbmd9YDtcblxuICByZXR1cm4gcHJvY2VkdXJlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nRnJvbVR5cGVQYXJhbWV0ZXJzQW5kUmV0dXJuQmxvY2sodHlwZSwgcGFyYW1ldGVycywgcmV0dXJuQmxvY2spIHtcbiAgY29uc3QgdHlwZVN0cmluZyA9IHR5cGUsICAvLy9cbiAgICAgICAgcGFyYW1ldGVyc1N0cmluZyA9IHBhcmFtZXRlcnMuZ2V0U3RyaW5nKCksXG4gICAgICAgIHJldHVybkJsb2NrU3RyaW5nID0gcmV0dXJuQmxvY2suZ2V0U3RyaW5nKCksXG4gICAgICAgIGFub255bW91c1Byb2NlZHVyZVN0cmluZyA9IGAke3R5cGVTdHJpbmd9ICgke3BhcmFtZXRlcnNTdHJpbmd9KSAke3JldHVybkJsb2NrU3RyaW5nfWA7XG5cbiAgcmV0dXJuIGFub255bW91c1Byb2NlZHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50c0FycmF5KHR5cGUsIHZhcmlhYmxlQXNzaWdubWVudHNBcnJheSkge1xuICBsZXQgdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9IHZhcmlhYmxlQXNzaWdubWVudHNBcnJheS5yZWR1Y2UoKHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcsIHZhcmlhYmxlQXNzaWdubWVudCkgPT4ge1xuICAgIGNvbnN0IHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFzc2lnbm1lbnQodmFyaWFibGVBc3NpZ25tZW50KTtcblxuICAgIHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPSAodmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIDpcbiAgICAgIGAke3ZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmd9LCAke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmc7XG4gIH0sIG51bGwpOyAvLy9cblxuICB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gYCR7dHlwZX0gJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfSA7YDsgLy8vXG5cbiAgcmV0dXJuIHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2VTdHJpbmdGcm9tVmFyaWFibGVJbml0aWFsRXhwcmVzc2lvbkFuZEFub255bW91c1Byb2NlZHVyZSh2YXJpYWJsZSwgaW5pdGlhbEV4cHJlc3Npb24sIGFub255bW91c1Byb2NlZHVyZSkge1xuICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICBpbml0aWFsRXhwcmVzc2lvblN0cmluZyA9IGluaXRpYWxFeHByZXNzaW9uLmdldFN0cmluZygpLFxuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSBhbm9ueW1vdXNQcm9jZWR1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHJlZHVjZVN0cmluZyA9IGBSZWR1Y2UoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSwgJHtpbml0aWFsRXhwcmVzc2lvblN0cmluZ30pYDtcblxuICByZXR1cm4gcmVkdWNlU3RyaW5nO1xufVxuXG4iXSwibmFtZXMiOlsiYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nRnJvbVR5cGVQYXJhbWV0ZXJzQW5kUmV0dXJuQmxvY2siLCJldmVyeVN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSIsImV4cHJlc3Npb25TdHJpbmdGcm9tUHJvcGVydGllcyIsIm5vZGVQcm9wZXJ0aWVzU3RyaW5nRnJvbU5vZGVQcm9wZXJ0aWVzQXJyYXkiLCJub2RlUHJvcGVydHlTdHJpbmdGcm9tTmFtZUFuZFR5cGUiLCJwcmltdGl2ZVN0cmluZ0Zyb21Cb29sZWFuIiwicHJpbXRpdmVTdHJpbmdGcm9tTm9kZSIsInByaW10aXZlU3RyaW5nRnJvbU5vZGVzIiwicHJpbXRpdmVTdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCIsInByb2NlZHVyZURlY2xhcmF0aW9uU3RyaW5nRnJvbVByb2NlZHVyZSIsInByb2NlZHVyZVN0cmluZ0Zyb21UeXBlTGFiZWxQYXJhbWV0ZXJzQW5kUmV0dXJuQmxvY2siLCJyZWR1Y2VTdHJpbmdGcm9tVmFyaWFibGVJbml0aWFsRXhwcmVzc2lvbkFuZEFub255bW91c1Byb2NlZHVyZSIsInJldHVybkJsb2NrU3RyaW5nRnJvbVJldHVyblN0YXRlbWVudE5vZGUiLCJzb21lU3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlIiwidGVybVN0cmluZ0Zyb21Qcm9wZXJ0aWVzIiwidGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSIsInRlcm5hcnlTdHJpbmdGcm9tVGVybSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21UeXBlQW5kVmFyaWFibGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFzc2lnbm1lbnQiLCJ2YXJpYWJsZVN0cmluZ0Zyb21OYW1lIiwidGVybSIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJ0ZXJuYXJ5U3RyaW5nIiwibmFtZSIsInZhcmlhYmxlU3RyaW5nIiwibm9kZSIsImNvbnRleHQiLCJwcmltdGl2ZVN0cmluZyIsIm51bGxOb2RlIiwiTlVMTCIsIm5vZGVBc1N0cmluZyIsIm5vZGVzIiwic3RyaW5nIiwibm9kZXNBc1N0cmluZyIsInByb3BlcnRpZXMiLCJmb3JFYWNoIiwicHJvcGVydHkiLCJwcm9wZXJ0eVN0cmluZyIsImJvb2xlYW4iLCJleHByZXNzc2lvblN0cmluZyIsInRlcm1zQXJyYXkiLCJ0ZXJtc1N0cmluZyIsInJlZHVjZSIsImV4cHJlc3Npb25TdHJpbmciLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwiLCJ0eXBlIiwidHlwZVN0cmluZyIsIm5hbWVTdHJpbmciLCJub2RlUHJvcGVydHlTdHJpbmciLCJwcm9jZWR1cmUiLCJnZXRUeXBlIiwibGFiZWwiLCJnZXRMYWJlbCIsInBhcmFtZXRlcnMiLCJnZXRQYXJhbWV0ZXJzIiwicmV0dXJuU3RhdGVtZW50IiwiZ2V0UmV0dXJuU3RhdGVtZW50IiwibGFiZWxTdHJpbmciLCJwYXJhbWV0ZXJzU3RyaW5nIiwicmV0dXJuU3RhdGVtZW50U3RyaW5nIiwicHJvY2VkdXJlRGVsY2FyYXRpb25TdHJpbmciLCJyZXR1cm5CbG9ja1N0cmluZyIsIm5vZGVQcm9wZXJ0aWVzQXJyYXkiLCJub2RlUHJvcGVydGllc1N0cmluZyIsIm5vZGVQcm9wZXJ0eSIsInZhcmlhYmxlIiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIiwiYW5vbnltb3VzUHJvY2VkdXJlIiwiYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nIiwic29tZVN0cmluZyIsImV2ZXJ5U3RyaW5nIiwidmFyaWFibGVBc3NpZ25tZW50IiwiZ2V0VmFyaWFibGUiLCJyZXR1cm5CbG9jayIsInByb2NlZHVyZVN0cmluZyIsInZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmciLCJpbml0aWFsRXhwcmVzc2lvbiIsImluaXRpYWxFeHByZXNzaW9uU3RyaW5nIiwicmVkdWNlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE2S2dCQTtlQUFBQTs7UUExQkFDO2VBQUFBOztRQTlFQUM7ZUFBQUE7O1FBaURBQztlQUFBQTs7UUE1QkFDO2VBQUFBOztRQXpDQUM7ZUFBQUE7O1FBN0JBQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBdURBQztlQUFBQTs7UUFlQUM7ZUFBQUE7O1FBaUVBQztlQUFBQTs7UUFtQ0FDO2VBQUFBOztRQXZG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
|
package/lib/utilities/term.js
CHANGED
|
@@ -30,20 +30,29 @@ function _interop_require_default(obj) {
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
function termFromNode(node, context) {
|
|
33
|
-
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromNode)(node, context), string = primitive.getString()
|
|
33
|
+
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromNode)(node, context), string = primitive.getString();
|
|
34
|
+
node = null;
|
|
35
|
+
context = null;
|
|
36
|
+
var term = new Term(context, string, node, variable, primitive);
|
|
34
37
|
return term;
|
|
35
38
|
}
|
|
36
39
|
function termFromNodes(nodes, context) {
|
|
37
|
-
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromNodes)(nodes, context), string = primitive.getString(),
|
|
40
|
+
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromNodes)(nodes, context), string = primitive.getString(), node = null;
|
|
41
|
+
context = null;
|
|
42
|
+
var term = new Term(context, string, node, variable, primitive);
|
|
38
43
|
return term;
|
|
39
44
|
}
|
|
40
45
|
function termFromBoolean(boolean, context) {
|
|
41
|
-
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromBoolean)(boolean, context), string = primitive.getString(),
|
|
46
|
+
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromBoolean)(boolean, context), string = primitive.getString(), node = null;
|
|
47
|
+
context = null;
|
|
48
|
+
var term = new Term(context, string, node, variable, primitive);
|
|
42
49
|
return term;
|
|
43
50
|
}
|
|
44
51
|
function termFromStringLiteral(stringLiteral, context) {
|
|
45
|
-
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromStringLiteral)(stringLiteral, context), string = primitive.getString(),
|
|
52
|
+
var Term = _elements.default.Term, variable = null, primitive = (0, _primitive.primitiveFromStringLiteral)(stringLiteral, context), string = primitive.getString(), node = null;
|
|
53
|
+
context = null;
|
|
54
|
+
var term = new Term(context, string, node, variable, primitive);
|
|
46
55
|
return term;
|
|
47
56
|
}
|
|
48
57
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5pbXBvcnQgeyBwcmltaXRpdmVGcm9tTm9kZSwgcHJpbWl0aXZlRnJvbU5vZGVzLCBwcmltaXRpdmVGcm9tQm9vbGVhbiwgcHJpbWl0aXZlRnJvbVN0cmluZ0xpdGVyYWwgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ByaW1pdGl2ZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21Ob2RlKG5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBUZXJtIH0gPSBlbGVtZW50cyxcbiAgICAgICAgdmFyaWFibGUgPSBudWxsLFxuICAgICAgICBwcmltaXRpdmUgPSBwcmltaXRpdmVGcm9tTm9kZShub2RlLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlLmdldFN0cmluZygpO1xuXG4gIG5vZGUgPSBudWxsO1xuXG4gIGNvbnRleHQgPSBudWxsO1xuXG4gIGNvbnN0IHRlcm0gPSBuZXcgVGVybShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHZhcmlhYmxlLCBwcmltaXRpdmUpO1xuXG4gIHJldHVybiB0ZXJtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21Ob2Rlcyhub2RlcywgY29udGV4dCkge1xuICBjb25zdCB7IFRlcm0gfSA9IGVsZW1lbnRzLFxuICAgICAgICB2YXJpYWJsZSA9IG51bGwsXG4gICAgICAgIHByaW1pdGl2ZSA9IHByaW1pdGl2ZUZyb21Ob2Rlcyhub2RlcywgY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IHByaW1pdGl2ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgbm9kZSA9IG51bGw7XG5cbiAgY29udGV4dCA9IG51bGw7XG5cbiAgY29uc3QgdGVybSA9IG5ldyBUZXJtKGNvbnRleHQsIHN0cmluZywgbm9kZSwgdmFyaWFibGUsIHByaW1pdGl2ZSk7XG5cbiAgcmV0dXJuIHRlcm07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCkge1xuICBjb25zdCB7IFRlcm0gfSA9IGVsZW1lbnRzLFxuICAgICAgICB2YXJpYWJsZSA9IG51bGwsXG4gICAgICAgIHByaW1pdGl2ZSA9IHByaW1pdGl2ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBwcmltaXRpdmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIG5vZGUgPSBudWxsO1xuXG4gIGNvbnRleHQgPSBudWxsO1xuXG4gIGNvbnN0IHRlcm0gPSBuZXcgVGVybShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHZhcmlhYmxlLCBwcmltaXRpdmUpO1xuXG4gIHJldHVybiB0ZXJtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBUZXJtIH0gPSBlbGVtZW50cyxcbiAgICAgICAgdmFyaWFibGUgPSBudWxsLFxuICAgICAgICBwcmltaXRpdmUgPSBwcmltaXRpdmVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlLmdldFN0cmluZygpLFxuICAgICAgICBub2RlID0gbnVsbDtcblxuICBjb250ZXh0ID0gbnVsbDtcblxuICBjb25zdCB0ZXJtID0gbmV3IFRlcm0oY29udGV4dCwgc3RyaW5nLCBub2RlLCB2YXJpYWJsZSwgcHJpbWl0aXZlKTtcblxuICByZXR1cm4gdGVybTtcbn1cbiJdLCJuYW1lcyI6WyJ0ZXJtRnJvbUJvb2xlYW4iLCJ0ZXJtRnJvbU5vZGUiLCJ0ZXJtRnJvbU5vZGVzIiwidGVybUZyb21TdHJpbmdMaXRlcmFsIiwibm9kZSIsImNvbnRleHQiLCJUZXJtIiwiZWxlbWVudHMiLCJ2YXJpYWJsZSIsInByaW1pdGl2ZSIsInByaW1pdGl2ZUZyb21Ob2RlIiwic3RyaW5nIiwiZ2V0U3RyaW5nIiwidGVybSIsIm5vZGVzIiwicHJpbWl0aXZlRnJvbU5vZGVzIiwiYm9vbGVhbiIsInByaW1pdGl2ZUZyb21Cb29sZWFuIiwic3RyaW5nTGl0ZXJhbCIsInByaW1pdGl2ZUZyb21TdHJpbmdMaXRlcmFsIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFtQ2dCQTtlQUFBQTs7UUE3QkFDO2VBQUFBOztRQWVBQztlQUFBQTs7UUE0QkFDO2VBQUFBOzs7K0RBL0NLO3lCQUVtRjs7Ozs7O0FBRWpHLFNBQVNGLGFBQWFHLElBQUksRUFBRUMsT0FBTztJQUN4QyxJQUFNLEFBQUVDLE9BQVNDLGlCQUFRLENBQWpCRCxNQUNGRSxXQUFXLE1BQ1hDLFlBQVlDLElBQUFBLDRCQUFpQixFQUFDTixNQUFNQyxVQUNwQ00sU0FBU0YsVUFBVUcsU0FBUztJQUVsQ1IsT0FBTztJQUVQQyxVQUFVO0lBRVYsSUFBTVEsT0FBTyxJQUFJUCxLQUFLRCxTQUFTTSxRQUFRUCxNQUFNSSxVQUFVQztJQUV2RCxPQUFPSTtBQUNUO0FBRU8sU0FBU1gsY0FBY1ksS0FBSyxFQUFFVCxPQUFPO0lBQzFDLElBQU0sQUFBRUMsT0FBU0MsaUJBQVEsQ0FBakJELE1BQ0ZFLFdBQVcsTUFDWEMsWUFBWU0sSUFBQUEsNkJBQWtCLEVBQUNELE9BQU9ULFVBQ3RDTSxTQUFTRixVQUFVRyxTQUFTLElBQzVCUixPQUFPO0lBRWJDLFVBQVU7SUFFVixJQUFNUSxPQUFPLElBQUlQLEtBQUtELFNBQVNNLFFBQVFQLE1BQU1JLFVBQVVDO0lBRXZELE9BQU9JO0FBQ1Q7QUFFTyxTQUFTYixnQkFBZ0JnQixPQUFPLEVBQUVYLE9BQU87SUFDOUMsSUFBTSxBQUFFQyxPQUFTQyxpQkFBUSxDQUFqQkQsTUFDRkUsV0FBVyxNQUNYQyxZQUFZUSxJQUFBQSwrQkFBb0IsRUFBQ0QsU0FBU1gsVUFDMUNNLFNBQVNGLFVBQVVHLFNBQVMsSUFDNUJSLE9BQU87SUFFYkMsVUFBVTtJQUVWLElBQU1RLE9BQU8sSUFBSVAsS0FBS0QsU0FBU00sUUFBUVAsTUFBTUksVUFBVUM7SUFFdkQsT0FBT0k7QUFDVDtBQUVPLFNBQVNWLHNCQUFzQmUsYUFBYSxFQUFFYixPQUFPO0lBQzFELElBQU0sQUFBRUMsT0FBU0MsaUJBQVEsQ0FBakJELE1BQ0ZFLFdBQVcsTUFDWEMsWUFBWVUsSUFBQUEscUNBQTBCLEVBQUNELGVBQWViLFVBQ3RETSxTQUFTRixVQUFVRyxTQUFTLElBQzVCUixPQUFPO0lBRWJDLFVBQVU7SUFFVixJQUFNUSxPQUFPLElBQUlQLEtBQUtELFNBQVNNLFFBQVFQLE1BQU1JLFVBQVVDO0lBRXZELE9BQU9JO0FBQ1QifQ==
|
package/lib/utilities/terms.js
CHANGED
|
@@ -28,13 +28,17 @@ function _interop_require_default(obj) {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
function termsFromNodes(nodes, context) {
|
|
31
|
-
var Terms = _elements.default.Terms, termsArray = termsArrayFromNodes(nodes, context), termsString = (0, _string.termsStringFromTermsArray)(termsArray), string = termsString, array = termsArray,
|
|
31
|
+
var Terms = _elements.default.Terms, termsArray = termsArrayFromNodes(nodes, context), termsString = (0, _string.termsStringFromTermsArray)(termsArray), string = termsString, array = termsArray, node = null;
|
|
32
|
+
context = null;
|
|
33
|
+
var terms = new Terms(context, string, node, array);
|
|
32
34
|
return terms;
|
|
33
35
|
}
|
|
34
36
|
function termsFromExpression(term, context) {
|
|
35
37
|
var Primitives = _elements.default.Primitives, termsArray = [
|
|
36
38
|
term
|
|
37
|
-
], termsString = (0, _string.termsStringFromTermsArray)(termsArray), string = termsString, array = termsArray,
|
|
39
|
+
], termsString = (0, _string.termsStringFromTermsArray)(termsArray), string = termsString, array = termsArray, node = null;
|
|
40
|
+
context = null;
|
|
41
|
+
var terms = new Primitives(context, string, node, array);
|
|
38
42
|
return terms;
|
|
39
43
|
}
|
|
40
44
|
var _default = {
|
|
@@ -49,4 +53,4 @@ function termsArrayFromNodes(nodes, context) {
|
|
|
49
53
|
return termsArray;
|
|
50
54
|
}
|
|
51
55
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdGVybXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuaW1wb3J0IHsgdGVybUZyb21Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy90ZXJtXCI7XG5pbXBvcnQgeyB0ZXJtc1N0cmluZ0Zyb21UZXJtc0FycmF5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zRnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVGVybXMgfSA9IGVsZW1lbnRzLFxuICAgICAgICB0ZXJtc0FycmF5ID0gdGVybXNBcnJheUZyb21Ob2Rlcyhub2RlcywgY29udGV4dCksXG4gICAgICAgIHRlcm1zU3RyaW5nID0gdGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSh0ZXJtc0FycmF5KSxcbiAgICAgICAgc3RyaW5nID0gdGVybXNTdHJpbmcsIC8vL1xuICAgICAgICBhcnJheSA9IHRlcm1zQXJyYXksICAvLy9cbiAgICAgICAgbm9kZSA9IG51bGw7XG5cbiAgY29udGV4dCA9IG51bGw7XG5cbiAgY29uc3QgdGVybXMgPSBuZXcgVGVybXMoY29udGV4dCwgc3RyaW5nLCBub2RlLCBhcnJheSk7XG5cbiAgcmV0dXJuIHRlcm1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybXNGcm9tRXhwcmVzc2lvbih0ZXJtLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgUHJpbWl0aXZlcyB9ID0gZWxlbWVudHMsXG4gICAgICAgIHRlcm1zQXJyYXkgPSBbXG4gICAgICAgICAgdGVybVxuICAgICAgICBdLFxuICAgICAgICB0ZXJtc1N0cmluZyA9IHRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkodGVybXNBcnJheSksXG4gICAgICAgIHN0cmluZyA9IHRlcm1zU3RyaW5nLCAvLy9cbiAgICAgICAgYXJyYXkgPSB0ZXJtc0FycmF5LCAgLy8vXG4gICAgICAgIG5vZGUgPSBudWxsO1xuXG4gIGNvbnRleHQgPSBudWxsO1xuXG4gIGNvbnN0IHRlcm1zID0gbmV3IFByaW1pdGl2ZXMoY29udGV4dCwgc3RyaW5nLCBub2RlLCBhcnJheSk7XG5cbiAgcmV0dXJuIHRlcm1zO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHRlcm1zRnJvbU5vZGVzLFxuICB0ZXJtc0Zyb21FeHByZXNzaW9uXG59O1xuXG5mdW5jdGlvbiB0ZXJtc0FycmF5RnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHRlcm1zQXJyYXkgPSBub2Rlcy5tYXAoKG5vZGUpID0+IHsgLy8vXG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0ZXJtO1xuICB9KTtcblxuICByZXR1cm4gdGVybXNBcnJheTtcbn1cblxuIl0sIm5hbWVzIjpbInRlcm1zRnJvbUV4cHJlc3Npb24iLCJ0ZXJtc0Zyb21Ob2RlcyIsIm5vZGVzIiwiY29udGV4dCIsIlRlcm1zIiwiZWxlbWVudHMiLCJ0ZXJtc0FycmF5IiwidGVybXNBcnJheUZyb21Ob2RlcyIsInRlcm1zU3RyaW5nIiwidGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSIsInN0cmluZyIsImFycmF5Iiwibm9kZSIsInRlcm1zIiwidGVybSIsIlByaW1pdGl2ZXMiLCJtYXAiLCJ0ZXJtRnJvbU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXVDQTtlQUFBOztRQWpCZ0JBO2VBQUFBOztRQWZBQztlQUFBQTs7OytEQUxLO29CQUVRO3NCQUNhOzs7Ozs7QUFFbkMsU0FBU0EsZUFBZUMsS0FBSyxFQUFFQyxPQUFPO0lBQzNDLElBQU0sQUFBRUMsUUFBVUMsaUJBQVEsQ0FBbEJELE9BQ0ZFLGFBQWFDLG9CQUFvQkwsT0FBT0MsVUFDeENLLGNBQWNDLElBQUFBLGlDQUF5QixFQUFDSCxhQUN4Q0ksU0FBU0YsYUFDVEcsUUFBUUwsWUFDUk0sT0FBTztJQUViVCxVQUFVO0lBRVYsSUFBTVUsUUFBUSxJQUFJVCxNQUFNRCxTQUFTTyxRQUFRRSxNQUFNRDtJQUUvQyxPQUFPRTtBQUNUO0FBRU8sU0FBU2Isb0JBQW9CYyxJQUFJLEVBQUVYLE9BQU87SUFDL0MsSUFBTSxBQUFFWSxhQUFlVixpQkFBUSxDQUF2QlUsWUFDRlQsYUFBYTtRQUNYUTtLQUNELEVBQ0ROLGNBQWNDLElBQUFBLGlDQUF5QixFQUFDSCxhQUN4Q0ksU0FBU0YsYUFDVEcsUUFBUUwsWUFDUk0sT0FBTztJQUViVCxVQUFVO0lBRVYsSUFBTVUsUUFBUSxJQUFJRSxXQUFXWixTQUFTTyxRQUFRRSxNQUFNRDtJQUVwRCxPQUFPRTtBQUNUO0lBRUEsV0FBZTtJQUNiWixnQkFBQUE7SUFDQUQscUJBQUFBO0FBQ0Y7QUFFQSxTQUFTTyxvQkFBb0JMLEtBQUssRUFBRUMsT0FBTztJQUN6QyxJQUFNRyxhQUFhSixNQUFNYyxHQUFHLENBQUMsU0FBQ0o7UUFDNUIsSUFBTUUsT0FBT0csSUFBQUEsa0JBQVksRUFBQ0wsTUFBTVQ7UUFFaEMsT0FBT1c7SUFDVDtJQUVBLE9BQU9SO0FBQ1QifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.2",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"juxtapose": "^4.0.130",
|
|
27
27
|
"lively-cli": "^2.0.77",
|
|
28
28
|
"occam-custom-grammars": "^5.0.1369",
|
|
29
|
-
"occam-
|
|
29
|
+
"occam-model": "^1.0.483",
|
|
30
30
|
"occam-query": "^4.1.142",
|
|
31
31
|
"watchful-cli": "^1.7.67"
|
|
32
32
|
},
|
package/src/context/block.js
CHANGED
|
@@ -2,24 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
+
import Context from "../context";
|
|
5
6
|
import Exception from "../exception";
|
|
6
7
|
|
|
7
8
|
import { chainContext } from "../utilities/context";
|
|
8
9
|
|
|
9
10
|
const { push } = arrayUtilities;
|
|
10
11
|
|
|
11
|
-
export default class BlockContext {
|
|
12
|
+
export default class BlockContext extends Context {
|
|
12
13
|
constructor(context, variables) {
|
|
13
|
-
|
|
14
|
+
super(context, variables);
|
|
15
|
+
|
|
14
16
|
this.variables = variables;
|
|
15
17
|
|
|
16
18
|
return chainContext(this);
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
getContext() {
|
|
20
|
-
return this.context;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
21
|
getVariables(nested = true) {
|
|
24
22
|
const variables = [];
|
|
25
23
|
|
|
@@ -34,26 +32,6 @@ export default class BlockContext {
|
|
|
34
32
|
return variables;
|
|
35
33
|
}
|
|
36
34
|
|
|
37
|
-
findVariableByVariableName(variableName, nested = true) {
|
|
38
|
-
const variables = this.getVariables(nested),
|
|
39
|
-
variable = variables.find((variable) => {
|
|
40
|
-
const variableNameMatches = variable.matchVariableName(variableName);
|
|
41
|
-
|
|
42
|
-
if (variableNameMatches) {
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
}) || null;
|
|
46
|
-
|
|
47
|
-
return variable;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
isVariablePresentByVariableName(variableName, nested = true) {
|
|
51
|
-
const variable = this.findVariableByVariableName(variableName, nested),
|
|
52
|
-
variablePresent = (variable !== null);
|
|
53
|
-
|
|
54
|
-
return variablePresent;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
35
|
addVariable(variable) {
|
|
58
36
|
const nested = false,
|
|
59
37
|
variableName = variable.getName(),
|
|
@@ -74,18 +52,28 @@ export default class BlockContext {
|
|
|
74
52
|
this.variables.push(variable);
|
|
75
53
|
}
|
|
76
54
|
|
|
77
|
-
|
|
55
|
+
findVariableByVariableName(variableName, nested = true) {
|
|
56
|
+
const variables = this.getVariables(nested),
|
|
57
|
+
variable = variables.find((variable) => {
|
|
58
|
+
const variableNameMatches = variable.matchVariableName(variableName);
|
|
78
59
|
|
|
79
|
-
|
|
80
|
-
|
|
60
|
+
if (variableNameMatches) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
}) || null;
|
|
81
64
|
|
|
82
|
-
|
|
65
|
+
return variable;
|
|
66
|
+
}
|
|
83
67
|
|
|
84
|
-
|
|
68
|
+
isVariablePresentByVariableName(variableName, nested = true) {
|
|
69
|
+
const variable = this.findVariableByVariableName(variableName, nested),
|
|
70
|
+
variablePresent = (variable !== null);
|
|
71
|
+
|
|
72
|
+
return variablePresent;
|
|
85
73
|
}
|
|
86
74
|
|
|
87
75
|
static fromVariables(variables, context) {
|
|
88
|
-
const blockContext =
|
|
76
|
+
const blockContext = Context.fromNothing(BlockContext, variables, context)
|
|
89
77
|
|
|
90
78
|
return blockContext;
|
|
91
79
|
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { arrayUtilities } from "necessary";
|
|
4
|
+
|
|
5
|
+
import FileContext from "../../context/file";
|
|
6
|
+
|
|
7
|
+
import { verifyFile } from "../../process/verify";
|
|
8
|
+
import { chainContext } from "../../utilities/context";
|
|
9
|
+
import { furtleLexer, furtleParser } from "../../utilities/furtle";
|
|
10
|
+
|
|
11
|
+
const { push } = arrayUtilities;
|
|
12
|
+
|
|
13
|
+
export default class FurtleFileContext extends FileContext {
|
|
14
|
+
constructor(context, filePath, tokens, node, procedures) {
|
|
15
|
+
super(context, filePath, tokens, node);
|
|
16
|
+
|
|
17
|
+
this.procedures = procedures;
|
|
18
|
+
|
|
19
|
+
return chainContext(this);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getProcedures(includeRelease = true) {
|
|
23
|
+
const procedures = [];
|
|
24
|
+
|
|
25
|
+
push(procedures, this.procedures);
|
|
26
|
+
|
|
27
|
+
if (includeRelease) {
|
|
28
|
+
const releaseContextProcedures = this.context.getProcedures();
|
|
29
|
+
|
|
30
|
+
push(procedures, releaseContextProcedures);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return procedures;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
getLabels(includeRelease = true) {
|
|
37
|
+
const labels = [];
|
|
38
|
+
|
|
39
|
+
return labels;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
getTypes(includeRelease = true) {
|
|
43
|
+
const types = [];
|
|
44
|
+
|
|
45
|
+
return types;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
getRules(includeRelease = true) {
|
|
49
|
+
const rules = []
|
|
50
|
+
|
|
51
|
+
return rules;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
getAxioms(includeRelease = true) {
|
|
55
|
+
const axioms = [];
|
|
56
|
+
|
|
57
|
+
return axioms;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
getLemmas(includeRelease = true) {
|
|
61
|
+
const lemmas = [];
|
|
62
|
+
|
|
63
|
+
return lemmas;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
getTheorems(includeRelease = true) {
|
|
67
|
+
const theorems = [];
|
|
68
|
+
|
|
69
|
+
return theorems;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
getMetaLemmas(includeRelease = true) {
|
|
73
|
+
const metaLemmas = [];
|
|
74
|
+
|
|
75
|
+
return metaLemmas;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
getConjectures(includeRelease = true) {
|
|
79
|
+
const conjectures = [];
|
|
80
|
+
|
|
81
|
+
return conjectures;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
getCombinators(includeRelease = true) {
|
|
85
|
+
const combinators = [];
|
|
86
|
+
|
|
87
|
+
return combinators;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
getTypePrefixes(includeRelease = true) {
|
|
91
|
+
const typePrefixes = [];
|
|
92
|
+
|
|
93
|
+
return typePrefixes;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
getConstructors(includeRelease = true) {
|
|
97
|
+
const constructors = [];
|
|
98
|
+
|
|
99
|
+
return constructors;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
getMetatheorems(includeRelease = true) {
|
|
103
|
+
const metatheorems = [];
|
|
104
|
+
|
|
105
|
+
return metatheorems;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
getVariables() {
|
|
109
|
+
const variables = [];
|
|
110
|
+
|
|
111
|
+
return variables;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
getMetavariables() {
|
|
115
|
+
const metavariables = [];
|
|
116
|
+
|
|
117
|
+
return metavariables;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
addProcedure(procedure) {
|
|
121
|
+
const procedureString = procedure.getString();
|
|
122
|
+
|
|
123
|
+
this.procedures.push(procedure);
|
|
124
|
+
|
|
125
|
+
this.debug(`Added the '${procedureString}' procedure to the context.`);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
static fromFile(file, context) {
|
|
129
|
+
const procedures = [],
|
|
130
|
+
furtleFileContext = FileContext.fromFile(FurtleFileContext, file, procedures, context);
|
|
131
|
+
|
|
132
|
+
return furtleFileContext;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
static fromFilePath(filePath, context) {
|
|
136
|
+
const procedures = null,
|
|
137
|
+
furtleFileContext = ileContext.fromFilePath(FurtleFileContext, filePath, procedures, context);
|
|
138
|
+
|
|
139
|
+
return furtleFileContext;
|
|
140
|
+
}
|
|
141
|
+
}
|