occam-furtle 3.0.381 → 3.0.385
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/context/file/furtle.js +4 -4
- package/lib/element/anonymousProcedure.js +15 -11
- package/lib/element/assignment/array.js +4 -3
- package/lib/element/assignment/object.js +6 -5
- package/lib/element/assignment/variable.js +10 -9
- package/lib/element/assignments/variable.js +9 -8
- package/lib/element/contains.js +1 -3
- package/lib/element/error.js +7 -4
- package/lib/element/every.js +21 -25
- package/lib/element/expression.js +19 -11
- package/lib/element/lengthOf.js +1 -1
- package/lib/element/procedure.js +33 -30
- package/lib/element/procedureCall.js +10 -10
- package/lib/element/reduce.js +14 -17
- package/lib/element/returnBlock.js +19 -16
- package/lib/element/some.js +21 -24
- package/lib/element/statement.js +12 -11
- package/lib/element/ternary.js +11 -11
- package/lib/element/type.js +3 -10
- package/lib/process/verify.js +12 -24
- package/lib/utilities/element.js +5 -5
- package/package.json +2 -2
- package/src/context/file/furtle.js +3 -4
- package/src/element/anonymousProcedure.js +21 -17
- package/src/element/assignment/array.js +5 -3
- package/src/element/assignment/object.js +7 -5
- package/src/element/assignment/variable.js +11 -11
- package/src/element/assignments/variable.js +10 -10
- package/src/element/contains.js +0 -3
- package/src/element/error.js +10 -5
- package/src/element/every.js +29 -38
- package/src/element/expression.js +24 -12
- package/src/element/lengthOf.js +1 -1
- package/src/element/procedure.js +45 -44
- package/src/element/procedureCall.js +12 -14
- package/src/element/reduce.js +15 -22
- package/src/element/returnBlock.js +22 -19
- package/src/element/some.js +30 -38
- package/src/element/statement.js +13 -11
- package/src/element/ternary.js +16 -16
- package/src/element/type.js +5 -17
- package/src/process/verify.js +11 -32
- package/src/utilities/element.js +4 -4
|
@@ -134,9 +134,9 @@ class FurtleFileContext extends _occamlanguages.FileContext {
|
|
|
134
134
|
this.procedures = (0, _json.proceduresFromJSON)(json, fileContext);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
|
|
138
|
-
const node = this.getNode(), context = this, fileNode = node
|
|
139
|
-
|
|
137
|
+
verifyFile(continuation) {
|
|
138
|
+
const node = this.getNode(), context = this, fileNode = node; ///
|
|
139
|
+
(0, _verify.verifyFile)(fileNode, context, continuation);
|
|
140
140
|
}
|
|
141
141
|
toJSON() {
|
|
142
142
|
const proceduresJSON = (0, _json.proceduresToProceduresJSON)(this.procedures), fileContent = this.getFileContent(), filePath = this.getFilePath(), procedures = proceduresJSON, json = {
|
|
@@ -156,4 +156,4 @@ class FurtleFileContext extends _occamlanguages.FileContext {
|
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L2ZpbGUvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGaWxlQ29udGV4dCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IHZlcmlmeUZpbGUgfSBmcm9tIFwiLi4vLi4vcHJvY2Vzcy92ZXJpZnlcIjtcbmltcG9ydCB7IGZ1cnRsZUxleGVyLCBmdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Z1cnRsZVwiO1xuaW1wb3J0IHsgcHJvY2VkdXJlc0Zyb21KU09OLCBwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IG5vZGVzUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBwcm9jZWR1cmVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZUZpbGVDb250ZXh0IGV4dGVuZHMgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIGZpbGVDb250ZW50LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCBqc29uKTtcblxuICAgIHRoaXMubGV4ZXIgPSBsZXhlcjtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyO1xuICB9XG5cbiAgZ2V0TGFiZWxzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgcmV0dXJuIGxhYmVscztcbiAgfVxuXG4gIGdldFR5cGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIGxlbW1hcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0R2VuZXJhdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBnZW5lcmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9ycztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbmplY3R1cmVzID0gW107XG5cbiAgICByZXR1cm4gY29uamVjdHVyZXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0VHlwZVByZWZpeGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVQcmVmaXhlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXhlcztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IGluY2x1ZGVSZWxlYXNlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2V0UHJvY2VkdXJlcygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2VkdXJlcztcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBhZGRQcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gcHJvY2VkdXJlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5wcm9jZWR1cmVzLnB1c2gocHJvY2VkdXJlKTtcblxuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5nZXRGaWxlUGF0aCgpO1xuXG4gICAgdGhpcy5kZWJ1ZyhgQWRkZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIHRvIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUgY29udGV4dC5gKTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IGxhYmVsLmdldE5vZGUoKSxcbiAgICAgICAgICBkb2N1bWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZXMgPSBwcm9jZWR1cmVOb2Rlc1F1ZXJ5KGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IHByb2NlZHVyZU5vZGVzLmZpbmQoKHByb2NlZHVyZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsTWF0Y2hlcyA9IHByb2NlZHVyZU5vZGUubWF0Y2hMYWJlbE5vZGUobGFiZWxOb2RlKTtcblxuICAgICAgICAgICAgaWYgKGxhYmVsTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZU5vZGU7XG4gIH1cblxuICBmaW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gdGhpcy5nZXRQcm9jZWR1cmVzKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlcy5maW5kKChwcm9jZWR1cmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2NlZHVyZUNvbXBhcmVzVG9Qcm9jZWR1cmVOYW1lID0gcHJvY2VkdXJlLmNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gKHByb2NlZHVyZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuICB9XG5cbiAgY29tcGxldGUoKSB7XG4gICAgLy8vXG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICBjb25zdCBqc29uID0gdGhpcy5nZXRKU09OKCk7XG5cbiAgICBpZiAoanNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgICAgdGhpcy5wcm9jZWR1cmVzID0gcHJvY2VkdXJlc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB2ZXJpZnlGaWxlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhpcywgLy8vXG4gICAgICAgICAgZmlsZU5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgZmlsZVZlcmlmaWVzID0gdmVyaWZ5RmlsZShmaWxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZmlsZVZlcmlmaWVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHByb2NlZHVyZXNKU09OID0gcHJvY2VkdXJlc1RvUHJvY2VkdXJlc0pTT04odGhpcy5wcm9jZWR1cmVzKSxcbiAgICAgICAgICBmaWxlQ29udGVudCA9IHRoaXMuZ2V0RmlsZUNvbnRlbnQoKSxcbiAgICAgICAgICBmaWxlUGF0aCA9IHRoaXMuZ2V0RmlsZVBhdGgoKSxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gcHJvY2VkdXJlc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQsXG4gICAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICAgIHByb2NlZHVyZXNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGUoZmlsZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gW10sXG4gICAgICAgICAgZnVydGxlRmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tRmlsZShGdXJ0bGVGaWxlQ29udGV4dCwgZmlsZSwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnVydGxlRmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gbnVsbCxcbiAgICAgICAgICBmdXJ0bGVGaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21KU09OKEZ1cnRsZUZpbGVDb250ZXh0LCBqc29uLCBsZXhlciwgcGFyc2VyLCBwcm9jZWR1cmVzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmdXJ0bGVGaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZ1cnRsZUZpbGVDb250ZXh0Iiwibm9kZXNRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIiwicHJvY2VkdXJlTm9kZXNRdWVyeSIsIkZpbGVDb250ZXh0IiwiY29udGV4dCIsImZpbGVDb250ZW50IiwiZmlsZVBhdGgiLCJ0b2tlbnMiLCJub2RlIiwianNvbiIsImxleGVyIiwicGFyc2VyIiwicHJvY2VkdXJlcyIsImdldExleGVyIiwiZ2V0UGFyc2VyIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZVJlbGVhc2UiLCJsYWJlbHMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImdldEF4aW9tcyIsImF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImdldFRoZW9yZW1zIiwidGhlb3JlbXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldEdlbmVyYXRvcnMiLCJnZW5lcmF0b3JzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRUeXBlUHJlZml4ZXMiLCJ0eXBlUHJlZml4ZXMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJnZXRNZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlcyIsImdldFByb2NlZHVyZXMiLCJnZXRWYXJpYWJsZXMiLCJuZXN0ZWQiLCJ2YXJpYWJsZXMiLCJhZGRQcm9jZWR1cmUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJwdXNoIiwiZ2V0RmlsZVBhdGgiLCJkZWJ1ZyIsImZpbmRQcm9jZWR1cmVOb2RlIiwibGFiZWwiLCJnZXROb2RlIiwibGFiZWxOb2RlIiwiZG9jdW1lbnROb2RlIiwicHJvY2VkdXJlTm9kZXMiLCJwcm9jZWR1cmVOb2RlIiwiZmluZCIsImxhYmVsTWF0Y2hlcyIsIm1hdGNoTGFiZWxOb2RlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVDb21wYXJlc1RvUHJvY2VkdXJlTmFtZSIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlUHJlc2VudCIsImNsZWFyIiwiY29tcGxldGUiLCJpbml0aWFsaXNlIiwiZ2V0SlNPTiIsImZpbGVDb250ZXh0IiwicHJvY2VkdXJlc0Zyb21KU09OIiwidmVyaWZ5RmlsZSIsImZpbGVOb2RlIiwiZmlsZVZlcmlmaWVzIiwidG9KU09OIiwicHJvY2VkdXJlc0pTT04iLCJwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiIsImdldEZpbGVDb250ZW50IiwiZnJvbUZpbGUiLCJmaWxlIiwiZnVydGxlTGV4ZXIiLCJmdXJ0bGVQYXJzZXIiLCJmdXJ0bGVGaWxlQ29udGV4dCIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXFCQTs7O2dDQVhPOzRCQUNHO3dCQUVKO3dCQUNlO3NCQUNxQjtBQUUvRCxNQUFNLEVBQUVDLFVBQVUsRUFBRSxHQUFHQywwQkFBYztBQUVyQyxNQUFNQyxzQkFBc0JGLFdBQVc7QUFFeEIsTUFBTUQsMEJBQTBCSSwyQkFBVztJQUN4RCxZQUFZQyxPQUFPLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsVUFBVSxDQUFFO1FBQ3pGLEtBQUssQ0FBQ1IsU0FBU0MsYUFBYUMsVUFBVUMsUUFBUUMsTUFBTUM7UUFFcEQsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxVQUFVLEdB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
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L2ZpbGUvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGaWxlQ29udGV4dCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IHZlcmlmeUZpbGUgfSBmcm9tIFwiLi4vLi4vcHJvY2Vzcy92ZXJpZnlcIjtcbmltcG9ydCB7IGZ1cnRsZUxleGVyLCBmdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Z1cnRsZVwiO1xuaW1wb3J0IHsgcHJvY2VkdXJlc0Zyb21KU09OLCBwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IG5vZGVzUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBwcm9jZWR1cmVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZUZpbGVDb250ZXh0IGV4dGVuZHMgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIGZpbGVDb250ZW50LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCBqc29uKTtcblxuICAgIHRoaXMubGV4ZXIgPSBsZXhlcjtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyO1xuICB9XG5cbiAgZ2V0TGFiZWxzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgcmV0dXJuIGxhYmVscztcbiAgfVxuXG4gIGdldFR5cGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIGxlbW1hcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0R2VuZXJhdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBnZW5lcmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9ycztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbmplY3R1cmVzID0gW107XG5cbiAgICByZXR1cm4gY29uamVjdHVyZXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0VHlwZVByZWZpeGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVQcmVmaXhlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXhlcztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IGluY2x1ZGVSZWxlYXNlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2V0UHJvY2VkdXJlcygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2VkdXJlcztcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBhZGRQcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gcHJvY2VkdXJlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5wcm9jZWR1cmVzLnB1c2gocHJvY2VkdXJlKTtcblxuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5nZXRGaWxlUGF0aCgpO1xuXG4gICAgdGhpcy5kZWJ1ZyhgQWRkZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIHRvIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUgY29udGV4dC5gKTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IGxhYmVsLmdldE5vZGUoKSxcbiAgICAgICAgICBkb2N1bWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZXMgPSBwcm9jZWR1cmVOb2Rlc1F1ZXJ5KGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IHByb2NlZHVyZU5vZGVzLmZpbmQoKHByb2NlZHVyZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsTWF0Y2hlcyA9IHByb2NlZHVyZU5vZGUubWF0Y2hMYWJlbE5vZGUobGFiZWxOb2RlKTtcblxuICAgICAgICAgICAgaWYgKGxhYmVsTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZU5vZGU7XG4gIH1cblxuICBmaW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gdGhpcy5nZXRQcm9jZWR1cmVzKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlcy5maW5kKChwcm9jZWR1cmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2NlZHVyZUNvbXBhcmVzVG9Qcm9jZWR1cmVOYW1lID0gcHJvY2VkdXJlLmNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gKHByb2NlZHVyZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuICB9XG5cbiAgY29tcGxldGUoKSB7XG4gICAgLy8vXG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICBjb25zdCBqc29uID0gdGhpcy5nZXRKU09OKCk7XG5cbiAgICBpZiAoanNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgICAgdGhpcy5wcm9jZWR1cmVzID0gcHJvY2VkdXJlc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICB2ZXJpZnlGaWxlKGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhpcywgLy8vXG4gICAgICAgICAgZmlsZU5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICB2ZXJpZnlGaWxlKGZpbGVOb2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHByb2NlZHVyZXNKU09OID0gcHJvY2VkdXJlc1RvUHJvY2VkdXJlc0pTT04odGhpcy5wcm9jZWR1cmVzKSxcbiAgICAgICAgICBmaWxlQ29udGVudCA9IHRoaXMuZ2V0RmlsZUNvbnRlbnQoKSxcbiAgICAgICAgICBmaWxlUGF0aCA9IHRoaXMuZ2V0RmlsZVBhdGgoKSxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gcHJvY2VkdXJlc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQsXG4gICAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICAgIHByb2NlZHVyZXNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGUoZmlsZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gW10sXG4gICAgICAgICAgZnVydGxlRmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tRmlsZShGdXJ0bGVGaWxlQ29udGV4dCwgZmlsZSwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnVydGxlRmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gbnVsbCxcbiAgICAgICAgICBmdXJ0bGVGaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21KU09OKEZ1cnRsZUZpbGVDb250ZXh0LCBqc29uLCBsZXhlciwgcGFyc2VyLCBwcm9jZWR1cmVzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmdXJ0bGVGaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZ1cnRsZUZpbGVDb250ZXh0Iiwibm9kZXNRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIiwicHJvY2VkdXJlTm9kZXNRdWVyeSIsIkZpbGVDb250ZXh0IiwiY29udGV4dCIsImZpbGVDb250ZW50IiwiZmlsZVBhdGgiLCJ0b2tlbnMiLCJub2RlIiwianNvbiIsImxleGVyIiwicGFyc2VyIiwicHJvY2VkdXJlcyIsImdldExleGVyIiwiZ2V0UGFyc2VyIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZVJlbGVhc2UiLCJsYWJlbHMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImdldEF4aW9tcyIsImF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImdldFRoZW9yZW1zIiwidGhlb3JlbXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldEdlbmVyYXRvcnMiLCJnZW5lcmF0b3JzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRUeXBlUHJlZml4ZXMiLCJ0eXBlUHJlZml4ZXMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJnZXRNZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlcyIsImdldFByb2NlZHVyZXMiLCJnZXRWYXJpYWJsZXMiLCJuZXN0ZWQiLCJ2YXJpYWJsZXMiLCJhZGRQcm9jZWR1cmUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJwdXNoIiwiZ2V0RmlsZVBhdGgiLCJkZWJ1ZyIsImZpbmRQcm9jZWR1cmVOb2RlIiwibGFiZWwiLCJnZXROb2RlIiwibGFiZWxOb2RlIiwiZG9jdW1lbnROb2RlIiwicHJvY2VkdXJlTm9kZXMiLCJwcm9jZWR1cmVOb2RlIiwiZmluZCIsImxhYmVsTWF0Y2hlcyIsIm1hdGNoTGFiZWxOb2RlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVDb21wYXJlc1RvUHJvY2VkdXJlTmFtZSIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlUHJlc2VudCIsImNsZWFyIiwiY29tcGxldGUiLCJpbml0aWFsaXNlIiwiZ2V0SlNPTiIsImZpbGVDb250ZXh0IiwicHJvY2VkdXJlc0Zyb21KU09OIiwidmVyaWZ5RmlsZSIsImNvbnRpbnVhdGlvbiIsImZpbGVOb2RlIiwidG9KU09OIiwicHJvY2VkdXJlc0pTT04iLCJwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiIsImdldEZpbGVDb250ZW50IiwiZnJvbUZpbGUiLCJmaWxlIiwiZnVydGxlTGV4ZXIiLCJmdXJ0bGVQYXJzZXIiLCJmdXJ0bGVGaWxlQ29udGV4dCIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXFCQTs7O2dDQVhPOzRCQUNHO3dCQUVKO3dCQUNlO3NCQUNxQjtBQUUvRCxNQUFNLEVBQUVDLFVBQVUsRUFBRSxHQUFHQywwQkFBYztBQUVyQyxNQUFNQyxzQkFBc0JGLFdBQVc7QUFFeEIsTUFBTUQsMEJBQTBCSSwyQkFBVztJQUN4RCxZQUFZQyxPQUFPLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsVUFBVSxDQUFFO1FBQ3pGLEtBQUssQ0FBQ1IsU0FBU0MsYUFBYUMsVUFBVUMsUUFBUUMsTUFBTUM7UUFFcEQsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLFdBQVc7UUFDVCxP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
|
|
@@ -17,6 +17,7 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
default: obj
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
20
21
|
const _default = (0, _elements.define)(class AnonymousProcedure extends _occamlanguages.Element {
|
|
21
22
|
constructor(context, string, node, breakPoint, type, parameters, returnBlock){
|
|
22
23
|
super(context, string, node, breakPoint);
|
|
@@ -33,19 +34,22 @@ const _default = (0, _elements.define)(class AnonymousProcedure extends _occamla
|
|
|
33
34
|
getReturnBlock() {
|
|
34
35
|
return this.returnBlock;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
+
call = unbreakable(function(values, context, continuatino) {
|
|
37
38
|
const anonymousProcedureString = this.getString(); ///
|
|
38
|
-
context.trace(`Calling the '${anonymousProcedureString}' anonymous
|
|
39
|
+
context.trace(`Calling the '${anonymousProcedureString}' anonymous function...`);
|
|
39
40
|
this.parameters.compareValues(values, context);
|
|
40
|
-
const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context)
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context);
|
|
42
|
+
this.returnBlock.evaluate(variables, context, (value)=>{
|
|
43
|
+
const valueType = value.getType(), typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
44
|
+
if (!typeEqualToValueType) {
|
|
45
|
+
const valueString = value.getString(), typeString = this.type.getString(), message = `The '${valueString}' value's '${valueType}' type is not equal to the '${anonymousProcedureString}' anonymous function's '${typeString}' type.`, exception = _exception.default.fromMessage(message);
|
|
46
|
+
throw exception;
|
|
47
|
+
}
|
|
48
|
+
context.debug(`...called the '${anonymousProcedureString}' anonymous function.`);
|
|
49
|
+
continuatino(value);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
48
52
|
static name = "AnonymousProcedure";
|
|
49
53
|
});
|
|
50
54
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Fub255bW91c1Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGFyYW1ldGVyc1wiO1xuXG5jb25zdCB7IHVuYnJlYWthYmxlIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBbm9ueW1vdXNQcm9jZWR1cmUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jaykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBjYWxsID0gdW5icmVha2FibGUoZnVuY3Rpb24gKHZhbHVlcywgY29udGV4dCwgY29udGludWF0aW5vKSB7XG4gICAgY29uc3QgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDYWxsaW5nIHRoZSAnJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9JyBhbm9ueW1vdXMgZnVuY3Rpb24uLi5gKTtcblxuICAgIHRoaXMucGFyYW1ldGVycy5jb21wYXJlVmFsdWVzKHZhbHVlcywgY29udGV4dCk7XG5cbiAgICBjb25zdCB2YXJpYWJsZXMgPSB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyh2YWx1ZXMsIHRoaXMucGFyYW1ldGVycywgY29udGV4dCk7XG5cbiAgICB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB0eXBlRXF1YWxUb1ZhbHVlVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG8odmFsdWVUeXBlKTtcblxuICAgICAgaWYgKCF0eXBlRXF1YWxUb1ZhbHVlVHlwZSkge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBpcyBub3QgZXF1YWwgdG8gdGhlICcke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30nIGFub255bW91cyBmdW5jdGlvbidzICcke3R5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfScgYW5vbnltb3VzIGZ1bmN0aW9uLmApO1xuXG4gICAgICBjb250aW51YXRpbm8odmFsdWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBzdGF0aWMgbmFtZSA9IFwiQW5vbnltb3VzUHJvY2VkdXJlXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJ1bmJyZWFrYWJsZSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIkFub255bW91c1Byb2NlZHVyZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0eXBlIiwicGFyYW1ldGVycyIsInJldHVybkJsb2NrIiwiZ2V0VHlwZSIsImdldFBhcmFtZXRlcnMiLCJnZXRSZXR1cm5CbG9jayIsImNhbGwiLCJ2YWx1ZXMiLCJjb250aW51YXRpbm8iLCJhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImNvbXBhcmVWYWx1ZXMiLCJ2YXJpYWJsZXMiLCJ2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyIsImV2YWx1YXRlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJ0eXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsInZhbHVlU3RyaW5nIiwidHlwZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7Z0NBVCtDO2tFQUV6QjswQkFFQzs0QkFDMEI7Ozs7OztBQUVqRCxNQUFNLEVBQUVBLFdBQVcsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFN0MsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQywyQkFBMkJDLHVCQUFPO0lBQzVELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsQ0FBRTtRQUM1RSxLQUFLLENBQUNOLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7SUFDckI7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDSCxVQUFVO0lBQ3hCO0lBRUFJLGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDSCxXQUFXO0lBQ3pCO0lBRUFJLE9BQU9mLFlBQVksU0FBVWdCLE1BQU0sRUFBRVgsT0FBTyxFQUFFWSxZQUFZO1FBQ3hELE1BQU1DLDJCQUEyQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXREZCxRQUFRZSxLQUFLLENBQUMsQ0FBQyxhQUFhLEVBQUVGLHlCQUF5Qix1QkFBdUIsQ0FBQztRQUUvRSxJQUFJLENBQUNSLFVBQVUsQ0FBQ1csYUFBYSxDQUFDTCxRQUFRWDtRQUV0QyxNQUFNaUIsWUFBWUMsSUFBQUEsNENBQWdDLEVBQUNQLFFBQVEsSUFBSSxDQUFDTixVQUFVLEVBQUVMO1FBRTVFLElBQUksQ0FBQ00sV0FBVyxDQUFDYSxRQUFRLENBQUNGLFdBQVdqQixTQUFTLENBQUNvQjtZQUM3QyxNQUFNQyxZQUFZRCxNQUFNYixPQUFPLElBQ3pCZSx1QkFBdUIsSUFBSSxDQUFDbEIsSUFBSSxDQUFDbUIsU0FBUyxDQUFDRjtZQUVqRCxJQUFJLENBQUNDLHNCQUFzQjtnQkFDekIsTUFBTUUsY0FBY0osTUFBTU4sU0FBUyxJQUM3QlcsYUFBYSxJQUFJLENBQUNyQixJQUFJLENBQUNVLFNBQVMsSUFDaENZLFVBQVUsQ0FBQyxLQUFLLEVBQUVGLFlBQVksV0FBVyxFQUFFSCxVQUFVLDRCQUE0QixFQUFFUix5QkFBeUIsd0JBQXdCLEVBQUVZLFdBQVcsT0FBTyxDQUFDLEVBQ3pKRSxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO2dCQUV4QyxNQUFNQztZQUNSO1lBRUEzQixRQUFROEIsS0FBSyxDQUFDLENBQUMsZUFBZSxFQUFFakIseUJBQXlCLHFCQUFxQixDQUFDO1lBRS9FRCxhQUFhUTtRQUNmO0lBQ0YsR0FBRztJQUVILE9BQU9XLE9BQU8scUJBQXFCO0FBQ3JDIn0=
|
|
@@ -58,6 +58,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
58
58
|
}
|
|
59
59
|
return newObj;
|
|
60
60
|
}
|
|
61
|
+
const { breakable } = _occamlanguages.continuationUtilities;
|
|
61
62
|
const _default = (0, _elements.define)(class ArrayAssigment extends _occamlanguages.Element {
|
|
62
63
|
constructor(context, string, node, breakPoint, variable, bindings){
|
|
63
64
|
super(context, string, node, breakPoint);
|
|
@@ -70,7 +71,7 @@ const _default = (0, _elements.define)(class ArrayAssigment extends _occamlangua
|
|
|
70
71
|
getBindings() {
|
|
71
72
|
return this.bindings;
|
|
72
73
|
}
|
|
73
|
-
evaluate(context) {
|
|
74
|
+
evaluate = breakable(function(context) {
|
|
74
75
|
const arrayAssignmentString = this.getString(); ///
|
|
75
76
|
context.trace(`Evaluating the '${arrayAssignmentString}' array assignment...`);
|
|
76
77
|
const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
@@ -92,7 +93,7 @@ const _default = (0, _elements.define)(class ArrayAssigment extends _occamlangua
|
|
|
92
93
|
}
|
|
93
94
|
});
|
|
94
95
|
context.debug(`...evaluated the '${arrayAssignmentString}' array assignment.`);
|
|
95
|
-
}
|
|
96
|
+
});
|
|
96
97
|
evaluateBinding(binding, value, context) {
|
|
97
98
|
const valueString = value.getString(), bindingString = binding.getString();
|
|
98
99
|
context.trace(`Evaluating the '${bindingString}' binding against the '${valueString}' value...`);
|
|
@@ -108,4 +109,4 @@ const _default = (0, _elements.define)(class ArrayAssigment extends _occamlangua
|
|
|
108
109
|
static name = "ArrayAssignment";
|
|
109
110
|
});
|
|
110
111
|
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUgfSBmcm9tIFwiLi4vLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgYnJlYWthYmxlIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBcnJheUFzc2lnbWVudCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBiaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5iaW5kaW5ncyA9IGJpbmRpbmdzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5iaW5kaW5ncztcbiAgfVxuXG4gIGV2YWx1YXRlID0gYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgY29uc3QgYXJyYXlBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHthcnJheUFzc2lnbm1lbnRTdHJpbmd9JyBhcnJheSBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUxpc3RUeXBlID0gdmFsdWVUeXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgYmluZGluZ3NMZW5ndGggPSB0aGlzLmJpbmRpbmdzLmdldExlbmd0aCgpLFxuICAgICAgICAgIHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBwcmltaXRpdmVWYWx1ZUxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmxlbmd0aDtcblxuICAgIGlmIChiaW5kaW5nc0xlbmd0aCA+IHByaW1pdGl2ZVZhbHVlTGVuZ3RoKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgYmluZGluZ3NTdHJpbmcgPSB0aGlzLmJpbmRpbmdzLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgbGVuZ3RoIG9mIHRoZSAnJHtiaW5kaW5nc1N0cmluZ30nIGJpbmRpbmdzIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbGVuZ3RoIG9mIHRoZSAnJHt2YWx1ZVN0cmluZ30nIGxpc3QuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlLmxpZnQoY29udGV4dCk7XG5cbiAgICB0aGlzLmJpbmRpbmdzLmZvckVhY2hCaW5kaW5nKChiaW5kaW5nLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgZWxpZGVkID0gYmluZGluZy5pc0VsaWRlZCgpO1xuXG4gICAgICBpZiAoIWVsaWRlZCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgdGhpcy5ldmFsdWF0ZUJpbmRpbmcoYmluZGluZywgdmFsdWUsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHthcnJheUFzc2lnbm1lbnRTdHJpbmd9JyBhcnJheSBhc3NpZ25tZW50LmApO1xuICB9KTtcblxuICBldmFsdWF0ZUJpbmRpbmcoYmluZGluZywgdmFsdWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgIGJpbmRpbmdTdHJpbmcgPSBiaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcgYWdhaW5zdCB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJpbmRpbmdUeXBlID0gYmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgYmluZGluZ1R5cGVFcXVhbFRvVmFsdWVUeXBlID0gYmluZGluZ1R5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICBpZiAoIWJpbmRpbmdUeXBlRXF1YWxUb1ZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgYmluZGluZ1R5cGVTdHJpbmcgPSBiaW5kaW5nVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIHZhbHVlVHlwZVN0cmluZyA9IHZhbHVlVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtiaW5kaW5nU3RyaW5nfScgYmluZGluZydzICcke2JpbmRpbmdUeXBlU3RyaW5nfScgdHlwZSBpcyBub3QgZXF1YWwgdG8gdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB7IFZhcmlhYmxlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21CaW5kaW5nKGJpbmRpbmcsIGNvbnRleHQpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKHZhbHVlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcgYWdhaW5zdCB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZS5gKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJBcnJheUFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIkFycmF5QXNzaWdtZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiYmluZGluZ3MiLCJnZXRWYXJpYWJsZSIsImdldEJpbmRpbmdzIiwiZXZhbHVhdGUiLCJhcnJheUFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkxJU1RfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJiaW5kaW5nc0xlbmd0aCIsImdldExlbmd0aCIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJwcmltaXRpdmVWYWx1ZUxlbmd0aCIsImxlbmd0aCIsImJpbmRpbmdzU3RyaW5nIiwidmFsdWVzIiwibGlmdCIsImZvckVhY2hCaW5kaW5nIiwiYmluZGluZyIsImluZGV4IiwiZWxpZGVkIiwiaXNFbGlkZWQiLCJldmFsdWF0ZUJpbmRpbmciLCJkZWJ1ZyIsImJpbmRpbmdTdHJpbmciLCJiaW5kaW5nVHlwZSIsImJpbmRpbmdUeXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsImJpbmRpbmdUeXBlU3RyaW5nIiwidmFsdWVUeXBlU3RyaW5nIiwiVmFyaWFibGUiLCJlbGVtZW50cyIsImZyb21CaW5kaW5nIiwiYXNzaWduIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7Z0NBVitDO2tFQUUxQjtrRUFDQzsyQkFHUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsTUFBTSxFQUFFQSxTQUFTLEVBQUUsR0FBR0MscUNBQXFCO01BRTNDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsdUJBQXVCQyx1QkFBTztJQUN4RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsUUFBUSxDQUFFO1FBQ2pFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMs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
|
|
@@ -62,7 +62,8 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
62
62
|
}
|
|
63
63
|
return newObj;
|
|
64
64
|
}
|
|
65
|
-
const
|
|
65
|
+
const { breakable } = _occamlanguages.continuationUtilities;
|
|
66
|
+
const _default = (0, _elements.define)(class ObjectAssignment extends _occamlanguages.Element {
|
|
66
67
|
constructor(context, string, node, breakPoint, variable, namedBindings){
|
|
67
68
|
super(context, string, node, breakPoint);
|
|
68
69
|
this.variable = variable;
|
|
@@ -74,7 +75,7 @@ const _default = (0, _elements.define)(class ObjectAssigment extends _occamlangu
|
|
|
74
75
|
getNamedBindings() {
|
|
75
76
|
return this.namedBindings;
|
|
76
77
|
}
|
|
77
|
-
evaluate(context) {
|
|
78
|
+
evaluate = breakable(function(context) {
|
|
78
79
|
const objectAssignmentString = this.getString(); ///
|
|
79
80
|
context.trace(`Evaluating the '${objectAssignmentString}' object assignment...`);
|
|
80
81
|
const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeNominalValueType = valueType.isNominalValueType();
|
|
@@ -87,7 +88,7 @@ const _default = (0, _elements.define)(class ObjectAssigment extends _occamlangu
|
|
|
87
88
|
this.evaluateNamedBinding(namedBinding, value, context);
|
|
88
89
|
});
|
|
89
90
|
context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
|
|
90
|
-
}
|
|
91
|
+
});
|
|
91
92
|
evaluateNamedBinding(namedBinding, term, context) {
|
|
92
93
|
const termString = term.getString(), namedBindingString = namedBinding.getString();
|
|
93
94
|
context.trace(`Evaluating the '${namedBindingString}' named binding against the '${termString}' term...`);
|
|
@@ -182,7 +183,7 @@ const _default = (0, _elements.define)(class ObjectAssigment extends _occamlangu
|
|
|
182
183
|
context.debug(`...evaluated the no whitespace '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
183
184
|
return value;
|
|
184
185
|
}
|
|
185
|
-
static name = "
|
|
186
|
+
static name = "ObjectAssignment";
|
|
186
187
|
});
|
|
187
188
|
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgT2JqZWN0QXNzaWdtZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIG5hbWVkQmluZGluZ3MpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMubmFtZWRCaW5kaW5ncyA9IG5hbWVkQmluZGluZ3M7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldE5hbWVkQmluZGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBub21pbmFsVmFsdWVQcm9wZXJ0aWVzLmNvbXBhcmVOYW1lZEJpbmRpbmdzKHRoaXMubmFtZWRCaW5kaW5ncywgY29udGV4dCk7XG5cbiAgICB0aGlzLm5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nKSA9PiB7XG4gICAgICB0aGlzLmV2YWx1YXRlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdmFsdWUsIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG4gIH1cblxuICBldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCk7XG5cbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuYW1lID0gbmFtZWRCaW5kaW5nLmdldE5hbWUoKTtcblxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKHZhbHVlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgcGFyYW1ldGVyIG5hbWVkIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuICB9XG5cbiAgZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZVN0cmluZ1R5cGUgPSB0eXBlLmlzU3RyaW5nVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlU3RyaW5nVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke1NUUklOR19UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgc3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIHN0cmluZ0xpdGVyYWwgPSBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyhzdHJpbmcpLFxuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlQm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHRlcm1pbmFsID0gbm9kZVRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgIGJvb2xlYW4gPSB0ZXJtaW5hbCwgLy8vXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLCAgLy8vXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIHRlcm1pbmFsICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgY2hpbGQgbm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUxpc3RUeXBlID0gdHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVMaXN0VHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9IG5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIG5vV2hpdGVhcGNlID0gdGVybWluYWxOb2RlLmlzTm9XaGl0ZXNwYWNlTm9kZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBub1doaXRlYXBjZSwgIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgbm8gd2hpdGVzcGFjZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk9iamVjdEFzc2lnbWVudFwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiT2JqZWN0QXNzaWdtZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwibmFtZWRCaW5kaW5ncyIsImdldFZhcmlhYmxlIiwiZ2V0TmFtZWRCaW5kaW5ncyIsImV2YWx1YXRlIiwib2JqZWN0QXNzaWdubWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSIsImlzTm9taW5hbFZhbHVlVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIk5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub21pbmFsVmFsdWVQcm9wZXJ0aWVzIiwiY29tcGFyZU5hbWVkQmluZGluZ3MiLCJmb3JFYWNoTmFtZWRCaW5kaW5nIiwibmFtZWRCaW5kaW5nIiwiZXZhbHVhdGVOYW1lZEJpbmRpbmciLCJkZWJ1ZyIsInRlcm0iLCJ0ZXJtU3RyaW5nIiwibmFtZWRCaW5kaW5nU3RyaW5nIiwibmFtZSIsImdldE5hbWUiLCJDT05URU5UX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nIiwiVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nIiwiQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmciLCJOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmciLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbU5hbWVkQmluZGluZyIsImFzc2lnbiIsInR5cGUiLCJ0eXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwic3RyaW5nTGl0ZXJhbCIsInN0cmluZ0xpdGVyYWxGcm9tU3RyaW5nIiwidmFsdWVGcm9tU3RyaW5nTGl0ZXJhbCIsInZhbHVlU3R0cmluZyIsInR5cGVCb29sZWFuVHlwZSIsImlzQm9vbGVhblR5cGUiLCJCT09MRUFOX1RZUEVfTkFNRSIsInRlcm1pbmFsIiwiYm9vbGVhbiIsInZhbHVlRnJvbUJvb2xlYW4iLCJ0eXBlTGlzdFR5cGUiLCJpc0xpc3RUeXBlIiwiTElTVF9UWVBFX05BTUUiLCJub2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vZGVzIiwidmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUiLCJub1doaXRlYXBjZSIsImlzTm9XaGl0ZXNwYWNlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWndCO2tFQUVIO2tFQUNDOytFQUNhOytCQUdLO3VCQUNnRDsyQkFDSztnQ0FDNkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BRTFILFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsd0JBQXdCQyx1QkFBTztJQUN6RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsYUFBYSxDQUFFO1FBQ3RFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtJQUN2QjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDRixhQUFhO0lBQzNCO0lBRUFHLFNBQVNSLE9BQU8sRUFBRTtRQUNoQixNQUFNUyx5QkFBeUIsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUVwRFYsUUFB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
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuaW1wb3J0IG5vbWluYWxWYWx1ZVByb3BlcnRpZXMgZnJvbSBcIi4uLy4uL25vbWluYWxWYWx1ZVByb3BlcnRpZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiwgdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbCwgdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgU1RSSU5HX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUsIE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgQ09OVEVOVF9QQVJBTUVURVJfTkFNRSwgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUsIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FLCBOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FIH0gZnJvbSBcIi4uLy4uL3BhcmFtZXRlck5hbWVzXCI7XG5cbmNvbnN0IHsgYnJlYWthYmxlIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBPYmplY3RBc3NpZ25tZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIG5hbWVkQmluZGluZ3MpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMubmFtZWRCaW5kaW5ncyA9IG5hbWVkQmluZGluZ3M7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldE5hbWVkQmluZGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGV2YWx1YXRlID0gYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgY29uc3Qgb2JqZWN0QXNzaWdubWVudFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7b2JqZWN0QXNzaWdubWVudFN0cmluZ30nIG9iamVjdCBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZU5vbWluYWxWYWx1ZVR5cGUgPSB2YWx1ZVR5cGUuaXNOb21pbmFsVmFsdWVUeXBlKCk7XG5cbiAgICBpZiAoIXZhbHVlVHlwZU5vbWluYWxWYWx1ZVR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9NSU5BTF9WQUxVRV9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgbm9taW5hbFZhbHVlUHJvcGVydGllcy5jb21wYXJlTmFtZWRCaW5kaW5ncyh0aGlzLm5hbWVkQmluZGluZ3MsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzLmZvckVhY2hOYW1lZEJpbmRpbmcoKG5hbWVkQmluZGluZykgPT4ge1xuICAgICAgdGhpcy5ldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHZhbHVlLCBjb250ZXh0KTtcbiAgICB9KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7b2JqZWN0QXNzaWdubWVudFN0cmluZ30nIG9iamVjdCBhc3NpZ25tZW50LmApO1xuICB9KTtcblxuICBldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCk7XG5cbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuYW1lID0gbmFtZWRCaW5kaW5nLmdldE5hbWUoKTtcblxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5ldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKHZhbHVlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgcGFyYW1ldGVyIG5hbWVkIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuICB9XG5cbiAgZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZVN0cmluZ1R5cGUgPSB0eXBlLmlzU3RyaW5nVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlU3RyaW5nVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke1NUUklOR19UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgc3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIHN0cmluZ0xpdGVyYWwgPSBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyhzdHJpbmcpLFxuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlQm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHRlcm1pbmFsID0gbm9kZVRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgIGJvb2xlYW4gPSB0ZXJtaW5hbCwgLy8vXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLCAgLy8vXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIHRlcm1pbmFsICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgY2hpbGQgbm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUxpc3RUeXBlID0gdHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVMaXN0VHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9IG5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIG5vV2hpdGVhcGNlID0gdGVybWluYWxOb2RlLmlzTm9XaGl0ZXNwYWNlTm9kZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBub1doaXRlYXBjZSwgIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgbm8gd2hpdGVzcGFjZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk9iamVjdEFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIk9iamVjdEFzc2lnbm1lbnQiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJuYW1lZEJpbmRpbmdzIiwiZ2V0VmFyaWFibGUiLCJnZXROYW1lZEJpbmRpbmdzIiwiZXZhbHVhdGUiLCJvYmplY3RBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlIiwiaXNOb21pbmFsVmFsdWVUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vbWluYWxWYWx1ZVByb3BlcnRpZXMiLCJjb21wYXJlTmFtZWRCaW5kaW5ncyIsImZvckVhY2hOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJldmFsdWF0ZU5hbWVkQmluZGluZyIsImRlYnVnIiwidGVybSIsInRlcm1TdHJpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmciLCJURVJNSU5BTF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmciLCJDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkQmluZGluZyIsIk5PX1dISVRFU1BBQ0VfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyIsIlZhcmlhYmxlIiwiZWxlbWVudHMiLCJmcm9tTmFtZWRCaW5kaW5nIiwiYXNzaWduIiwidHlwZSIsInR5cGVTdHJpbmdUeXBlIiwiaXNTdHJpbmdUeXBlIiwiU1RSSU5HX1RZUEVfTkFNRSIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJub21pbmFsVmFsdWUiLCJnZXROb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nTGl0ZXJhbEZyb21TdHJpbmciLCJ2YWx1ZUZyb21TdHJpbmdMaXRlcmFsIiwidmFsdWVTdHRyaW5nIiwidHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwidGVybWluYWwiLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsInR5cGVMaXN0VHlwZSIsImlzTGlzdFR5cGUiLCJMSVNUX1RZUEVfTkFNRSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9kZXMiLCJ2YWx1ZUZyb21Ob2Rlc0FuZE5vbWluYWxWYWx1ZSIsIm5vV2hpdGVhcGNlIiwiaXNOb1doaXRlc3BhY2VOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQkE7OztlQUFBOzs7Z0NBZCtDO2tFQUUxQjtrRUFDQzsrRUFDYTsrQkFHSzt1QkFDZ0Q7MkJBQ0s7Z0NBQzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxSCxNQUFNLEVBQUVBLFNBQVMsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFM0MsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyx5QkFBeUJDLHVCQUFPO0lBQzFELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxhQUFhLENBQUU7UUFDdEUsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxhQUFhLEdB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
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../../elements");
|
|
13
|
+
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
13
14
|
const _default = (0, _elements.define)(class VariableAssignment extends _occamlanguages.Element {
|
|
14
15
|
constructor(context, string, node, breakPoint, variable, expression){
|
|
15
16
|
super(context, string, node, breakPoint);
|
|
@@ -22,17 +23,17 @@ const _default = (0, _elements.define)(class VariableAssignment extends _occamla
|
|
|
22
23
|
getExpression() {
|
|
23
24
|
return this.expression;
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
-
let value;
|
|
26
|
+
evaluate = unbreakable(function(context, continuation) {
|
|
27
27
|
const variableAssignmentString = this.getString(); ///
|
|
28
28
|
context.trace(`Evaluating the '${variableAssignmentString}' variable assignment...`);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
this.expression.evaluate(context, (value)=>{
|
|
30
|
+
this.variable.assign(value, context);
|
|
31
|
+
const valueString = value.getString();
|
|
32
|
+
context.debug(`...evaluated the '${variableAssignmentString}' variable assignment as '${valueString}'.`);
|
|
33
|
+
continuation(value);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
35
36
|
static name = "VariableAssignment";
|
|
36
37
|
});
|
|
37
38
|
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5cbmNvbnN0IHsgdW5icmVha2FibGUgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFZhcmlhYmxlQXNzaWdubWVudCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBleHByZXNzaW9uKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb247XG4gIH1cblxuICBldmFsdWF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZShjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgIHRoaXMudmFyaWFibGUuYXNzaWduKHZhbHVlLCBjb250ZXh0KTtcblxuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmd9JyB2YXJpYWJsZSBhc3NpZ25tZW50IGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZUFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbInVuYnJlYWthYmxlIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZGVmaW5lIiwiVmFyaWFibGVBc3NpZ25tZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiZXhwcmVzc2lvbiIsImdldFZhcmlhYmxlIiwiZ2V0RXhwcmVzc2lvbiIsImV2YWx1YXRlIiwiY29udGludWF0aW9uIiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsImFzc2lnbiIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OztnQ0FOK0M7MEJBRXhCO0FBRXZCLE1BQU0sRUFBRUEsV0FBVyxFQUFFLEdBQUdDLHFDQUFxQjtNQUU3QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDJCQUEyQkMsdUJBQU87SUFDNUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsQ0FBRTtRQUNuRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDRixVQUFVO0lBQ3hCO0lBRUFHLFdBQVdiLFlBQVksU0FBVUssT0FBTyxFQUFFUyxZQUFZO1FBQ3BELE1BQU1DLDJCQUEyQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXREWCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYseUJBQXlCLHdCQUF3QixDQUFDO1FBRW5GLElBQUksQ0FBQ0wsVUFBVSxDQUFDRyxRQUFRLENBQUNSLFNBQVMsQ0FBQ2E7WUFDakMsSUFBSSxDQUFDVCxRQUFRLENBQUNVLE1BQU0sQ0FBQ0QsT0FBT2I7WUFFNUIsTUFBTWUsY0FBY0YsTUFBTUYsU0FBUztZQUVuQ1gsUUFBUWdCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFTix5QkFBeUIsMEJBQTBCLEVBQUVLLFlBQVksRUFBRSxDQUFDO1lBRXZHTixhQUFhSTtRQUNmO0lBQ0YsR0FBRztJQUVILE9BQU9JLE9BQU8scUJBQXFCO0FBQ3JDIn0=
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../../elements");
|
|
13
|
-
const {
|
|
13
|
+
const { forEach, breakable } = _occamlanguages.continuationUtilities;
|
|
14
14
|
const _default = (0, _elements.define)(class VariableAssignments extends _occamlanguages.Element {
|
|
15
15
|
constructor(context, string, node, breakPoint, array){
|
|
16
16
|
super(context, string, node, breakPoint);
|
|
@@ -19,16 +19,17 @@ const _default = (0, _elements.define)(class VariableAssignments extends _occaml
|
|
|
19
19
|
getArray() {
|
|
20
20
|
return this.array;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
await this.break(context);
|
|
22
|
+
evaluate = breakable(function(context, continuation) {
|
|
24
23
|
const variableAssignmentsString = this.getString(); ///
|
|
25
24
|
context.trace(`Evaluating the '${variableAssignmentsString}' variable assignments...`);
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
forEach(this.array, (variableAssignment, continuation)=>{
|
|
26
|
+
variableAssignment.evaluate(context, continuation);
|
|
27
|
+
}, ()=>{
|
|
28
|
+
context.debug(`...evaluated the '${variableAssignmentsString}' variable assignments.`);
|
|
29
|
+
continuation();
|
|
28
30
|
});
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
+
});
|
|
31
32
|
static name = "VariableAssignments";
|
|
32
33
|
});
|
|
33
34
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnRzL3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5jb25zdCB7IGZvckVhY2gsIGJyZWFrYWJsZSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50cyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmd9JyB2YXJpYWJsZSBhc3NpZ25tZW50cy4uLmApO1xuXG4gICAgZm9yRWFjaCh0aGlzLmFycmF5LCAodmFyaWFibGVBc3NpZ25tZW50LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgIHZhcmlhYmxlQXNzaWdubWVudC5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH0sICgpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7dmFyaWFibGVBc3NpZ25tZW50c1N0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnRzLmApO1xuXG4gICAgICBjb250aW51YXRpb24oKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIlZhcmlhYmxlQXNzaWdubWVudHNcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImZvckVhY2giLCJicmVha2FibGUiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJkZWZpbmUiLCJWYXJpYWJsZUFzc2lnbm1lbnRzIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsImFycmF5IiwiZ2V0QXJyYXkiLCJldmFsdWF0ZSIsImNvbnRpbnVhdGlvbiIsInZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhcmlhYmxlQXNzaWdubWVudCIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFBOzs7Z0NBTitDOzBCQUV4QjtBQUV2QixNQUFNLEVBQUVBLE9BQU8sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLHFDQUFxQjtNQUVwRCxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDRCQUE0QkMsdUJBQU87SUFDN0QsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxLQUFLLENBQUU7UUFDcEQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLEtBQUssR0FBR0E7SUFDZjtJQUVBQyxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNELEtBQUs7SUFDbkI7SUFFQUUsV0FBV1gsVUFBVSxTQUFVSyxPQUFPLEVBQUVPLFlBQVk7UUFDbEQsTUFBTUMsNEJBQTRCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFdkRULFFBQVFVLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRiwwQkFBMEIseUJBQXlCLENBQUM7UUFFckZkLFFBQVEsSUFBSSxDQUFDVSxLQUFLLEVBQUUsQ0FBQ08sb0JBQW9CSjtZQUN2Q0ksbUJBQW1CTCxRQUFRLENBQUNOLFNBQVNPO1FBQ3ZDLEdBQUc7WUFDRFAsUUFBUVksS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVKLDBCQUEwQix1QkFBdUIsQ0FBQztZQUVyRkQ7UUFDRjtJQUNGLEdBQUc7SUFFSCxPQUFPTSxPQUFPLHNCQUFzQjtBQUN0QyJ9
|
package/lib/element/contains.js
CHANGED
|
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _necessary = require("necessary");
|
|
13
12
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
14
13
|
const _elements = require("../elements");
|
|
15
14
|
const _typeNames = require("../typeNames");
|
|
@@ -19,7 +18,6 @@ function _interop_require_default(obj) {
|
|
|
19
18
|
default: obj
|
|
20
19
|
};
|
|
21
20
|
}
|
|
22
|
-
const { indexOf } = _necessary.stringUtilities;
|
|
23
21
|
const _default = (0, _elements.define)(class Contains extends _occamlanguages.Element {
|
|
24
22
|
constructor(context, string, node, breakPoint, variable, substring){
|
|
25
23
|
super(context, string, node, breakPoint);
|
|
@@ -51,4 +49,4 @@ const _default = (0, _elements.define)(class Contains extends _occamlanguages.El
|
|
|
51
49
|
static name = "Contains";
|
|
52
50
|
});
|
|
53
51
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2NvbnRhaW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBTVFJJTkdfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbnRhaW5zIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHN1YnN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5zdWJzdHJpbmcgPSBzdWJzdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN1YnN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdHJpbmc7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3QgY29udGFpbnNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtjb250YWluc1N0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlU3RyaW5nVHlwZSA9IHZhbHVlVHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlU3RyaW5nVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgIGJvb2xlYW4gPSBzdHJpbmcuY29udGFpbnModGhpcy5zdWJzdHJpbmcpO1xuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4pO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7Y29udGFpbnNTdHJpbmd9JyBmdW5jdGlvbiBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbnRhaW5zXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJDb250YWlucyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsInN1YnN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0U3Vic3RyaW5nIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImNvbnRhaW5zU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIlNUUklOR19UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImJvb2xlYW4iLCJjb250YWlucyIsInZhbHVlRnJvbUJvb2xlYW4iLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O2dDQVJ3QjtrRUFFRjswQkFFQzsyQkFDVTt1QkFDQTs7Ozs7O01BRWpDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsaUJBQWlCQyx1QkFBTztJQUNsRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxDQUFFO1FBQ2xFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtJQUNuQjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDRixTQUFTO0lBQ3ZCO0lBRUFHLFNBQVNSLE9BQU8sRUFBRTtRQUNoQixJQUFJUztRQUVKLE1BQU1DLGlCQUFpQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRTdDWCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsZUFBZSxhQUFhLENBQUM7UUFFOURELFFBQVEsSUFBSSxDQUFDTCxRQUFRLENBQUNJLFFBQVEsQ0FBQ1I7UUFFL0IsTUFBTWEsWUFBWUosTUFBTUssT0FBTyxJQUN6QkMsc0JBQXNCRixVQUFVRyxZQUFZO1FBRWxELElBQUksQ0FBQ0QscUJBQXFCO1lBQ3hCLE1BQU1FLGNBQWNSLE1BQU1FLFNBQVMsSUFDN0JPLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksV0FBVyxFQUFFSixVQUFVLGtCQUFrQixFQUFFTSwyQkFBZ0IsQ0FBQyxFQUFFLENBQUMsRUFDN0ZDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7WUFFeEMsTUFBTUU7UUFDUjtRQUVBLE1BQU1uQixTQUFTUSxNQUFNRSxTQUFTLElBQ3hCWSxVQUFVdEIsT0FBT3VCLFFBQVEsQ0FBQyxJQUFJLENBQUNuQixTQUFTO1FBRTlDSSxRQUFRZ0IsSUFBQUEsdUJBQWdCLEVBQUNGO1FBRXpCLE1BQU1OLGNBQWNSLE1BQU1FLFNBQVM7UUFFbkNYLFFBQVEwQixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWhCLGVBQWUsZUFBZSxFQUFFTyxZQUFZLEVBQUUsQ0FBQztRQUVsRixPQUFPUjtJQUNUO0lBRUEsT0FBT2tCLE9BQU8sV0FBVztBQUMzQiJ9
|
package/lib/element/error.js
CHANGED
|
@@ -10,16 +10,19 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
|
+
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
13
14
|
const _default = (0, _elements.define)(class Error extends _occamlanguages.Element {
|
|
14
15
|
constructor(context, string, node, breakPoint){
|
|
15
16
|
super(context, string, node, breakPoint);
|
|
16
17
|
}
|
|
17
|
-
verify(context) {
|
|
18
|
-
|
|
18
|
+
verify = unbreakable(function(context) {
|
|
19
|
+
let verifies;
|
|
20
|
+
const errorString = this.getString(); ///
|
|
21
|
+
verifies = false;
|
|
19
22
|
context.warning(`The '${errorString}' error cannot be verified.`);
|
|
20
23
|
return verifies;
|
|
21
|
-
}
|
|
24
|
+
});
|
|
22
25
|
static name = "Error";
|
|
23
26
|
});
|
|
24
27
|
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Vycm9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5jb25zdCB7IHVuYnJlYWthYmxlIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBFcnJvciBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuICB9XG5cbiAgdmVyaWZ5ID0gdW5icmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXM7XG5cbiAgICBjb25zdCBlcnJvclN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb250ZXh0Lndhcm5pbmcoYFRoZSAnJHtlcnJvclN0cmluZ30nIGVycm9yIGNhbm5vdCBiZSB2ZXJpZmllZC5gKTtcblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIkVycm9yXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJ1bmJyZWFrYWJsZSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIkVycm9yIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZlcmlmeSIsInZlcmlmaWVzIiwiZXJyb3JTdHJpbmciLCJnZXRTdHJpbmciLCJ3YXJuaW5nIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFBOzs7Z0NBTitDOzBCQUV4QjtBQUV2QixNQUFNLEVBQUVBLFdBQVcsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFN0MsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLENBQUU7UUFDN0MsS0FBSyxDQUFDSCxTQUFTQyxRQUFRQyxNQUFNQztJQUMvQjtJQUVBQyxTQUFTVCxZQUFZLFNBQVVLLE9BQU87UUFDcEMsSUFBSUs7UUFFSixNQUFNQyxjQUFjLElBQUksQ0FBQ0MsU0FBUyxJQUFLLEdBQUc7UUFFMUNGLFdBQVc7UUFFWEwsUUFBUVEsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFRixZQUFZLDJCQUEyQixDQUFDO1FBRWhFLE9BQU9EO0lBQ1QsR0FBRztJQUVILE9BQU9JLE9BQU8sUUFBUTtBQUN4QiJ9
|
package/lib/element/every.js
CHANGED
|
@@ -59,7 +59,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
59
59
|
}
|
|
60
60
|
return newObj;
|
|
61
61
|
}
|
|
62
|
-
const {
|
|
62
|
+
const { every, breakable } = _occamlanguages.continuationUtilities;
|
|
63
63
|
const _default = (0, _elements.define)(class Every extends _occamlanguages.Element {
|
|
64
64
|
constructor(context, string, node, breakPoint, variable, anonymousProcedure){
|
|
65
65
|
super(context, string, node, breakPoint);
|
|
@@ -73,37 +73,33 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
|
|
|
73
73
|
getAnonymousProcedure() {
|
|
74
74
|
return this.anonymousProcedure;
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
let value;
|
|
78
|
-
await this.break(context);
|
|
76
|
+
evaluate = breakable(function(context, continuation) {
|
|
79
77
|
const everyString = this.getString();
|
|
80
78
|
context.trace(`Evaluating the '${everyString}' every...`);
|
|
81
|
-
value = this.variable.evaluate(context);
|
|
82
|
-
const valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
79
|
+
const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
83
80
|
if (valueTypeListType) {
|
|
84
81
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
85
82
|
throw exception;
|
|
86
83
|
}
|
|
87
|
-
const nodes = value.getNodes()
|
|
88
|
-
|
|
89
|
-
const { Values } = _elements.default;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
84
|
+
const nodes = value.getNodes();
|
|
85
|
+
every(nodes, (node, continuation)=>{
|
|
86
|
+
const { Values } = _elements.default, value = (0, _value.valueFromNode)(node, context), values = Values.fromValue(value, context);
|
|
87
|
+
this.anonymousProcedure.call(values, context, (value)=>{
|
|
88
|
+
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
89
|
+
if (!valueTypeBooleanType) {
|
|
90
|
+
const valueString = value.getString(), message = `The '${valueString}' value's type is '${valueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
91
|
+
throw exception;
|
|
92
|
+
}
|
|
93
|
+
const boolean = value.getBoolean();
|
|
94
|
+
continuation(boolean);
|
|
95
|
+
});
|
|
96
|
+
}, (boolean)=>{
|
|
97
|
+
const value = (0, _value.valueFromBoolean)(boolean, context), valueString = value.getString();
|
|
98
|
+
context.trace(`...evaluated the '${everyString}' every as '${valueString}'.`);
|
|
99
|
+
continuation(value);
|
|
100
100
|
});
|
|
101
|
-
|
|
102
|
-
const valueString = value.getString();
|
|
103
|
-
context.trace(`...evaluated the '${everyString}' every as '${valueString}'.`);
|
|
104
|
-
return value;
|
|
105
|
-
}
|
|
101
|
+
});
|
|
106
102
|
static name = "Every";
|
|
107
103
|
});
|
|
108
104
|
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V2ZXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbU5vZGUsIHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgZXZlcnksIGJyZWFrYWJsZSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXZlcnkgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZSA9IGFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QW5vbnltb3VzUHJvY2VkdXJlKCkge1xuICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGV2YWx1YXRlID0gYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBjb25zdCBldmVyeVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtldmVyeVN0cmluZ30nIGV2ZXJ5Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUxpc3RUeXBlID0gdmFsdWVUeXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGVMaXN0VHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtMSVNUX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlcyA9IHZhbHVlLmdldE5vZGVzKCk7XG5cbiAgICBldmVyeShub2RlcywgKG5vZGUsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgY29uc3QgeyBWYWx1ZXMgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Ob2RlKG5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgdmFsdWVzID0gVmFsdWVzLmZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlLmNhbGwodmFsdWVzLCBjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICB2YWx1ZVR5cGVCb29sZWFuVHlwZSA9IHZhbHVlVHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZVR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzIHR5cGUgaXMgJyR7dmFsdWVUeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYm9vbGVhbiA9IHZhbHVlLmdldEJvb2xlYW4oKTtcblxuICAgICAgICBjb250aW51YXRpb24oYm9vbGVhbik7XG4gICAgICB9KTtcbiAgICB9LCAoYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLFxuICAgICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC50cmFjZShgLi4uZXZhbHVhdGVkIHRoZSAnJHtldmVyeVN0cmluZ30nIGV2ZXJ5IGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJFdmVyeVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZXZlcnkiLCJicmVha2FibGUiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJkZWZpbmUiLCJFdmVyeSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsImFub255bW91c1Byb2NlZHVyZSIsImdldFZhcmlhYmxlIiwiZ2V0QW5vbnltb3VzUHJvY2VkdXJlIiwiZXZhbHVhdGUiLCJjb250aW51YXRpb24iLCJldmVyeVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlTGlzdFR5cGUiLCJpc0xpc3RUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTElTVF9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vZGVzIiwiZ2V0Tm9kZXMiLCJWYWx1ZXMiLCJlbGVtZW50cyIsInZhbHVlRnJvbU5vZGUiLCJ2YWx1ZXMiLCJmcm9tVmFsdWUiLCJjYWxsIiwidmFsdWVUeXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsInZhbHVlRnJvbUJvb2xlYW4iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQUE7OztnQ0FYK0M7a0VBRTFCO2tFQUNDO3VCQUcwQjsyQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEQsTUFBTSxFQUFFQSxLQUFLLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFbEQsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsa0JBQWtCLENBQUU7UUFDM0UsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNGLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNHLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7SUFDNUI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQ0Ysa0JBQWtCO0lBQ2hDO0lBRUFHLFdBQVdiLFVBQVUsU0FBVUssT0FBTyxFQUFFUyxZQUFZO1FBQ2xELE1BQU1DLGNBQWMsSUFBSSxDQUFDQyxTQUFTO1FBRWxDWCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsWUFBWSxVQUFVLENBQUM7UUFFeEQsTUFBTUcsUUFBUSxJQUFJLENBQUNULFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixVQUMvQmMsWUFBWUQsTUFBTUUsT0FBTyxJQUN6QkMsb0JBQW9CRixVQUFVRyxVQUFVO1FBRTlDLElBQUlELG1CQUFtQjtZQUNyQixNQUFNRSxjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLFdBQVcsRUFBRUosVUFBVSxrQkFBa0IsRUFBRU0seUJBQWMsQ0FBQyxFQUFFLENBQUMsRUFDM0ZDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7WUFFeEMsTUFBTUU7UUFDUjtRQUVBLE1BQU1HLFFBQVFYLE1BQU1ZLFFBQVE7UUFFNUIvQixNQUFNOEIsT0FBTyxDQUFDdEIsTUFBTU87WUFDbEIsTUFBTSxFQUFFaUIsTUFBTSxFQUFFLEdBQUdDLGlCQUFRLEVBQ3JCZCxRQUFRZSxJQUFBQSxvQkFBYSxFQUFDMUIsTUFBTUYsVUFDNUI2QixTQUFTSCxPQUFPSSxTQUFTLENBQUNqQixPQUFPYjtZQUV2QyxJQUFJLENBQUNLLGtCQUFrQixDQUFDMEIsSUFBSSxDQUFDRixRQUFRN0IsU0FBUyxDQUFDYTtnQkFDN0MsTUFBTUMsWUFBWUQsTUFBTUUsT0FBTyxJQUN6QmlCLHVCQUF1QmxCLFVBQVVtQixhQUFhO2dCQUVwRCxJQUFJLENBQUNELHNCQUFzQjtvQkFDekIsTUFBTWQsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxtQkFBbUIsRUFBRUosVUFBVSw2QkFBNkIsRUFBRW9CLDRCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUNqSGIsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtvQkFFeEMsTUFBTUU7Z0JBQ1I7Z0JBRUEsTUFBTWMsVUFBVXRCLE1BQU11QixVQUFVO2dCQUVoQzNCLGFBQWEwQjtZQUNmO1FBQ0YsR0FBRyxDQUFDQTtZQUNGLE1BQU10QixRQUFRd0IsSUFBQUEsdUJBQWdCLEVBQUNGLFNBQVNuQyxVQUNsQ2tCLGNBQWNMLE1BQU1GLFNBQVM7WUFFbkNYLFFBQVFZLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFRixZQUFZLFlBQVksRUFBRVEsWUFBWSxFQUFFLENBQUM7WUFFNUVULGFBQWFJO1FBQ2Y7SUFDRixHQUFHO0lBRUgsT0FBT3lCLE9BQU8sUUFBUTtBQUN4QiJ9
|