greybel-interpreter 1.7.1 → 1.7.3
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/dist/context.d.ts +9 -9
- package/dist/context.js +19 -22
- package/dist/cps.d.ts +3 -3
- package/dist/cps.js +110 -71
- package/dist/handler/output.d.ts +4 -4
- package/dist/handler/output.js +2 -2
- package/dist/handler-container.d.ts +1 -1
- package/dist/handler-container.js +2 -1
- package/dist/index.d.ts +43 -42
- package/dist/index.js +47 -47
- package/dist/interpreter.d.ts +9 -9
- package/dist/interpreter.js +55 -62
- package/dist/operations/assign.d.ts +5 -5
- package/dist/operations/assign.js +9 -11
- package/dist/operations/block.d.ts +4 -4
- package/dist/operations/block.js +6 -8
- package/dist/operations/break.d.ts +4 -4
- package/dist/operations/break.js +6 -8
- package/dist/operations/call.d.ts +5 -5
- package/dist/operations/call.js +12 -14
- package/dist/operations/chunk.d.ts +6 -6
- package/dist/operations/chunk.js +8 -10
- package/dist/operations/continue.d.ts +4 -4
- package/dist/operations/continue.js +6 -8
- package/dist/operations/debugger-statement.d.ts +5 -5
- package/dist/operations/debugger-statement.js +6 -8
- package/dist/operations/envar.d.ts +5 -5
- package/dist/operations/envar.js +6 -8
- package/dist/operations/evaluate.d.ts +6 -5
- package/dist/operations/evaluate.js +109 -112
- package/dist/operations/for.d.ts +6 -6
- package/dist/operations/for.js +15 -17
- package/dist/operations/function-reference.d.ts +5 -5
- package/dist/operations/function-reference.js +8 -10
- package/dist/operations/function.d.ts +5 -5
- package/dist/operations/function.js +17 -20
- package/dist/operations/if-statement.d.ts +6 -6
- package/dist/operations/if-statement.js +12 -15
- package/dist/operations/import.d.ts +7 -7
- package/dist/operations/import.js +15 -18
- package/dist/operations/include.d.ts +5 -5
- package/dist/operations/include.js +4 -6
- package/dist/operations/list.d.ts +5 -5
- package/dist/operations/list.js +6 -8
- package/dist/operations/literal.d.ts +5 -5
- package/dist/operations/literal.js +12 -14
- package/dist/operations/map.d.ts +5 -5
- package/dist/operations/map.js +8 -10
- package/dist/operations/negated-binary.d.ts +5 -5
- package/dist/operations/negated-binary.js +7 -9
- package/dist/operations/new-instance.d.ts +5 -5
- package/dist/operations/new-instance.js +8 -10
- package/dist/operations/noop.d.ts +5 -5
- package/dist/operations/noop.js +6 -8
- package/dist/operations/not.d.ts +5 -5
- package/dist/operations/not.js +6 -8
- package/dist/operations/operation.d.ts +3 -3
- package/dist/operations/operation.js +2 -1
- package/dist/operations/reference.d.ts +4 -4
- package/dist/operations/reference.js +4 -6
- package/dist/operations/resolve.d.ts +6 -6
- package/dist/operations/resolve.js +27 -30
- package/dist/operations/return.d.ts +5 -5
- package/dist/operations/return.js +8 -10
- package/dist/operations/while.d.ts +6 -6
- package/dist/operations/while.js +9 -11
- package/dist/types/base.d.ts +1 -1
- package/dist/types/base.js +2 -1
- package/dist/types/boolean.d.ts +2 -2
- package/dist/types/boolean.js +4 -7
- package/dist/types/default.d.ts +7 -7
- package/dist/types/default.js +9 -8
- package/dist/types/function.d.ts +5 -5
- package/dist/types/function.js +27 -30
- package/dist/types/interface.d.ts +4 -4
- package/dist/types/interface.js +10 -13
- package/dist/types/list.d.ts +4 -4
- package/dist/types/list.js +21 -24
- package/dist/types/map.d.ts +5 -5
- package/dist/types/map.js +26 -29
- package/dist/types/nil.d.ts +2 -2
- package/dist/types/nil.js +4 -7
- package/dist/types/number.d.ts +4 -4
- package/dist/types/number.js +8 -11
- package/dist/types/string.d.ts +4 -4
- package/dist/types/string.js +19 -22
- package/dist/types/with-intrinsics.d.ts +4 -4
- package/dist/types/with-intrinsics.js +2 -5
- package/dist/utils/deep-equal.d.ts +1 -1
- package/dist/utils/deep-equal.js +4 -3
- package/dist/utils/error.d.ts +23 -0
- package/dist/utils/error.js +29 -0
- package/dist/utils/object-value.d.ts +2 -2
- package/dist/utils/object-value.js +6 -8
- package/dist/utils/path.d.ts +1 -1
- package/dist/utils/path.js +2 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Not = exports.Noop = exports.NewInstance = exports.NegatedBinary = exports.MapOperation = exports.Literal = exports.List = exports.Include = exports.Import = exports.IfStatement = exports.Clause = exports.
|
|
7
|
-
exports.Path = exports.ObjectValue = exports.deepEqual = exports.CustomValueWithIntrinsics = exports.CustomObject = exports.CustomStringIterator = exports.CustomString = exports.CustomNumber = exports.CustomNil = exports.CustomMapIterator = exports.CustomMap = exports.CustomListIterator = exports.CustomList = exports.CustomInterfaceIterator = exports.CustomInterface = exports.CustomFunction = exports.Argument = exports.DefaultType = exports.CustomBoolean = exports.CustomValue = exports.While = exports.Return = exports.ResolveResult = exports.Resolve = exports.OperationSegment = exports.IndexSegment = exports.IdentifierSegment = exports.Reference = exports.Operation = void 0;
|
|
3
|
+
exports.Not = exports.Noop = exports.NewInstance = exports.NegatedBinary = exports.MapOperation = exports.Literal = exports.List = exports.Include = exports.Import = exports.IfStatement = exports.Clause = exports.FunctionOperation = exports.For = exports.StringProcessorHandler = exports.NumberProcessorHandler = exports.MapProcessorHandler = exports.ListProcessorHandler = exports.handleString = exports.handleNumber = exports.handleMap = exports.handleList = exports.handleInterface = exports.handle = exports.GenericProcessorHandler = exports.Evaluate = exports.DebuggerStatement = exports.Continue = exports.Chunk = exports.Call = exports.Break = exports.Block = exports.Assign = exports.Interpreter = exports.HandlerContainer = exports.ResourceHandler = exports.DefaultResourceHandler = exports.OutputHandler = exports.DefaultOutputHandler = exports.ErrorHandler = exports.DefaultErrorHandler = exports.CPSContext = exports.CPS = exports.Scope = exports.ProcessState = exports.OperationContext = exports.LoopState = exports.FunctionState = exports.Debugger = exports.ContextType = exports.ContextState = void 0;
|
|
4
|
+
exports.Path = exports.ObjectValue = exports.RuntimeError = exports.PrepareError = exports.deepEqual = exports.CustomValueWithIntrinsics = exports.CustomObject = exports.CustomStringIterator = exports.CustomString = exports.CustomNumber = exports.CustomNil = exports.CustomMapIterator = exports.CustomMap = exports.CustomListIterator = exports.CustomList = exports.CustomInterfaceIterator = exports.CustomInterface = exports.CustomFunction = exports.Argument = exports.DefaultType = exports.CustomBoolean = exports.CustomValue = exports.While = exports.Return = exports.ResolveResult = exports.Resolve = exports.OperationSegment = exports.IndexSegment = exports.IdentifierSegment = exports.Reference = exports.Operation = void 0;
|
|
8
5
|
var context_1 = require("./context");
|
|
9
6
|
Object.defineProperty(exports, "ContextState", { enumerable: true, get: function () { return context_1.ContextState; } });
|
|
10
7
|
Object.defineProperty(exports, "ContextType", { enumerable: true, get: function () { return context_1.ContextType; } });
|
|
11
8
|
Object.defineProperty(exports, "Debugger", { enumerable: true, get: function () { return context_1.Debugger; } });
|
|
12
9
|
Object.defineProperty(exports, "FunctionState", { enumerable: true, get: function () { return context_1.FunctionState; } });
|
|
13
10
|
Object.defineProperty(exports, "LoopState", { enumerable: true, get: function () { return context_1.LoopState; } });
|
|
14
|
-
Object.defineProperty(exports, "OperationContext", { enumerable: true, get: function () { return
|
|
11
|
+
Object.defineProperty(exports, "OperationContext", { enumerable: true, get: function () { return context_1.OperationContext; } });
|
|
15
12
|
Object.defineProperty(exports, "ProcessState", { enumerable: true, get: function () { return context_1.ProcessState; } });
|
|
16
13
|
Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return context_1.Scope; } });
|
|
17
14
|
var cps_1 = require("./cps");
|
|
18
|
-
Object.defineProperty(exports, "CPS", { enumerable: true, get: function () { return
|
|
15
|
+
Object.defineProperty(exports, "CPS", { enumerable: true, get: function () { return cps_1.CPS; } });
|
|
19
16
|
Object.defineProperty(exports, "CPSContext", { enumerable: true, get: function () { return cps_1.CPSContext; } });
|
|
20
17
|
var error_1 = require("./handler/error");
|
|
21
18
|
Object.defineProperty(exports, "DefaultErrorHandler", { enumerable: true, get: function () { return error_1.DefaultErrorHandler; } });
|
|
@@ -27,25 +24,25 @@ var resource_1 = require("./handler/resource");
|
|
|
27
24
|
Object.defineProperty(exports, "DefaultResourceHandler", { enumerable: true, get: function () { return resource_1.DefaultResourceHandler; } });
|
|
28
25
|
Object.defineProperty(exports, "ResourceHandler", { enumerable: true, get: function () { return resource_1.ResourceHandler; } });
|
|
29
26
|
var handler_container_1 = require("./handler-container");
|
|
30
|
-
Object.defineProperty(exports, "HandlerContainer", { enumerable: true, get: function () { return
|
|
27
|
+
Object.defineProperty(exports, "HandlerContainer", { enumerable: true, get: function () { return handler_container_1.HandlerContainer; } });
|
|
31
28
|
var interpreter_1 = require("./interpreter");
|
|
32
|
-
Object.defineProperty(exports, "Interpreter", { enumerable: true, get: function () { return
|
|
29
|
+
Object.defineProperty(exports, "Interpreter", { enumerable: true, get: function () { return interpreter_1.Interpreter; } });
|
|
33
30
|
var assign_1 = require("./operations/assign");
|
|
34
|
-
Object.defineProperty(exports, "Assign", { enumerable: true, get: function () { return
|
|
31
|
+
Object.defineProperty(exports, "Assign", { enumerable: true, get: function () { return assign_1.Assign; } });
|
|
35
32
|
var block_1 = require("./operations/block");
|
|
36
|
-
Object.defineProperty(exports, "Block", { enumerable: true, get: function () { return
|
|
33
|
+
Object.defineProperty(exports, "Block", { enumerable: true, get: function () { return block_1.Block; } });
|
|
37
34
|
var break_1 = require("./operations/break");
|
|
38
|
-
Object.defineProperty(exports, "Break", { enumerable: true, get: function () { return
|
|
35
|
+
Object.defineProperty(exports, "Break", { enumerable: true, get: function () { return break_1.Break; } });
|
|
39
36
|
var call_1 = require("./operations/call");
|
|
40
|
-
Object.defineProperty(exports, "Call", { enumerable: true, get: function () { return
|
|
37
|
+
Object.defineProperty(exports, "Call", { enumerable: true, get: function () { return call_1.Call; } });
|
|
41
38
|
var chunk_1 = require("./operations/chunk");
|
|
42
|
-
Object.defineProperty(exports, "Chunk", { enumerable: true, get: function () { return
|
|
39
|
+
Object.defineProperty(exports, "Chunk", { enumerable: true, get: function () { return chunk_1.Chunk; } });
|
|
43
40
|
var continue_1 = require("./operations/continue");
|
|
44
|
-
Object.defineProperty(exports, "Continue", { enumerable: true, get: function () { return
|
|
41
|
+
Object.defineProperty(exports, "Continue", { enumerable: true, get: function () { return continue_1.Continue; } });
|
|
45
42
|
var debugger_statement_1 = require("./operations/debugger-statement");
|
|
46
|
-
Object.defineProperty(exports, "DebuggerStatement", { enumerable: true, get: function () { return
|
|
43
|
+
Object.defineProperty(exports, "DebuggerStatement", { enumerable: true, get: function () { return debugger_statement_1.DebuggerStatement; } });
|
|
47
44
|
var evaluate_1 = require("./operations/evaluate");
|
|
48
|
-
Object.defineProperty(exports, "Evaluate", { enumerable: true, get: function () { return
|
|
45
|
+
Object.defineProperty(exports, "Evaluate", { enumerable: true, get: function () { return evaluate_1.Evaluate; } });
|
|
49
46
|
Object.defineProperty(exports, "GenericProcessorHandler", { enumerable: true, get: function () { return evaluate_1.GenericProcessorHandler; } });
|
|
50
47
|
Object.defineProperty(exports, "handle", { enumerable: true, get: function () { return evaluate_1.handle; } });
|
|
51
48
|
Object.defineProperty(exports, "handleInterface", { enumerable: true, get: function () { return evaluate_1.handleInterface; } });
|
|
@@ -58,75 +55,78 @@ Object.defineProperty(exports, "MapProcessorHandler", { enumerable: true, get: f
|
|
|
58
55
|
Object.defineProperty(exports, "NumberProcessorHandler", { enumerable: true, get: function () { return evaluate_1.NumberProcessorHandler; } });
|
|
59
56
|
Object.defineProperty(exports, "StringProcessorHandler", { enumerable: true, get: function () { return evaluate_1.StringProcessorHandler; } });
|
|
60
57
|
var for_1 = require("./operations/for");
|
|
61
|
-
Object.defineProperty(exports, "For", { enumerable: true, get: function () { return
|
|
58
|
+
Object.defineProperty(exports, "For", { enumerable: true, get: function () { return for_1.For; } });
|
|
62
59
|
var function_1 = require("./operations/function");
|
|
63
|
-
Object.defineProperty(exports, "
|
|
60
|
+
Object.defineProperty(exports, "FunctionOperation", { enumerable: true, get: function () { return function_1.FunctionOperation; } });
|
|
64
61
|
var if_statement_1 = require("./operations/if-statement");
|
|
65
62
|
Object.defineProperty(exports, "Clause", { enumerable: true, get: function () { return if_statement_1.Clause; } });
|
|
66
|
-
Object.defineProperty(exports, "IfStatement", { enumerable: true, get: function () { return
|
|
63
|
+
Object.defineProperty(exports, "IfStatement", { enumerable: true, get: function () { return if_statement_1.IfStatement; } });
|
|
67
64
|
var import_1 = require("./operations/import");
|
|
68
|
-
Object.defineProperty(exports, "Import", { enumerable: true, get: function () { return
|
|
65
|
+
Object.defineProperty(exports, "Import", { enumerable: true, get: function () { return import_1.Import; } });
|
|
69
66
|
var include_1 = require("./operations/include");
|
|
70
|
-
Object.defineProperty(exports, "Include", { enumerable: true, get: function () { return
|
|
67
|
+
Object.defineProperty(exports, "Include", { enumerable: true, get: function () { return include_1.Include; } });
|
|
71
68
|
var list_1 = require("./operations/list");
|
|
72
|
-
Object.defineProperty(exports, "List", { enumerable: true, get: function () { return
|
|
69
|
+
Object.defineProperty(exports, "List", { enumerable: true, get: function () { return list_1.List; } });
|
|
73
70
|
var literal_1 = require("./operations/literal");
|
|
74
|
-
Object.defineProperty(exports, "Literal", { enumerable: true, get: function () { return
|
|
71
|
+
Object.defineProperty(exports, "Literal", { enumerable: true, get: function () { return literal_1.Literal; } });
|
|
75
72
|
var map_1 = require("./operations/map");
|
|
76
|
-
Object.defineProperty(exports, "MapOperation", { enumerable: true, get: function () { return
|
|
73
|
+
Object.defineProperty(exports, "MapOperation", { enumerable: true, get: function () { return map_1.MapOperation; } });
|
|
77
74
|
var negated_binary_1 = require("./operations/negated-binary");
|
|
78
|
-
Object.defineProperty(exports, "NegatedBinary", { enumerable: true, get: function () { return
|
|
75
|
+
Object.defineProperty(exports, "NegatedBinary", { enumerable: true, get: function () { return negated_binary_1.NegatedBinary; } });
|
|
79
76
|
var new_instance_1 = require("./operations/new-instance");
|
|
80
|
-
Object.defineProperty(exports, "NewInstance", { enumerable: true, get: function () { return
|
|
77
|
+
Object.defineProperty(exports, "NewInstance", { enumerable: true, get: function () { return new_instance_1.NewInstance; } });
|
|
81
78
|
var noop_1 = require("./operations/noop");
|
|
82
|
-
Object.defineProperty(exports, "Noop", { enumerable: true, get: function () { return
|
|
79
|
+
Object.defineProperty(exports, "Noop", { enumerable: true, get: function () { return noop_1.Noop; } });
|
|
83
80
|
var not_1 = require("./operations/not");
|
|
84
|
-
Object.defineProperty(exports, "Not", { enumerable: true, get: function () { return
|
|
81
|
+
Object.defineProperty(exports, "Not", { enumerable: true, get: function () { return not_1.Not; } });
|
|
85
82
|
var operation_1 = require("./operations/operation");
|
|
86
|
-
Object.defineProperty(exports, "Operation", { enumerable: true, get: function () { return
|
|
83
|
+
Object.defineProperty(exports, "Operation", { enumerable: true, get: function () { return operation_1.Operation; } });
|
|
87
84
|
var reference_1 = require("./operations/reference");
|
|
88
|
-
Object.defineProperty(exports, "Reference", { enumerable: true, get: function () { return
|
|
85
|
+
Object.defineProperty(exports, "Reference", { enumerable: true, get: function () { return reference_1.Reference; } });
|
|
89
86
|
var resolve_1 = require("./operations/resolve");
|
|
90
87
|
Object.defineProperty(exports, "IdentifierSegment", { enumerable: true, get: function () { return resolve_1.IdentifierSegment; } });
|
|
91
88
|
Object.defineProperty(exports, "IndexSegment", { enumerable: true, get: function () { return resolve_1.IndexSegment; } });
|
|
92
89
|
Object.defineProperty(exports, "OperationSegment", { enumerable: true, get: function () { return resolve_1.OperationSegment; } });
|
|
93
|
-
Object.defineProperty(exports, "Resolve", { enumerable: true, get: function () { return
|
|
90
|
+
Object.defineProperty(exports, "Resolve", { enumerable: true, get: function () { return resolve_1.Resolve; } });
|
|
94
91
|
Object.defineProperty(exports, "ResolveResult", { enumerable: true, get: function () { return resolve_1.ResolveResult; } });
|
|
95
92
|
var return_1 = require("./operations/return");
|
|
96
|
-
Object.defineProperty(exports, "Return", { enumerable: true, get: function () { return
|
|
93
|
+
Object.defineProperty(exports, "Return", { enumerable: true, get: function () { return return_1.Return; } });
|
|
97
94
|
var while_1 = require("./operations/while");
|
|
98
|
-
Object.defineProperty(exports, "While", { enumerable: true, get: function () { return
|
|
95
|
+
Object.defineProperty(exports, "While", { enumerable: true, get: function () { return while_1.While; } });
|
|
99
96
|
var base_1 = require("./types/base");
|
|
100
|
-
Object.defineProperty(exports, "CustomValue", { enumerable: true, get: function () { return
|
|
97
|
+
Object.defineProperty(exports, "CustomValue", { enumerable: true, get: function () { return base_1.CustomValue; } });
|
|
101
98
|
var boolean_1 = require("./types/boolean");
|
|
102
|
-
Object.defineProperty(exports, "CustomBoolean", { enumerable: true, get: function () { return
|
|
99
|
+
Object.defineProperty(exports, "CustomBoolean", { enumerable: true, get: function () { return boolean_1.CustomBoolean; } });
|
|
103
100
|
var default_1 = require("./types/default");
|
|
104
|
-
Object.defineProperty(exports, "DefaultType", { enumerable: true, get: function () { return
|
|
101
|
+
Object.defineProperty(exports, "DefaultType", { enumerable: true, get: function () { return default_1.DefaultType; } });
|
|
105
102
|
var function_2 = require("./types/function");
|
|
106
103
|
Object.defineProperty(exports, "Argument", { enumerable: true, get: function () { return function_2.Argument; } });
|
|
107
|
-
Object.defineProperty(exports, "CustomFunction", { enumerable: true, get: function () { return
|
|
104
|
+
Object.defineProperty(exports, "CustomFunction", { enumerable: true, get: function () { return function_2.CustomFunction; } });
|
|
108
105
|
var interface_1 = require("./types/interface");
|
|
109
|
-
Object.defineProperty(exports, "CustomInterface", { enumerable: true, get: function () { return
|
|
106
|
+
Object.defineProperty(exports, "CustomInterface", { enumerable: true, get: function () { return interface_1.CustomInterface; } });
|
|
110
107
|
Object.defineProperty(exports, "CustomInterfaceIterator", { enumerable: true, get: function () { return interface_1.CustomInterfaceIterator; } });
|
|
111
108
|
var list_2 = require("./types/list");
|
|
112
|
-
Object.defineProperty(exports, "CustomList", { enumerable: true, get: function () { return
|
|
109
|
+
Object.defineProperty(exports, "CustomList", { enumerable: true, get: function () { return list_2.CustomList; } });
|
|
113
110
|
Object.defineProperty(exports, "CustomListIterator", { enumerable: true, get: function () { return list_2.CustomListIterator; } });
|
|
114
111
|
var map_2 = require("./types/map");
|
|
115
|
-
Object.defineProperty(exports, "CustomMap", { enumerable: true, get: function () { return
|
|
112
|
+
Object.defineProperty(exports, "CustomMap", { enumerable: true, get: function () { return map_2.CustomMap; } });
|
|
116
113
|
Object.defineProperty(exports, "CustomMapIterator", { enumerable: true, get: function () { return map_2.CustomMapIterator; } });
|
|
117
114
|
var nil_1 = require("./types/nil");
|
|
118
|
-
Object.defineProperty(exports, "CustomNil", { enumerable: true, get: function () { return
|
|
115
|
+
Object.defineProperty(exports, "CustomNil", { enumerable: true, get: function () { return nil_1.CustomNil; } });
|
|
119
116
|
var number_1 = require("./types/number");
|
|
120
|
-
Object.defineProperty(exports, "CustomNumber", { enumerable: true, get: function () { return
|
|
117
|
+
Object.defineProperty(exports, "CustomNumber", { enumerable: true, get: function () { return number_1.CustomNumber; } });
|
|
121
118
|
var string_1 = require("./types/string");
|
|
122
|
-
Object.defineProperty(exports, "CustomString", { enumerable: true, get: function () { return
|
|
119
|
+
Object.defineProperty(exports, "CustomString", { enumerable: true, get: function () { return string_1.CustomString; } });
|
|
123
120
|
Object.defineProperty(exports, "CustomStringIterator", { enumerable: true, get: function () { return string_1.CustomStringIterator; } });
|
|
124
121
|
var with_intrinsics_1 = require("./types/with-intrinsics");
|
|
125
122
|
Object.defineProperty(exports, "CustomObject", { enumerable: true, get: function () { return with_intrinsics_1.CustomObject; } });
|
|
126
123
|
Object.defineProperty(exports, "CustomValueWithIntrinsics", { enumerable: true, get: function () { return with_intrinsics_1.CustomValueWithIntrinsics; } });
|
|
127
124
|
var deep_equal_1 = require("./utils/deep-equal");
|
|
128
|
-
Object.defineProperty(exports, "deepEqual", { enumerable: true, get: function () { return
|
|
125
|
+
Object.defineProperty(exports, "deepEqual", { enumerable: true, get: function () { return deep_equal_1.deepEqual; } });
|
|
126
|
+
var error_2 = require("./utils/error");
|
|
127
|
+
Object.defineProperty(exports, "PrepareError", { enumerable: true, get: function () { return error_2.PrepareError; } });
|
|
128
|
+
Object.defineProperty(exports, "RuntimeError", { enumerable: true, get: function () { return error_2.RuntimeError; } });
|
|
129
129
|
var object_value_1 = require("./utils/object-value");
|
|
130
|
-
Object.defineProperty(exports, "ObjectValue", { enumerable: true, get: function () { return
|
|
130
|
+
Object.defineProperty(exports, "ObjectValue", { enumerable: true, get: function () { return object_value_1.ObjectValue; } });
|
|
131
131
|
var path_1 = require("./utils/path");
|
|
132
|
-
Object.defineProperty(exports, "Path", { enumerable: true, get: function () { return
|
|
132
|
+
Object.defineProperty(exports, "Path", { enumerable: true, get: function () { return path_1.Path; } });
|
package/dist/interpreter.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import EventEmitter from 'events';
|
|
3
|
-
import
|
|
4
|
-
import CPS from './cps';
|
|
5
|
-
import HandlerContainer from './handler-container';
|
|
6
|
-
import Operation from './operations/operation';
|
|
7
|
-
import CustomValue from './types/base';
|
|
8
|
-
import CustomString from './types/string';
|
|
9
|
-
import ObjectValue from './utils/object-value';
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import { Debugger, OperationContext } from './context';
|
|
4
|
+
import { CPS } from './cps';
|
|
5
|
+
import { HandlerContainer } from './handler-container';
|
|
6
|
+
import { Operation } from './operations/operation';
|
|
7
|
+
import { CustomValue } from './types/base';
|
|
8
|
+
import { CustomString } from './types/string';
|
|
9
|
+
import { ObjectValue } from './utils/object-value';
|
|
10
10
|
export declare const PARAMS_PROPERTY: CustomString;
|
|
11
11
|
export interface InterpreterOptions {
|
|
12
12
|
target?: string;
|
|
@@ -16,7 +16,7 @@ export interface InterpreterOptions {
|
|
|
16
16
|
debugger?: Debugger;
|
|
17
17
|
environmentVariables?: Map<string, string>;
|
|
18
18
|
}
|
|
19
|
-
export
|
|
19
|
+
export declare class Interpreter extends EventEmitter {
|
|
20
20
|
target: string;
|
|
21
21
|
api: ObjectValue;
|
|
22
22
|
params: Array<string>;
|
package/dist/interpreter.js
CHANGED
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -31,30 +8,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
9
|
});
|
|
33
10
|
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.PARAMS_PROPERTY = void 0;
|
|
39
|
-
const events_1 =
|
|
12
|
+
exports.Interpreter = exports.PARAMS_PROPERTY = void 0;
|
|
13
|
+
const events_1 = require("events");
|
|
40
14
|
const greybel_core_1 = require("greybel-core");
|
|
41
|
-
const context_1 =
|
|
42
|
-
const cps_1 =
|
|
43
|
-
const handler_container_1 =
|
|
44
|
-
const noop_1 =
|
|
45
|
-
const default_1 =
|
|
46
|
-
const list_1 =
|
|
47
|
-
const map_1 =
|
|
48
|
-
const number_1 =
|
|
49
|
-
const string_1 =
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
15
|
+
const context_1 = require("./context");
|
|
16
|
+
const cps_1 = require("./cps");
|
|
17
|
+
const handler_container_1 = require("./handler-container");
|
|
18
|
+
const noop_1 = require("./operations/noop");
|
|
19
|
+
const default_1 = require("./types/default");
|
|
20
|
+
const list_1 = require("./types/list");
|
|
21
|
+
const map_1 = require("./types/map");
|
|
22
|
+
const number_1 = require("./types/number");
|
|
23
|
+
const string_1 = require("./types/string");
|
|
24
|
+
const error_1 = require("./utils/error");
|
|
25
|
+
const object_value_1 = require("./utils/object-value");
|
|
26
|
+
exports.PARAMS_PROPERTY = new string_1.CustomString('params');
|
|
27
|
+
class Interpreter extends events_1.EventEmitter {
|
|
53
28
|
constructor(options) {
|
|
54
29
|
super();
|
|
55
|
-
this.handler = options.handler || new handler_container_1.
|
|
30
|
+
this.handler = options.handler || new handler_container_1.HandlerContainer();
|
|
56
31
|
this.debugger = options.debugger || new context_1.Debugger();
|
|
57
|
-
this.api = options.api || new object_value_1.
|
|
32
|
+
this.api = options.api || new object_value_1.ObjectValue();
|
|
58
33
|
this.params = options.params || [];
|
|
59
34
|
this.environmentVariables = options.environmentVariables || new Map();
|
|
60
35
|
this.apiContext = null;
|
|
@@ -67,8 +42,8 @@ class Interpreter extends events_1.default {
|
|
|
67
42
|
}
|
|
68
43
|
this.target = target;
|
|
69
44
|
const cpsCtx = new cps_1.CPSContext(target, this.handler);
|
|
70
|
-
this.cps = new cps_1.
|
|
71
|
-
this.apiContext = new context_1.
|
|
45
|
+
this.cps = new cps_1.CPS(cpsCtx);
|
|
46
|
+
this.apiContext = new context_1.OperationContext({
|
|
72
47
|
target,
|
|
73
48
|
isProtected: true,
|
|
74
49
|
debugger: this.debugger,
|
|
@@ -114,9 +89,17 @@ class Interpreter extends events_1.default {
|
|
|
114
89
|
return this.cps.visit(chunk);
|
|
115
90
|
}
|
|
116
91
|
catch (err) {
|
|
117
|
-
|
|
92
|
+
if (err instanceof error_1.PrepareError) {
|
|
93
|
+
this.handler.errorHandler.raise(err);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.handler.errorHandler.raise(new error_1.PrepareError(err.message, {
|
|
97
|
+
item: null,
|
|
98
|
+
target: this.target
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
118
101
|
}
|
|
119
|
-
return Promise.resolve(new noop_1.
|
|
102
|
+
return Promise.resolve(new noop_1.Noop(null));
|
|
120
103
|
}
|
|
121
104
|
inject(code, context) {
|
|
122
105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -130,7 +113,12 @@ class Interpreter extends events_1.default {
|
|
|
130
113
|
yield top.handle(injectionCtx);
|
|
131
114
|
}
|
|
132
115
|
catch (err) {
|
|
133
|
-
|
|
116
|
+
if (err instanceof error_1.PrepareError) {
|
|
117
|
+
this.handler.errorHandler.raise(err);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this.handler.errorHandler.raise(new error_1.RuntimeError(err.message, this.apiContext.getLastActive()));
|
|
121
|
+
}
|
|
134
122
|
}
|
|
135
123
|
return this;
|
|
136
124
|
});
|
|
@@ -156,18 +144,18 @@ class Interpreter extends events_1.default {
|
|
|
156
144
|
if (this.apiContext !== null && this.apiContext.isPending()) {
|
|
157
145
|
throw new Error('Process already running.');
|
|
158
146
|
}
|
|
159
|
-
const stringIntrinsics = map_1.
|
|
160
|
-
const numberIntrinsics = map_1.
|
|
161
|
-
const listIntrinsics = map_1.
|
|
162
|
-
const mapIntrinsics = map_1.
|
|
163
|
-
this.apiContext.set(new string_1.
|
|
164
|
-
this.apiContext.set(new string_1.
|
|
165
|
-
this.apiContext.set(new string_1.
|
|
166
|
-
this.apiContext.set(new string_1.
|
|
147
|
+
const stringIntrinsics = map_1.CustomMap.createWithInitialValue(string_1.CustomString.intrinsics);
|
|
148
|
+
const numberIntrinsics = map_1.CustomMap.createWithInitialValue(number_1.CustomNumber.intrinsics);
|
|
149
|
+
const listIntrinsics = map_1.CustomMap.createWithInitialValue(list_1.CustomList.intrinsics);
|
|
150
|
+
const mapIntrinsics = map_1.CustomMap.createWithInitialValue(map_1.CustomMap.intrinsics);
|
|
151
|
+
this.apiContext.set(new string_1.CustomString('string'), stringIntrinsics);
|
|
152
|
+
this.apiContext.set(new string_1.CustomString('number'), numberIntrinsics);
|
|
153
|
+
this.apiContext.set(new string_1.CustomString('list'), listIntrinsics);
|
|
154
|
+
this.apiContext.set(new string_1.CustomString('map'), mapIntrinsics);
|
|
167
155
|
this.apiContext.extend(this.api);
|
|
168
|
-
const newParams = new list_1.
|
|
156
|
+
const newParams = new list_1.CustomList(this.params.map((item) => new string_1.CustomString(item)));
|
|
169
157
|
this.globalContext.scope.set(exports.PARAMS_PROPERTY, newParams);
|
|
170
|
-
this.globalContext.set(new string_1.
|
|
158
|
+
this.globalContext.set(new string_1.CustomString('globals'), this.globalContext.scope);
|
|
171
159
|
try {
|
|
172
160
|
this.apiContext.setPending(true);
|
|
173
161
|
const process = top.handle(this.globalContext);
|
|
@@ -175,7 +163,12 @@ class Interpreter extends events_1.default {
|
|
|
175
163
|
yield process;
|
|
176
164
|
}
|
|
177
165
|
catch (err) {
|
|
178
|
-
|
|
166
|
+
if (err instanceof error_1.PrepareError) {
|
|
167
|
+
this.handler.errorHandler.raise(err);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
this.handler.errorHandler.raise(new error_1.RuntimeError(err.message, this.apiContext.getLastActive()));
|
|
171
|
+
}
|
|
179
172
|
}
|
|
180
173
|
finally {
|
|
181
174
|
this.apiContext.setPending(false);
|
|
@@ -206,15 +199,15 @@ class Interpreter extends events_1.default {
|
|
|
206
199
|
}
|
|
207
200
|
setGlobalVariable(path, value) {
|
|
208
201
|
if (this.globalContext != null) {
|
|
209
|
-
this.globalContext.set(new string_1.
|
|
202
|
+
this.globalContext.set(new string_1.CustomString(path), value);
|
|
210
203
|
}
|
|
211
204
|
return this;
|
|
212
205
|
}
|
|
213
206
|
getGlobalVariable(path) {
|
|
214
207
|
if (this.globalContext != null) {
|
|
215
|
-
this.globalContext.get(new string_1.
|
|
208
|
+
this.globalContext.get(new string_1.CustomString(path));
|
|
216
209
|
}
|
|
217
|
-
return default_1.
|
|
210
|
+
return default_1.DefaultType.Void;
|
|
218
211
|
}
|
|
219
212
|
}
|
|
220
|
-
exports.
|
|
213
|
+
exports.Interpreter = Interpreter;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ASTAssignmentStatement } from 'greyscript-core';
|
|
2
|
-
import OperationContext from '../context';
|
|
3
|
-
import CustomValue from '../types/base';
|
|
4
|
-
import
|
|
5
|
-
import Resolve from './resolve';
|
|
6
|
-
export
|
|
2
|
+
import { OperationContext } from '../context';
|
|
3
|
+
import { CustomValue } from '../types/base';
|
|
4
|
+
import { CPSVisit, Operation } from './operation';
|
|
5
|
+
import { Resolve } from './resolve';
|
|
6
|
+
export declare class Assign extends Operation {
|
|
7
7
|
readonly item: ASTAssignmentStatement;
|
|
8
8
|
left: Resolve;
|
|
9
9
|
right: Operation;
|
|
@@ -8,21 +8,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
12
|
+
exports.Assign = void 0;
|
|
13
|
+
const default_1 = require("../types/default");
|
|
14
|
+
const operation_1 = require("./operation");
|
|
15
|
+
const resolve_1 = require("./resolve");
|
|
16
|
+
class Assign extends operation_1.Operation {
|
|
19
17
|
constructor(item, target) {
|
|
20
18
|
super(null, target);
|
|
21
19
|
this.item = item;
|
|
22
20
|
}
|
|
23
21
|
build(visit) {
|
|
24
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
this.left = new resolve_1.
|
|
23
|
+
this.left = new resolve_1.Resolve(this.item.variable);
|
|
26
24
|
yield this.left.build(visit);
|
|
27
25
|
this.right = yield visit(this.item.init);
|
|
28
26
|
return this;
|
|
@@ -32,15 +30,15 @@ class Assign extends operation_1.default {
|
|
|
32
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
31
|
const resolveResult = yield this.left.getResult(ctx);
|
|
34
32
|
const rightValue = yield this.right.handle(ctx);
|
|
35
|
-
if (resolveResult.handle !== default_1.
|
|
33
|
+
if (resolveResult.handle !== default_1.DefaultType.Void) {
|
|
36
34
|
const resultValueCtx = resolveResult.handle;
|
|
37
35
|
resultValueCtx.set(resolveResult.path, rightValue);
|
|
38
36
|
}
|
|
39
37
|
else {
|
|
40
38
|
ctx.set(resolveResult.path, rightValue);
|
|
41
39
|
}
|
|
42
|
-
return default_1.
|
|
40
|
+
return default_1.DefaultType.Void;
|
|
43
41
|
});
|
|
44
42
|
}
|
|
45
43
|
}
|
|
46
|
-
exports.
|
|
44
|
+
exports.Assign = Assign;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ASTBase } from 'greyscript-core';
|
|
2
|
-
import OperationContext from '../context';
|
|
3
|
-
import CustomValue from '../types/base';
|
|
4
|
-
import
|
|
2
|
+
import { OperationContext } from '../context';
|
|
3
|
+
import { CustomValue } from '../types/base';
|
|
4
|
+
import { CPSVisit, Operation } from './operation';
|
|
5
5
|
export interface IsEOL {
|
|
6
6
|
(): boolean;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export declare class Block extends Operation {
|
|
9
9
|
readonly stack: Array<Operation>;
|
|
10
10
|
constructor(item: ASTBase, stack: Array<Operation>);
|
|
11
11
|
build(_visit: CPSVisit): Promise<Block>;
|
package/dist/operations/block.js
CHANGED
|
@@ -8,14 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Block = void 0;
|
|
15
13
|
const context_1 = require("../context");
|
|
16
|
-
const default_1 =
|
|
17
|
-
const operation_1 =
|
|
18
|
-
class Block extends operation_1.
|
|
14
|
+
const default_1 = require("../types/default");
|
|
15
|
+
const operation_1 = require("./operation");
|
|
16
|
+
class Block extends operation_1.Operation {
|
|
19
17
|
constructor(item, stack) {
|
|
20
18
|
super(item, 'block');
|
|
21
19
|
this.stack = stack;
|
|
@@ -40,8 +38,8 @@ class Block extends operation_1.default {
|
|
|
40
38
|
yield ctx.step(op);
|
|
41
39
|
yield op.handle(ctx);
|
|
42
40
|
}
|
|
43
|
-
return default_1.
|
|
41
|
+
return default_1.DefaultType.Void;
|
|
44
42
|
});
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
|
-
exports.
|
|
45
|
+
exports.Block = Block;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ASTBase } from 'greyscript-core';
|
|
2
|
-
import OperationContext from '../context';
|
|
3
|
-
import CustomValue from '../types/base';
|
|
4
|
-
import
|
|
5
|
-
export
|
|
2
|
+
import { OperationContext } from '../context';
|
|
3
|
+
import { CustomValue } from '../types/base';
|
|
4
|
+
import { CPSVisit, Operation } from './operation';
|
|
5
|
+
export declare class Break extends Operation {
|
|
6
6
|
readonly item: ASTBase;
|
|
7
7
|
constructor(item: ASTBase, target?: string);
|
|
8
8
|
build(_visit: CPSVisit): Promise<Break>;
|
package/dist/operations/break.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
3
|
+
exports.Break = void 0;
|
|
4
|
+
const default_1 = require("../types/default");
|
|
5
|
+
const operation_1 = require("./operation");
|
|
6
|
+
class Break extends operation_1.Operation {
|
|
9
7
|
constructor(item, target) {
|
|
10
8
|
super(null, target);
|
|
11
9
|
this.item = item;
|
|
@@ -17,7 +15,7 @@ class Break extends operation_1.default {
|
|
|
17
15
|
if (ctx.loopState !== null) {
|
|
18
16
|
ctx.loopState.isBreak = true;
|
|
19
17
|
}
|
|
20
|
-
return Promise.resolve(default_1.
|
|
18
|
+
return Promise.resolve(default_1.DefaultType.Void);
|
|
21
19
|
}
|
|
22
20
|
}
|
|
23
|
-
exports.
|
|
21
|
+
exports.Break = Break;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ASTCallExpression } from 'greyscript-core';
|
|
2
|
-
import OperationContext from '../context';
|
|
3
|
-
import CustomValue from '../types/base';
|
|
4
|
-
import
|
|
5
|
-
import Resolve from './resolve';
|
|
6
|
-
export
|
|
2
|
+
import { OperationContext } from '../context';
|
|
3
|
+
import { CustomValue } from '../types/base';
|
|
4
|
+
import { CPSVisit, Operation } from './operation';
|
|
5
|
+
import { Resolve } from './resolve';
|
|
6
|
+
export declare class Call extends Operation {
|
|
7
7
|
readonly item: ASTCallExpression;
|
|
8
8
|
fnRef: Resolve;
|
|
9
9
|
args: Array<Operation>;
|
package/dist/operations/call.js
CHANGED
|
@@ -8,23 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
12
|
+
exports.Call = void 0;
|
|
13
|
+
const default_1 = require("../types/default");
|
|
14
|
+
const function_1 = require("../types/function");
|
|
15
|
+
const map_1 = require("../types/map");
|
|
16
|
+
const operation_1 = require("./operation");
|
|
17
|
+
const resolve_1 = require("./resolve");
|
|
18
|
+
class Call extends operation_1.Operation {
|
|
21
19
|
constructor(item, target) {
|
|
22
20
|
super(null, target);
|
|
23
21
|
this.item = item;
|
|
24
22
|
}
|
|
25
23
|
build(visit) {
|
|
26
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
this.fnRef = new resolve_1.
|
|
25
|
+
this.fnRef = new resolve_1.Resolve(this.item.base);
|
|
28
26
|
yield this.fnRef.build(visit);
|
|
29
27
|
const args = this.item.arguments.map((arg) => visit(arg));
|
|
30
28
|
this.args = yield Promise.all(args);
|
|
@@ -39,17 +37,17 @@ class Call extends operation_1.default {
|
|
|
39
37
|
for (let index = 0; index < this.args.length; index++) {
|
|
40
38
|
fnArgs.push(yield this.args[index].handle(ctx));
|
|
41
39
|
}
|
|
42
|
-
if (valueRef instanceof function_1.
|
|
40
|
+
if (valueRef instanceof function_1.CustomFunction) {
|
|
43
41
|
const func = valueRef;
|
|
44
42
|
if (this.fnRef.path.isSuper() &&
|
|
45
43
|
ctx.functionState.context &&
|
|
46
|
-
resolveResult.handle instanceof map_1.
|
|
44
|
+
resolveResult.handle instanceof map_1.CustomMap) {
|
|
47
45
|
return func.run(ctx.functionState.context, fnArgs, ctx, resolveResult.handle.isa);
|
|
48
46
|
}
|
|
49
47
|
return func.run(resolveResult.handle, fnArgs, ctx);
|
|
50
48
|
}
|
|
51
|
-
return default_1.
|
|
49
|
+
return default_1.DefaultType.Void;
|
|
52
50
|
});
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
|
-
exports.
|
|
53
|
+
exports.Call = Call;
|