occam-furtle 3.0.388 → 3.0.389

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.
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _occamlanguages = require("occam-languages");
12
+ const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
13
+ const _elements = require("../elements");
14
+ const _values = require("../utilities/values");
15
+ const _element = require("../utilities/element");
16
+ const _parameters = require("../utilities/parameters");
17
+ const _json = require("../utilities/json");
18
+ function _interop_require_default(obj) {
19
+ return obj && obj.__esModule ? obj : {
20
+ default: obj
21
+ };
22
+ }
23
+ const { breakable } = _occamlanguages.continuationUtilities, { breakPointFromJSON, breakPointToBreakPointJSON } = _occamlanguages.breakPointUtilities;
24
+ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.Element {
25
+ constructor(context, string, node, breakPoint, type, label, parameters, returnBlock){
26
+ super(context, string, node, breakPoint);
27
+ this.type = type;
28
+ this.label = label;
29
+ this.parameters = parameters;
30
+ this.returnBlock = returnBlock;
31
+ }
32
+ getType() {
33
+ return this.type;
34
+ }
35
+ getLabel() {
36
+ return this.label;
37
+ }
38
+ getParameters() {
39
+ return this.parameters;
40
+ }
41
+ getReturnBlock() {
42
+ return this.returnBlock;
43
+ }
44
+ getName() {
45
+ return this.label.getName();
46
+ }
47
+ isBoolean() {
48
+ const type = this.getType(), booleanType = type.isBooleanType(), boolean = booleanType; ///
49
+ return boolean;
50
+ }
51
+ getReturnStatement() {
52
+ return this.returnBlock.getReturnStatement();
53
+ }
54
+ compareProcedureName(procedureName) {
55
+ return this.label.compareProcedureName(procedureName);
56
+ }
57
+ guaranteeReturnBlock() {
58
+ if (this.returnBlock != null) {
59
+ return;
60
+ }
61
+ const node = this.getNode(), context = this.getContext(), procedureNode = node;
62
+ this.returnBlock = (0, _element.returnBlockFromProcedureNode)(procedureNode, context);
63
+ }
64
+ verify(context, continuation) {
65
+ let verifies;
66
+ const procedureString = this.getString();
67
+ context.trace(`Verifying the '${procedureString}' function...`);
68
+ const procedure = this; ///
69
+ context.addProcedure(procedure);
70
+ verifies = true;
71
+ if (verifies) {
72
+ context.debug(`...verified the '${procedureString}' function.`);
73
+ }
74
+ continuation(verifies);
75
+ }
76
+ call = breakable(function(values, context, continuation) {
77
+ const procedureString = this.getString(); ///
78
+ context.trace(`Calling the '${procedureString}' procedure...`);
79
+ this.parameters.compareValues(values, context);
80
+ this.guaranteeReturnBlock();
81
+ const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context);
82
+ this.returnBlock.evaluate(variables, context, (value)=>{
83
+ const valueType = value.getType(), typeEqualToValueType = this.type.isEqualTo(valueType);
84
+ if (!typeEqualToValueType) {
85
+ const valueString = value.getString(), typeString = this.type.getString(), message = `The '${valueString}' value's '${typeString}' type is not equal to the '${procedureString}' procedure's '${typeString}' type.`, exception = _exception.default.fromMessage(message);
86
+ throw exception;
87
+ }
88
+ context.debug(`...called the '${procedureString}' procedure.`);
89
+ continuation(value);
90
+ });
91
+ });
92
+ callNominally(nominalValues, continuation) {
93
+ const context = this.getContext(), procedureString = this.getString(); ///
94
+ context.trace(`Calling the '${procedureString}' function nominally...`);
95
+ const values = (0, _values.valuesFromNominalValues)(nominalValues, context);
96
+ this.call(values, context, (value)=>{
97
+ context.debug(`...called the '${procedureString}' function nominally.`);
98
+ continuation(value);
99
+ });
100
+ }
101
+ toJSON() {
102
+ const typeJSON = (0, _json.typeToTypeJSON)(this.type), labelJSON = (0, _json.labelToLabelJSON)(this.label), parametersJSON = (0, _json.parametersToParametersJSON)(this.parameters), string = this.getString();
103
+ let breakPoint;
104
+ breakPoint = this.getBreakPoint();
105
+ const breakPointJSON = breakPointToBreakPointJSON(breakPoint);
106
+ breakPoint = breakPointJSON; ///
107
+ const type = typeJSON, label = labelJSON, parameters = parametersJSON, json = {
108
+ string,
109
+ breakPoint,
110
+ type,
111
+ label,
112
+ parameters
113
+ };
114
+ return json;
115
+ }
116
+ static name = "Procedure";
117
+ static fromJSON(json, context) {
118
+ const { string } = json, breakPoint = breakPointFromJSON(json), type = (0, _json.typeFromJSON)(json, context), label = (0, _json.labelFromJSON)(json, context), parameters = (0, _json.parametersFromJSON)(json, context), procedureNode = context.findProcedureNode(label), returnBlock = null, node = procedureNode, procedure = new Procedure(context, string, node, breakPoint, type, label, parameters, returnBlock);
119
+ return procedure;
120
+ }
121
+ });
122
+
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcywgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVzXCI7XG5pbXBvcnQgeyByZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5pbXBvcnQgeyB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGFyYW1ldGVyc1wiO1xuaW1wb3J0IHsgdHlwZUZyb21KU09OLCBsYWJlbEZyb21KU09OLCBwYXJhbWV0ZXJzRnJvbUpTT04sIHR5cGVUb1R5cGVKU09OLCBsYWJlbFRvTGFiZWxKU09OLCBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyBicmVha1BvaW50RnJvbUpTT04sIGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgUHJvY2VkdXJlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0TGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRSZXR1cm5CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5CbG9jaztcbiAgfVxuXG4gIGdldE5hbWUoKSB7IHJldHVybiB0aGlzLmxhYmVsLmdldE5hbWUoKTsgfVxuXG4gIGlzQm9vbGVhbigpIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy5nZXRUeXBlKCksXG4gICAgICAgICAgYm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKSxcbiAgICAgICAgICBib29sZWFuID0gYm9vbGVhblR5cGU7ICAvLy9cblxuICAgIHJldHVybiBib29sZWFuO1xuICB9XG5cbiAgZ2V0UmV0dXJuU3RhdGVtZW50KCkgeyByZXR1cm4gdGhpcy5yZXR1cm5CbG9jay5nZXRSZXR1cm5TdGF0ZW1lbnQoKTsgfVxuXG4gIGNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHsgcmV0dXJuIHRoaXMubGFiZWwuY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7IH1cblxuICBndWFyYW50ZWVSZXR1cm5CbG9jaygpIHtcbiAgICBpZiAodGhpcy5yZXR1cm5CbG9jayAhPSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICBwcm9jZWR1cmVOb2RlID0gbm9kZTtcblxuICAgIHRoaXMucmV0dXJuQmxvY2sgPSByZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlKHByb2NlZHVyZU5vZGUsIGNvbnRleHQpO1xuICB9XG5cbiAgdmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGxldCB2ZXJpZmllcztcblxuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLi4uYClcblxuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC5hZGRQcm9jZWR1cmUocHJvY2VkdXJlKTtcblxuICAgIHZlcmlmaWVzID0gdHJ1ZTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLmApXG4gICAgfVxuXG4gICAgY29udGludWF0aW9uKHZlcmlmaWVzKTtcbiAgfVxuXG4gIGNhbGwgPSBicmVha2FibGUoZnVuY3Rpb24gKHZhbHVlcywgY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ2FsbGluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLi4uYCk7XG5cbiAgICB0aGlzLnBhcmFtZXRlcnMuY29tcGFyZVZhbHVlcyh2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5ndWFyYW50ZWVSZXR1cm5CbG9jaygpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0gdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnModmFsdWVzLCB0aGlzLnBhcmFtZXRlcnMsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5yZXR1cm5CbG9jay5ldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQsICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdHlwZUVxdWFsVG9WYWx1ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICAgIGlmICghdHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIG5vdCBlcXVhbCB0byB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uY2FsbGVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBwcm9jZWR1cmUuYCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGNhbGxOb21pbmFsbHkobm9taW5hbFZhbHVlcywgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIG5vbWluYWxseS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMobm9taW5hbFZhbHVlcywgY29udGV4dCk7XG5cbiAgICB0aGlzLmNhbGwodmFsdWVzLCBjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gbm9taW5hbGx5LmApO1xuXG4gICAgICBjb250aW51YXRpb24odmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHR5cGVKU09OID0gdHlwZVRvVHlwZUpTT04odGhpcy50eXBlKSxcbiAgICAgICAgICBsYWJlbEpTT04gPSBsYWJlbFRvTGFiZWxKU09OKHRoaXMubGFiZWwpLFxuICAgICAgICAgIHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04odGhpcy5wYXJhbWV0ZXJzKSxcbiAgICAgICAgICBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgbGV0IGJyZWFrUG9pbnQ7XG5cbiAgICBicmVha1BvaW50ID0gdGhpcy5nZXRCcmVha1BvaW50KCk7XG5cbiAgICBjb25zdCBicmVha1BvaW50SlNPTiA9IGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpO1xuXG4gICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRKU09OOyAgLy8vXG5cbiAgICBjb25zdCB0eXBlID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICBsYWJlbCA9IGxhYmVsSlNPTiwgIC8vL1xuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICBicmVha1BvaW50LFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgcGFyYW1ldGVyc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50RnJvbUpTT04oanNvbiksXG4gICAgICAgICAgdHlwZSA9IHR5cGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBsYWJlbCA9IGxhYmVsRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBwcm9jZWR1cmVOb2RlID0gY29udGV4dC5maW5kUHJvY2VkdXJlTm9kZShsYWJlbCksXG4gICAgICAgICAgcmV0dXJuQmxvY2sgPSBudWxsLCAvLy9cbiAgICAgICAgICBub2RlID0gcHJvY2VkdXJlTm9kZSwgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlID0gbmV3IFByb2NlZHVyZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIGxhYmVsLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jayk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJicmVha2FibGUiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha1BvaW50RnJvbUpTT04iLCJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJQcm9jZWR1cmUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsImxhYmVsIiwicGFyYW1ldGVycyIsInJldHVybkJsb2NrIiwiZ2V0VHlwZSIsImdldExhYmVsIiwiZ2V0UGFyYW1ldGVycyIsImdldFJldHVybkJsb2NrIiwiZ2V0TmFtZSIsImlzQm9vbGVhbiIsImJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsImJvb2xlYW4iLCJnZXRSZXR1cm5TdGF0ZW1lbnQiLCJjb21wYXJlUHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJndWFyYW50ZWVSZXR1cm5CbG9jayIsImdldE5vZGUiLCJnZXRDb250ZXh0IiwicHJvY2VkdXJlTm9kZSIsInJldHVybkJsb2NrRnJvbVByb2NlZHVyZU5vZGUiLCJ2ZXJpZnkiLCJjb250aW51YXRpb24iLCJ2ZXJpZmllcyIsInByb2NlZHVyZVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwicHJvY2VkdXJlIiwiYWRkUHJvY2VkdXJlIiwiZGVidWciLCJjYWxsIiwidmFsdWVzIiwiY29tcGFyZVZhbHVlcyIsInZhcmlhYmxlcyIsInZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsInR5cGVFcXVhbFRvVmFsdWVUeXBlIiwiaXNFcXVhbFRvIiwidmFsdWVTdHJpbmciLCJ0eXBlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiY2FsbE5vbWluYWxseSIsIm5vbWluYWxWYWx1ZXMiLCJ2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyIsInRvSlNPTiIsInR5cGVKU09OIiwidHlwZVRvVHlwZUpTT04iLCJsYWJlbEpTT04iLCJsYWJlbFRvTGFiZWxKU09OIiwicGFyYW1ldGVyc0pTT04iLCJwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiIsImdldEJyZWFrUG9pbnQiLCJicmVha1BvaW50SlNPTiIsImpzb24iLCJuYW1lIiwiZnJvbUpTT04iLCJ0eXBlRnJvbUpTT04iLCJsYWJlbEZyb21KU09OIiwicGFyYW1ldGVyc0Zyb21KU09OIiwiZmluZFByb2NlZHVy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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-furtle",
3
3
  "author": "James Smith",
4
- "version": "3.0.388",
4
+ "version": "3.0.389",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-furtle",
7
7
  "description": "Occam's Furtle language.",
@@ -83,7 +83,7 @@ export default define(class Procedure extends Element {
83
83
  }
84
84
 
85
85
  continuation(verifies);
86
- });
86
+ }
87
87
 
88
88
  call = breakable(function (values, context, continuation) {
89
89
  const procedureString = this.getString(); ///