greybel-interpreter 3.0.1 → 3.0.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/cps.d.ts CHANGED
@@ -6,9 +6,11 @@ export declare class CPSContext {
6
6
  readonly handler: HandlerContainer;
7
7
  constructor(target: string, handler: HandlerContainer);
8
8
  }
9
+ export type CPSVisitCallback = (cpsVisit: CPSVisitCallback, context: CPSContext, stack: string[], item: ASTBase) => Promise<Operation>;
10
+ export declare const defaultCPSVisit: CPSVisitCallback;
9
11
  export declare class CPS {
10
12
  private readonly context;
11
13
  private __visit;
12
- constructor(context: CPSContext);
14
+ constructor(context: CPSContext, cpsVisit?: CPSVisitCallback);
13
15
  visit(item: ASTBase): Promise<Operation>;
14
16
  }
package/dist/cps.js CHANGED
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CPS = exports.CPSContext = void 0;
12
+ exports.CPS = exports.defaultCPSVisit = exports.CPSContext = void 0;
13
13
  const greybel_core_1 = require("greybel-core");
14
14
  const miniscript_core_1 = require("miniscript-core");
15
15
  const assign_1 = require("./operations/assign");
@@ -44,9 +44,9 @@ class CPSContext {
44
44
  }
45
45
  }
46
46
  exports.CPSContext = CPSContext;
47
- const visit = (context, stack, item) => __awaiter(void 0, void 0, void 0, function* () {
47
+ const defaultCPSVisit = (cpsVisit, context, stack, item) => __awaiter(void 0, void 0, void 0, function* () {
48
48
  const currentTarget = stack[stack.length - 1];
49
- const defaultVisit = visit.bind(null, context, stack);
49
+ const defaultVisit = cpsVisit.bind(null, cpsVisit, context, stack);
50
50
  switch (item.type) {
51
51
  case miniscript_core_1.ASTType.MapConstructorExpression:
52
52
  return new map_1.MapOperation(item, currentTarget).build(defaultVisit);
@@ -96,7 +96,7 @@ const visit = (context, stack, item) => __awaiter(void 0, void 0, void 0, functi
96
96
  });
97
97
  }
98
98
  try {
99
- const subVisit = visit.bind(null, context, [...stack, target]);
99
+ const subVisit = cpsVisit.bind(null, cpsVisit, context, [...stack, target]);
100
100
  const importStatement = yield new import_1.Import(importExpr, currentTarget, target, code).build(subVisit);
101
101
  return importStatement;
102
102
  }
@@ -126,7 +126,7 @@ const visit = (context, stack, item) => __awaiter(void 0, void 0, void 0, functi
126
126
  });
127
127
  }
128
128
  try {
129
- const subVisit = visit.bind(null, context, [...stack, target]);
129
+ const subVisit = cpsVisit.bind(null, cpsVisit, context, [...stack, target]);
130
130
  const importStatement = yield new include_1.Include(includeExpr, currentTarget, target, code).build(subVisit);
131
131
  return importStatement;
132
132
  }
@@ -188,10 +188,11 @@ const visit = (context, stack, item) => __awaiter(void 0, void 0, void 0, functi
188
188
  }
189
189
  }
190
190
  });
191
+ exports.defaultCPSVisit = defaultCPSVisit;
191
192
  class CPS {
192
- constructor(context) {
193
+ constructor(context, cpsVisit = exports.defaultCPSVisit) {
193
194
  this.context = context;
194
- this.__visit = visit.bind(null, context, [context.target]);
195
+ this.__visit = cpsVisit.bind(null, cpsVisit, context, [context.target]);
195
196
  }
196
197
  visit(item) {
197
198
  return this.__visit(item);
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ContextForkOptions, ContextOptions, ContextState, ContextType, Debugger, FunctionState, LoopState, OperationContext, ProcessState, Scope } from './context';
2
- export { CPS, CPSContext } from './cps';
2
+ export { CPS, CPSContext, CPSVisitCallback, defaultCPSVisit } from './cps';
3
3
  export { DefaultErrorHandler, ErrorHandler } from './handler/error';
4
4
  export { DefaultOutputHandler, KeyEvent, OutputHandler, PrintOptions } from './handler/output';
5
5
  export { DefaultResourceHandler, ResourceHandler } from './handler/resource';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Operation = 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.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.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 = 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.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.defaultCPSVisit = 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.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;
5
5
  var context_1 = require("./context");
6
6
  Object.defineProperty(exports, "ContextState", { enumerable: true, get: function () { return context_1.ContextState; } });
7
7
  Object.defineProperty(exports, "ContextType", { enumerable: true, get: function () { return context_1.ContextType; } });
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { r
14
14
  var cps_1 = require("./cps");
15
15
  Object.defineProperty(exports, "CPS", { enumerable: true, get: function () { return cps_1.CPS; } });
16
16
  Object.defineProperty(exports, "CPSContext", { enumerable: true, get: function () { return cps_1.CPSContext; } });
17
+ Object.defineProperty(exports, "defaultCPSVisit", { enumerable: true, get: function () { return cps_1.defaultCPSVisit; } });
17
18
  var error_1 = require("./handler/error");
18
19
  Object.defineProperty(exports, "DefaultErrorHandler", { enumerable: true, get: function () { return error_1.DefaultErrorHandler; } });
19
20
  Object.defineProperty(exports, "ErrorHandler", { enumerable: true, get: function () { return error_1.ErrorHandler; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greybel-interpreter",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "Interpreter",
5
5
  "main": "dist/index",
6
6
  "typings": "dist/index",