occam-furtle 2.0.65 → 2.0.67
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/lib/_occam-grammars/furtle/bnf.js +2 -2
- package/lib/dom/conditionalBlocks.js +23 -11
- package/lib/dom/procedureCall.js +2 -2
- package/lib/dom/ternary.js +26 -14
- package/lib/dom/value/bitwise.js +178 -0
- package/lib/dom/value/bracketed.js +141 -0
- package/lib/dom/value/negated.js +158 -0
- package/lib/dom/value.js +43 -8
- package/lib/index.js +4 -5
- package/package.json +4 -4
- package/src/_occam-grammars/furtle/bnf.js +26 -35
- package/src/dom/conditionalBlocks.js +25 -13
- package/src/dom/procedureCall.js +2 -2
- package/src/dom/ternary.js +28 -16
- package/src/dom/value/bitwise.js +118 -0
- package/src/dom/value/bracketed.js +61 -0
- package/src/dom/value/negated.js +84 -0
- package/src/dom/value.js +58 -9
- package/src/index.js +3 -4
- package/lib/dom/condition/bitwise.js +0 -155
- package/lib/dom/condition/bracketed.js +0 -135
- package/lib/dom/condition/negated.js +0 -139
- package/lib/dom/condition.js +0 -198
- package/src/dom/condition/bitwise.js +0 -91
- package/src/dom/condition/bracketed.js +0 -58
- package/src/dom/condition/negated.js +0 -66
- package/src/dom/condition.js +0 -118
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var bnf = 'document ::= ( procedureDeclaration | error )+ ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;\n\n\n\nerror. ::= . ;\n\n\n\nvariablesDeclaration ::= [type] variable assignment ( "," variable assignment )* ";" ;\n\nvariableAssignment ::= variable assignment ";" ;\n\nconditionalBlocks ::= "If" "("
|
|
11
|
+
var bnf = 'document ::= ( procedureDeclaration | error )+ ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;\n\n\n\nerror. ::= . ;\n\n\n\nvariablesDeclaration ::= [type] variable assignment ( "," variable assignment )* ";" ;\n\nvariableAssignment ::= variable assignment ";" ;\n\nconditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" parameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n \n\n\nanonymousProcedure ::= "(" parameters? ")" returnBlock ;\n\n\n\nblock.. ::= "{" ( step | nonsense )* "}" ;\n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nreturnStatement ::= [return] value ";" ; \n\n\n\nstep ::= variablesDeclaration\n \n | variableAssignment\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n ; \n \n \n \nassignment ::= "=" value ;\n\n\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\n\n\n\nvalue ::= procedureCall\n \n | bracketedValue \n\n | bitwiseValue \n\n | negatedValue \n\n | comparison \n\n | nodesQuery\n \n | nodeQuery\n \n | variable\n \n | ternary\n \n | some\n\n | [null]\n\n | [number]\n \n | [primitive]\n \n | [string-literal] \n \n ;\n\n\n\nbracketedValue ::= "(" value ")" ; \n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\n\nbitwiseValue ::= value ( "||" | "&&" ) value ; \n\nnegatedValue ::= "!"<NO_WHITESPACE>value ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" value ")" value "Else" value ;\n\nsome ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nvalues ::= value ( "," value )* ;\n\n\n\nlabel. ::= [name] ;\n\nreference. ::= [name] ;\n\n\n\nnonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;\n \n\n \nexpression ::= path spread? subExpression? ;\n\npath ::= "/" infiniteDescent? selectors ;\n\nsubExpression ::= path spread? subExpression?;\n\ninfiniteDescent ::= "/" ;\n\nselectors ::= selector ( "|" selector )* ;\n\nspread ::= unique\n\n | "[" \n \n ( \n \n ( startIndex "..." endIndex ) \n \n | \n \n ( startIndex "..." ) \n \n | \n \n ( "..." endIndex )\n \n | \n \n index \n \n ) \n \n "]" ;\n\nselector ::= ruleName | tokenType ;\n \nruleName ::= [name] | "*" ;\n \ntokenType ::= "@"<NO_WHITESPACE>( [name] | "*" ) ;\n \nstartIndex ::= [number] ;\n \nendIndex ::= [number] ;\n \nindex ::= [number] ;\n \nunique ::= "!" ;';
|
|
12
12
|
var _default = bnf;
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvZnVydGxlL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSBsYWJlbDxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlcnM/
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvZnVydGxlL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSBsYWJlbDxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcblxuXG5cbmVycm9yLiAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuXG5cbnZhcmlhYmxlc0RlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gdmFyaWFibGUgYXNzaWdubWVudCAoIFwiLFwiIHZhcmlhYmxlIGFzc2lnbm1lbnQgKSogXCI7XCIgO1xuXG52YXJpYWJsZUFzc2lnbm1lbnQgICAgIDo6PSAgdmFyaWFibGUgYXNzaWdubWVudCBcIjtcIiA7XG5cbmNvbmRpdGlvbmFsQmxvY2tzICAgICAgOjo9ICBcIklmXCIgXCIoXCIgdmFsdWUgXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICA6Oj0gIFwie1wiIHBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgIDo6PSAgXCJbXCIgcGFyYW1ldGVycyBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgIDo6PSAgXCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuYmxvY2suLiAgICAgICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIFwifVwiIDtcblxucmV0dXJuQmxvY2suLiAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIHJldHVyblN0YXRlbWVudCBcIn1cIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbnJldHVyblN0YXRlbWVudCAgICAgICAgOjo9ICBbcmV0dXJuXSB2YWx1ZSBcIjtcIiA7IFxuXG5cblxuc3RlcCAgICAgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlc0RlY2xhcmF0aW9uXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmRpdGlvbmFsQmxvY2tzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG9iamVjdEFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgYXJyYXlBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICBcbiAgXG4gIFxuYXNzaWdubWVudCAgICAgICAgICAgICA6Oj0gIFwiPVwiIHZhbHVlIDtcblxuXG5cbnBhcmFtZXRlciAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIl9cIiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnZhbHVlICAgICAgICAgICAgICAgICAgOjo9ICBwcm9jZWR1cmVDYWxsXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgYnJhY2tldGVkVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBiaXR3aXNlVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBuZWdhdGVkVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21wYXJpc29uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZXNRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub2RlUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzb21lXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVsbF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtwcmltaXRpdmVdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtzdHJpbmctbGl0ZXJhbF0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxuYnJhY2tldGVkVmFsdWUgICAgICAgICA6Oj0gIFwiKFwiIHZhbHVlIFwiKVwiIDsgXG5cbnByb2NlZHVyZUNhbGwgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/IFwiKVwiIDtcblxuYml0d2lzZVZhbHVlICAgICAgICAgICA6Oj0gIHZhbHVlICggXCJ8fFwiIHwgXCImJlwiICkgdmFsdWUgOyBcblxubmVnYXRlZFZhbHVlICAgICAgICAgICA6Oj0gIFwiIVwiPE5PX1dISVRFU1BBQ0U+dmFsdWUgOyBcblxuY29tcGFyaXNvbiAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIhPVwiIHwgXCI9PVwiICkgdmFsdWUgOyBcblxubm9kZXNRdWVyeSAgICAgICAgICAgICA6Oj0gIFwibm9kZXNRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cbm5vZGVRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cbnZhcmlhYmxlICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG50ZXJuYXJ5ICAgICAgICAgICAgICAgIDo6PSAgXCJJZlwiIFwiKFwiIHZhbHVlIFwiKVwiIHZhbHVlIFwiRWxzZVwiIHZhbHVlIDtcblxuc29tZSAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU29tZVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiIDtcblxuXG5cbnBhcmFtZXRlcnMgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuXG52YWx1ZXMgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxucmVmZXJlbmNlLiAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cblxuXG5ub25zZW5zZS4gICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO1xuICAgIFxuXG4gICAgXG5leHByZXNzaW9uICAgICAgICAgICAgIDo6PSAgcGF0aCBzcHJlYWQ/IHN1YkV4cHJlc3Npb24/IDtcblxucGF0aCAgICAgICAgICAgICAgICAgICA6Oj0gIFwiL1wiIGluZmluaXRlRGVzY2VudD8gc2VsZWN0b3JzIDtcblxuc3ViRXhwcmVzc2lvbiAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPztcblxuaW5maW5pdGVEZXNjZW50ICAgICAgICA6Oj0gIFwiL1wiIDtcblxuc2VsZWN0b3JzICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9yICggXCJ8XCIgc2VsZWN0b3IgKSogO1xuXG5zcHJlYWQgICAgICAgICAgICAgICAgIDo6PSAgdW5pcXVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIltcIiBcbiAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiIGVuZEluZGV4ICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCIuLi5cIiBlbmRJbmRleCApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXVwiIDtcblxuc2VsZWN0b3IgICAgICAgICAgICAgICA6Oj0gIHJ1bGVOYW1lIHwgdG9rZW5UeXBlIDtcbiAgICAgICAgICAgICAgICAgICBcbnJ1bGVOYW1lICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gfCBcIipcIiA7XG4gICAgICAgICAgICAgICAgICAgXG50b2tlblR5cGUgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT4oIFtuYW1lXSB8IFwiKlwiICkgO1xuICAgICAgICAgICAgICAgICAgIFxuc3RhcnRJbmRleCAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmVuZEluZGV4ICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5pbmRleCAgICAgICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxudW5pcXVlICAgICAgICAgICAgICAgICA6Oj0gIFwiIVwiIDtgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzTEE7OztlQUFBOzs7QUFwTEEsSUFBTUEsTUFBTztJQW9MYixXQUFlQSJ9
|
|
@@ -9,7 +9,9 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
12
|
+
var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
12
13
|
var _query = require("../utilities/query");
|
|
14
|
+
var _types = require("../types");
|
|
13
15
|
function _class_call_check(instance, Constructor) {
|
|
14
16
|
if (!(instance instanceof Constructor)) {
|
|
15
17
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -42,6 +44,11 @@ function _define_property(obj, key, value) {
|
|
|
42
44
|
}
|
|
43
45
|
return obj;
|
|
44
46
|
}
|
|
47
|
+
function _interop_require_default(obj) {
|
|
48
|
+
return obj && obj.__esModule ? obj : {
|
|
49
|
+
default: obj
|
|
50
|
+
};
|
|
51
|
+
}
|
|
45
52
|
function _getRequireWildcardCache(nodeInterop) {
|
|
46
53
|
if (typeof WeakMap !== "function") return null;
|
|
47
54
|
var cacheBabelInterop = new WeakMap();
|
|
@@ -84,12 +91,12 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
84
91
|
return newObj;
|
|
85
92
|
}
|
|
86
93
|
var _ConditionalBlocks;
|
|
87
|
-
var
|
|
94
|
+
var valueNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/value"), ifBlockNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/block[0]"), elseBlockNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/block[1]"), conditionalBlocksNodeQuery = (0, _query.nodeQuery)("/step/conditionalBlocks");
|
|
88
95
|
var _default = (0, _dom.domAssigned)((_ConditionalBlocks = /*#__PURE__*/ function() {
|
|
89
|
-
function ConditionalBlocks(string,
|
|
96
|
+
function ConditionalBlocks(string, value, ifBlock, elseBlock) {
|
|
90
97
|
_class_call_check(this, ConditionalBlocks);
|
|
91
98
|
this.string = string;
|
|
92
|
-
this.
|
|
99
|
+
this.value = value;
|
|
93
100
|
this.ifBlock = ifBlock;
|
|
94
101
|
this.elseBlock = elseBlock;
|
|
95
102
|
}
|
|
@@ -101,9 +108,9 @@ var _default = (0, _dom.domAssigned)((_ConditionalBlocks = /*#__PURE__*/ functio
|
|
|
101
108
|
}
|
|
102
109
|
},
|
|
103
110
|
{
|
|
104
|
-
key: "
|
|
105
|
-
value: function
|
|
106
|
-
return this.
|
|
111
|
+
key: "getValue",
|
|
112
|
+
value: function getValue() {
|
|
113
|
+
return this.value;
|
|
107
114
|
}
|
|
108
115
|
},
|
|
109
116
|
{
|
|
@@ -123,7 +130,12 @@ var _default = (0, _dom.domAssigned)((_ConditionalBlocks = /*#__PURE__*/ functio
|
|
|
123
130
|
value: function evaluate(context) {
|
|
124
131
|
var conditionalBlocksString = this.string; ///
|
|
125
132
|
context.trace("Evaluating the '".concat(conditionalBlocksString, "' conditional blocks..."));
|
|
126
|
-
var value = this.
|
|
133
|
+
var value = this.value.evaluate(context), valueType = value.getType();
|
|
134
|
+
if (valueType !== _types.BOOLEAN_TYPE) {
|
|
135
|
+
var valueString = value.asString(context), message = "The ".concat(valueString, " value's type is '").concat(valueType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
136
|
+
throw exception;
|
|
137
|
+
}
|
|
138
|
+
var boolean = value.getBoolean();
|
|
127
139
|
if (boolean) {
|
|
128
140
|
this.ifBlock.evaluate(context);
|
|
129
141
|
} else {
|
|
@@ -141,8 +153,8 @@ var _default = (0, _dom.domAssigned)((_ConditionalBlocks = /*#__PURE__*/ functio
|
|
|
141
153
|
var conditionalBlocks = null;
|
|
142
154
|
var conditionalBlocksNode = conditionalBlocksNodeQuery(stepNode);
|
|
143
155
|
if (conditionalBlocksNode !== null) {
|
|
144
|
-
var Block = _dom.default.Block,
|
|
145
|
-
conditionalBlocks = new ConditionalBlocks(string,
|
|
156
|
+
var Block = _dom.default.Block, Value = _dom.default.Value, string = stringFromConditionalBlocksNode(conditionalBlocksNode, context), ifBlockNode = ifBlockNodeQuery(conditionalBlocksNode), elseBlockNode = elseBlockNodeQuery(conditionalBlocksNode), value = Value.fromConditionalBlocksNode(conditionalBlocksNode, context), ifBlock = Block.fromBlockNode(ifBlockNode, context), elseBlock = Block.fromBlockNode(elseBlockNode, context);
|
|
157
|
+
conditionalBlocks = new ConditionalBlocks(string, value, ifBlock, elseBlock);
|
|
146
158
|
}
|
|
147
159
|
return conditionalBlocks;
|
|
148
160
|
}
|
|
@@ -152,7 +164,7 @@ var _default = (0, _dom.domAssigned)((_ConditionalBlocks = /*#__PURE__*/ functio
|
|
|
152
164
|
}(), _define_property(_ConditionalBlocks, "name", "ConditionalBlocks"), _ConditionalBlocks));
|
|
153
165
|
function stringFromConditionalBlocksNode(conditionalBlocksNode, context) {
|
|
154
166
|
var string;
|
|
155
|
-
var
|
|
167
|
+
var valueNode = valueNodeQuery(conditionalBlocksNode), conditionString = context.nodeAsString(valueNode);
|
|
156
168
|
string = "If (".concat(conditionString, ") { ... }");
|
|
157
169
|
var elseBlockNode = elseBlockNodeQuery(conditionalBlocksNode);
|
|
158
170
|
if (elseBlockNode !== null) {
|
|
@@ -161,4 +173,4 @@ function stringFromConditionalBlocksNode(conditionalBlocksNode, context) {
|
|
|
161
173
|
return string;
|
|
162
174
|
}
|
|
163
175
|
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uZGl0aW9uYWxCbG9ja3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmNvbnN0IHZhbHVlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmRpdGlvbmFsQmxvY2tzL3ZhbHVlXCIpLFxuICAgICAgaWZCbG9ja05vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb25hbEJsb2Nrcy9ibG9ja1swXVwiKSxcbiAgICAgIGVsc2VCbG9ja05vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb25hbEJsb2Nrcy9ibG9ja1sxXVwiKSxcbiAgICAgIGNvbmRpdGlvbmFsQmxvY2tzTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0ZXAvY29uZGl0aW9uYWxCbG9ja3NcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIENvbmRpdGlvbmFsQmxvY2tzIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YWx1ZSwgaWZCbG9jaywgZWxzZUJsb2NrKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaWZCbG9jayA9IGlmQmxvY2s7XG4gICAgdGhpcy5lbHNlQmxvY2sgPSBlbHNlQmxvY2s7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRDb25kaXRpb25CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5pZkJsb2NrO1xuICB9XG5cbiAgZ2V0RWxzZUJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmVsc2VCbG9jaztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBjb25kaXRpb25hbEJsb2Nrc1N0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2NvbmRpdGlvbmFsQmxvY2tzU3RyaW5nfScgY29uZGl0aW9uYWwgYmxvY2tzLi4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGJvb2xlYW4gPSB2YWx1ZS5nZXRCb29sZWFuKCk7XG5cbiAgICBpZiAoYm9vbGVhbikge1xuICAgICAgdGhpcy5pZkJsb2NrLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5lbHNlQmxvY2sgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5lbHNlQmxvY2suZXZhbHVhdGUoY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtjb25kaXRpb25hbEJsb2Nrc1N0cmluZ30nIGNvbmRpdGlvbmFsIGJsb2Nrcy5gKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb25kaXRpb25hbEJsb2Nrc1wiO1xuXG4gIHN0YXRpYyBmcm9tU3RlcE5vZGUoc3RlcE5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgY29uZGl0aW9uYWxCbG9ja3MgPSBudWxsO1xuXG4gICAgY29uc3QgY29uZGl0aW9uYWxCbG9ja3NOb2RlID0gY29uZGl0aW9uYWxCbG9ja3NOb2RlUXVlcnkoc3RlcE5vZGUpO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsQmxvY2tzTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBCbG9jaywgVmFsdWUgfSA9IGRvbSxcbiAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21Db25kaXRpb25hbEJsb2Nrc05vZGUoY29uZGl0aW9uYWxCbG9ja3NOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGlmQmxvY2tOb2RlID0gaWZCbG9ja05vZGVRdWVyeShjb25kaXRpb25hbEJsb2Nrc05vZGUpLFxuICAgICAgICAgICAgZWxzZUJsb2NrTm9kZSA9IGVsc2VCbG9ja05vZGVRdWVyeShjb25kaXRpb25hbEJsb2Nrc05vZGUpLFxuICAgICAgICAgICAgdmFsdWUgPSBWYWx1ZS5mcm9tQ29uZGl0aW9uYWxCbG9ja3NOb2RlKGNvbmRpdGlvbmFsQmxvY2tzTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBpZkJsb2NrID0gQmxvY2suZnJvbUJsb2NrTm9kZShpZkJsb2NrTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBlbHNlQmxvY2sgPSBCbG9jay5mcm9tQmxvY2tOb2RlKGVsc2VCbG9ja05vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb25kaXRpb25hbEJsb2NrcyA9IG5ldyBDb25kaXRpb25hbEJsb2NrcyhzdHJpbmcsIHZhbHVlLCBpZkJsb2NrLCBlbHNlQmxvY2spO1xuICAgIH1cblxuICAgIHJldHVybiBjb25kaXRpb25hbEJsb2NrcztcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21Db25kaXRpb25hbEJsb2Nrc05vZGUoY29uZGl0aW9uYWxCbG9ja3NOb2RlLCBjb250ZXh0KSB7XG4gIGxldCBzdHJpbmc7XG5cbiAgY29uc3QgdmFsdWVOb2RlID0gdmFsdWVOb2RlUXVlcnkoY29uZGl0aW9uYWxCbG9ja3NOb2RlKSxcbiAgICAgICAgY29uZGl0aW9uU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodmFsdWVOb2RlKTtcblxuICBzdHJpbmcgPSBgSWYgKCR7Y29uZGl0aW9uU3RyaW5nfSkgeyAuLi4gfWA7XG5cbiAgY29uc3QgZWxzZUJsb2NrTm9kZSA9IGVsc2VCbG9ja05vZGVRdWVyeShjb25kaXRpb25hbEJsb2Nrc05vZGUpO1xuXG4gIGlmIChlbHNlQmxvY2tOb2RlICE9PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7c3RyaW5nfSBFbHNlIHsgLi4uIH1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJ2YWx1ZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImlmQmxvY2tOb2RlUXVlcnkiLCJlbHNlQmxvY2tOb2RlUXVlcnkiLCJjb25kaXRpb25hbEJsb2Nrc05vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiQ29uZGl0aW9uYWxCbG9ja3MiLCJzdHJpbmciLCJ2YWx1ZSIsImlmQmxvY2siLCJlbHNlQmxvY2siLCJnZXRTdHJpbmciLCJnZXRWYWx1ZSIsImdldENvbmRpdGlvbkJsb2NrIiwiZ2V0RWxzZUJsb2NrIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwiY29uZGl0aW9uYWxCbG9ja3NTdHJpbmciLCJ0cmFjZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJCT09MRUFOX1RZUEUiLCJ2YWx1ZVN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiYm9vbGVhbiIsImdldEJvb2xlYW4iLCJkZWJ1ZyIsImZyb21TdGVwTm9kZSIsInN0ZXBOb2RlIiwiY29uZGl0aW9uYWxCbG9ja3MiLCJjb25kaXRpb25hbEJsb2Nrc05vZGUiLCJCbG9jayIsImRvbSIsIlZhbHVlIiwic3RyaW5nRnJvbUNvbmRpdGlvbmFsQmxvY2tzTm9kZSIsImlmQmxvY2tOb2RlIiwiZWxzZUJsb2NrTm9kZSIsImZyb21Db25kaXRpb25hbEJsb2Nrc05vZGUiLCJmcm9tQmxvY2tOb2RlIiwibmFtZSIsInZhbHVlTm9kZSIsImNvbmRpdGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7MkRBWmdCO2dFQUNNO3FCQUVJO3FCQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNQSxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsNkJBQzNCQyxtQkFBbUJELElBQUFBLGdCQUFTLEVBQUMsZ0NBQzdCRSxxQkFBcUJGLElBQUFBLGdCQUFTLEVBQUMsZ0NBQy9CRyw2QkFBNkJILElBQUFBLGdCQUFTLEVBQUM7SUFFN0MsV0FBZUksSUFBQUEsZ0JBQVcsc0NBQUM7YUFBTUMsa0JBQ25CQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxTQUFTO2dDQURkSjtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7Ozs7WUFHbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osTUFBTTtZQUNwQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osS0FBSztZQUNuQjs7O1lBRUFL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
|
package/lib/dom/procedureCall.js
CHANGED
|
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
12
|
var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
14
|
function _class_call_check(instance, Constructor) {
|
|
15
15
|
if (!(instance instanceof Constructor)) {
|
|
16
16
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -149,4 +149,4 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
149
149
|
return ProcedureCall;
|
|
150
150
|
}(), _define_property(_ProcedureCall, "name", "ProcedureCall"), _ProcedureCall));
|
|
151
151
|
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvY2VkdXJlQ2FsbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb2NlZHVyZUNhbGxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvcHJvY2VkdXJlQ2FsbFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvY2VkdXJlQ2FsbCB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgcmVmZXJlbmNlLCB2YWx1ZXMpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRSZWZlcmVuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlO1xuICB9XG5cbiAgZ2V0VmFsdWVzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgY2FsbC4uLmApO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlUHJlc2VudCA9IGNvbnRleHQuaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UodGhpcy5yZWZlcmVuY2UpO1xuXG4gICAgaWYgKCFwcm9jZWR1cmVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfSBwcm9jZWR1cmUgaXMgbm90IHByZXNlbnQuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlQ29udGV4dCA9IGNvbnRleHQuZ2V0RmlsZUNvbnRleHQoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVCeVJlZmVyZW5jZSh0aGlzLnJlZmVyZW5jZSksXG4gICAgICAgICAgdmFsdWVzID0gdGhpcy52YWx1ZXMuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWUgPSBwcm9jZWR1cmUuY2FsbCh2YWx1ZXMsIGZpbGVDb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIHByb2NlZHVyZSBjYWxsLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZUNhbGxcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgcHJvY2VkdXJlQ2FsbCA9IG51bGw7XG5cbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsTm9kZSA9IHByb2NlZHVyZUNhbGxOb2RlUXVlcnkodmFsdWVOb2RlKTtcblxuICAgIGlmIChwcm9jZWR1cmVDYWxsTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBWYWx1ZXMsIFJlZmVyZW5jZSB9ID0gZG9tLFxuICAgICAgICAgICAgbm9kZSA9IHByb2NlZHVyZUNhbGxOb2RlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgcmVmZXJlbmNlID0gUmVmZXJlbmNlLmZyb21WYWx1ZU5vZGUodmFsdWVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHZhbHVlcyA9IFZhbHVlcy5mcm9tVmFsdWVOb2RlKHZhbHVlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIHByb2NlZHVyZUNhbGwgPSBuZXcgUHJvY2VkdXJlQ2FsbChzdHJpbmcsIHJlZmVyZW5jZSwgdmFsdWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlQ2FsbDtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsicHJvY2VkdXJlQ2FsbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiUHJvY2VkdXJlQ2FsbCIsInN0cmluZyIsInJlZmVyZW5jZSIsInZhbHVlcyIsImdldFN0cmluZyIsImdldFJlZmVyZW5jZSIsImdldFZhbHVlcyIsImV2YWx1YXRlIiwiY29udGV4dCIsInByb2NlZHVyZUNhbGxTdHJpbmciLCJ0cmFjZSIsInByb2NlZHVyZVByZXNlbnQiLCJpc1Byb2NlZHVyZVByZXNlbnRCeVJlZmVyZW5jZSIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImZpbGVDb250ZXh0IiwiZ2V0RmlsZUNvbnRleHQiLCJwcm9jZWR1cmUiLCJmaW5kUHJvY2VkdXJlQnlSZWZlcmVuY2UiLCJ2YWx1ZSIsImNhbGwiLCJkZWJ1ZyIsImZyb21WYWx1ZU5vZGUiLCJ2YWx1ZU5vZGUiLCJwcm9jZWR1cmVDYWxsIiwicHJvY2VkdXJlQ2FsbE5vZGUiLCJWYWx1ZXMiLCJkb20iLCJSZWZlcmVuY2UiLCJub2RlIiwibm9kZUFzU3RyaW5nIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7MkRBUmdCO2dFQUNNO3FCQUdJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUM7SUFFekMsV0FBZUMsSUFBQUEsZ0JBQVcsa0NBQUM7YUFBTUMsY0FDbkJDLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxNQUFNO2dDQUROSDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBOzs7O1lBR2hCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFNBQVM7WUFDdkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsT0FBTztnQkFDZCxJQUFNQyxzQkFBc0IsSUFBSSxDQUFDUixNQUFNLEVBQUcsR0FBRztnQkFFN0NPLFFBQVFFLEtBQUssQ0FBQyxBQUFDLG1CQUFzQyxPQUFwQkQscUJBQW9CO2dCQUVyRCxJQUFNRSxtQkFBbUJILFFBQVFJLDZCQUE2QixDQUFDLElBQUksQ0FBQ1YsU0FBUztnQkFFN0UsSUFBSSxDQUFDUyxrQkFBa0I7b0JBQ3JCLElBQU1FLFVBQVUsQUFBQyxRQUEyQixPQUFwQkoscUJBQW9CLGdDQUN0Q0ssWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUEsSUFBTUcsY0FBY1QsUUFBUVUsY0FBYyxJQUNwQ0MsWUFBWVgsUUFBUVksd0JBQXdCLENBQUMsSUFBSSxDQUFDbEIsU0FBUyxHQUMzREMsU0FBUyxJQUFJLENBQUNBLE1BQU0sQ0FBQ0ksUUFBUSxDQUFDQyxVQUM5QmEsUUFBUUYsVUFBVUcsSUFBSSxDQUFDbkIsUUFBUWM7Z0JBRXJDVCxRQUFRZSxLQUFLLENBQUMsQUFBQyxxQkFBd0MsT0FBcEJkLHFCQUFvQjtnQkFFdkQsT0FBT1k7WUFDVDs7OztZQUlPRyxLQUFBQTttQkFBUCxTQUFPQSxjQUFjQyxTQUFTLEVBQUVqQixPQUFPO2dCQUNyQyxJQUFJa0IsZ0JBQWdCO2dCQUVwQixJQUFNQyxvQkFBb0I5Qix1QkFBdUI0QjtnQkFFakQsSUFBSUUsc0JBQXNCLE1BQU07b0JBQzlCLElBQVFDLFNBQXNCQyxZQUFHLENBQXpCRCxRQUFRRSxZQUFjRCxZQUFHLENBQWpCQyxXQUNWQyxPQUFPSixtQkFDUDFCLFNBQVNPLFFBQVF3QixZQUFZLENBQUNELE9BQzlCN0IsWUFBWTRCLFVBQVVOLGFBQWEsQ0FBQ0MsV0FBV2pCLFVBQy9DTCxTQUFTeUIsT0FBT0osYUFBYSxDQUFDQyxXQUFXakI7b0JBRS9Da0IsZ0JBQWdCLElBQUkxQixjQUFjQyxRQUFRQyxXQUFXQztnQkFDdkQ7Z0JBRUEsT0FBT3VCO1lBQ1Q7Ozs7S0FsQkEsaUNBQU9PLFFBQU8ifQ==
|
package/lib/dom/ternary.js
CHANGED
|
@@ -9,7 +9,9 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
12
|
+
var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
12
13
|
var _query = require("../utilities/query");
|
|
14
|
+
var _types = require("../types");
|
|
13
15
|
function _class_call_check(instance, Constructor) {
|
|
14
16
|
if (!(instance instanceof Constructor)) {
|
|
15
17
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -42,6 +44,11 @@ function _define_property(obj, key, value) {
|
|
|
42
44
|
}
|
|
43
45
|
return obj;
|
|
44
46
|
}
|
|
47
|
+
function _interop_require_default(obj) {
|
|
48
|
+
return obj && obj.__esModule ? obj : {
|
|
49
|
+
default: obj
|
|
50
|
+
};
|
|
51
|
+
}
|
|
45
52
|
function _getRequireWildcardCache(nodeInterop) {
|
|
46
53
|
if (typeof WeakMap !== "function") return null;
|
|
47
54
|
var cacheBabelInterop = new WeakMap();
|
|
@@ -84,12 +91,12 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
84
91
|
return newObj;
|
|
85
92
|
}
|
|
86
93
|
var _Ternary;
|
|
87
|
-
var
|
|
94
|
+
var valueNodeQuery = (0, _query.nodeQuery)("/ternary/value[0]"), ifValueNodeQuery = (0, _query.nodeQuery)("/ternary/value[1]"), ternaryNodeQuery = (0, _query.nodeQuery)("/value/ternary"), elseValueNodeQuery = (0, _query.nodeQuery)("/ternary/value[2]");
|
|
88
95
|
var _default = (0, _dom.domAssigned)((_Ternary = /*#__PURE__*/ function() {
|
|
89
|
-
function Ternary(string,
|
|
96
|
+
function Ternary(string, value, ifValue, elseValue) {
|
|
90
97
|
_class_call_check(this, Ternary);
|
|
91
98
|
this.string = string;
|
|
92
|
-
this.
|
|
99
|
+
this.value = value;
|
|
93
100
|
this.ifValue = ifValue;
|
|
94
101
|
this.elseValue = elseValue;
|
|
95
102
|
}
|
|
@@ -101,14 +108,14 @@ var _default = (0, _dom.domAssigned)((_Ternary = /*#__PURE__*/ function() {
|
|
|
101
108
|
}
|
|
102
109
|
},
|
|
103
110
|
{
|
|
104
|
-
key: "
|
|
105
|
-
value: function
|
|
106
|
-
return this.
|
|
111
|
+
key: "getValue",
|
|
112
|
+
value: function getValue() {
|
|
113
|
+
return this.value;
|
|
107
114
|
}
|
|
108
115
|
},
|
|
109
116
|
{
|
|
110
|
-
key: "
|
|
111
|
-
value: function
|
|
117
|
+
key: "getIfBlock",
|
|
118
|
+
value: function getIfBlock() {
|
|
112
119
|
return this.ifValue;
|
|
113
120
|
}
|
|
114
121
|
},
|
|
@@ -124,7 +131,12 @@ var _default = (0, _dom.domAssigned)((_Ternary = /*#__PURE__*/ function() {
|
|
|
124
131
|
var value;
|
|
125
132
|
var ternaryString = this.string; ///
|
|
126
133
|
context.trace("Evaluating the '".concat(ternaryString, "' ternary..."));
|
|
127
|
-
value = this.
|
|
134
|
+
value = this.value.evaluate(context);
|
|
135
|
+
var valueType = value.getType();
|
|
136
|
+
if (valueType !== _types.BOOLEAN_TYPE) {
|
|
137
|
+
var valueString = value.asString(context), message = "The ".concat(valueString, " value's type is '").concat(valueType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
138
|
+
throw exception;
|
|
139
|
+
}
|
|
128
140
|
var boolean = value.getBoolean();
|
|
129
141
|
value = boolean ? this.ifValue.evaluate(context) : this.elseValue.evaluate(context);
|
|
130
142
|
context.debug("...evaluated the '".concat(ternaryString, "' ternary."));
|
|
@@ -138,8 +150,8 @@ var _default = (0, _dom.domAssigned)((_Ternary = /*#__PURE__*/ function() {
|
|
|
138
150
|
var ternary = null;
|
|
139
151
|
var ternaryNode = ternaryNodeQuery(valueNode);
|
|
140
152
|
if (ternaryNode !== null) {
|
|
141
|
-
var Value = _dom.default.Value,
|
|
142
|
-
ternary = new Ternary(string,
|
|
153
|
+
var Value = _dom.default.Value, string = stringFromTernaryNode(ternaryNode, context), ifValueNode = ifValueNodeQuery(ternaryNode), elseValueNode = elseValueNodeQuery(ternaryNode), value = Value.fromTernaryNode(ternaryNode, context), ifValue = Value.fromValueNode(ifValueNode, context), elseValue = Value.fromValueNode(elseValueNode, context);
|
|
154
|
+
ternary = new Ternary(string, value, ifValue, elseValue);
|
|
143
155
|
}
|
|
144
156
|
return ternary;
|
|
145
157
|
}
|
|
@@ -149,9 +161,9 @@ var _default = (0, _dom.domAssigned)((_Ternary = /*#__PURE__*/ function() {
|
|
|
149
161
|
}(), _define_property(_Ternary, "name", "Ternary"), _Ternary));
|
|
150
162
|
function stringFromTernaryNode(ternaryNode, context) {
|
|
151
163
|
var string;
|
|
152
|
-
var
|
|
153
|
-
string = "If (".concat(
|
|
164
|
+
var valueNode = valueNodeQuery(ternaryNode), ifValueNode = ifValueNodeQuery(ternaryNode), elseValueNode = elseValueNodeQuery(ternaryNode), ifValueString = context.nodeAsString(ifValueNode), elseValueString = context.nodeAsString(elseValueNode), valueString = context.nodeAsString(valueNode);
|
|
165
|
+
string = "If (".concat(valueString, ") ").concat(ifValueString, " ").concat(elseValueString);
|
|
154
166
|
return string;
|
|
155
167
|
}
|
|
156
168
|
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdGVybmFyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBCT09MRUFOX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuY29uc3QgdmFsdWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybmFyeS92YWx1ZVswXVwiKSxcbiAgICAgIGlmVmFsdWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybmFyeS92YWx1ZVsxXVwiKSxcbiAgICAgIHRlcm5hcnlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvdGVybmFyeVwiKSxcbiAgICAgIGVsc2VWYWx1ZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJuYXJ5L3ZhbHVlWzJdXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBUZXJuYXJ5IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YWx1ZSwgaWZWYWx1ZSwgZWxzZVZhbHVlKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaWZWYWx1ZSA9IGlmVmFsdWU7XG4gICAgdGhpcy5lbHNlVmFsdWUgPSBlbHNlVmFsdWU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRJZkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmlmVmFsdWU7XG4gIH1cblxuICBnZXRFbHNlQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxzZVZhbHVlO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IHRlcm5hcnlTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt0ZXJuYXJ5U3RyaW5nfScgdGVybmFyeS4uLmApO1xuXG4gICAgdmFsdWUgPSB0aGlzLnZhbHVlLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGJvb2xlYW4gPSB2YWx1ZS5nZXRCb29sZWFuKCk7XG5cbiAgICB2YWx1ZSA9IGJvb2xlYW4gP1xuICAgICAgdGhpcy5pZlZhbHVlLmV2YWx1YXRlKGNvbnRleHQpIDpcbiAgICAgICAgdGhpcy5lbHNlVmFsdWUuZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3Rlcm5hcnlTdHJpbmd9JyB0ZXJuYXJ5LmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlRlcm5hcnlcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgdGVybmFyeSA9IG51bGw7XG5cbiAgICBjb25zdCB0ZXJuYXJ5Tm9kZSA9IHRlcm5hcnlOb2RlUXVlcnkodmFsdWVOb2RlKTtcblxuICAgIGlmICh0ZXJuYXJ5Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBWYWx1ZSB9ID0gZG9tLFxuICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm5hcnlOb2RlKHRlcm5hcnlOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGlmVmFsdWVOb2RlID0gaWZWYWx1ZU5vZGVRdWVyeSh0ZXJuYXJ5Tm9kZSksXG4gICAgICAgICAgICBlbHNlVmFsdWVOb2RlID0gZWxzZVZhbHVlTm9kZVF1ZXJ5KHRlcm5hcnlOb2RlKSxcbiAgICAgICAgICAgIHZhbHVlID0gVmFsdWUuZnJvbVRlcm5hcnlOb2RlKHRlcm5hcnlOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGlmVmFsdWUgPSBWYWx1ZS5mcm9tVmFsdWVOb2RlKGlmVmFsdWVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGVsc2VWYWx1ZSA9IFZhbHVlLmZyb21WYWx1ZU5vZGUoZWxzZVZhbHVlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIHRlcm5hcnkgPSBuZXcgVGVybmFyeShzdHJpbmcsIHZhbHVlLCBpZlZhbHVlLCBlbHNlVmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJuYXJ5O1xuICB9XG59KTtcblxuZnVuY3Rpb24gc3RyaW5nRnJvbVRlcm5hcnlOb2RlKHRlcm5hcnlOb2RlLCBjb250ZXh0KSB7XG4gIGxldCBzdHJpbmc7XG5cbiAgY29uc3QgdmFsdWVOb2RlID0gdmFsdWVOb2RlUXVlcnkodGVybmFyeU5vZGUpLFxuICAgICAgICBpZlZhbHVlTm9kZSA9IGlmVmFsdWVOb2RlUXVlcnkodGVybmFyeU5vZGUpLFxuICAgICAgICBlbHNlVmFsdWVOb2RlID0gZWxzZVZhbHVlTm9kZVF1ZXJ5KHRlcm5hcnlOb2RlKSxcbiAgICAgICAgaWZWYWx1ZVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKGlmVmFsdWVOb2RlKSxcbiAgICAgICAgZWxzZVZhbHVlU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoZWxzZVZhbHVlTm9kZSksXG4gICAgICAgIHZhbHVlU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodmFsdWVOb2RlKTtcblxuICBzdHJpbmcgPSBgSWYgKCR7dmFsdWVTdHJpbmd9KSAke2lmVmFsdWVTdHJpbmd9ICR7ZWxzZVZhbHVlU3RyaW5nfWA7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJ2YWx1ZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImlmVmFsdWVOb2RlUXVlcnkiLCJ0ZXJuYXJ5Tm9kZVF1ZXJ5IiwiZWxzZVZhbHVlTm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJUZXJuYXJ5Iiwic3RyaW5nIiwidmFsdWUiLCJpZlZhbHVlIiwiZWxzZVZhbHVlIiwiZ2V0U3RyaW5nIiwiZ2V0VmFsdWUiLCJnZXRJZkJsb2NrIiwiZ2V0RWxzZUJsb2NrIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwidGVybmFyeVN0cmluZyIsInRyYWNlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIkJPT0xFQU5fVFlQRSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsImRlYnVnIiwiZnJvbVZhbHVlTm9kZSIsInZhbHVlTm9kZSIsInRlcm5hcnkiLCJ0ZXJuYXJ5Tm9kZSIsIlZhbHVlIiwiZG9tIiwic3RyaW5nRnJvbVRlcm5hcnlOb2RlIiwiaWZWYWx1ZU5vZGUiLCJlbHNlVmFsdWVOb2RlIiwiZnJvbVRlcm5hcnlOb2RlIiwibmFtZSIsImlmVmFsdWVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJlbHNlVmFsdWVTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7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
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
|
+
var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
|
+
var _query = require("../../utilities/query");
|
|
14
|
+
var _constants = require("../../constants");
|
|
15
|
+
var _types = require("../../types");
|
|
16
|
+
function _class_call_check(instance, Constructor) {
|
|
17
|
+
if (!(instance instanceof Constructor)) {
|
|
18
|
+
throw new TypeError("Cannot call a class as a function");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function _defineProperties(target, props) {
|
|
22
|
+
for(var i = 0; i < props.length; i++){
|
|
23
|
+
var descriptor = props[i];
|
|
24
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
25
|
+
descriptor.configurable = true;
|
|
26
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
27
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
31
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
32
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
33
|
+
return Constructor;
|
|
34
|
+
}
|
|
35
|
+
function _define_property(obj, key, value) {
|
|
36
|
+
if (key in obj) {
|
|
37
|
+
Object.defineProperty(obj, key, {
|
|
38
|
+
value: value,
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true,
|
|
41
|
+
writable: true
|
|
42
|
+
});
|
|
43
|
+
} else {
|
|
44
|
+
obj[key] = value;
|
|
45
|
+
}
|
|
46
|
+
return obj;
|
|
47
|
+
}
|
|
48
|
+
function _interop_require_default(obj) {
|
|
49
|
+
return obj && obj.__esModule ? obj : {
|
|
50
|
+
default: obj
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
54
|
+
if (typeof WeakMap !== "function") return null;
|
|
55
|
+
var cacheBabelInterop = new WeakMap();
|
|
56
|
+
var cacheNodeInterop = new WeakMap();
|
|
57
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
58
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
59
|
+
})(nodeInterop);
|
|
60
|
+
}
|
|
61
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
62
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
66
|
+
return {
|
|
67
|
+
default: obj
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
71
|
+
if (cache && cache.has(obj)) {
|
|
72
|
+
return cache.get(obj);
|
|
73
|
+
}
|
|
74
|
+
var newObj = {
|
|
75
|
+
__proto__: null
|
|
76
|
+
};
|
|
77
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
78
|
+
for(var key in obj){
|
|
79
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
80
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
81
|
+
if (desc && (desc.get || desc.set)) {
|
|
82
|
+
Object.defineProperty(newObj, key, desc);
|
|
83
|
+
} else {
|
|
84
|
+
newObj[key] = obj[key];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
newObj.default = obj;
|
|
89
|
+
if (cache) {
|
|
90
|
+
cache.set(obj, newObj);
|
|
91
|
+
}
|
|
92
|
+
return newObj;
|
|
93
|
+
}
|
|
94
|
+
var _BitwiseValue;
|
|
95
|
+
var terminalNodeQuery = (0, _query.nodeQuery)("/bitwiseValue/@*"), leftValueNodeQuery = (0, _query.nodeQuery)("/bitwiseValue/value[0]"), rightValueNodeQuery = (0, _query.nodeQuery)("/bitwiseValue/value[1]"), bitwiseValueNodeQuery = (0, _query.nodeQuery)("/value/bitwiseValue");
|
|
96
|
+
var _default = (0, _dom.domAssigned)((_BitwiseValue = /*#__PURE__*/ function() {
|
|
97
|
+
function BitwiseValue(string, type, disjoint, leftValue, rightValue) {
|
|
98
|
+
_class_call_check(this, BitwiseValue);
|
|
99
|
+
this.string = string;
|
|
100
|
+
this.type = type;
|
|
101
|
+
this.disjoint = disjoint;
|
|
102
|
+
this.leftValue = leftValue;
|
|
103
|
+
this.rightValue = rightValue;
|
|
104
|
+
}
|
|
105
|
+
_create_class(BitwiseValue, [
|
|
106
|
+
{
|
|
107
|
+
key: "getString",
|
|
108
|
+
value: function getString() {
|
|
109
|
+
return this.string;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
key: "getType",
|
|
114
|
+
value: function getType() {
|
|
115
|
+
return this.type;
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
key: "isDisjoint",
|
|
120
|
+
value: function isDisjoint() {
|
|
121
|
+
return this.disjoint;
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
key: "getLeftValue",
|
|
126
|
+
value: function getLeftValue() {
|
|
127
|
+
return this.leftValue;
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
key: "getRightValue",
|
|
132
|
+
value: function getRightValue() {
|
|
133
|
+
return this.rightValue;
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
key: "evaluate",
|
|
138
|
+
value: function evaluate(context) {
|
|
139
|
+
var value;
|
|
140
|
+
var bitwiseValueString = this.string; ///
|
|
141
|
+
context.trace("Evaluating the '".concat(bitwiseValueString, "' bitwise value..."));
|
|
142
|
+
var Value = _dom.default.Value, leftValue = this.leftValue.evaluate(context), rightValue = this.rightValue.evaluate(context), leftValueType = leftValue.getType(), rightValueType = rightValue.getType();
|
|
143
|
+
if (leftValueType !== _types.BOOLEAN_TYPE) {
|
|
144
|
+
var leftValueString = leftValue.asString(context), message = "The ".concat(leftValueString, " left value's type is '").concat(leftValueType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
145
|
+
throw exception;
|
|
146
|
+
}
|
|
147
|
+
if (rightValueType !== _types.BOOLEAN_TYPE) {
|
|
148
|
+
var rightValueString = rightValue.asString(context), message1 = "The ".concat(rightValueString, " right value's type is '").concat(rightValueType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception1 = _exception.default.fromMessage(message1);
|
|
149
|
+
throw exception1;
|
|
150
|
+
}
|
|
151
|
+
var leftValueBoolean = leftValue.getBoolean(), rightValueBoolean = rightValue.getBoolean(), boolean = this.disjoint ? leftValueBoolean || rightValueBoolean : leftValueBoolean && rightValueBoolean;
|
|
152
|
+
value = Value.fromBoolean(boolean, context); ///
|
|
153
|
+
context.debug("...evaluated the '".concat(bitwiseValueString, "' bitwise value."));
|
|
154
|
+
return value;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
], [
|
|
158
|
+
{
|
|
159
|
+
key: "fromValueNode",
|
|
160
|
+
value: function fromValueNode(valueNode, context) {
|
|
161
|
+
var bitwiseValue = null;
|
|
162
|
+
var bitwiseValueNode = bitwiseValueNodeQuery(valueNode);
|
|
163
|
+
if (bitwiseValueNode !== null) {
|
|
164
|
+
var Value = _dom.default.Value, node = bitwiseValueNode, string = context.nodeAsString(node), type = _types.BOOLEAN_TYPE, leftValueNode = leftValueNodeQuery(bitwiseValueNode), rightValueNode = rightValueNodeQuery(bitwiseValueNode), disjoint = disjointFromBitwiseValueNode(bitwiseValueNode, context), leftValue = Value.fromValueNode(leftValueNode, context), rightValue = Value.fromValueNode(rightValueNode, context);
|
|
165
|
+
bitwiseValue = new BitwiseValue(string, type, disjoint, leftValue, rightValue);
|
|
166
|
+
}
|
|
167
|
+
return bitwiseValue;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
]);
|
|
171
|
+
return BitwiseValue;
|
|
172
|
+
}(), _define_property(_BitwiseValue, "name", "BitwiseValue"), _BitwiseValue));
|
|
173
|
+
function disjointFromBitwiseValueNode(bitwiseValueNode, context) {
|
|
174
|
+
var terminalNode = terminalNodeQuery(bitwiseValueNode), terminalNodeContent = terminalNode.getContent(), disjoint = terminalNodeContent === _constants.DISJUNCTION;
|
|
175
|
+
return disjoint;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vdmFsdWUvYml0d2lzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5pbXBvcnQgeyBESVNKVU5DVElPTiB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuXG5jb25zdCB0ZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9iaXR3aXNlVmFsdWUvQCpcIiksXG4gICAgICBsZWZ0VmFsdWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYml0d2lzZVZhbHVlL3ZhbHVlWzBdXCIpLFxuICAgICAgcmlnaHRWYWx1ZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9iaXR3aXNlVmFsdWUvdmFsdWVbMV1cIiksXG4gICAgICBiaXR3aXNlVmFsdWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvYml0d2lzZVZhbHVlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBCaXR3aXNlVmFsdWUge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHR5cGUsIGRpc2pvaW50LCBsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuZGlzam9pbnQgPSBkaXNqb2ludDtcbiAgICB0aGlzLmxlZnRWYWx1ZSA9IGxlZnRWYWx1ZTtcbiAgICB0aGlzLnJpZ2h0VmFsdWUgPSByaWdodFZhbHVlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGlzRGlzam9pbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzam9pbnQ7XG4gIH1cblxuICBnZXRMZWZ0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFZhbHVlO1xuICB9XG5cbiAgZ2V0UmlnaHRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yaWdodFZhbHVlO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGJpdHdpc2VWYWx1ZVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2JpdHdpc2VWYWx1ZVN0cmluZ30nIGJpdHdpc2UgdmFsdWUuLi5gKTtcblxuICAgIGNvbnN0IHsgVmFsdWUgfSA9IGRvbSxcbiAgICAgICAgICBsZWZ0VmFsdWUgPSB0aGlzLmxlZnRWYWx1ZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodFZhbHVlID0gdGhpcy5yaWdodFZhbHVlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIGxlZnRWYWx1ZVR5cGUgPSBsZWZ0VmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHJpZ2h0VmFsdWVUeXBlID0gcmlnaHRWYWx1ZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAobGVmdFZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCBsZWZ0VmFsdWVTdHJpbmcgPSBsZWZ0VmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2xlZnRWYWx1ZVN0cmluZ30gbGVmdCB2YWx1ZSdzIHR5cGUgaXMgJyR7bGVmdFZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChyaWdodFZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCByaWdodFZhbHVlU3RyaW5nID0gcmlnaHRWYWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7cmlnaHRWYWx1ZVN0cmluZ30gcmlnaHQgdmFsdWUncyB0eXBlIGlzICcke3JpZ2h0VmFsdWVUeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdFZhbHVlQm9vbGVhbiA9IGxlZnRWYWx1ZS5nZXRCb29sZWFuKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZUJvb2xlYW4gPSByaWdodFZhbHVlLmdldEJvb2xlYW4oKSxcbiAgICAgICAgICBib29sZWFuID0gdGhpcy5kaXNqb2ludCA/XG4gICAgICAgICAgICAgICAgICAgICAgKGxlZnRWYWx1ZUJvb2xlYW4gfHwgcmlnaHRWYWx1ZUJvb2xlYW4pIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIChsZWZ0VmFsdWVCb29sZWFuICYmIHJpZ2h0VmFsdWVCb29sZWFuKTtcblxuICAgIHZhbHVlID0gVmFsdWUuZnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7ICAvLy9cblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7Yml0d2lzZVZhbHVlU3RyaW5nfScgYml0d2lzZSB2YWx1ZS5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJCaXR3aXNlVmFsdWVcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgYml0d2lzZVZhbHVlID0gbnVsbDtcblxuICAgIGNvbnN0IGJpdHdpc2VWYWx1ZU5vZGUgPSBiaXR3aXNlVmFsdWVOb2RlUXVlcnkodmFsdWVOb2RlKTtcblxuICAgIGlmIChiaXR3aXNlVmFsdWVOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IFZhbHVlIH0gPSBkb20sXG4gICAgICAgICAgICBub2RlID0gYml0d2lzZVZhbHVlTm9kZSwgIC8vXG4gICAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICAgIHR5cGUgPSBCT09MRUFOX1RZUEUsXG4gICAgICAgICAgICBsZWZ0VmFsdWVOb2RlID0gbGVmdFZhbHVlTm9kZVF1ZXJ5KGJpdHdpc2VWYWx1ZU5vZGUpLFxuICAgICAgICAgICAgcmlnaHRWYWx1ZU5vZGUgPSByaWdodFZhbHVlTm9kZVF1ZXJ5KGJpdHdpc2VWYWx1ZU5vZGUpLFxuICAgICAgICAgICAgZGlzam9pbnQgPSBkaXNqb2ludEZyb21CaXR3aXNlVmFsdWVOb2RlKGJpdHdpc2VWYWx1ZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgbGVmdFZhbHVlID0gVmFsdWUuZnJvbVZhbHVlTm9kZShsZWZ0VmFsdWVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHJpZ2h0VmFsdWUgPSBWYWx1ZS5mcm9tVmFsdWVOb2RlKHJpZ2h0VmFsdWVOb2RlLCBjb250ZXh0KTtcblxuICAgICAgYml0d2lzZVZhbHVlID0gbmV3IEJpdHdpc2VWYWx1ZShzdHJpbmcsIHR5cGUsIGRpc2pvaW50LCBsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBiaXR3aXNlVmFsdWU7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBkaXNqb2ludEZyb21CaXR3aXNlVmFsdWVOb2RlKGJpdHdpc2VWYWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgdGVybWluYWxOb2RlID0gdGVybWluYWxOb2RlUXVlcnkoYml0d2lzZVZhbHVlTm9kZSksXG4gICAgICAgIHRlcm1pbmFsTm9kZUNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBkaXNqb2ludCA9ICh0ZXJtaW5hbE5vZGVDb250ZW50ID09PSBESVNKVU5DVElPTik7XG5cbiAgcmV0dXJuIGRpc2pvaW50O1xufVxuIl0sIm5hbWVzIjpbInRlcm1pbmFsTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGVmdFZhbHVlTm9kZVF1ZXJ5IiwicmlnaHRWYWx1ZU5vZGVRdWVyeSIsImJpdHdpc2VWYWx1ZU5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiQml0d2lzZVZhbHVlIiwic3RyaW5nIiwidHlwZSIsImRpc2pvaW50IiwibGVmdFZhbHVlIiwicmlnaHRWYWx1ZSIsImdldFN0cmluZyIsImdldFR5cGUiLCJpc0Rpc2pvaW50IiwiZ2V0TGVmdFZhbHVlIiwiZ2V0UmlnaHRWYWx1ZSIsImV2YWx1YXRlIiwiY29udGV4dCIsInZhbHVlIiwiYml0d2lzZVZhbHVlU3RyaW5nIiwidHJhY2UiLCJWYWx1ZSIsImRvbSIsImxlZnRWYWx1ZVR5cGUiLCJyaWdodFZhbHVlVHlwZSIsIkJPT0xFQU5fVFlQRSIsImxlZnRWYWx1ZVN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicmlnaHRWYWx1ZVN0cmluZyIsImxlZnRWYWx1ZUJvb2xlYW4iLCJnZXRCb29sZWFuIiwicmlnaHRWYWx1ZUJvb2xlYW4iLCJib29sZWFuIiwiZnJvbUJvb2xlYW4iLCJkZWJ1ZyIsImZyb21WYWx1ZU5vZGUiLCJ2YWx1ZU5vZGUiLCJiaXR3aXNlVmFsdWUiLCJiaXR3aXNlVmFsdWVOb2RlIiwibm9kZSIsIm5vZGVBc1N0cmluZyIsImxlZnRWYWx1ZU5vZGUiLCJyaWdodFZhbHVlTm9kZSIsImRpc2pvaW50RnJvbUJpdHdpc2VWYWx1ZU5vZGUiLCJuYW1lIiwidGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJESVNKVU5DVElPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUFBOzs7MkRBYmdCO2dFQUNNO3FCQUVJO3lCQUVFO3FCQUNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNQSxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMscUJBQzlCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUMsMkJBQy9CRSxzQkFBc0JGLElBQUFBLGdCQUFTLEVBQUMsMkJBQ2hDRyx3QkFBd0JILElBQUFBLGdCQUFTLEVBQUM7SUFFeEMsV0FBZUksSUFBQUEsZ0JBQVcsaUNBQUM7YUFBTUMsYUFDbkJDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsVUFBVTtnQ0FEMUJMO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOzs7O1lBR3BCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLE1BQU07WUFDcEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLElBQUk7WUFDbEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLFFBQVE7WUFDdEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLFNBQVM7WUFDdkI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JB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
|