@poe-platform/safe-js 0.1.293 → 0.1.294

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.
@@ -7945,16 +7945,19 @@ function trackIntrinsicState(budget, root, owner, targets) {
7945
7945
  return getSandboxPrototype(target) === parent && Object.isExtensible(value) === extensible && hasExplicitSandboxPrototype(target) === explicit && Reflect.ownKeys(current).length === descriptors2.size && Reflect.ownKeys(value).every((key) => unchanged(descriptors2.get(key), Object.getOwnPropertyDescriptor(value, key)));
7946
7946
  })
7947
7947
  );
7948
- budget.setRetainedValues(
7949
- root,
7950
- () => records.flatMap(({ target, value, descriptors: descriptors2, prototype: parent }) => [
7951
- ...getSandboxPrototype(target) === parent ? [] : [getSandboxPrototype(target)],
7952
- ...Reflect.ownKeys(value).flatMap((key) => {
7948
+ budget.setRetainedValues(root, () => {
7949
+ const retained = [];
7950
+ for (const { target, value, descriptors: descriptors2, prototype: parent } of records) {
7951
+ const currentPrototype = getSandboxPrototype(target);
7952
+ if (currentPrototype !== parent) retained.push(currentPrototype);
7953
+ for (const key of Reflect.ownKeys(value)) {
7953
7954
  const descriptor = Object.getOwnPropertyDescriptor(value, key);
7954
- return unchanged(descriptors2.get(key), descriptor) ? [] : [key, descriptor.value, ...retainedAccessorClosures(descriptor)];
7955
- })
7956
- ])
7957
- );
7955
+ if (unchanged(descriptors2.get(key), descriptor)) continue;
7956
+ retained.push(key, descriptor.value, ...retainedAccessorClosures(descriptor));
7957
+ }
7958
+ }
7959
+ return retained;
7960
+ });
7958
7961
  }
7959
7962
  function releaseObjectPrototype(budget) {
7960
7963
  releaseTemplateObjects(budget);
@@ -25788,7 +25791,8 @@ function measureSandboxData(values, options = {}) {
25788
25791
  seen.add(value);
25789
25792
  usage += 1;
25790
25793
  if (!isGuestHostObject(value)) {
25791
- const descriptors3 = Object.getOwnPropertySymbols(value).filter((key) => !internalSymbols.has(key)).map((key) => [key, Object.getOwnPropertyDescriptor(value, key)]);
25794
+ const symbols = Object.getOwnPropertySymbols(value);
25795
+ const descriptors3 = symbols.length === 0 ? [] : symbols.filter((key) => !internalSymbols.has(key)).map((key) => [key, Object.getOwnPropertyDescriptor(value, key)]);
25792
25796
  for (const [key, descriptor] of descriptors3) {
25793
25797
  usage += 1;
25794
25798
  visit(key, depth + 1);
@@ -25943,18 +25947,15 @@ function measureSandboxData(values, options = {}) {
25943
25947
  }
25944
25948
  return;
25945
25949
  }
25946
- const descriptors2 = Object.getOwnPropertyDescriptors(value);
25947
- const keys = Object.keys(descriptors2);
25948
- const includeNonEnumerable = isSandboxDate(value) || hasManagedDescriptors(value);
25949
- let entryCount = 0;
25950
- for (const key of keys) {
25951
- if (descriptors2[key].enumerable || includeNonEnumerable) entryCount += 1;
25950
+ const descriptors2 = [];
25951
+ for (const key of Object.getOwnPropertyNames(value)) {
25952
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
25953
+ if (descriptor !== void 0) descriptors2.push([key, descriptor]);
25952
25954
  }
25953
- usage += entryCount;
25954
- for (const key of keys) {
25955
- const descriptor = descriptors2[key];
25955
+ const includeNonEnumerable = isSandboxDate(value) || hasManagedDescriptors(value);
25956
+ for (const [key, descriptor] of descriptors2) {
25956
25957
  if (!descriptor.enumerable && !includeNonEnumerable) continue;
25957
- usage += key.length;
25958
+ usage += 1 + key.length;
25958
25959
  if ("value" in descriptor) visit(descriptor.value, depth + 1);
25959
25960
  else for (const closure of retainedAccessorClosures(descriptor)) visit(closure, depth + 1);
25960
25961
  }
@@ -40727,4 +40728,4 @@ export {
40727
40728
  FileSnapshotBackend,
40728
40729
  run
40729
40730
  };
40730
- //# sourceMappingURL=chunk-SZZFUQKW.js.map
40731
+ //# sourceMappingURL=chunk-DB2DTDG3.js.map