@almadar/evaluator 2.28.0 → 2.30.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.js CHANGED
@@ -3709,6 +3709,7 @@ function evalPathReachable(args, evaluate2, ctx) {
3709
3709
  // SExpressionEvaluator.ts
3710
3710
  var jitCache = /* @__PURE__ */ new Map();
3711
3711
  var MAX_JIT_CACHE_SIZE = 1e3;
3712
+ var UNKNOWN_OPERATOR = /* @__PURE__ */ Symbol("unknown-operator");
3712
3713
  var SExpressionEvaluator = class {
3713
3714
  /**
3714
3715
  * Evaluate an S-expression in the given context.
@@ -3729,11 +3730,18 @@ var SExpressionEvaluator = class {
3729
3730
  }
3730
3731
  return out;
3731
3732
  }
3733
+ if (Array.isArray(expr)) {
3734
+ return expr.map((item) => this.evaluate(item, ctx));
3735
+ }
3732
3736
  return expr;
3733
3737
  }
3734
3738
  const op = getOperator(expr);
3735
3739
  const args = getArgs(expr);
3736
- return this.dispatchOperator(op, args, ctx);
3740
+ const result = this.dispatchOperator(op, args, ctx);
3741
+ if (result === UNKNOWN_OPERATOR) {
3742
+ return expr.map((item) => this.evaluate(item, ctx));
3743
+ }
3744
+ return result;
3737
3745
  }
3738
3746
  isPlainObject(value) {
3739
3747
  return typeof value === "object" && value !== null && !Array.isArray(value) && !(value instanceof Date) && Object.getPrototypeOf(value) === Object.prototype;
@@ -4581,8 +4589,7 @@ var SExpressionEvaluator = class {
4581
4589
  case "integration/github-create-issue":
4582
4590
  return evalIntegrationGithubCreateIssue(args, evaluate2, ctx);
4583
4591
  default:
4584
- console.warn(`Unknown operator: ${op}`);
4585
- return void 0;
4592
+ return UNKNOWN_OPERATOR;
4586
4593
  }
4587
4594
  }
4588
4595
  };