occam-furtle 2.0.82 → 2.0.86
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/dom/every.js +5 -5
- package/lib/dom/label.js +6 -2
- package/lib/dom/parameter/named.js +5 -3
- package/lib/dom/parameter.js +6 -2
- package/lib/dom/parameters.js +4 -12
- package/lib/dom/procedure/anonymous.js +8 -16
- package/lib/dom/procedure.js +4 -4
- package/lib/dom/procedureCall.js +6 -2
- package/lib/dom/reduce.js +4 -4
- package/lib/dom/reference.js +6 -2
- package/lib/dom/some.js +4 -4
- package/lib/dom/step.js +8 -12
- package/lib/dom/ternary.js +2 -2
- package/lib/dom/value.js +8 -28
- package/lib/dom/values.js +2 -9
- package/lib/dom/variable.js +10 -13
- package/lib/index.js +1 -4
- package/lib/nodeProperties.js +10 -3
- package/lib/nodeProperty.js +2 -2
- package/package.json +4 -4
- package/src/dom/every.js +8 -12
- package/src/dom/label.js +9 -3
- package/src/dom/parameter/named.js +7 -2
- package/src/dom/parameter.js +9 -2
- package/src/dom/parameters.js +1 -1
- package/src/dom/procedure/anonymous.js +16 -29
- package/src/dom/procedure.js +7 -10
- package/src/dom/procedureCall.js +10 -2
- package/src/dom/reduce.js +8 -11
- package/src/dom/reference.js +8 -2
- package/src/dom/some.js +7 -9
- package/src/dom/step.js +11 -13
- package/src/dom/ternary.js +4 -4
- package/src/dom/value.js +7 -32
- package/src/dom/values.js +1 -10
- package/src/dom/variable.js +12 -17
- package/src/index.js +0 -3
- package/src/nodeProperties.js +15 -1
- package/src/nodeProperty.js +3 -1
- package/lib/dom/block.js +0 -154
- package/lib/dom/conditionalBlocks.js +0 -176
- package/lib/dom/procedureCall/anonymous.js +0 -145
- package/src/dom/block.js +0 -73
- package/src/dom/conditionalBlocks.js +0 -106
- package/src/dom/procedureCall/anonymous.js +0 -68
package/src/dom/value.js
CHANGED
|
@@ -19,11 +19,10 @@ const reduceValueNodeQuery = nodeQuery("/reduce/value"),
|
|
|
19
19
|
primitiveTerminalNodeQuery = nodeQuery("/value/@primitive"),
|
|
20
20
|
returnStatementValueNodeQuery = nodeQuery("/returnStatement/value"),
|
|
21
21
|
stringLiteralTerminalNodeQuery = nodeQuery("/value/@string-literal"),
|
|
22
|
-
conditionalBlocksCValueNodeQuery = nodeQuery("/conditionalBlocks/value"),
|
|
23
22
|
variableAssignmentValueNodeQuery = nodeQuery("/variableAssignment/value");
|
|
24
23
|
|
|
25
24
|
export default domAssigned(class Value {
|
|
26
|
-
constructor(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall
|
|
25
|
+
constructor(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall) {
|
|
27
26
|
this.node = node;
|
|
28
27
|
this.nodes = nodes;
|
|
29
28
|
this.number = number;
|
|
@@ -41,7 +40,6 @@ export default domAssigned(class Value {
|
|
|
41
40
|
this.bitwiseValue = bitwiseValue;
|
|
42
41
|
this.bracketedValue = bracketedValue;
|
|
43
42
|
this.procedureCall = procedureCall;
|
|
44
|
-
this.anonymousProcedureCall = anonymousProcedureCall;
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
getNode() {
|
|
@@ -112,10 +110,6 @@ export default domAssigned(class Value {
|
|
|
112
110
|
return this.procedureCall;
|
|
113
111
|
}
|
|
114
112
|
|
|
115
|
-
getAnonymousProcedureCall() {
|
|
116
|
-
return this.anonymousProcedureCall;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
113
|
getType() {
|
|
120
114
|
let type;
|
|
121
115
|
|
|
@@ -155,8 +149,6 @@ export default domAssigned(class Value {
|
|
|
155
149
|
type = this.bracketedValue.getType();
|
|
156
150
|
} else if (this.procedureCall !== null) {
|
|
157
151
|
type = this.procedureCall.getType();
|
|
158
|
-
} else if (this.anonymousProcedureCall !== null) {
|
|
159
|
-
type = this.anonymousProcedureCall.getType();
|
|
160
152
|
}
|
|
161
153
|
|
|
162
154
|
return type;
|
|
@@ -201,8 +193,6 @@ export default domAssigned(class Value {
|
|
|
201
193
|
string = this.bracketedValue.getString();
|
|
202
194
|
} else if (this.procedureCall !== null) {
|
|
203
195
|
string = this.procedureCall.getString();
|
|
204
|
-
} else if (this.anonymousProcedureCall !== null) {
|
|
205
|
-
string = this.anonymousProcedureCall.getString();
|
|
206
196
|
}
|
|
207
197
|
|
|
208
198
|
return string;
|
|
@@ -243,8 +233,6 @@ export default domAssigned(class Value {
|
|
|
243
233
|
value = this.bracketedValue.evaluate(context);
|
|
244
234
|
} else if (this.procedureCall !== null) {
|
|
245
235
|
value = this.procedureCall.evaluate(context);
|
|
246
|
-
} else if (this.anonymousProcedureCall !== null) {
|
|
247
|
-
value = this.anonymousProcedureCall.evaluate(context);
|
|
248
236
|
}
|
|
249
237
|
|
|
250
238
|
return value;
|
|
@@ -321,8 +309,7 @@ export default domAssigned(class Value {
|
|
|
321
309
|
bitwiseValue = null,
|
|
322
310
|
bracketedValue = null,
|
|
323
311
|
procedureCall = null,
|
|
324
|
-
|
|
325
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
312
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
326
313
|
|
|
327
314
|
return value;
|
|
328
315
|
}
|
|
@@ -344,8 +331,7 @@ export default domAssigned(class Value {
|
|
|
344
331
|
bitwiseValue = null,
|
|
345
332
|
bracketedValue = null,
|
|
346
333
|
procedureCall = null,
|
|
347
|
-
|
|
348
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
334
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
349
335
|
|
|
350
336
|
return value;
|
|
351
337
|
}
|
|
@@ -367,8 +353,7 @@ export default domAssigned(class Value {
|
|
|
367
353
|
bitwiseValue = null,
|
|
368
354
|
bracketedValue = null,
|
|
369
355
|
procedureCall = null,
|
|
370
|
-
|
|
371
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
356
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
372
357
|
|
|
373
358
|
return value;
|
|
374
359
|
}
|
|
@@ -390,8 +375,7 @@ export default domAssigned(class Value {
|
|
|
390
375
|
bitwiseValue = null,
|
|
391
376
|
bracketedValue = null,
|
|
392
377
|
procedureCall = null,
|
|
393
|
-
|
|
394
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
378
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
395
379
|
|
|
396
380
|
return value;
|
|
397
381
|
}
|
|
@@ -446,14 +430,6 @@ export default domAssigned(class Value {
|
|
|
446
430
|
return value;
|
|
447
431
|
}
|
|
448
432
|
|
|
449
|
-
static fromConditionalBlocksNode(conditionalBlocksNode, context) {
|
|
450
|
-
const conditionalBlocksCValueNode = conditionalBlocksCValueNodeQuery(conditionalBlocksNode),
|
|
451
|
-
valueNode = conditionalBlocksCValueNode, ///
|
|
452
|
-
value = valueFromValueNode(valueNode, context);
|
|
453
|
-
|
|
454
|
-
return value;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
433
|
static fromVariableAssignmentNode(variableAssigmentNode, context) {
|
|
458
434
|
const variableAssignmentValueNode = variableAssignmentValueNodeQuery(variableAssigmentNode),
|
|
459
435
|
valueNode = variableAssignmentValueNode, ///
|
|
@@ -536,7 +512,7 @@ function booleanAsString(boolean) {
|
|
|
536
512
|
}
|
|
537
513
|
|
|
538
514
|
function valueFromValueNode(valueNode, context) {
|
|
539
|
-
const { Some, Every, Reduce, Value, Ternary, Variable, NodeQuery, NodesQuery, Comparison, NegatedValue, BitwiseValue, BracketedValue, ProcedureCall
|
|
515
|
+
const { Some, Every, Reduce, Value, Ternary, Variable, NodeQuery, NodesQuery, Comparison, NegatedValue, BitwiseValue, BracketedValue, ProcedureCall } = dom,
|
|
540
516
|
node = nodeFromValueNode(valueNode, context),
|
|
541
517
|
nodes = nodesFromValueNode(valueNode, context),
|
|
542
518
|
number = numberFromValueNode(valueNode, context),
|
|
@@ -554,8 +530,7 @@ function valueFromValueNode(valueNode, context) {
|
|
|
554
530
|
bitwiseValue = BitwiseValue.fromValueNode(valueNode, context),
|
|
555
531
|
bracketedValue = BracketedValue.fromValueNode(valueNode, context),
|
|
556
532
|
procedureCall = ProcedureCall.fromValueNode(valueNode, context),
|
|
557
|
-
|
|
558
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
533
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
559
534
|
|
|
560
535
|
return value;
|
|
561
536
|
}
|
package/src/dom/values.js
CHANGED
|
@@ -6,8 +6,7 @@ import { domAssigned } from "../dom";
|
|
|
6
6
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
7
7
|
|
|
8
8
|
const valuesNodeQuery = nodeQuery("/value/procedureCall/values"),
|
|
9
|
-
valueNodesQuery = nodesQuery("/values/value")
|
|
10
|
-
anonymousProcedureCallValuesNodeQuery = nodeQuery("/anonymousProcedureCall/values");
|
|
9
|
+
valueNodesQuery = nodesQuery("/values/value");
|
|
11
10
|
|
|
12
11
|
export default domAssigned(class Values {
|
|
13
12
|
constructor(string, array) {
|
|
@@ -102,14 +101,6 @@ export default domAssigned(class Values {
|
|
|
102
101
|
|
|
103
102
|
return values;
|
|
104
103
|
}
|
|
105
|
-
|
|
106
|
-
static fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context) {
|
|
107
|
-
const anonymousProcedureCallValuesNode = anonymousProcedureCallValuesNodeQuery(anonymousProcedureCallNode),
|
|
108
|
-
valuesNode = anonymousProcedureCallValuesNode, ///
|
|
109
|
-
values = valuesFromValuesNode(valuesNode, context);
|
|
110
|
-
|
|
111
|
-
return values;
|
|
112
|
-
}
|
|
113
104
|
});
|
|
114
105
|
|
|
115
106
|
function arrayFromNodes(nodes, context) {
|
package/src/dom/variable.js
CHANGED
|
@@ -141,7 +141,7 @@ export default domAssigned(class Variable {
|
|
|
141
141
|
const type = parameter.getType(),
|
|
142
142
|
name = parameter.getName(),
|
|
143
143
|
value = null,
|
|
144
|
-
string = name,
|
|
144
|
+
string = stringFromName(name, context),
|
|
145
145
|
variable = new Variable(string, type, name, value);
|
|
146
146
|
|
|
147
147
|
return variable;
|
|
@@ -178,7 +178,7 @@ export default domAssigned(class Variable {
|
|
|
178
178
|
asName : ///
|
|
179
179
|
namedParameter.getName(),
|
|
180
180
|
value = null,
|
|
181
|
-
string = name,
|
|
181
|
+
string = stringFromName(name, context),
|
|
182
182
|
variable = new Variable(string, type, name, value);
|
|
183
183
|
|
|
184
184
|
return variable;
|
|
@@ -187,17 +187,7 @@ export default domAssigned(class Variable {
|
|
|
187
187
|
static fromValueAndParameter(value, parameter, context) {
|
|
188
188
|
const type = parameter.getType(),
|
|
189
189
|
name = parameter.getName(),
|
|
190
|
-
string = name,
|
|
191
|
-
variable = new Variable(string, type, name, value);
|
|
192
|
-
|
|
193
|
-
return variable;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
static fromVariableNodeAndType(variableNode, type, context) {
|
|
197
|
-
const node = variableNode, ///
|
|
198
|
-
string = context.nodeAsString(node),
|
|
199
|
-
name = nameFromVariableNode(variableNode),
|
|
200
|
-
value = null,
|
|
190
|
+
string = stringFromName(name, context),
|
|
201
191
|
variable = new Variable(string, type, name, value);
|
|
202
192
|
|
|
203
193
|
return variable;
|
|
@@ -230,10 +220,9 @@ export default domAssigned(class Variable {
|
|
|
230
220
|
|
|
231
221
|
function variableFromTypeAndVariableNode(type, variableNode, context) {
|
|
232
222
|
const { Variable } = dom,
|
|
233
|
-
node = variableNode, ///
|
|
234
|
-
string = context.nodeAsString(node),
|
|
235
223
|
name = nameFromVariableNode(variableNode),
|
|
236
224
|
value = null,
|
|
225
|
+
string = stringFromName(name, context),
|
|
237
226
|
variable = new Variable(string, type, name, value);
|
|
238
227
|
|
|
239
228
|
return variable;
|
|
@@ -241,11 +230,10 @@ function variableFromTypeAndVariableNode(type, variableNode, context) {
|
|
|
241
230
|
|
|
242
231
|
function variableFromVariableNode(variableNode, context) {
|
|
243
232
|
const { Variable } = dom,
|
|
244
|
-
node = variableNode, ///
|
|
245
|
-
string = context.nodeAsString(node),
|
|
246
233
|
type = null,
|
|
247
234
|
name = nameFromVariableNode(variableNode),
|
|
248
235
|
value = null,
|
|
236
|
+
string = stringFromName(name, context),
|
|
249
237
|
variable = new Variable(string, type, name, value);
|
|
250
238
|
|
|
251
239
|
return variable;
|
|
@@ -258,3 +246,10 @@ function nameFromVariableNode(variableNode) {
|
|
|
258
246
|
|
|
259
247
|
return name;
|
|
260
248
|
}
|
|
249
|
+
|
|
250
|
+
function stringFromName(name, context) {
|
|
251
|
+
const nameString = name, ///
|
|
252
|
+
string = nameString; ///
|
|
253
|
+
|
|
254
|
+
return string;
|
|
255
|
+
}
|
package/src/index.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import Step from "./dom/step";
|
|
4
4
|
import Some from "./dom/some";
|
|
5
5
|
import Label from "./dom/label";
|
|
6
|
-
import Block from "./dom/block";
|
|
7
6
|
import Error from "./dom/error";
|
|
8
7
|
import Value from "./dom/value";
|
|
9
8
|
import Every from "./dom/every";
|
|
@@ -28,12 +27,10 @@ import ArrayAssigment from "./dom/assignment/array";
|
|
|
28
27
|
import ReturnStatement from "./dom/statement/return";
|
|
29
28
|
import NamedParameters from "./dom/parameters/named";
|
|
30
29
|
import ObjectAssignment from "./dom/assignment/object";
|
|
31
|
-
import ConditionalBlocks from "./dom/conditionalBlocks";
|
|
32
30
|
import AnonymousProcedure from "./dom/procedure/anonymous";
|
|
33
31
|
import VariableAssignment from "./dom/assignment/variable";
|
|
34
32
|
import VariableAssignments from "./dom/assignments/variable";
|
|
35
33
|
import ProcedureDeclaration from "./dom/declaration/procedure";
|
|
36
|
-
import AnonymousProcedureCall from "./dom/procedureCall/anonymous";
|
|
37
34
|
|
|
38
35
|
export { default as Values } from "./dom/values";
|
|
39
36
|
export { default as FileContext } from "./context/file";
|
package/src/nodeProperties.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import Exception from "./exception";
|
|
4
4
|
import NodeProperty from "./nodeProperty";
|
|
5
5
|
|
|
6
|
-
import { stringFromArray } from "./dom/parameters";
|
|
7
6
|
import { NODES_TYPE, STRING_TYPE, BOOLEAN_TYPE } from "./types";
|
|
8
7
|
import { CONTENT_PARAMETER_NAME, TERMINAL_PARAMETER_NAME, CHILD_NODES_PARAMETER_NAME } from "./parameterNames";
|
|
9
8
|
|
|
@@ -82,3 +81,18 @@ class NodeProperties {
|
|
|
82
81
|
const nodeProperties = NodeProperties.fromNothing();
|
|
83
82
|
|
|
84
83
|
export default nodeProperties;
|
|
84
|
+
|
|
85
|
+
function stringFromArray(array, context) {
|
|
86
|
+
const nodePropertiesString = array.reduce((nodePropertiesString, nodeProperty) => {
|
|
87
|
+
const nodePropertyString = nodeProperty.getString();
|
|
88
|
+
|
|
89
|
+
nodePropertiesString = (nodePropertiesString === null) ?
|
|
90
|
+
nodePropertyString :
|
|
91
|
+
`${nodePropertiesString}, ${nodePropertyString}`;
|
|
92
|
+
|
|
93
|
+
return nodePropertiesString;
|
|
94
|
+
}, null),
|
|
95
|
+
string = nodePropertiesString; ///
|
|
96
|
+
|
|
97
|
+
return string;
|
|
98
|
+
}
|
package/src/nodeProperty.js
CHANGED
|
@@ -50,7 +50,9 @@ export default class NodeProperty {
|
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
function stringFromNameAndType(name, type, context) {
|
|
53
|
-
const
|
|
53
|
+
const typeString = type, ///
|
|
54
|
+
nameString = name, ///
|
|
55
|
+
string = `${typeString} ${nameString}`;
|
|
54
56
|
|
|
55
57
|
return string;
|
|
56
58
|
}
|
package/lib/dom/block.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
12
|
-
var _block = /*#__PURE__*/ _interop_require_default(require("../context/block"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
function _class_call_check(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
function _define_property(obj, key, value) {
|
|
34
|
-
if (key in obj) {
|
|
35
|
-
Object.defineProperty(obj, key, {
|
|
36
|
-
value: value,
|
|
37
|
-
enumerable: true,
|
|
38
|
-
configurable: true,
|
|
39
|
-
writable: true
|
|
40
|
-
});
|
|
41
|
-
} else {
|
|
42
|
-
obj[key] = value;
|
|
43
|
-
}
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
function _interop_require_default(obj) {
|
|
47
|
-
return obj && obj.__esModule ? obj : {
|
|
48
|
-
default: obj
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
52
|
-
if (typeof WeakMap !== "function") return null;
|
|
53
|
-
var cacheBabelInterop = new WeakMap();
|
|
54
|
-
var cacheNodeInterop = new WeakMap();
|
|
55
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
56
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
57
|
-
})(nodeInterop);
|
|
58
|
-
}
|
|
59
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
60
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
61
|
-
return obj;
|
|
62
|
-
}
|
|
63
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
64
|
-
return {
|
|
65
|
-
default: obj
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
69
|
-
if (cache && cache.has(obj)) {
|
|
70
|
-
return cache.get(obj);
|
|
71
|
-
}
|
|
72
|
-
var newObj = {
|
|
73
|
-
__proto__: null
|
|
74
|
-
};
|
|
75
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
76
|
-
for(var key in obj){
|
|
77
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
78
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
79
|
-
if (desc && (desc.get || desc.set)) {
|
|
80
|
-
Object.defineProperty(newObj, key, desc);
|
|
81
|
-
} else {
|
|
82
|
-
newObj[key] = obj[key];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
newObj.default = obj;
|
|
87
|
-
if (cache) {
|
|
88
|
-
cache.set(obj, newObj);
|
|
89
|
-
}
|
|
90
|
-
return newObj;
|
|
91
|
-
}
|
|
92
|
-
var _Block;
|
|
93
|
-
var stepNodesQuery = (0, _query.nodesQuery)("/block/step");
|
|
94
|
-
var _default = (0, _dom.domAssigned)((_Block = /*#__PURE__*/ function() {
|
|
95
|
-
function Block(string, steps) {
|
|
96
|
-
_class_call_check(this, Block);
|
|
97
|
-
this.string = string;
|
|
98
|
-
this.steps = steps;
|
|
99
|
-
}
|
|
100
|
-
_create_class(Block, [
|
|
101
|
-
{
|
|
102
|
-
key: "getString",
|
|
103
|
-
value: function getString() {
|
|
104
|
-
return this.string;
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: "getSteps",
|
|
109
|
-
value: function getSteps() {
|
|
110
|
-
return this.steps;
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
key: "evaluate",
|
|
115
|
-
value: function evaluate(variables, context) {
|
|
116
|
-
if (context === undefined) {
|
|
117
|
-
context = variables; ///
|
|
118
|
-
variables = [];
|
|
119
|
-
}
|
|
120
|
-
var blockContext = _block.default.fromVariables(variables, context);
|
|
121
|
-
context = blockContext; ///
|
|
122
|
-
this.steps.forEach(function(step) {
|
|
123
|
-
step.evaluate(context);
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
], [
|
|
128
|
-
{
|
|
129
|
-
key: "fromBlockNode",
|
|
130
|
-
value: function fromBlockNode(blockNode, context) {
|
|
131
|
-
var block = null;
|
|
132
|
-
if (blockNode !== null) {
|
|
133
|
-
var stepNodes = stepNodesQuery(blockNode), steps = stepsFromStepNodes(stepNodes, context), string = stringFromSteps(steps, context);
|
|
134
|
-
block = new Block(string, steps);
|
|
135
|
-
}
|
|
136
|
-
return block;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
]);
|
|
140
|
-
return Block;
|
|
141
|
-
}(), _define_property(_Block, "name", "Block"), _Block));
|
|
142
|
-
function stringFromSteps(steps, context) {
|
|
143
|
-
var string = "{ ... }";
|
|
144
|
-
return string;
|
|
145
|
-
}
|
|
146
|
-
function stepsFromStepNodes(stepNodes, context) {
|
|
147
|
-
var Step = _dom.default.Step, steps = stepNodes.map(function(stepNode) {
|
|
148
|
-
var step = Step.fromStepNode(stepNode, context);
|
|
149
|
-
return step;
|
|
150
|
-
});
|
|
151
|
-
return steps;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vYmxvY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEJsb2NrQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ibG9ja1wiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5cbmNvbnN0IHN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ibG9jay9zdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBCbG9jayB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgc3RlcHMpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnN0ZXBzID0gc3RlcHM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0U3RlcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHM7XG4gIH1cblxuICBldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gdmFyaWFibGVzOyAgLy8vXG5cbiAgICAgIHZhcmlhYmxlcyA9IFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGJsb2NrQ29udGV4dCA9IEJsb2NrQ29udGV4dC5mcm9tVmFyaWFibGVzKHZhcmlhYmxlcywgY29udGV4dCk7XG5cbiAgICBjb250ZXh0ID0gYmxvY2tDb250ZXh0OyAvLy9cblxuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJCbG9ja1wiO1xuXG4gIHN0YXRpYyBmcm9tQmxvY2tOb2RlKGJsb2NrTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBibG9jayA9IG51bGw7XG5cbiAgICBpZiAoYmxvY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGVwTm9kZXMgPSBzdGVwTm9kZXNRdWVyeShibG9ja05vZGUpLFxuICAgICAgICAgICAgc3RlcHMgPSBzdGVwc0Zyb21TdGVwTm9kZXMoc3RlcE5vZGVzLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21TdGVwcyhzdGVwcywgY29udGV4dCk7XG5cbiAgICAgIGJsb2NrID0gbmV3IEJsb2NrKHN0cmluZywgc3RlcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBibG9jaztcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21TdGVwcyhzdGVwcywgY29udGV4dCkge1xuICBjb25zdCBzdHJpbmcgPSBgeyAuLi4gfWA7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxuZnVuY3Rpb24gc3RlcHNGcm9tU3RlcE5vZGVzKHN0ZXBOb2RlcywgY29udGV4dCkge1xuICBjb25zdCB7IFN0ZXAgfSA9IGRvbSxcbiAgICAgICAgc3RlcHMgPSBzdGVwTm9kZXMubWFwKChzdGVwTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0ZXAgPSBTdGVwLmZyb21TdGVwTm9kZShzdGVwTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICByZXR1cm4gc3RlcDtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN0ZXBzO1xufVxuIl0sIm5hbWVzIjpbInN0ZXBOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImRvbUFzc2lnbmVkIiwiQmxvY2siLCJzdHJpbmciLCJzdGVwcyIsImdldFN0cmluZyIsImdldFN0ZXBzIiwiZXZhbHVhdGUiLCJ2YXJpYWJsZXMiLCJjb250ZXh0IiwidW5kZWZpbmVkIiwiYmxvY2tDb250ZXh0IiwiQmxvY2tDb250ZXh0IiwiZnJvbVZhcmlhYmxlcyIsImZvckVhY2giLCJzdGVwIiwiZnJvbUJsb2NrTm9kZSIsImJsb2NrTm9kZSIsImJsb2NrIiwic3RlcE5vZGVzIiwic3RlcHNGcm9tU3RlcE5vZGVzIiwic3RyaW5nRnJvbVN0ZXBzIiwibmFtZSIsIlN0ZXAiLCJkb20iLCJtYXAiLCJzdGVwTm9kZSIsImZyb21TdGVwTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7MkRBUmdCOzREQUNTO3FCQUVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUczQixJQUFNQSxpQkFBaUJDLElBQUFBLGlCQUFVLEVBQUM7SUFFbEMsV0FBZUMsSUFBQUEsZ0JBQVcsMEJBQUM7YUFBTUMsTUFDbkJDLE1BQU0sRUFBRUMsS0FBSztnQ0FETUY7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxLQUFLLEdBQUdBOzs7O1lBR2ZDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsTUFBTTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsS0FBSztZQUNuQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxTQUFTLEVBQUVDLE9BQU87Z0JBQ3pCLElBQUlBLFlBQVlDLFdBQVc7b0JBQ3pCRCxVQUFVRCxXQUFZLEdBQUc7b0JBRXpCQSxZQUFZLEVBQUU7Z0JBQ2hCO2dCQUVBLElBQU1HLGVBQWVDLGNBQVksQ0FBQ0MsYUFBYSxDQUFDTCxXQUFXQztnQkFFM0RBLFVBQVVFLGNBQWMsR0FBRztnQkFFM0IsSUFBSSxDQUFDUCxLQUFLLENBQUNVLE9BQU8sQ0FBQyxTQUFDQztvQkFDbEJBLEtBQUtSLFFBQVEsQ0FBQ0U7Z0JBQ2hCO1lBQ0Y7Ozs7WUFJT08sS0FBQUE7bUJBQVAsU0FBT0EsY0FBY0MsU0FBUyxFQUFFUixPQUFPO2dCQUNyQyxJQUFJUyxRQUFRO2dCQUVaLElBQUlELGNBQWMsTUFBTTtvQkFDdEIsSUFBTUUsWUFBWXBCLGVBQWVrQixZQUMzQmIsUUFBUWdCLG1CQUFtQkQsV0FBV1YsVUFDdENOLFNBQVNrQixnQkFBZ0JqQixPQUFPSztvQkFFdENTLFFBQVEsSUFBSWhCLE1BQU1DLFFBQVFDO2dCQUM1QjtnQkFFQSxPQUFPYztZQUNUOzs7O0tBZEEseUJBQU9JLFFBQU87QUFpQmhCLFNBQVNELGdCQUFnQmpCLEtBQUssRUFBRUssT0FBTztJQUNyQyxJQUFNTixTQUFVO0lBRWhCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTaUIsbUJBQW1CRCxTQUFTLEVBQUVWLE9BQU87SUFDNUMsSUFBTSxBQUFFYyxPQUFTQyxZQUFHLENBQVpELE1BQ0ZuQixRQUFRZSxVQUFVTSxHQUFHLENBQUMsU0FBQ0M7UUFDckIsSUFBTVgsT0FBT1EsS0FBS0ksWUFBWSxDQUFDRCxVQUFVakI7UUFFekMsT0FBT007SUFDVDtJQUVOLE9BQU9YO0FBQ1QifQ==
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _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 _types = require("../types");
|
|
15
|
-
function _class_call_check(instance, Constructor) {
|
|
16
|
-
if (!(instance instanceof Constructor)) {
|
|
17
|
-
throw new TypeError("Cannot call a class as a function");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function _defineProperties(target, props) {
|
|
21
|
-
for(var i = 0; i < props.length; i++){
|
|
22
|
-
var descriptor = props[i];
|
|
23
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
-
descriptor.configurable = true;
|
|
25
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
30
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
-
return Constructor;
|
|
33
|
-
}
|
|
34
|
-
function _define_property(obj, key, value) {
|
|
35
|
-
if (key in obj) {
|
|
36
|
-
Object.defineProperty(obj, key, {
|
|
37
|
-
value: value,
|
|
38
|
-
enumerable: true,
|
|
39
|
-
configurable: true,
|
|
40
|
-
writable: true
|
|
41
|
-
});
|
|
42
|
-
} else {
|
|
43
|
-
obj[key] = value;
|
|
44
|
-
}
|
|
45
|
-
return obj;
|
|
46
|
-
}
|
|
47
|
-
function _interop_require_default(obj) {
|
|
48
|
-
return obj && obj.__esModule ? obj : {
|
|
49
|
-
default: obj
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
53
|
-
if (typeof WeakMap !== "function") return null;
|
|
54
|
-
var cacheBabelInterop = new WeakMap();
|
|
55
|
-
var cacheNodeInterop = new WeakMap();
|
|
56
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
57
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
58
|
-
})(nodeInterop);
|
|
59
|
-
}
|
|
60
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
61
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
62
|
-
return obj;
|
|
63
|
-
}
|
|
64
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
65
|
-
return {
|
|
66
|
-
default: obj
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
70
|
-
if (cache && cache.has(obj)) {
|
|
71
|
-
return cache.get(obj);
|
|
72
|
-
}
|
|
73
|
-
var newObj = {
|
|
74
|
-
__proto__: null
|
|
75
|
-
};
|
|
76
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
77
|
-
for(var key in obj){
|
|
78
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
79
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
80
|
-
if (desc && (desc.get || desc.set)) {
|
|
81
|
-
Object.defineProperty(newObj, key, desc);
|
|
82
|
-
} else {
|
|
83
|
-
newObj[key] = obj[key];
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
newObj.default = obj;
|
|
88
|
-
if (cache) {
|
|
89
|
-
cache.set(obj, newObj);
|
|
90
|
-
}
|
|
91
|
-
return newObj;
|
|
92
|
-
}
|
|
93
|
-
var _ConditionalBlocks;
|
|
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");
|
|
95
|
-
var _default = (0, _dom.domAssigned)((_ConditionalBlocks = /*#__PURE__*/ function() {
|
|
96
|
-
function ConditionalBlocks(string, value, ifBlock, elseBlock) {
|
|
97
|
-
_class_call_check(this, ConditionalBlocks);
|
|
98
|
-
this.string = string;
|
|
99
|
-
this.value = value;
|
|
100
|
-
this.ifBlock = ifBlock;
|
|
101
|
-
this.elseBlock = elseBlock;
|
|
102
|
-
}
|
|
103
|
-
_create_class(ConditionalBlocks, [
|
|
104
|
-
{
|
|
105
|
-
key: "getString",
|
|
106
|
-
value: function getString() {
|
|
107
|
-
return this.string;
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
key: "getValue",
|
|
112
|
-
value: function getValue() {
|
|
113
|
-
return this.value;
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
key: "getConditionBlock",
|
|
118
|
-
value: function getConditionBlock() {
|
|
119
|
-
return this.ifBlock;
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
key: "getElseBlock",
|
|
124
|
-
value: function getElseBlock() {
|
|
125
|
-
return this.elseBlock;
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
key: "evaluate",
|
|
130
|
-
value: function evaluate(context) {
|
|
131
|
-
var conditionalBlocksString = this.string; ///
|
|
132
|
-
context.trace("Evaluating the '".concat(conditionalBlocksString, "' conditional blocks..."));
|
|
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();
|
|
139
|
-
if (boolean) {
|
|
140
|
-
this.ifBlock.evaluate(context);
|
|
141
|
-
} else {
|
|
142
|
-
if (this.elseBlock !== null) {
|
|
143
|
-
this.elseBlock.evaluate(context);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
context.debug("...evaluated the '".concat(conditionalBlocksString, "' conditional blocks."));
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
], [
|
|
150
|
-
{
|
|
151
|
-
key: "fromStepNode",
|
|
152
|
-
value: function fromStepNode(stepNode, context) {
|
|
153
|
-
var conditionalBlocks = null;
|
|
154
|
-
var conditionalBlocksNode = conditionalBlocksNodeQuery(stepNode);
|
|
155
|
-
if (conditionalBlocksNode !== null) {
|
|
156
|
-
var Block = _dom.default.Block, Value = _dom.default.Value, ifBlockNode = ifBlockNodeQuery(conditionalBlocksNode), elseBlockNode = elseBlockNodeQuery(conditionalBlocksNode), value = Value.fromConditionalBlocksNode(conditionalBlocksNode, context), ifBlock = Block.fromBlockNode(ifBlockNode, context), elseBlock = Block.fromBlockNode(elseBlockNode, context), string = stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context);
|
|
157
|
-
conditionalBlocks = new ConditionalBlocks(string, value, ifBlock, elseBlock);
|
|
158
|
-
}
|
|
159
|
-
return conditionalBlocks;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
]);
|
|
163
|
-
return ConditionalBlocks;
|
|
164
|
-
}(), _define_property(_ConditionalBlocks, "name", "ConditionalBlocks"), _ConditionalBlocks));
|
|
165
|
-
function stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context) {
|
|
166
|
-
var string;
|
|
167
|
-
var valueString = value.asString(context), ifBlockString = ifBlock.getString();
|
|
168
|
-
string = "If (".concat(valueString, ") ").concat(ifBlockString);
|
|
169
|
-
if (elseBlock !== null) {
|
|
170
|
-
var elseBlockString = elseBlock.getString();
|
|
171
|
-
string = "".concat(string, " Else ").concat(elseBlockString);
|
|
172
|
-
}
|
|
173
|
-
return string;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uZGl0aW9uYWxCbG9ja3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmNvbnN0IHZhbHVlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmRpdGlvbmFsQmxvY2tzL3ZhbHVlXCIpLFxuICAgICAgaWZCbG9ja05vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb25hbEJsb2Nrcy9ibG9ja1swXVwiKSxcbiAgICAgIGVsc2VCbG9ja05vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb25hbEJsb2Nrcy9ibG9ja1sxXVwiKSxcbiAgICAgIGNvbmRpdGlvbmFsQmxvY2tzTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0ZXAvY29uZGl0aW9uYWxCbG9ja3NcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIENvbmRpdGlvbmFsQmxvY2tzIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YWx1ZSwgaWZCbG9jaywgZWxzZUJsb2NrKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaWZCbG9jayA9IGlmQmxvY2s7XG4gICAgdGhpcy5lbHNlQmxvY2sgPSBlbHNlQmxvY2s7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRDb25kaXRpb25CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5pZkJsb2NrO1xuICB9XG5cbiAgZ2V0RWxzZUJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmVsc2VCbG9jaztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBjb25kaXRpb25hbEJsb2Nrc1N0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2NvbmRpdGlvbmFsQmxvY2tzU3RyaW5nfScgY29uZGl0aW9uYWwgYmxvY2tzLi4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGJvb2xlYW4gPSB2YWx1ZS5nZXRCb29sZWFuKCk7XG5cbiAgICBpZiAoYm9vbGVhbikge1xuICAgICAgdGhpcy5pZkJsb2NrLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5lbHNlQmxvY2sgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5lbHNlQmxvY2suZXZhbHVhdGUoY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtjb25kaXRpb25hbEJsb2Nrc1N0cmluZ30nIGNvbmRpdGlvbmFsIGJsb2Nrcy5gKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb25kaXRpb25hbEJsb2Nrc1wiO1xuXG4gIHN0YXRpYyBmcm9tU3RlcE5vZGUoc3RlcE5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgY29uZGl0aW9uYWxCbG9ja3MgPSBudWxsO1xuXG4gICAgY29uc3QgY29uZGl0aW9uYWxCbG9ja3NOb2RlID0gY29uZGl0aW9uYWxCbG9ja3NOb2RlUXVlcnkoc3RlcE5vZGUpO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsQmxvY2tzTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBCbG9jaywgVmFsdWUgfSA9IGRvbSxcbiAgICAgICAgICAgIGlmQmxvY2tOb2RlID0gaWZCbG9ja05vZGVRdWVyeShjb25kaXRpb25hbEJsb2Nrc05vZGUpLFxuICAgICAgICAgICAgZWxzZUJsb2NrTm9kZSA9IGVsc2VCbG9ja05vZGVRdWVyeShjb25kaXRpb25hbEJsb2Nrc05vZGUpLFxuICAgICAgICAgICAgdmFsdWUgPSBWYWx1ZS5mcm9tQ29uZGl0aW9uYWxCbG9ja3NOb2RlKGNvbmRpdGlvbmFsQmxvY2tzTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBpZkJsb2NrID0gQmxvY2suZnJvbUJsb2NrTm9kZShpZkJsb2NrTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBlbHNlQmxvY2sgPSBCbG9jay5mcm9tQmxvY2tOb2RlKGVsc2VCbG9ja05vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVZhbHVlSWZCb2NrQW5kRWxzZUJvY2sodmFsdWUsIGlmQmxvY2ssIGVsc2VCbG9jaywgY29udGV4dCk7XG5cbiAgICAgIGNvbmRpdGlvbmFsQmxvY2tzID0gbmV3IENvbmRpdGlvbmFsQmxvY2tzKHN0cmluZywgdmFsdWUsIGlmQmxvY2ssIGVsc2VCbG9jayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsQmxvY2tzO1xuICB9XG59KTtcblxuZnVuY3Rpb24gc3RyaW5nRnJvbVZhbHVlSWZCb2NrQW5kRWxzZUJvY2sodmFsdWUsIGlmQmxvY2ssIGVsc2VCbG9jaywgY29udGV4dCkge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIGlmQmxvY2tTdHJpbmcgPSBpZkJsb2NrLmdldFN0cmluZygpO1xuXG4gIHN0cmluZyA9IGBJZiAoJHt2YWx1ZVN0cmluZ30pICR7aWZCbG9ja1N0cmluZ31gO1xuXG4gIGlmIChlbHNlQmxvY2sgIT09IG51bGwpIHtcbiAgICBjb25zdCBlbHNlQmxvY2tTdHJpbmcgPSBlbHNlQmxvY2suZ2V0U3RyaW5nKCk7XG5cbiAgICBzdHJpbmcgPSBgJHtzdHJpbmd9IEVsc2UgJHtlbHNlQmxvY2tTdHJpbmd9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59Il0sIm5hbWVzIjpbInZhbHVlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiaWZCbG9ja05vZGVRdWVyeSIsImVsc2VCbG9ja05vZGVRdWVyeSIsImNvbmRpdGlvbmFsQmxvY2tzTm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJDb25kaXRpb25hbEJsb2NrcyIsInN0cmluZyIsInZhbHVlIiwiaWZCbG9jayIsImVsc2VCbG9jayIsImdldFN0cmluZyIsImdldFZhbHVlIiwiZ2V0Q29uZGl0aW9uQmxvY2siLCJnZXRFbHNlQmxvY2siLCJldmFsdWF0ZSIsImNvbnRleHQiLCJjb25kaXRpb25hbEJsb2Nrc1N0cmluZyIsInRyYWNlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIkJPT0xFQU5fVFlQRSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsImRlYnVnIiwiZnJvbVN0ZXBOb2RlIiwic3RlcE5vZGUiLCJjb25kaXRpb25hbEJsb2NrcyIsImNvbmRpdGlvbmFsQmxvY2tzTm9kZSIsIkJsb2NrIiwiZG9tIiwiVmFsdWUiLCJpZkJsb2NrTm9kZSIsImVsc2VCbG9ja05vZGUiLCJmcm9tQ29uZGl0aW9uYWxCbG9ja3NOb2RlIiwiZnJvbUJsb2NrTm9kZSIsInN0cmluZ0Zyb21WYWx1ZUlmQm9ja0FuZEVsc2VCb2NrIiwibmFtZSIsImlmQmxvY2tTdHJpbmciLCJlbHNlQmxvY2tTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7OzJEQVpnQjtnRUFDTTtxQkFFSTtxQkFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTUEsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLDZCQUMzQkMsbUJBQW1CRCxJQUFBQSxnQkFBUyxFQUFDLGdDQUM3QkUscUJBQXFCRixJQUFBQSxnQkFBUyxFQUFDLGdDQUMvQkcsNkJBQTZCSCxJQUFBQSxnQkFBUyxFQUFDO0lBRTdDLFdBQWVJLElBQUFBLGdCQUFXLHNDQUFDO2FBQU1DLGtCQUNuQkMsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsU0FBUztnQ0FEZEo7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxTQUFTLEdBQUdBOzs7O1lBR25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLEtBQUs7WUFDbkI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJ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
|