@poe-platform/safe-js 0.1.223 → 0.1.224

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.
@@ -8581,7 +8581,11 @@ function captureGuestHeapNode(value, encode) {
8581
8581
  ...value.state !== "suspended" || origin2.expressionStates === void 0 ? {} : {
8582
8582
  expressionStates: Object.fromEntries([...origin2.expressionStates].map(([id, expression]) => [
8583
8583
  String(id),
8584
- expression.kind === "binary" ? { kind: "binary", left: encode(expression.left) } : expression.kind === "template" ? { ...expression } : expression.kind === "object" ? {
8584
+ expression.kind === "binary" ? { kind: "binary", left: encode(expression.left) } : expression.kind === "member" ? {
8585
+ kind: "member",
8586
+ object: encode(expression.object),
8587
+ ...Object.hasOwn(expression, "superReceiver") ? { superReceiver: encode(expression.superReceiver) } : {}
8588
+ } : expression.kind === "template" ? { ...expression } : expression.kind === "object" ? {
8585
8589
  kind: "object",
8586
8590
  value: encode(expression.value),
8587
8591
  index: expression.index,
@@ -18228,13 +18232,24 @@ function attachFatalSandboxErrorContext(error, node, stackFrames) {
18228
18232
  replaceErrorStack(error, stackFrames);
18229
18233
  }
18230
18234
  async function evaluateMemberAccess(node, context, consume) {
18231
- const superReceiver = node.object.type === "Super" ? { value: context.scope.lookup("this") } : void 0;
18232
- const object = await evaluateNode(node.object, context);
18235
+ const restored = context.generatorResume === void 0 || node.nodeId === void 0 ? void 0 : context.restoredGeneratorExpressionStates?.get(node.nodeId);
18236
+ if (restored !== void 0 && restored.kind !== "member") throw new TypeError("Invalid member continuation.");
18237
+ const thisBinding = node.object.type === "Super" ? context.scope.lookup("this") : void 0;
18238
+ const superReceiver = restored?.kind === "member" && Object.hasOwn(restored, "superReceiver") ? { value: restored.superReceiver } : thisBinding === void 0 ? void 0 : { value: thisBinding.found ? thisBinding.value : void 0 };
18239
+ const object = restored?.kind === "member" ? { kind: "normal", value: restored.object } : await evaluateNode(node.object, context);
18233
18240
  if (object.kind !== "normal") return object;
18234
18241
  if ((object.value === null || object.value === void 0) && node.optional) {
18235
18242
  return consume({ kind: "nullish" });
18236
18243
  }
18237
18244
  let property;
18245
+ if (node.computed && context.generatorYield !== void 0 && node.nodeId !== void 0) {
18246
+ const state = {
18247
+ kind: "member",
18248
+ object: object.value,
18249
+ ...superReceiver === void 0 ? {} : { superReceiver: superReceiver.value }
18250
+ };
18251
+ context = { ...context, generatorExpressionStates: new Map([...context.generatorExpressionStates ?? [], [node.nodeId, state]]) };
18252
+ }
18238
18253
  const release = retainValues(context.budget, () => [object.value, property]);
18239
18254
  try {
18240
18255
  const result = node.computed ? await evaluateNode(node.property, context) : { kind: "normal", value: getStaticPropertyName2(node.property) };
@@ -18244,7 +18259,7 @@ async function evaluateMemberAccess(node, context, consume) {
18244
18259
  kind: "resolved",
18245
18260
  object: object.value,
18246
18261
  property,
18247
- ...superReceiver === void 0 ? {} : { superReceiver: { value: superReceiver.value.found ? superReceiver.value.value : void 0 } }
18262
+ ...superReceiver === void 0 ? {} : { superReceiver }
18248
18263
  });
18249
18264
  } finally {
18250
18265
  release();
@@ -22430,6 +22445,8 @@ function validateGuestHeapNode(raw, heap, maxArrayLength = 4294967295) {
22430
22445
  const expression = record2(raw2);
22431
22446
  if (expression.kind === "binary") {
22432
22447
  fields(expression, ["kind", "left"]);
22448
+ } else if (expression.kind === "member") {
22449
+ fields(expression, ["kind", "object"], ["superReceiver"]);
22433
22450
  } else if (expression.kind === "template") {
22434
22451
  fields(expression, ["kind", "prefix", "index"]);
22435
22452
  integer(expression.index);
@@ -22605,7 +22622,7 @@ function validateGuestFunctionAst(record3, origin) {
22605
22622
  pending.push({
22606
22623
  value,
22607
22624
  blocks,
22608
- expressions: node.type === "BinaryExpression" && key === "right" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "binary" }]]) : frame.expressions,
22625
+ expressions: node.type === "BinaryExpression" && key === "right" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "binary" }]]) : node.type === "MemberExpression" && node.computed === true && key === "property" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "member", superReceiver: node.object.type === "Super" }]]) : frame.expressions,
22609
22626
  finalizers: node.type === "TryStatement" && key === "finalizer" && typeof node.nodeId === "number" ? /* @__PURE__ */ new Set([...frame.finalizers, node.nodeId]) : frame.finalizers
22610
22627
  });
22611
22628
  }
@@ -22631,7 +22648,7 @@ function validateGuestFunctionAst(record3, origin) {
22631
22648
  for (const [id, expression] of expressions) {
22632
22649
  const expected = yieldExpressions?.get(Number(id));
22633
22650
  const compatibleKind = expected?.kind === expression.kind || expected?.kind === "call" && expected.member === true && expression.kind === "array-call";
22634
- if (expected === void 0 || !compatibleKind || expected.kind !== "binary" && expected.index !== expression.index || expected.kind === "object" && expected.key !== Object.hasOwn(expression, "key"))
22651
+ if (expected === void 0 || !compatibleKind || expected.kind !== "binary" && expected.kind !== "member" && expected.index !== expression.index || expected.kind === "member" && expected.superReceiver !== Object.hasOwn(expression, "superReceiver") || expected.kind === "object" && expected.key !== Object.hasOwn(expression, "key"))
22635
22652
  throw new TypeError("Invalid generator AST identity: unrelated expression continuation");
22636
22653
  }
22637
22654
  }
@@ -38877,4 +38894,4 @@ export {
38877
38894
  FileSnapshotBackend,
38878
38895
  run
38879
38896
  };
38880
- //# sourceMappingURL=chunk-PEHO3DVD.js.map
38897
+ //# sourceMappingURL=chunk-DQY3GFKQ.js.map