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.
Files changed (97) hide show
  1. package/dist/context.d.ts +9 -9
  2. package/dist/context.js +19 -22
  3. package/dist/cps.d.ts +3 -3
  4. package/dist/cps.js +110 -71
  5. package/dist/handler/output.d.ts +4 -4
  6. package/dist/handler/output.js +2 -2
  7. package/dist/handler-container.d.ts +1 -1
  8. package/dist/handler-container.js +2 -1
  9. package/dist/index.d.ts +43 -42
  10. package/dist/index.js +47 -47
  11. package/dist/interpreter.d.ts +9 -9
  12. package/dist/interpreter.js +55 -62
  13. package/dist/operations/assign.d.ts +5 -5
  14. package/dist/operations/assign.js +9 -11
  15. package/dist/operations/block.d.ts +4 -4
  16. package/dist/operations/block.js +6 -8
  17. package/dist/operations/break.d.ts +4 -4
  18. package/dist/operations/break.js +6 -8
  19. package/dist/operations/call.d.ts +5 -5
  20. package/dist/operations/call.js +12 -14
  21. package/dist/operations/chunk.d.ts +6 -6
  22. package/dist/operations/chunk.js +8 -10
  23. package/dist/operations/continue.d.ts +4 -4
  24. package/dist/operations/continue.js +6 -8
  25. package/dist/operations/debugger-statement.d.ts +5 -5
  26. package/dist/operations/debugger-statement.js +6 -8
  27. package/dist/operations/envar.d.ts +5 -5
  28. package/dist/operations/envar.js +6 -8
  29. package/dist/operations/evaluate.d.ts +6 -5
  30. package/dist/operations/evaluate.js +109 -112
  31. package/dist/operations/for.d.ts +6 -6
  32. package/dist/operations/for.js +15 -17
  33. package/dist/operations/function-reference.d.ts +5 -5
  34. package/dist/operations/function-reference.js +8 -10
  35. package/dist/operations/function.d.ts +5 -5
  36. package/dist/operations/function.js +17 -20
  37. package/dist/operations/if-statement.d.ts +6 -6
  38. package/dist/operations/if-statement.js +12 -15
  39. package/dist/operations/import.d.ts +7 -7
  40. package/dist/operations/import.js +15 -18
  41. package/dist/operations/include.d.ts +5 -5
  42. package/dist/operations/include.js +4 -6
  43. package/dist/operations/list.d.ts +5 -5
  44. package/dist/operations/list.js +6 -8
  45. package/dist/operations/literal.d.ts +5 -5
  46. package/dist/operations/literal.js +12 -14
  47. package/dist/operations/map.d.ts +5 -5
  48. package/dist/operations/map.js +8 -10
  49. package/dist/operations/negated-binary.d.ts +5 -5
  50. package/dist/operations/negated-binary.js +7 -9
  51. package/dist/operations/new-instance.d.ts +5 -5
  52. package/dist/operations/new-instance.js +8 -10
  53. package/dist/operations/noop.d.ts +5 -5
  54. package/dist/operations/noop.js +6 -8
  55. package/dist/operations/not.d.ts +5 -5
  56. package/dist/operations/not.js +6 -8
  57. package/dist/operations/operation.d.ts +3 -3
  58. package/dist/operations/operation.js +2 -1
  59. package/dist/operations/reference.d.ts +4 -4
  60. package/dist/operations/reference.js +4 -6
  61. package/dist/operations/resolve.d.ts +6 -6
  62. package/dist/operations/resolve.js +27 -30
  63. package/dist/operations/return.d.ts +5 -5
  64. package/dist/operations/return.js +8 -10
  65. package/dist/operations/while.d.ts +6 -6
  66. package/dist/operations/while.js +9 -11
  67. package/dist/types/base.d.ts +1 -1
  68. package/dist/types/base.js +2 -1
  69. package/dist/types/boolean.d.ts +2 -2
  70. package/dist/types/boolean.js +4 -7
  71. package/dist/types/default.d.ts +7 -7
  72. package/dist/types/default.js +9 -8
  73. package/dist/types/function.d.ts +5 -5
  74. package/dist/types/function.js +27 -30
  75. package/dist/types/interface.d.ts +4 -4
  76. package/dist/types/interface.js +10 -13
  77. package/dist/types/list.d.ts +4 -4
  78. package/dist/types/list.js +21 -24
  79. package/dist/types/map.d.ts +5 -5
  80. package/dist/types/map.js +26 -29
  81. package/dist/types/nil.d.ts +2 -2
  82. package/dist/types/nil.js +4 -7
  83. package/dist/types/number.d.ts +4 -4
  84. package/dist/types/number.js +8 -11
  85. package/dist/types/string.d.ts +4 -4
  86. package/dist/types/string.js +19 -22
  87. package/dist/types/with-intrinsics.d.ts +4 -4
  88. package/dist/types/with-intrinsics.js +2 -5
  89. package/dist/utils/deep-equal.d.ts +1 -1
  90. package/dist/utils/deep-equal.js +4 -3
  91. package/dist/utils/error.d.ts +23 -0
  92. package/dist/utils/error.js +29 -0
  93. package/dist/utils/object-value.d.ts +2 -2
  94. package/dist/utils/object-value.js +6 -8
  95. package/dist/utils/path.d.ts +1 -1
  96. package/dist/utils/path.js +2 -1
  97. 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.FunctionOpertion = 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;
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 __importDefault(context_1).default; } });
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 __importDefault(cps_1).default; } });
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 __importDefault(handler_container_1).default; } });
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 __importDefault(interpreter_1).default; } });
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 __importDefault(assign_1).default; } });
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 __importDefault(block_1).default; } });
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 __importDefault(break_1).default; } });
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 __importDefault(call_1).default; } });
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 __importDefault(chunk_1).default; } });
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 __importDefault(continue_1).default; } });
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 __importDefault(debugger_statement_1).default; } });
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 __importDefault(evaluate_1).default; } });
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 __importDefault(for_1).default; } });
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, "FunctionOpertion", { enumerable: true, get: function () { return __importDefault(function_1).default; } });
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 __importDefault(if_statement_1).default; } });
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 __importDefault(import_1).default; } });
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 __importDefault(include_1).default; } });
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 __importDefault(list_1).default; } });
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 __importDefault(literal_1).default; } });
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 __importDefault(map_1).default; } });
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 __importDefault(negated_binary_1).default; } });
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 __importDefault(new_instance_1).default; } });
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 __importDefault(noop_1).default; } });
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 __importDefault(not_1).default; } });
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 __importDefault(operation_1).default; } });
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 __importDefault(reference_1).default; } });
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 __importDefault(resolve_1).default; } });
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 __importDefault(return_1).default; } });
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 __importDefault(while_1).default; } });
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 __importDefault(base_1).default; } });
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 __importDefault(boolean_1).default; } });
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 __importDefault(default_1).default; } });
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 __importDefault(function_2).default; } });
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 __importDefault(interface_1).default; } });
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 __importDefault(list_2).default; } });
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 __importDefault(map_2).default; } });
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 __importDefault(nil_1).default; } });
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 __importDefault(number_1).default; } });
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 __importDefault(string_1).default; } });
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 __importDefault(deep_equal_1).default; } });
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 __importDefault(object_value_1).default; } });
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 __importDefault(path_1).default; } });
132
+ Object.defineProperty(exports, "Path", { enumerable: true, get: function () { return path_1.Path; } });
@@ -1,12 +1,12 @@
1
1
  /// <reference types="node" />
