@poe-platform/safe-js 0.1.293 → 0.1.295
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/safe-js/chunks/{chunk-SZZFUQKW.js → chunk-CL6E5SM7.js} +64 -26
- package/dist/safe-js/chunks/chunk-CL6E5SM7.js.map +7 -0
- package/dist/safe-js/chunks/{chunk-5H7NRF5Z.js → chunk-JXRBLOIP.js} +2 -2
- package/dist/safe-js/cli.js +2 -2
- package/dist/safe-js/core.js +1 -1
- package/dist/safe-js/index.js +2 -2
- package/package.json +2 -2
- package/dist/safe-js/chunks/chunk-SZZFUQKW.js.map +0 -7
- /package/dist/safe-js/chunks/{chunk-5H7NRF5Z.js.map → chunk-JXRBLOIP.js.map} +0 -0
|
@@ -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
|
-
|
|
7950
|
-
(
|
|
7951
|
-
|
|
7952
|
-
|
|
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
|
-
|
|
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);
|
|
@@ -13056,7 +13059,18 @@ function createArrayGlobal(budget) {
|
|
|
13056
13059
|
guest: true,
|
|
13057
13060
|
sandbox: true,
|
|
13058
13061
|
call: (args) => createArrayFromConstructorArgs(args, budget),
|
|
13059
|
-
construct: (args) =>
|
|
13062
|
+
construct: async (args, context) => {
|
|
13063
|
+
const target = context?.newTarget;
|
|
13064
|
+
const parent = target === void 0 || target === constructor ? prototype : context?.getProperty === void 0 ? await readPropertyDescriptor(
|
|
13065
|
+
getSandboxPropertyDescriptor(target, "prototype", budget) ?? { value: void 0 },
|
|
13066
|
+
target,
|
|
13067
|
+
context
|
|
13068
|
+
) : await context.getProperty(target, "prototype");
|
|
13069
|
+
const value = createArrayFromConstructorArgs(args, budget);
|
|
13070
|
+
if (parent !== prototype && typeof parent === "object" && parent !== null)
|
|
13071
|
+
setSandboxPrototype(value, parent, budget);
|
|
13072
|
+
return value;
|
|
13073
|
+
},
|
|
13060
13074
|
name: "Array",
|
|
13061
13075
|
length: 1
|
|
13062
13076
|
});
|
|
@@ -13100,7 +13114,33 @@ function createArrayGlobal(budget) {
|
|
|
13100
13114
|
const statics = {
|
|
13101
13115
|
isArray: createSandboxClosure({ sandbox: true, name: "isArray", call: ([value]) => Array.isArray(value) }),
|
|
13102
13116
|
from: createSandboxClosure({ sandbox: true, name: "from", call: (args, context) => arrayFromSandboxValues(args, budget, context) }),
|
|
13103
|
-
of: createSandboxClosure({
|
|
13117
|
+
of: createSandboxClosure({
|
|
13118
|
+
guest: true,
|
|
13119
|
+
sandbox: true,
|
|
13120
|
+
name: "of",
|
|
13121
|
+
length: 0,
|
|
13122
|
+
call: async (args, context) => {
|
|
13123
|
+
const target = context?.thisValue;
|
|
13124
|
+
let result;
|
|
13125
|
+
const release = retainValues(budget, () => [...args, target, result]);
|
|
13126
|
+
try {
|
|
13127
|
+
result = isSandboxClosure(target) && target.construct !== void 0 ? await invokeBuiltinClosure(target, [args.length], budget, context, void 0, true) : createArrayFromConstructorArgs([args.length], budget);
|
|
13128
|
+
const checkData = createDataCheckpoint(budget, context);
|
|
13129
|
+
checkData(result, 0, true);
|
|
13130
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
13131
|
+
budget.visitNode();
|
|
13132
|
+
if (Array.isArray(result)) budget.allocateArrayLength(index + 1);
|
|
13133
|
+
defineOwnDataProperty(objectProperties(result, true), String(index), args[index]);
|
|
13134
|
+
checkData(result, 0, true);
|
|
13135
|
+
}
|
|
13136
|
+
await setSandboxProperty(result, "length", args.length, budget, true, context);
|
|
13137
|
+
checkData(result, 0, true);
|
|
13138
|
+
return allocateProducedSandboxValue(result, budget);
|
|
13139
|
+
} finally {
|
|
13140
|
+
release();
|
|
13141
|
+
}
|
|
13142
|
+
}
|
|
13143
|
+
})
|
|
13104
13144
|
};
|
|
13105
13145
|
for (const [name, value] of Object.entries(statics))
|
|
13106
13146
|
Object.defineProperty(properties, name, { value, writable: true, configurable: true });
|
|
@@ -13407,7 +13447,7 @@ async function arrayFromSandboxValues(args, budget, context) {
|
|
|
13407
13447
|
}
|
|
13408
13448
|
index += 1;
|
|
13409
13449
|
}
|
|
13410
|
-
setSandboxProperty(result, "length", index, budget);
|
|
13450
|
+
await setSandboxProperty(result, "length", index, budget, true, context);
|
|
13411
13451
|
checkData(result, 0, true);
|
|
13412
13452
|
return allocateProducedSandboxValue(result, budget);
|
|
13413
13453
|
} finally {
|
|
@@ -13416,11 +13456,11 @@ async function arrayFromSandboxValues(args, budget, context) {
|
|
|
13416
13456
|
}
|
|
13417
13457
|
function createArrayFromConstructorArgs(args, budget) {
|
|
13418
13458
|
if (args.length !== 1) {
|
|
13419
|
-
return
|
|
13459
|
+
return allocateProducedSandboxValue([...args], budget);
|
|
13420
13460
|
}
|
|
13421
13461
|
const [lengthOrValue] = args;
|
|
13422
13462
|
if (typeof lengthOrValue !== "number") {
|
|
13423
|
-
return
|
|
13463
|
+
return allocateProducedSandboxValue([lengthOrValue], budget);
|
|
13424
13464
|
}
|
|
13425
13465
|
if (!Number.isInteger(lengthOrValue) || lengthOrValue < 0 || lengthOrValue > 4294967295) {
|
|
13426
13466
|
throw new RangeError("Invalid array length.");
|
|
@@ -25788,7 +25828,8 @@ function measureSandboxData(values, options = {}) {
|
|
|
25788
25828
|
seen.add(value);
|
|
25789
25829
|
usage += 1;
|
|
25790
25830
|
if (!isGuestHostObject(value)) {
|
|
25791
|
-
const
|
|
25831
|
+
const symbols = Object.getOwnPropertySymbols(value);
|
|
25832
|
+
const descriptors3 = symbols.length === 0 ? [] : symbols.filter((key) => !internalSymbols.has(key)).map((key) => [key, Object.getOwnPropertyDescriptor(value, key)]);
|
|
25792
25833
|
for (const [key, descriptor] of descriptors3) {
|
|
25793
25834
|
usage += 1;
|
|
25794
25835
|
visit(key, depth + 1);
|
|
@@ -25943,18 +25984,15 @@ function measureSandboxData(values, options = {}) {
|
|
|
25943
25984
|
}
|
|
25944
25985
|
return;
|
|
25945
25986
|
}
|
|
25946
|
-
const descriptors2 =
|
|
25947
|
-
const
|
|
25948
|
-
|
|
25949
|
-
|
|
25950
|
-
for (const key of keys) {
|
|
25951
|
-
if (descriptors2[key].enumerable || includeNonEnumerable) entryCount += 1;
|
|
25987
|
+
const descriptors2 = [];
|
|
25988
|
+
for (const key of Object.getOwnPropertyNames(value)) {
|
|
25989
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
25990
|
+
if (descriptor !== void 0) descriptors2.push([key, descriptor]);
|
|
25952
25991
|
}
|
|
25953
|
-
|
|
25954
|
-
for (const key of
|
|
25955
|
-
const descriptor = descriptors2[key];
|
|
25992
|
+
const includeNonEnumerable = isSandboxDate(value) || hasManagedDescriptors(value);
|
|
25993
|
+
for (const [key, descriptor] of descriptors2) {
|
|
25956
25994
|
if (!descriptor.enumerable && !includeNonEnumerable) continue;
|
|
25957
|
-
usage += key.length;
|
|
25995
|
+
usage += 1 + key.length;
|
|
25958
25996
|
if ("value" in descriptor) visit(descriptor.value, depth + 1);
|
|
25959
25997
|
else for (const closure of retainedAccessorClosures(descriptor)) visit(closure, depth + 1);
|
|
25960
25998
|
}
|
|
@@ -40727,4 +40765,4 @@ export {
|
|
|
40727
40765
|
FileSnapshotBackend,
|
|
40728
40766
|
run
|
|
40729
40767
|
};
|
|
40730
|
-
//# sourceMappingURL=chunk-
|
|
40768
|
+
//# sourceMappingURL=chunk-CL6E5SM7.js.map
|