greybel-interpreter 1.3.8 → 1.4.0

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/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export { default as Call } from './operations/call';
13
13
  export { default as Chunk } from './operations/chunk';
14
14
  export { default as Continue } from './operations/continue';
15
15
  export { default as DebuggerStatement } from './operations/debugger-statement';
16
- export { default as Evaluate, GenericProcessorHandler, handle, handleBoolean, handleList, handleMap, handleNumber, handleString, ListProcessorHandler, MapProcessorHandler, NumberProcessorHandler, ProcessorHandler, ProcessorHandlerFunction, StringProcessorHandler } from './operations/evaluate';
16
+ export { default as Evaluate, GenericProcessorHandler, handle, handleList, handleMap, handleNumber, handleString, handleInterface, ListProcessorHandler, MapProcessorHandler, NumberProcessorHandler, ProcessorHandler, ProcessorHandlerFunction, StringProcessorHandler } from './operations/evaluate';
17
17
  export { default as For } from './operations/for';
18
18
  export { default as FunctionOpertion } from './operations/function';
19
19
  export { Clause, default as IfStatement } from './operations/if-statement';
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- 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.handleBoolean = exports.handle = exports.GenericProcessorHandler = exports.Evaluate = exports.DebuggerStatement = exports.Continue = exports.Chunk = exports.Call = exports.Break = exports.Block = exports.Assign = exports.IntrinsicsContainer = 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;
6
+ 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.handleInterface = exports.handleString = exports.handleNumber = exports.handleMap = exports.handleList = exports.handle = exports.GenericProcessorHandler = exports.Evaluate = exports.DebuggerStatement = exports.Continue = exports.Chunk = exports.Call = exports.Break = exports.Block = exports.Assign = exports.IntrinsicsContainer = 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
7
  exports.Path = exports.deepEqual = exports.CustomStringIterator = exports.CustomString = exports.CustomNumber = exports.CustomNil = exports.CustomMapIterator = exports.CustomMap = exports.CustomListIterator = exports.CustomList = exports.CustomInterfaceIterator = exports.CustomInterface = exports.CustomValueWithIntrinsics = exports.CustomValue = exports.CustomObject = exports.CustomFunction = exports.Argument = exports.Defaults = exports.CustomBoolean = exports.While = exports.Return = exports.ResolveResult = exports.Resolve = exports.OperationSegment = exports.IndexSegment = exports.IdentifierSegment = exports.Reference = exports.Operation = exports.Not = void 0;
8
8
  var context_1 = require("./context");
9
9
  Object.defineProperty(exports, "ContextState", { enumerable: true, get: function () { return context_1.ContextState; } });
@@ -50,11 +50,11 @@ var evaluate_1 = require("./operations/evaluate");
50
50
  Object.defineProperty(exports, "Evaluate", { enumerable: true, get: function () { return __importDefault(evaluate_1).default; } });
51
51
  Object.defineProperty(exports, "GenericProcessorHandler", { enumerable: true, get: function () { return evaluate_1.GenericProcessorHandler; } });
52
52
  Object.defineProperty(exports, "handle", { enumerable: true, get: function () { return evaluate_1.handle; } });
53
- Object.defineProperty(exports, "handleBoolean", { enumerable: true, get: function () { return evaluate_1.handleBoolean; } });
54
53
  Object.defineProperty(exports, "handleList", { enumerable: true, get: function () { return evaluate_1.handleList; } });
55
54
  Object.defineProperty(exports, "handleMap", { enumerable: true, get: function () { return evaluate_1.handleMap; } });
56
55
  Object.defineProperty(exports, "handleNumber", { enumerable: true, get: function () { return evaluate_1.handleNumber; } });
57
56
  Object.defineProperty(exports, "handleString", { enumerable: true, get: function () { return evaluate_1.handleString; } });
57
+ Object.defineProperty(exports, "handleInterface", { enumerable: true, get: function () { return evaluate_1.handleInterface; } });
58
58
  Object.defineProperty(exports, "ListProcessorHandler", { enumerable: true, get: function () { return evaluate_1.ListProcessorHandler; } });
59
59
  Object.defineProperty(exports, "MapProcessorHandler", { enumerable: true, get: function () { return evaluate_1.MapProcessorHandler; } });