2
- import EventEmitter from 'events';
3
- import OperationContext, { Debugger } 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';
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 default class Interpreter extends EventEmitter {
19
+ export declare class Interpreter extends EventEmitter {
20
20
  target: string;
21
21
  api: ObjectValue;
22
22
  params: Array<string>;
@@ -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 = __importDefault(require("events"));
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 = __importStar(require("./context"));
42
- const cps_1 = __importStar(require("./cps"));
43
- const handler_container_1 = __importDefault(require("./handler-container"));
44
- const noop_1 = __importDefault(require("./operations/noop"));
45
- const default_1 = __importDefault(require("./types/default"));
46
- const list_1 = __importDefault(require("./types/list"));
47
- const map_1 = __importDefault(require("./types/map"));
48
- const number_1 = __importDefault(require("./types/number"));
49
- const string_1 = __importDefault(require("./types/string"));
50
- const object_value_1 = __importDefault(require("./utils/object-value"));
51
- exports.PARAMS_PROPERTY = new string_1.default('params');
52
- class Interpreter extends events_1.default {
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.default();
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.default();
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.default(cpsCtx);
71
- this.apiContext = new context_1.default({
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
- this.handler.errorHandler.raise(err);
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.default(null));
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
- this.handler.errorHandler.raise(err);
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.default.createWithInitialValue(string_1.default.intrinsics);
160
- const numberIntrinsics = map_1.default.createWithInitialValue(number_1.default.intrinsics);
161
- const listIntrinsics = map_1.default.createWithInitialValue(list_1.default.intrinsics);
162
- const mapIntrinsics = map_1.default.createWithInitialValue(map_1.default.intrinsics);
163
- this.apiContext.set(new string_1.default('string'), stringIntrinsics);
164
- this.apiContext.set(new string_1.default('number'), numberIntrinsics);
165
- this.apiContext.set(new string_1.default('list'), listIntrinsics);
166
- this.apiContext.set(new string_1.default('map'), mapIntrinsics);
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.default(this.params.map((item) => new string_1.default(item)));
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.default('globals'), this.globalContext.scope);
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
- this.handler.errorHandler.raise(err);
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.default(path), value);
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.default(path));
208
+ this.globalContext.get(new string_1.CustomString(path));
216
209
  }
