occam-furtle 3.0.368 → 3.0.370
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/literal.js +42 -0
- package/lib/element/anonymousProcedure.js +51 -0
- package/lib/element/label.js +4 -1
- package/lib/element/parameters.js +4 -1
- package/lib/element/procedure.js +15 -7
- package/lib/element/returnBlock.js +7 -7
- package/lib/element/returnStatement.js +33 -0
- package/lib/element/statement.js +43 -0
- package/lib/element/type.js +11 -1
- package/lib/example/furtle/bnf.js +11 -5
- package/lib/example/furtle/entries.js +2 -2
- package/lib/node/anoymousProcedure.js +31 -0
- package/lib/node/procedure.js +20 -3
- package/lib/node/returnBlock.js +4 -4
- package/lib/node/returnStatement.js +23 -0
- package/lib/node/statement.js +16 -3
- package/lib/nonTerminalNodeMap.js +10 -10
- package/lib/preamble.js +4 -5
- package/lib/process/instantiate.js +255 -0
- package/lib/process/verify.js +6 -6
- package/lib/ruleNames.js +7 -7
- package/lib/utilities/context.js +15 -1
- package/lib/utilities/element.js +82 -100
- package/lib/utilities/json.js +38 -8
- package/lib/utilities/string.js +1 -8
- package/package.json +2 -2
- package/src/context/literal.js +46 -0
- package/src/element/{procedure/anonymous.js → anonymousProcedure.js} +3 -3
- package/src/element/label.js +4 -0
- package/src/element/parameters.js +4 -0
- package/src/element/procedure.js +31 -15
- package/src/element/returnBlock.js +6 -6
- package/src/element/{statement/return.js → returnStatement.js} +1 -1
- package/src/element/{step.js → statement.js} +2 -2
- package/src/element/type.js +19 -0
- package/src/example/furtle/bnf.js +10 -4
- package/src/example/furtle/entries.js +2 -2
- package/src/node/{procedure/anoymous.js → anoymousProcedure.js} +4 -4
- package/src/node/procedure.js +31 -1
- package/src/node/returnBlock.js +5 -5
- package/src/node/returnStatement.js +16 -0
- package/src/node/statement.js +24 -1
- package/src/nonTerminalNodeMap.js +11 -11
- package/src/preamble.js +3 -4
- package/src/process/instantiate.js +194 -0
- package/src/process/verify.js +7 -7
- package/src/ruleNames.js +2 -2
- package/src/utilities/context.js +9 -0
- package/src/utilities/element.js +113 -145
- package/src/utilities/json.js +48 -9
- package/src/utilities/string.js +0 -14
- package/lib/element/declaration/procedure.js +0 -36
- package/lib/element/procedure/anonymous.js +0 -51
- package/lib/element/statement/return.js +0 -33
- package/lib/element/step.js +0 -43
- package/lib/node/declaration/procedure.js +0 -40
- package/lib/node/declaration.js +0 -18
- package/lib/node/procedure/anoymous.js +0 -36
- package/lib/node/statement/return.js +0 -28
- package/lib/node/step.js +0 -31
- package/src/element/declaration/procedure.js +0 -38
- package/src/node/declaration/procedure.js +0 -37
- package/src/node/declaration.js +0 -7
- package/src/node/statement/return.js +0 -16
- package/src/node/step.js +0 -30
package/lib/process/verify.js
CHANGED
|
@@ -12,7 +12,7 @@ const _occamlanguages = require("occam-languages");
|
|
|
12
12
|
const _occamquery = require("occam-query");
|
|
13
13
|
const _element = require("../utilities/element");
|
|
14
14
|
const { nodeQuery } = _occamquery.queryUtilities;
|
|
15
|
-
const errorNodeQuery = nodeQuery("/error"),
|
|
15
|
+
const errorNodeQuery = nodeQuery("/error"), procedureNodeQuery = nodeQuery("/procedure");
|
|
16
16
|
class TopLevelPass extends _occamlanguages.SimplePass {
|
|
17
17
|
static maps = [
|
|
18
18
|
{
|
|
@@ -27,11 +27,11 @@ class TopLevelPass extends _occamlanguages.SimplePass {
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
nodeQuery:
|
|
31
|
-
run: (
|
|
30
|
+
nodeQuery: procedureNodeQuery,
|
|
31
|
+
run: (procedureNode, context)=>{
|
|
32
32
|
let success = false;
|
|
33
|
-
const
|
|
34
|
-
if (
|
|
33
|
+
const procedure = (0, _element.procedureFromProcedureNode)(procedureNode, context), procedureVerifies = procedure.verify(context);
|
|
34
|
+
if (procedureVerifies) {
|
|
35
35
|
success = true;
|
|
36
36
|
}
|
|
37
37
|
return success;
|
|
@@ -49,4 +49,4 @@ function verifyFile(fileNode, context) {
|
|
|
49
49
|
return fileVerifies;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgU2ltcGxlUGFzcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IGVycm9yRnJvbUVycm9yTm9kZSwgcHJvY2VkdXJlRnJvbVByb2NlZHVyZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcblxuY29uc3QgeyBub2RlUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBlcnJvck5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9lcnJvclwiKSxcbiAgICAgIHByb2NlZHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9jZWR1cmVcIik7XG5cbmNsYXNzIFRvcExldmVsUGFzcyBleHRlbmRzIFNpbXBsZVBhc3Mge1xuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGVycm9yTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoZXJyb3JOb2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgZXJyb3IgPSBlcnJvckZyb21FcnJvck5vZGUoZXJyb3JOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgZXJyb3JWZXJpZmllcyA9IGVycm9yLnZlcmlmeShjb250ZXh0KTtcblxuICAgICAgICBpZiAoZXJyb3JWZXJpZmllcykge1xuICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHByb2NlZHVyZU5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKHByb2NlZHVyZU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBwcm9jZWR1cmUgPSBwcm9jZWR1cmVGcm9tUHJvY2VkdXJlTm9kZShwcm9jZWR1cmVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgcHJvY2VkdXJlVmVyaWZpZXMgPSBwcm9jZWR1cmUudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9jZWR1cmVWZXJpZmllcykge1xuICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCB0b3BMZXZlbFBhc3MgPSBuZXcgVG9wTGV2ZWxQYXNzKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlGaWxlKGZpbGVOb2RlLCBjb250ZXh0KSB7XG4gIGxldCBmaWxlVmVyaWZpZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlID0gZmlsZU5vZGUsIC8vL1xuICAgICAgICBzdWNjZXNzID0gdG9wTGV2ZWxQYXNzLnJ1bihub2RlLCBjb250ZXh0KTtcblxuICBpZiAoc3VjY2Vzcykge1xuICAgIGZpbGVWZXJpZmllcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gZmlsZVZlcmlmaWVzO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUZpbGUiLCJub2RlUXVlcnkiLCJxdWVyeVV0aWxpdGllcyIsImVycm9yTm9kZVF1ZXJ5IiwicHJvY2VkdXJlTm9kZVF1ZXJ5IiwiVG9wTGV2ZWxQYXNzIiwiU2ltcGxlUGFzcyIsIm1hcHMiLCJydW4iLCJlcnJvck5vZGUiLCJjb250ZXh0Iiwic3VjY2VzcyIsImVycm9yIiwiZXJyb3JGcm9tRXJyb3JOb2RlIiwiZXJyb3JWZXJpZmllcyIsInZlcmlmeSIsInByb2NlZHVyZU5vZGUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVGcm9tUHJvY2VkdXJlTm9kZSIsInByb2NlZHVyZVZlcmlmaWVzIiwidG9wTGV2ZWxQYXNzIiwiZmlsZU5vZGUiLCJmaWxlVmVyaWZpZXMiLCJub2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpRGdCQTs7O2VBQUFBOzs7Z0NBL0NXOzRCQUNJO3lCQUVnQztBQUUvRCxNQUFNLEVBQUVDLFNBQVMsRUFBRSxHQUFHQywwQkFBYztBQUVwQyxNQUFNQyxpQkFBaUJGLFVBQVUsV0FDM0JHLHFCQUFxQkgsVUFBVTtBQUVyQyxNQUFNSSxxQkFBcUJDLDBCQUFVO0lBQ25DLE9BQU9DLE9BQU87UUFDWjtZQUNFTixXQUFXRTtZQUNYSyxLQUFLLENBQUNDLFdBQVdDO2dCQUNmLElBQUlDLFVBQVU7Z0JBRWQsTUFBTUMsUUFBUUMsSUFBQUEsMkJBQWtCLEVBQUNKLFdBQVdDLFVBQ3RDSSxnQkFBZ0JGLE1BQU1HLE1BQU0sQ0FBQ0w7Z0JBRW5DLElBQUlJLGVBQWU7b0JBQ2pCSCxVQUFVO2dCQUNaO2dCQUVBLE9BQU9BO1lBQ1Q7UUFDRjtRQUNBO1lBQ0VWLFdBQVdHO1lBQ1hJLEtBQUssQ0FBQ1EsZUFBZU47Z0JBQ25CLElBQUlDLFVBQVU7Z0JBRWQsTUFBTU0sWUFBWUMsSUFBQUEsbUNBQTBCLEVBQUNGLGVBQWVOLFVBQ3REUyxvQkFBb0JGLFVBQVVGLE1BQU0sQ0FBQ0w7Z0JBRTNDLElBQUlTLG1CQUFtQjtvQkFDckJSLFVBQVU7Z0JBQ1o7Z0JBRUEsT0FBT0E7WUFDVDtRQUNGO0tBQ0QsQ0FBQztBQUNKO0FBRUEsTUFBTVMsZUFBZSxJQUFJZjtBQUVsQixTQUFTTCxXQUFXcUIsUUFBUSxFQUFFWCxPQUFPO0lBQzFDLElBQUlZLGVBQWU7SUFFbkIsTUFBTUMsT0FBT0YsVUFDUFYsVUFBVVMsYUFBYVosR0FBRyxDQUFDZSxNQUFNYjtJQUV2QyxJQUFJQyxTQUFTO1FBQ1hXLGVBQWU7SUFDakI7SUFFQSxPQUFPQTtBQUNUIn0=
|
package/lib/ruleNames.js
CHANGED
|
@@ -81,8 +81,8 @@ _export(exports, {
|
|
|
81
81
|
get PROCEDURE_CALL_RULE_NAME () {
|
|
82
82
|
return PROCEDURE_CALL_RULE_NAME;
|
|
83
83
|
},
|
|
84
|
-
get
|
|
85
|
-
return
|
|
84
|
+
get PROCEDURE_RULE_NAME () {
|
|
85
|
+
return PROCEDURE_RULE_NAME;
|
|
86
86
|
},
|
|
87
87
|
get REDUCE_RULE_NAME () {
|
|
88
88
|
return REDUCE_RULE_NAME;
|
|
@@ -99,8 +99,8 @@ _export(exports, {
|
|
|
99
99
|
get SOME_RULE_NAME () {
|
|
100
100
|
return SOME_RULE_NAME;
|
|
101
101
|
},
|
|
102
|
-
get
|
|
103
|
-
return
|
|
102
|
+
get STATEMENT_RULE_NAME () {
|
|
103
|
+
return STATEMENT_RULE_NAME;
|
|
104
104
|
},
|
|
105
105
|
get TERMS_RULE_NAME () {
|
|
106
106
|
return TERMS_RULE_NAME;
|
|
@@ -136,7 +136,6 @@ _export(exports, {
|
|
|
136
136
|
return VARIABLE_RULE_NAME;
|
|
137
137
|
}
|
|
138
138
|
});
|
|
139
|
-
const STEP_RULE_NAME = "step";
|
|
140
139
|
const SOME_RULE_NAME = "some";
|
|
141
140
|
const TERM_RULE_NAME = "term";
|
|
142
141
|
const TYPE_RULE_NAME = "type";
|
|
@@ -153,6 +152,8 @@ const VARIABLE_RULE_NAME = "variable";
|
|
|
153
152
|
const NONSENSE_RULE_NAME = "nonsense";
|
|
154
153
|
const DOCUMENT_RULE_NAME = "document";
|
|
155
154
|
const BINDINGS_RULE_NAME = "bindings";
|
|
155
|
+
const STATEMENT_RULE_NAME = "statement";
|
|
156
|
+
const PROCEDURE_RULE_NAME = "procedure";
|
|
156
157
|
const LENGTH_OF_RULE_NAME = "lengthOf";
|
|
157
158
|
const PRIMITIVE_RULE_NAME = "primitive";
|
|
158
159
|
const REFERENCE_RULE_NAME = "reference";
|
|
@@ -177,6 +178,5 @@ const OBJECT_ASSIGNMENT_RULE_NAME = "objectAssignment";
|
|
|
177
178
|
const VARIABLE_ASSIGNMENT_RULE_NAME = "variableAssignment";
|
|
178
179
|
const ANONYMOUS_PROCEDURE_RULE_NAME = "anonymousProcedure";
|
|
179
180
|
const VARIABLE_ASSIGNMENTS_RULE_NAME = "variableAssignments";
|
|
180
|
-
const PROCEDURE_DECLARATION_RULE_NAME = "procedureDeclaration";
|
|
181
181
|
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTT01FX1JVTEVfTkFNRSA9IFwic29tZVwiO1xuZXhwb3J0IGNvbnN0IFRFUk1fUlVMRV9OQU1FID0gXCJ0ZXJtXCI7XG5leHBvcnQgY29uc3QgVFlQRV9SVUxFX05BTUUgPSBcInR5cGVcIjtcbmV4cG9ydCBjb25zdCBURVJNU19SVUxFX05BTUUgPSBcInRlcm1zXCI7XG5leHBvcnQgY29uc3QgRVZFUllfUlVMRV9OQU1FID0gXCJldmVyeVwiO1xuZXhwb3J0IGNvbnN0IExBQkVMX1JVTEVfTkFNRSA9IFwibGFiZWxcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgVkFMVUVfUlVMRV9OQU1FID0gXCJ2YWx1ZVwiO1xuZXhwb3J0IGNvbnN0IFZBTFVFU19SVUxFX05BTUUgPSBcInZhbHVlc1wiO1xuZXhwb3J0IGNvbnN0IFJFRFVDRV9SVUxFX05BTUUgPSBcInJlZHVjZVwiO1xuZXhwb3J0IGNvbnN0IFRFUk5BUllfUlVMRV9OQU1FID0gXCJ0ZXJuYXJ5XCI7XG5leHBvcnQgY29uc3QgQklORElOR19SVUxFX05BTUUgPSBcImJpbmRpbmdcIjtcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9SVUxFX05BTUUgPSBcInZhcmlhYmxlXCI7XG5leHBvcnQgY29uc3QgTk9OU0VOU0VfUlVMRV9OQU1FID0gXCJub25zZW5zZVwiO1xuZXhwb3J0IGNvbnN0IERPQ1VNRU5UX1JVTEVfTkFNRSA9IFwiZG9jdW1lbnRcIjtcbmV4cG9ydCBjb25zdCBCSU5ESU5HU19SVUxFX05BTUUgPSBcImJpbmRpbmdzXCI7XG5leHBvcnQgY29uc3QgU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwic3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgUFJPQ0VEVVJFX1JVTEVfTkFNRSA9IFwicHJvY2VkdXJlXCI7XG5leHBvcnQgY29uc3QgTEVOR1RIX09GX1JVTEVfTkFNRSA9IFwibGVuZ3RoT2ZcIjtcbmV4cG9ydCBjb25zdCBQUklNSVRJVkVfUlVMRV9OQU1FID0gXCJwcmltaXRpdmVcIjtcbmV4cG9ydCBjb25zdCBSRUZFUkVOQ0VfUlVMRV9OQU1FID0gXCJyZWZlcmVuY2VcIjtcbmV4cG9ydCBjb25zdCBQQVJBTUVURVJfUlVMRV9OQU1FID0gXCJwYXJhbWV0ZXJcIjtcbmV4cG9ydCBjb25zdCBOT0RFX1FVRVJZX1JVTEVfTkFNRSA9IFwibm9kZVF1ZXJ5XCI7XG5leHBvcnQgY29uc3QgRVhQUkVTU0lPTl9SVUxFX05BTUUgPSBcImV4cHJlc3Npb25cIjtcbmV4cG9ydCBjb25zdCBQQVJBTUVURVJTX1JVTEVfTkFNRSA9IFwicGFyYW1ldGVyc1wiO1xuZXhwb3J0IGNvbnN0IFRPX0lOVEVHRVJfUlVMRV9OQU1FID0gXCJ0b0ludGVnZXJcIjtcbmV4cG9ydCBjb25zdCBUUllfSU5URUdFUl9SVUxFX05BTUUgPSBcInRyeUludGVnZXJcIjtcbmV4cG9ydCBjb25zdCBOT0RFU19RVUVSWV9SVUxFX05BTUUgPSBcIm5vZGVzUXVlcnlcIjtcbmV4cG9ydCBjb25zdCBSRVRVUk5fQkxPQ0tfUlVMRV9OQU1FID0gXCJyZXR1cm5CbG9ja1wiO1xuZXhwb3J0IGNvbnN0IExPR0lDQUxfVEVSTV9SVUxFX05BTUUgPSBcImxvZ2ljYWxUZXJtXCI7XG5leHBvcnQgY29uc3QgTkVHQVRFRF9URVJNX1JVTEVfTkFNRSA9IFwibmVnYXRlZFRlcm1cIjtcbmV4cG9ydCBjb25zdCBOQU1FRF9CSU5ESU5HX1JVTEVfTkFNRSA9IFwibmFtZWRCaW5kaW5nXCI7XG5leHBvcnQgY29uc3QgTkFNRURfQklORElOR1NfUlVMRV9OQU1FID0gXCJuYW1lZEJpbmRpbmdzXCI7XG5leHBvcnQgY29uc3QgQlJBQ0tFVEVEX1RFUk1fUlVMRV9OQU1FID0gXCJicmFja2V0ZWRUZXJtXCI7XG5leHBvcnQgY29uc3QgUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FID0gXCJwcm9jZWR1cmVDYWxsXCI7XG5leHBvcnQgY29uc3QgQ09NUEFSSVNPTl9URVJNX1JVTEVfTkFNRSA9IFwiY29tcGFyaXNvblRlcm1cIjtcbmV4cG9ydCBjb25zdCBSRVRVUk5fU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwicmV0dXJuU3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgQVJSQVlfQVNTSUdOTUVOVF9SVUxFX05BTUUgPSBcImFycmF5QXNzaWdubWVudFwiO1xuZXhwb3J0IGNvbnN0IE9CSkVDVF9BU1NJR05NRU5UX1JVTEVfTkFNRSA9IFwib2JqZWN0QXNzaWdubWVudFwiO1xuZXhwb3J0IGNvbnN0IFZBUklBQkxFX0FTU0lHTk1FTlRfUlVMRV9OQU1FID0gXCJ2YXJpYWJsZUFzc2lnbm1lbnRcIjtcbmV4cG9ydCBjb25zdCBBTk9OWU1PVVNfUFJPQ0VEVVJFX1JVTEVfTkFNRSA9IFwiYW5vbnltb3VzUHJvY2VkdXJlXCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfQVNTSUdOTUVOVFNfUlVMRV9OQU1FID0gXCJ2YXJpYWJsZUFzc2lnbm1lbnRzXCI7XG5cbiJdLCJuYW1lcyI6WyJBTk9OWU1PVVNfUFJPQ0VEVVJFX1JVTEVfTkFNRSIsIkFSUkFZX0FTU0lHTk1FTlRfUlVMRV9OQU1FIiwiQklORElOR1NfUlVMRV9OQU1FIiwiQklORElOR19SVUxFX05BTUUiLCJCUkFDS0VURURfVEVSTV9SVUxFX05BTUUiLCJDT01QQVJJU09OX1RFUk1fUlVMRV9OQU1FIiwiRE9DVU1FTlRfUlVMRV9OQU1FIiwiRVJST1JfUlVMRV9OQU1FIiwiRVZFUllfUlVMRV9OQU1FIiwiRVhQUkVTU0lPTl9SVUxFX05BTUUiLCJMQUJFTF9SVUxFX05BTUUiLCJMRU5HVEhfT0ZfUlVMRV9OQU1FIiwiTE9HSUNBTF9URVJNX1JVTEVfTkFNRSIsIk5BTUVEX0JJTkRJTkdTX1JVTEVfTkFNRSIsIk5BTUVEX0JJTkRJTkdfUlVMRV9OQU1FIiwiTkVHQVRFRF9URVJNX1JVTEVfTkFNRSIsIk5PREVTX1FVRVJZX1JVTEVfTkFNRSIsIk5PREVfUVVFUllfUlVMRV9OQU1FIiwiTk9OU0VOU0VfUlVMRV9OQU1FIiwiT0JKRUNUX0FTU0lHTk1FTlRfUlVMRV9OQU1FIiwiUEFSQU1FVEVSU19SVUxFX05BTUUiLCJQQVJBTUVURVJfUlVMRV9OQU1FIiwiUFJJTUlUSVZFX1JVTEVfTkFNRSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlBST0NFRFVSRV9SVUxFX05BTUUiLCJSRURVQ0VfUlVMRV9OQU1FIiwiUkVGRVJFTkNFX1JVTEVfTkFNRSIsIlJFVFVSTl9CTE9DS19SVUxFX05BTUUiLCJSRVRVUk5fU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlNPTUVfUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlRFUk1TX1JVTEVfTkFNRSIsIlRFUk1fUlVMRV9OQU1FIiwiVEVSTkFSWV9SVUxFX05BTUUiLCJUT19JTlRFR0VSX1JVTEVfTkFNRSIsIlRSWV9JTlRFR0VSX1JVTEVfTkFNRSIsIlRZUEVfUlVMRV9OQU1FIiwiVkFMVUVTX1JVTEVfTkFNRSIsIlZBTFVFX1JVTEVfTkFNRSIsIlZBUklBQkxFX0FTU0lHTk1FTlRTX1JVTEVfTkFNRSIsIlZBUklBQkxFX0FTU0lHTk1FTlRfUlVMRV9OQU1FIiwiVkFSSUFCTEVfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUEwQ2FBO2VBQUFBOztRQUhBQztlQUFBQTs7UUF0QkFDO2VBQUFBOztRQUpBQztlQUFBQTs7UUFzQkFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFyQkFDO2VBQUFBOztRQVJBQztlQUFBQTs7UUFGQUM7ZUFBQUE7O1FBbUJBQztlQUFBQTs7UUFsQkFDO2VBQUFBOztRQWFBQztlQUFBQTs7UUFXQUM7ZUFBQUE7O1FBR0FDO2VBQUFBOztRQURBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQUxBQztlQUFBQTs7UUFUQUM7ZUFBQUE7O1FBeUJBQztlQUFBQTs7UUFkQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFlQUM7ZUFBQUE7O1FBakJBQztlQUFBQTs7UUFSQUM7ZUFBQUE7O1FBV0FDO2VBQUFBOztRQVFBQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBcENBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQWJBQztlQUFBQTs7UUFGQUM7ZUFBQUE7O1FBU0FDO2VBQUFBOztRQWVBQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFNQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQWtDQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQTNCQUM7ZUFBQUE7OztBQVpOLE1BQU1aLGlCQUFpQjtBQUN2QixNQUFNRyxpQkFBaUI7QUFDdkIsTUFBTUksaUJBQWlCO0FBQ3ZCLE1BQU1MLGtCQUFrQjtBQUN4QixNQUFNdkIsa0JBQWtCO0FBQ3hCLE1BQU1FLGtCQUFrQjtBQUN4QixNQUFNSCxrQkFBa0I7QUFDeEIsTUFBTStCLGtCQUFrQjtBQUN4QixNQUFNRCxtQkFBbUI7QUFDekIsTUFBTVosbUJBQW1CO0FBQ3pCLE1BQU1RLG9CQUFvQjtBQUMxQixNQUFNOUIsb0JBQW9CO0FBQzFCLE1BQU1zQyxxQkFBcUI7QUFDM0IsTUFBTXZCLHFCQUFxQjtBQUMzQixNQUFNWixxQkFBcUI7QUFDM0IsTUFBTUoscUJBQXFCO0FBQzNCLE1BQU00QixzQkFBc0I7QUFDNUIsTUFBTU4sc0JBQXNCO0FBQzVCLE1BQU1iLHNCQUFzQjtBQUM1QixNQUFNVyxzQkFBc0I7QUFDNUIsTUFBTUksc0JBQXNCO0FBQzVCLE1BQU1MLHNCQUFzQjtBQUM1QixNQUFNSix1QkFBdUI7QUFDN0IsTUFBTVIsdUJBQXVCO0FBQzdCLE1BQU1XLHVCQUF1QjtBQUM3QixNQUFNYyx1QkFBdUI7QUFDN0IsTUFBTUMsd0JBQXdCO0FBQzlCLE1BQU1uQix3QkFBd0I7QUFDOUIsTUFBTVcseUJBQXlCO0FBQy9CLE1BQU1mLHlCQUF5QjtBQUMvQixNQUFNRyx5QkFBeUI7QUFDL0IsTUFBTUQsMEJBQTBCO0FBQ2hDLE1BQU1ELDJCQUEyQjtBQUNqQyxNQUFNVCwyQkFBMkI7QUFDakMsTUFBTW1CLDJCQUEyQjtBQUNqQyxNQUFNbEIsNEJBQTRCO0FBQ2xDLE1BQU11Qiw2QkFBNkI7QUFDbkMsTUFBTTNCLDZCQUE2QjtBQUNuQyxNQUFNa0IsOEJBQThCO0FBQ3BDLE1BQU1xQixnQ0FBZ0M7QUFDdEMsTUFBTXhDLGdDQUFnQztBQUN0QyxNQUFNdUMsaUNBQWlDIn0=
|
package/lib/utilities/context.js
CHANGED
|
@@ -14,9 +14,18 @@ _export(exports, {
|
|
|
14
14
|
},
|
|
15
15
|
get free () {
|
|
16
16
|
return free;
|
|
17
|
+
},
|
|
18
|
+
get instantiate () {
|
|
19
|
+
return instantiate;
|
|
17
20
|
}
|
|
18
21
|
});
|
|
19
22
|
const _block = /*#__PURE__*/ _interop_require_wildcard(require("../context/block"));
|
|
23
|
+
const _literal = /*#__PURE__*/ _interop_require_default(require("../context/literal"));
|
|
24
|
+
function _interop_require_default(obj) {
|
|
25
|
+
return obj && obj.__esModule ? obj : {
|
|
26
|
+
default: obj
|
|
27
|
+
};
|
|
28
|
+
}
|
|
20
29
|
function _getRequireWildcardCache(nodeInterop) {
|
|
21
30
|
if (typeof WeakMap !== "function") return null;
|
|
22
31
|
var cacheBabelInterop = new WeakMap();
|
|
@@ -67,6 +76,11 @@ function confine(innerFunction, variables, context) {
|
|
|
67
76
|
context = blockContext; ///
|
|
68
77
|
return innerFunction(context);
|
|
69
78
|
}
|
|
79
|
+
function instantiate(innerFunction, context) {
|
|
80
|
+
const literalContext = _literal.default.fromNothing(context);
|
|
81
|
+
context = literalContext; ///
|
|
82
|
+
return innerFunction(context);
|
|
83
|
+
}
|
|
70
84
|
function freeContext(context) {
|
|
71
85
|
let contextBlockContext = (0, _block.isContextBlockContext)(context);
|
|
72
86
|
while(contextBlockContext){
|
|
@@ -76,4 +90,4 @@ function freeContext(context) {
|
|
|
76
90
|
return context;
|
|
77
91
|
}
|
|
78
92
|
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJsb2NrQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ibG9ja1wiO1xuaW1wb3J0IExpdGVyYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xpdGVyYWxcIjtcblxuaW1wb3J0IHsgaXNDb250ZXh0QmxvY2tDb250ZXh0IH0gZnJvbSBcIi4uL2NvbnRleHQvYmxvY2tcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyZWUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb250ZXh0ID0gZnJlZUNvbnRleHQoY29udGV4dCk7IC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uZmluZShpbm5lckZ1bmN0aW9uLCB2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgYmxvY2tDb250ZXh0ID0gQmxvY2tDb250ZXh0LmZyb21WYXJpYWJsZXModmFyaWFibGVzLCBjb250ZXh0KTtcblxuICBjb250ZXh0ID0gYmxvY2tDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGxpdGVyYWxDb250ZXh0ID0gTGl0ZXJhbENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGxpdGVyYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIGZyZWVDb250ZXh0KGNvbnRleHQpIHtcbiAgbGV0IGNvbnRleHRCbG9ja0NvbnRleHQgPSBpc0NvbnRleHRCbG9ja0NvbnRleHQoY29udGV4dCk7XG5cbiAgd2hpbGUgKGNvbnRleHRCbG9ja0NvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gY29udGV4dC5nZXRDb250ZXh0KCk7XG5cbiAgICBjb250ZXh0QmxvY2tDb250ZXh0ID0gaXNDb250ZXh0QmxvY2tDb250ZXh0KGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG4iXSwibmFtZXMiOlsiY29uZmluZSIsImZyZWUiLCJpbnN0YW50aWF0ZSIsImlubmVyRnVuY3Rpb24iLCJjb250ZXh0IiwiZnJlZUNvbnRleHQiLCJ2YXJpYWJsZXMiLCJibG9ja0NvbnRleHQiLCJCbG9ja0NvbnRleHQiLCJmcm9tVmFyaWFibGVzIiwibGl0ZXJhbENvbnRleHQiLCJMaXRlcmFsQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiY29udGV4dEJsb2NrQ29udGV4dCIsImlzQ29udGV4dEJsb2NrQ29udGV4dCIsImdldENvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWFnQkE7ZUFBQUE7O1FBTkFDO2VBQUFBOztRQWNBQztlQUFBQTs7OytEQW5CUztnRUFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJcEIsU0FBU0QsS0FBS0UsYUFBYSxFQUFFQyxPQUFPO0lBQ3pDQSxVQUFVQyxZQUFZRCxVQUFVLEdBQUc7SUFFbkMsT0FBT0QsY0FBY0M7QUFDdkI7QUFFTyxTQUFTSixRQUFRRyxhQUFhLEVBQUVHLFNBQVMsRUFBRUYsT0FBTztJQUN2RCxNQUFNRyxlQUFlQyxjQUFZLENBQUNDLGFBQWEsQ0FBQ0gsV0FBV0Y7SUFFM0RBLFVBQVVHLGNBQWUsR0FBRztJQUU1QixPQUFPSixjQUFjQztBQUN2QjtBQUVPLFNBQVNGLFlBQVlDLGFBQWEsRUFBRUMsT0FBTztJQUNoRCxNQUFNTSxpQkFBaUJDLGdCQUFjLENBQUNDLFdBQVcsQ0FBQ1I7SUFFbERBLFVBQVVNLGdCQUFpQixHQUFHO0lBRTlCLE9BQU9QLGNBQWNDO0FBQ3ZCO0FBRUEsU0FBU0MsWUFBWUQsT0FBTztJQUMxQixJQUFJUyxzQkFBc0JDLElBQUFBLDRCQUFxQixFQUFDVjtJQUVoRCxNQUFPUyxvQkFBcUI7UUFDMUJULFVBQVVBLFFBQVFXLFVBQVU7UUFFNUJGLHNCQUFzQkMsSUFBQUEsNEJBQXFCLEVBQUNWO0lBQzlDO0lBRUEsT0FBT0E7QUFDVCJ9
|