60
60
  Object.defineProperty(exports, "NumberProcessorHandler", { enumerable: true, get: function () { return evaluate_1.NumberProcessorHandler; } });
@@ -19,7 +19,6 @@ export declare const NilProcessorHandler: ProcessorHandler;
19
19
  export declare const FunctionProcessorHandler: ProcessorHandler;
20
20
  export declare const handleNumber: ProcessorHandlerFunction;
21
21
  export declare const handleString: ProcessorHandlerFunction;
22
- export declare const handleBoolean: ProcessorHandlerFunction;
23
22
  export declare const handleList: ProcessorHandlerFunction;
24
23
  export declare const handleMap: ProcessorHandlerFunction;
25
24
  export declare const handleInterface: ProcessorHandlerFunction;
@@ -55,7 +55,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
55
55
  };
56
56
  var _b, _c, _d, _e, _f, _g, _h, _j;
57
57
  Object.defineProperty(exports, "__esModule", { value: true });
58
- exports.handle = exports.handleFunction = exports.handleNil = exports.handleInterface = exports.handleMap = exports.handleList = exports.handleBoolean = exports.handleString = exports.handleNumber = exports.FunctionProcessorHandler = exports.NilProcessorHandler = exports.InterfaceProcessorHandler = exports.MapProcessorHandler = exports.ListProcessorHandler = exports.StringProcessorHandler = exports.multiplyString = exports.NumberProcessorHandler = exports.GenericProcessorHandler = void 0;
58
+ exports.handle = exports.handleFunction = exports.handleNil = exports.handleInterface = exports.handleMap = exports.handleList = exports.handleString = exports.handleNumber = exports.FunctionProcessorHandler = exports.NilProcessorHandler = exports.InterfaceProcessorHandler = exports.MapProcessorHandler = exports.ListProcessorHandler = exports.StringProcessorHandler = exports.multiplyString = exports.NumberProcessorHandler = exports.GenericProcessorHandler = void 0;
59
59
  var greyscript_core_1 = require("greyscript-core");
60
60
  var boolean_1 = __importDefault(require("../types/boolean"));
61
61
  var default_1 = __importDefault(require("../types/default"));
@@ -252,10 +252,6 @@ var handleString = function (op, a, b) {
252
252
  return default_1.default.Void;
253
253
  };
254
254
  exports.handleString = handleString;
255
- var handleBoolean = function (op, a, b) {
256
- return (0, exports.handleNumber)(op, a, b);
257
- };
258
- exports.handleBoolean = handleBoolean;
259
255
  var handleList = function (op, a, b) {
260
256
  var left = a;
261
257
  var right = b;
@@ -313,15 +309,24 @@ var handleFunction = function (op, a, b) {
313
309
  };
314
310
  exports.handleFunction = handleFunction;
315
311
  var handle = function (op, a, b) {
312
+ if (a instanceof boolean_1.default) {
313
+ a = new number_1.default(a.toInt());
314
+ }
315
+ if (b instanceof boolean_1.default) {
316
+ b = new number_1.default(b.toInt());
317
+ }
318
+ if (op === greyscript_core_1.Operator.Equal && a.getCustomType() !== b.getCustomType()) {
319
+ return default_1.default.False;
320
+ }
321
+ else if (op === greyscript_core_1.Operator.NotEqual && a.getCustomType() !== b.getCustomType()) {
322
+ return default_1.default.True;
323
+ }
316
324
  if (a instanceof string_1.default || b instanceof string_1.default) {
317
325
  return (0, exports.handleString)(op, a, b);
318
326
  }
319
327
  else if (a instanceof number_1.default || b instanceof number_1.default) {
320
328
  return (0, exports.handleNumber)(op, a, b);
321
329
  }
322
- else if (a instanceof boolean_1.default || b instanceof boolean_1.default) {
323
- return (0, exports.handleBoolean)(op, a, b);
324
- }
325
330
  else if (a instanceof list_1.default) {
326
331
  return (0, exports.handleList)(op, a, b);
327
332
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greybel-interpreter",
3
- "version": "1.3.8",
3
+ "version": "1.4.0",
4
4
  "description": "Interpreter",
5
5
  "main": "dist/index",
6
6
  "typings": "dist/index",