217
- return default_1.default.Void;
210
+ return default_1.DefaultType.Void;
218
211
  }
219
212
  }
220
- exports.default = Interpreter;
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 Operation, { CPSVisit } from './operation';
5
- import Resolve from './resolve';
6
- export default class Assign extends Operation {
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
- const default_1 = __importDefault(require("../types/default"));
16
- const operation_1 = __importDefault(require("./operation"));
17
- const resolve_1 = __importDefault(require("./resolve"));
18
- class Assign extends operation_1.default {
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.default(this.item.variable);
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.default.Void) {
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.default.Void;
40
+ return default_1.DefaultType.Void;
43
41
  });
44
42
  }
45
43
  }
46
- exports.default = Assign;
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 Operation, { CPSVisit } from './operation';
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 default class Block extends Operation {
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>;
@@ -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 = __importDefault(require("../types/default"));
17
- const operation_1 = __importDefault(require("./operation"));
18
- class Block extends operation_1.default {
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.default.Void;
41
+ return default_1.DefaultType.Void;
44
42
  });
45
43
  }
46
44
  }
47
- exports.default = Block;
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 Operation, { CPSVisit } from './operation';
5
- export default class Break extends Operation {
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>;
@@ -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
- const default_1 = __importDefault(require("../types/default"));
7
- const operation_1 = __importDefault(require("./operation"));
8
- class Break extends operation_1.default {
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.default.Void);
18
+ return Promise.resolve(default_1.DefaultType.Void);
21
19
  }
22
20
  }
23
- exports.default = Break;
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 Operation, { CPSVisit } from './operation';
5
- import Resolve from './resolve';
6
- export default class Call extends Operation {
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>;
@@ -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
- const default_1 = __importDefault(require("../types/default"));
16
- const function_1 = __importDefault(require("../types/function"));
17
- const map_1 = __importDefault(require("../types/map"));
18
- const operation_1 = __importDefault(require("./operation"));
19
- const resolve_1 = __importDefault(require("./resolve"));
20
- class Call extends operation_1.default {
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.default(this.item.base);
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.default) {
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.default) {
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.default.Void;
49
+ return default_1.DefaultType.Void;
52
50
  });
53
51
  }
54
52
  }
55
- exports.default = Call;
53
+ exports.Call = Call;