occam-furtle 2.0.340 → 3.0.1
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 +6319 -2036
- 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/release.js +675 -0
- package/lib/context.js +210 -0
- package/lib/element/assignment/array.js +117 -15
- package/lib/element/assignment/object.js +119 -17
- 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 +134 -68
- package/lib/element/label.js +119 -12
- package/lib/element/nodeQuery.js +120 -18
- package/lib/element/nodesQuery.js +120 -18
- 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 -63
- 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 +117 -15
- 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 +119 -17
- package/lib/element/term/negated.js +119 -15
- package/lib/element/term.js +131 -45
- package/lib/element/terms.js +125 -14
- package/lib/element/ternary.js +118 -16
- package/lib/element/variable.js +127 -19
- package/lib/element.js +1 -8
- package/lib/index.js +9 -1
- package/lib/log.js +13 -12
- package/lib/metaTypeNames.js +26 -0
- package/lib/metaTypes.js +66 -0
- package/lib/node/expression.js +8 -15
- 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 +110 -60
- package/lib/utilities/lineIndex.js +26 -0
- package/lib/utilities/primitive.js +14 -5
- package/lib/utilities/string.js +41 -37
- 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/release.js +653 -0
- package/src/context.js +74 -0
- package/src/element/assignment/array.js +8 -9
- package/src/element/assignment/object.js +12 -11
- 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 +13 -33
- package/src/element/label.js +6 -7
- package/src/element/nodeQuery.js +12 -14
- package/src/element/nodesQuery.js +12 -14
- 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 -57
- 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 +9 -9
- 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 +12 -12
- package/src/element/term/negated.js +11 -9
- package/src/element/term.js +16 -17
- package/src/element/terms.js +16 -9
- package/src/element/ternary.js +8 -9
- package/src/element/variable.js +24 -14
- package/src/element.js +0 -8
- package/src/index.js +2 -0
- package/src/log.js +11 -11
- package/src/metaTypeNames.js +5 -0
- package/src/metaTypes.js +71 -0
- package/src/node/expression.js +9 -17
- 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 +181 -94
- package/src/utilities/lineIndex.js +21 -0
- package/src/utilities/primitive.js +22 -5
- package/src/utilities/string.js +42 -36
- package/src/utilities/term.js +22 -5
- package/src/utilities/terms.js +12 -4
- package/test/helpers/furtle.js +1 -1
- package/test/helpers/nominal.js +2 -3
- package/test/main.js +4 -3
- package/test/context/file.js +0 -127
- package/test/context/release.js +0 -151
- 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=
|
|
@@ -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
|
@@ -15,8 +15,14 @@ _export(exports, {
|
|
|
15
15
|
get everyStringFromVariableAndAnonymousProcedure () {
|
|
16
16
|
return everyStringFromVariableAndAnonymousProcedure;
|
|
17
17
|
},
|
|
18
|
-
get
|
|
19
|
-
return
|
|
18
|
+
get expressionStringFromProperties () {
|
|
19
|
+
return expressionStringFromProperties;
|
|
20
|
+
},
|
|
21
|
+
get nodePropertiesStringFromNodePropertiesArray () {
|
|
22
|
+
return nodePropertiesStringFromNodePropertiesArray;
|
|
23
|
+
},
|
|
24
|
+
get nodePropertyStringFromNameAndType () {
|
|
25
|
+
return nodePropertyStringFromNameAndType;
|
|
20
26
|
},
|
|
21
27
|
get primtiveStringFromBoolean () {
|
|
22
28
|
return primtiveStringFromBoolean;
|
|
@@ -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;
|
|
@@ -103,26 +119,23 @@ function termsStringFromTermsArray(termsArray) {
|
|
|
103
119
|
}, null); ///
|
|
104
120
|
return termsString;
|
|
105
121
|
}
|
|
122
|
+
function expressionStringFromProperties(properties) {
|
|
123
|
+
var expressionString;
|
|
124
|
+
properties.forEach(function(property) {
|
|
125
|
+
if (property !== null) {
|
|
126
|
+
var propertyString = property.getString();
|
|
127
|
+
expressionString = propertyString; ///
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
return expressionString;
|
|
131
|
+
}
|
|
106
132
|
function primtiveStringFromStringLiteral(stringLiteral) {
|
|
107
133
|
var string = (0, _stringLiteral.stringFromStringLiteral)(stringLiteral), primtiveString = string; ///
|
|
108
134
|
return primtiveString;
|
|
109
135
|
}
|
|
110
|
-
function
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
///
|
|
114
|
-
} else if (primitive !== null) {
|
|
115
|
-
var primitiveString = primitive.getString();
|
|
116
|
-
termString = primitiveString; ///
|
|
117
|
-
} else {
|
|
118
|
-
properties.forEach(function(property) {
|
|
119
|
-
if (property !== null) {
|
|
120
|
-
var propertyString = property.getString();
|
|
121
|
-
termString = propertyString; ///
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
return termString;
|
|
136
|
+
function nodePropertyStringFromNameAndType(name, type) {
|
|
137
|
+
var typeString = type, nameString = name, nodePropertyString = "".concat(typeString, " ").concat(nameString);
|
|
138
|
+
return nodePropertyString;
|
|
126
139
|
}
|
|
127
140
|
function procedureDeclarationStringFromProcedure(procedure) {
|
|
128
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, " }");
|
|
@@ -132,22 +145,13 @@ function returnBlockStringFromReturnStatementNode(returnStatement) {
|
|
|
132
145
|
var returnStatementString = returnStatement.getString(), returnBlockString = "{ ... ".concat(returnStatementString, " }");
|
|
133
146
|
return returnBlockString;
|
|
134
147
|
}
|
|
135
|
-
function
|
|
136
|
-
var
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
} else {
|
|
143
|
-
properties.forEach(function(property) {
|
|
144
|
-
if (property !== null) {
|
|
145
|
-
var propertyString = property.getString();
|
|
146
|
-
expressionString = propertyString; ///
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
return expressionString;
|
|
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;
|
|
151
155
|
}
|
|
152
156
|
function variableAssignmentStringFromTypeAndVariable(type, variable) {
|
|
153
157
|
var variableString = variable.getString(), variableAssignmentString = "".concat(type, " ").concat(variableString, " = ... ;");
|
|
@@ -187,4 +191,4 @@ function reduceStringFromVariableInitialExpressionAndAnonymousProcedure(variable
|
|
|
187
191
|
return reduceString;
|
|
188
192
|
}
|
|
189
193
|
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbnVsbE5vZGUgZnJvbSBcIi4uL251bGxOb2RlXCI7XG5cbmltcG9ydCB7IE5VTEwgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCB9IGZyb20gXCIuL3N0cmluZ0xpdGVyYWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm5hcnlTdHJpbmdGcm9tVGVybSh0ZXJtKSB7XG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICB0ZXJuYXJ5U3RyaW5nID0gYGlmICgke3Rlcm1TdHJpbmd9KSB7IC4uLiB9IGVsc2UgeyAuLi4gfWA7XG5cbiAgcmV0dXJuIHRlcm5hcnlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSBuYW1lOyAgLy8vXG5cbiAgcmV0dXJuIHZhcmlhYmxlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tTm9kZShub2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHByaW10aXZlU3RyaW5nID0gKG5vZGUgPT09IG51bGxOb2RlKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW10aXZlU3RyaW5nRnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHN0cmluZyA9IGNvbnRleHQubm9kZXNBc1N0cmluZyhub2RlcyksXG4gICAgICAgIHByaW10aXZlU3RyaW5nID0gc3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHByaW10aXZlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbihib29sZWFuKSB7XG4gIGNvbnN0IGV4cHJlc3NzaW9uU3RyaW5nID0gYCR7Ym9vbGVhbn1gO1xuXG4gIHJldHVybiBleHByZXNzc2lvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkodGVybXNBcnJheSkge1xuICBjb25zdCB0ZXJtc1N0cmluZyA9IHRlcm1zQXJyYXkucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgdGVybVN0cmluZyA6XG4gICAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTsgLy8vXG5cbiAgcmV0dXJuIHRlcm1zU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsKSB7XG4gIGNvbnN0IHN0cmluZyA9IHN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwpLFxuICAgICAgICBwcmltdGl2ZVN0cmluZyA9IHN0cmluZzsgIC8vL1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1TdHJpbmdGcm9tUHJpbWl0aXZlQW5kUHJvcGVydGllcyhwcmltaXRpdmUsIHByb3BlcnRpZXMpIHtcbiAgbGV0IHRlcm1TdHJpbmc7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAocHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgY29uc3QgcHJpbWl0aXZlU3RyaW5nID0gcHJpbWl0aXZlLmdldFN0cmluZygpO1xuXG4gICAgdGVybVN0cmluZyA9IHByaW1pdGl2ZVN0cmluZzsgLy8vXG4gIH0gZWxzZSB7XG4gICAgcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgaWYgKHByb3BlcnR5ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICAgICAgdGVybVN0cmluZyA9IHByb3BlcnR5U3RyaW5nOyAgLy8vXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGVybVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZURlY2xhcmF0aW9uU3RyaW5nRnJvbVByb2NlZHVyZShwcm9jZWR1cmUpIHtcbiAgY29uc3QgdHlwZSA9IHByb2NlZHVyZS5nZXRUeXBlKCksXG4gICAgICAgIGxhYmVsID0gcHJvY2VkdXJlLmdldExhYmVsKCksXG4gICAgICAgIHBhcmFtZXRlcnMgPSBwcm9jZWR1cmUuZ2V0UGFyYW1ldGVycygpLFxuICAgICAgICByZXR1cm5TdGF0ZW1lbnQgPSBwcm9jZWR1cmUuZ2V0UmV0dXJuU3RhdGVtZW50KCksXG4gICAgICAgIGxhYmVsU3RyaW5nID0gbGFiZWwuZ2V0U3RyaW5nKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5TdGF0ZW1lbnRTdHJpbmcgPSByZXR1cm5TdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgIHByb2NlZHVyZURlbGNhcmF0aW9uU3RyaW5nID0gYCR7dHlwZX0gJHtsYWJlbFN0cmluZyB9KCR7cGFyYW1ldGVyc1N0cmluZ30pIHsgLi4uICR7cmV0dXJuU3RhdGVtZW50U3RyaW5nfSB9YDtcblxuICByZXR1cm4gcHJvY2VkdXJlRGVsY2FyYXRpb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXR1cm5CbG9ja1N0cmluZ0Zyb21SZXR1cm5TdGF0ZW1lbnROb2RlKHJldHVyblN0YXRlbWVudCkge1xuICBjb25zdCByZXR1cm5TdGF0ZW1lbnRTdHJpbmcgPSByZXR1cm5TdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgIHJldHVybkJsb2NrU3RyaW5nID0gYHsgLi4uICR7cmV0dXJuU3RhdGVtZW50U3RyaW5nfSB9YDtcblxuICByZXR1cm4gcmV0dXJuQmxvY2tTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHByZXNzaW9uU3RyaW5nRnJvbVByaW1pdGl2ZUFuZFByb3BlcnRpZXMocHJpbWl0aXZlLCBwcm9wZXJ0aWVzKSB7XG4gIGxldCBleHByZXNzaW9uU3RyaW5nO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHByaW1pdGl2ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHByaW1pdGl2ZVN0cmluZyA9IHByaW1pdGl2ZS5nZXRTdHJpbmcoKTtcblxuICAgIGV4cHJlc3Npb25TdHJpbmcgPSBwcmltaXRpdmVTdHJpbmc7IC8vL1xuICB9IGVsc2Uge1xuICAgIHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eVN0cmluZyA9IHByb3BlcnR5LmdldFN0cmluZygpO1xuXG4gICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBwcm9wZXJ0eVN0cmluZzsgIC8vL1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlKHR5cGUsIHZhcmlhYmxlKSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3R5cGV9ICR7dmFyaWFibGVTdHJpbmd9ID0gLi4uIDtgO1xuXG4gIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb21lU3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBzb21lU3RyaW5nID0gYFNvbWUoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSkgYDtcblxuICByZXR1cm4gc29tZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5U3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBldmVyeVN0cmluZyA9IGBFdmVyeSgke3ZhcmlhYmxlU3RyaW5nfSwgJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9KSBgO1xuXG4gIHJldHVybiBldmVyeVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFzc2lnbm1lbnQodmFyaWFibGVBc3NpZ25tZW50KSB7XG4gIGNvbnN0IHZhcmlhYmxlID0gdmFyaWFibGVBc3NpZ25tZW50LmdldFZhcmlhYmxlKCksXG4gICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3ZhcmlhYmxlU3RyaW5nfSA9IC4uLmA7XG5cbiAgcmV0dXJuIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZVN0cmluZ0Zyb21UeXBlTGFiZWxQYXJhbWV0ZXJzQW5kUmV0dXJuQmxvY2sodHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLCAgLy8vXG4gICAgICAgIGxhYmVsU3RyaW5nID0gbGFiZWwuZ2V0U3RyaW5nKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5CbG9ja1N0cmluZyA9IHJldHVybkJsb2NrLmdldFN0cmluZygpLFxuICAgICAgICBwcm9jZWR1cmVTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfSAke2xhYmVsU3RyaW5nfSgke3BhcmFtZXRlcnNTdHJpbmd9KSAke3JldHVybkJsb2NrU3RyaW5nfWA7XG5cbiAgcmV0dXJuIHByb2NlZHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFub255bW91c1Byb2NlZHVyZVN0cmluZ0Zyb21UeXBlUGFyYW1ldGVyc0FuZFJldHVybkJsb2NrKHR5cGUsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLCAgLy8vXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5CbG9ja1N0cmluZyA9IHJldHVybkJsb2NrLmdldFN0cmluZygpLFxuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfSAoJHtwYXJhbWV0ZXJzU3RyaW5nfSkgJHtyZXR1cm5CbG9ja1N0cmluZ31gO1xuXG4gIHJldHVybiBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudHNBcnJheSh0eXBlLCB2YXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkpIHtcbiAgbGV0IHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPSB2YXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkucmVkdWNlKCh2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nLCB2YXJpYWJsZUFzc2lnbm1lbnQpID0+IHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVmFyaWFibGVBc3NpZ25tZW50KHZhcmlhYmxlQXNzaWdubWVudCk7XG5cbiAgICB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gKHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA6XG4gICAgICBgJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfSwgJHt2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmd9YDtcblxuICAgIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nO1xuICB9LCBudWxsKTsgLy8vXG5cbiAgdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9IGAke3R5cGV9ICR7dmFyaWFibGVBc3NpZ25tZW50c1N0cmluZ30gO2A7IC8vL1xuXG4gIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlU3RyaW5nRnJvbVZhcmlhYmxlSW5pdGlhbEV4cHJlc3Npb25BbmRBbm9ueW1vdXNQcm9jZWR1cmUodmFyaWFibGUsIGluaXRpYWxFeHByZXNzaW9uLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgaW5pdGlhbEV4cHJlc3Npb25TdHJpbmcgPSBpbml0aWFsRXhwcmVzc2lvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICByZWR1Y2VTdHJpbmcgPSBgUmVkdWNlKCR7dmFyaWFibGVTdHJpbmd9LCAke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30sICR7aW5pdGlhbEV4cHJlc3Npb25TdHJpbmd9KWA7XG5cbiAgcmV0dXJuIHJlZHVjZVN0cmluZztcbn1cblxuIl0sIm5hbWVzIjpbImFub255bW91c1Byb2NlZHVyZVN0cmluZ0Zyb21UeXBlUGFyYW1ldGVyc0FuZFJldHVybkJsb2NrIiwiZXZlcnlTdHJpbmdGcm9tVmFyaWFibGVBbmRBbm9ueW1vdXNQcm9jZWR1cmUiLCJleHByZXNzaW9uU3RyaW5nRnJvbVByaW1pdGl2ZUFuZFByb3BlcnRpZXMiLCJwcmltdGl2ZVN0cmluZ0Zyb21Cb29sZWFuIiwicHJpbXRpdmVTdHJpbmdGcm9tTm9kZSIsInByaW10aXZlU3RyaW5nRnJvbU5vZGVzIiwicHJpbXRpdmVTdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCIsInByb2NlZHVyZURlY2xhcmF0aW9uU3RyaW5nRnJvbVByb2NlZHVyZSIsInByb2NlZHVyZVN0cmluZ0Zyb21UeXBlTGFiZWxQYXJhbWV0ZXJzQW5kUmV0dXJuQmxvY2siLCJyZWR1Y2VTdHJpbmdGcm9tVmFyaWFibGVJbml0aWFsRXhwcmVzc2lvbkFuZEFub255bW91c1Byb2NlZHVyZSIsInJldHVybkJsb2NrU3RyaW5nRnJvbVJldHVyblN0YXRlbWVudE5vZGUiLCJzb21lU3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlIiwidGVybVN0cmluZ0Zyb21QcmltaXRpdmVBbmRQcm9wZXJ0aWVzIiwidGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSIsInRlcm5hcnlTdHJpbmdGcm9tVGVybSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21UeXBlQW5kVmFyaWFibGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFzc2lnbm1lbnQiLCJ2YXJpYWJsZVN0cmluZ0Zyb21OYW1lIiwidGVybSIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJ0ZXJuYXJ5U3RyaW5nIiwibmFtZSIsInZhcmlhYmxlU3RyaW5nIiwibm9kZSIsImNvbnRleHQiLCJwcmltdGl2ZVN0cmluZyIsIm51bGxOb2RlIiwiTlVMTCIsIm5vZGVBc1N0cmluZyIsIm5vZGVzIiwic3RyaW5nIiwibm9kZXNBc1N0cmluZyIsImJvb2xlYW4iLCJleHByZXNzc2lvblN0cmluZyIsInRlcm1zQXJyYXkiLCJ0ZXJtc1N0cmluZyIsInJlZHVjZSIsInN0cmluZ0xpdGVyYWwiLCJzdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCIsInByaW1pdGl2ZSIsInByb3BlcnRpZXMiLCJwcmltaXRpdmVTdHJpbmciLCJmb3JFYWNoIiwicHJvcGVydHkiLCJwcm9wZXJ0eVN0cmluZyIsInByb2NlZHVyZSIsInR5cGUiLCJnZXRUeXBlIiwibGFiZWwiLCJnZXRMYWJlbCIsInBhcmFtZXRlcnMiLCJnZXRQYXJhbWV0ZXJzIiwicmV0dXJuU3RhdGVtZW50IiwiZ2V0UmV0dXJuU3RhdGVtZW50IiwibGFiZWxTdHJpbmciLCJwYXJhbWV0ZXJzU3RyaW5nIiwicmV0dXJuU3RhdGVtZW50U3RyaW5nIiwicHJvY2VkdXJlRGVsY2FyYXRpb25TdHJpbmciLCJyZXR1cm5CbG9ja1N0cmluZyIsImV4cHJlc3Npb25TdHJpbmciLCJ2YXJpYWJsZSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZyIsImFub255bW91c1Byb2NlZHVyZSIsImFub255bW91c1Byb2NlZHVyZVN0cmluZyIsInNvbWVTdHJpbmciLCJldmVyeVN0cmluZyIsInZhcmlhYmxlQXNzaWdubWVudCIsImdldFZhcmlhYmxlIiwicmV0dXJuQmxvY2siLCJ0eXBlU3RyaW5nIiwicHJvY2VkdXJlU3RyaW5nIiwidmFyaWFibGVBc3NpZ25tZW50c0FycmF5IiwidmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyIsImluaXRpYWxFeHByZXNzaW9uIiwiaW5pdGlhbEV4cHJlc3Npb25TdHJpbmciLCJyZWR1Y2VTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXVLZ0JBO2VBQUFBOztRQTFCQUM7ZUFBQUE7O1FBckNBQztlQUFBQTs7UUFyRUFDO2VBQUFBOztRQWZBQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBMkJBQztlQUFBQTs7UUE2QkFDO2VBQUFBOztRQXlFQUM7ZUFBQUE7O1FBbUNBQztlQUFBQTs7UUEvRkFDO2VBQUFBOztRQW9DQUM7ZUFBQUE7O1FBdkVBQztlQUFBQTs7UUFyQkFDO2VBQUFBOztRQWxDQUM7ZUFBQUE7O1FBdUhBQztlQUFBQTs7UUFrREFDO2VBQUFBOztRQTNCQUM7ZUFBQUE7O1FBdklBQztlQUFBQTs7OytEQVpLO3lCQUVBOzZCQUNtQjs7Ozs7O0FBRWpDLFNBQVNKLHNCQUFzQkssSUFBSTtJQUN4QyxJQUFNQyxhQUFhRCxLQUFLRSxTQUFTLElBQzNCQyxnQkFBZ0IsQUFBQyxPQUFpQixPQUFYRixZQUFXO0lBRXhDLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTSix1QkFBdUJLLElBQUk7SUFDekMsSUFBTUMsaUJBQWlCRCxNQUFPLEdBQUc7SUFFakMsT0FBT0M7QUFDVDtBQUVPLFNBQVNwQix1QkFBdUJxQixJQUFJLEVBQUVDLE9BQU87SUFDbEQsSUFBTUMsaUJBQWlCLEFBQUNGLFNBQVNHLGlCQUFRLEdBQ2RDLGVBQUksR0FDRkgsUUFBUUksWUFBWSxDQUFDTDtJQUVsRCxPQUFPRTtBQUNUO0FBRU8sU0FBU3RCLHdCQUF3QjBCLEtBQUssRUFBRUwsT0FBTztJQUNwRCxJQUFNTSxT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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.1",
|
|
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
|
+
}
|