@poe-platform/safe-js 0.1.726 → 0.1.728

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.
Files changed (56) hide show
  1. package/dist/safe-js/chunks/{chunk-ZB7G7QNP.js → chunk-4QDOJTAL.js} +4 -4
  2. package/dist/safe-js/chunks/{chunk-QPG4Q7NQ.js → chunk-EBNKJYZV.js} +3 -3
  3. package/dist/safe-js/chunks/{chunk-ZUWFLRFV.js → chunk-EG3QWREA.js} +2 -2
  4. package/dist/safe-js/chunks/{chunk-EYIWCEOM.js → chunk-EZEB4AIH.js} +4 -4
  5. package/dist/safe-js/chunks/{chunk-UBLJ5GBD.js → chunk-GZT57PW4.js} +3 -3
  6. package/dist/safe-js/chunks/{chunk-ZI6RZ6ZM.js → chunk-IZX26NC7.js} +2 -2
  7. package/dist/safe-js/chunks/{chunk-TVAZK5TQ.js → chunk-MFCEBCGV.js} +2 -2
  8. package/dist/safe-js/chunks/{chunk-LAULA6ZA.js → chunk-RXESEKV6.js} +6 -6
  9. package/dist/safe-js/chunks/{chunk-MFPMOTC3.js → chunk-TFLQJ5NE.js} +2 -2
  10. package/dist/safe-js/chunks/{chunk-MLXEO7D4.js → chunk-VW2VLHK2.js} +3 -3
  11. package/dist/safe-js/chunks/{chunk-T2HKPVB3.js → chunk-Y5EZYHU6.js} +10 -1
  12. package/dist/safe-js/chunks/chunk-Y5EZYHU6.js.map +7 -0
  13. package/dist/safe-js/chunks/{chunk-4VWGTW5F.js → chunk-ZSIY6K54.js} +47 -5
  14. package/dist/safe-js/chunks/{chunk-4VWGTW5F.js.map → chunk-ZSIY6K54.js.map} +2 -2
  15. package/dist/safe-js/chunks/{chunk-JVWED75K.js → chunk-ZTKMQHXB.js} +2 -2
  16. package/dist/safe-js/chunks/{cli-runtime-BUNU5UJA.js → cli-runtime-OZPDDD6M.js} +13 -13
  17. package/dist/safe-js/chunks/{dump-NJBLBIHN.js → dump-3TMEMH6D.js} +4 -4
  18. package/dist/safe-js/chunks/{fs-KSDQMVL3.js → fs-YSBEA2WW.js} +4 -4
  19. package/dist/safe-js/chunks/harness-YC3FLN5N.js +10 -0
  20. package/dist/safe-js/chunks/mcp-3GOG43VR.js +11 -0
  21. package/dist/safe-js/chunks/migration-file-IFKOIPNA.js +12 -0
  22. package/dist/safe-js/chunks/restore-ZOAQTM7X.js +13 -0
  23. package/dist/safe-js/chunks/run-XH62V323.js +17 -0
  24. package/dist/safe-js/chunks/runtime-modules-BUR3QGOJ.js +10 -0
  25. package/dist/safe-js/cli.js +2 -2
  26. package/dist/safe-js/core.js +7 -7
  27. package/dist/safe-js/index.js +13 -13
  28. package/dist/safe-js/interp/budget.d.ts +1 -0
  29. package/package.json +2 -2
  30. package/dist/safe-js/chunks/chunk-T2HKPVB3.js.map +0 -7
  31. package/dist/safe-js/chunks/harness-4TVG72ZC.js +0 -10
  32. package/dist/safe-js/chunks/mcp-ABD5LZLV.js +0 -11
  33. package/dist/safe-js/chunks/migration-file-S6N7VAXE.js +0 -12
  34. package/dist/safe-js/chunks/restore-R2BQQ743.js +0 -13
  35. package/dist/safe-js/chunks/run-4W5TVAD4.js +0 -17
  36. package/dist/safe-js/chunks/runtime-modules-XRIAOBSC.js +0 -10
  37. /package/dist/safe-js/chunks/{chunk-ZB7G7QNP.js.map → chunk-4QDOJTAL.js.map} +0 -0
  38. /package/dist/safe-js/chunks/{chunk-QPG4Q7NQ.js.map → chunk-EBNKJYZV.js.map} +0 -0
  39. /package/dist/safe-js/chunks/{chunk-ZUWFLRFV.js.map → chunk-EG3QWREA.js.map} +0 -0
  40. /package/dist/safe-js/chunks/{chunk-EYIWCEOM.js.map → chunk-EZEB4AIH.js.map} +0 -0
  41. /package/dist/safe-js/chunks/{chunk-UBLJ5GBD.js.map → chunk-GZT57PW4.js.map} +0 -0
  42. /package/dist/safe-js/chunks/{chunk-ZI6RZ6ZM.js.map → chunk-IZX26NC7.js.map} +0 -0
  43. /package/dist/safe-js/chunks/{chunk-TVAZK5TQ.js.map → chunk-MFCEBCGV.js.map} +0 -0
  44. /package/dist/safe-js/chunks/{chunk-LAULA6ZA.js.map → chunk-RXESEKV6.js.map} +0 -0
  45. /package/dist/safe-js/chunks/{chunk-MFPMOTC3.js.map → chunk-TFLQJ5NE.js.map} +0 -0
  46. /package/dist/safe-js/chunks/{chunk-MLXEO7D4.js.map → chunk-VW2VLHK2.js.map} +0 -0
  47. /package/dist/safe-js/chunks/{chunk-JVWED75K.js.map → chunk-ZTKMQHXB.js.map} +0 -0
  48. /package/dist/safe-js/chunks/{cli-runtime-BUNU5UJA.js.map → cli-runtime-OZPDDD6M.js.map} +0 -0
  49. /package/dist/safe-js/chunks/{dump-NJBLBIHN.js.map → dump-3TMEMH6D.js.map} +0 -0
  50. /package/dist/safe-js/chunks/{fs-KSDQMVL3.js.map → fs-YSBEA2WW.js.map} +0 -0
  51. /package/dist/safe-js/chunks/{harness-4TVG72ZC.js.map → harness-YC3FLN5N.js.map} +0 -0
  52. /package/dist/safe-js/chunks/{mcp-ABD5LZLV.js.map → mcp-3GOG43VR.js.map} +0 -0
  53. /package/dist/safe-js/chunks/{migration-file-S6N7VAXE.js.map → migration-file-IFKOIPNA.js.map} +0 -0
  54. /package/dist/safe-js/chunks/{restore-R2BQQ743.js.map → restore-ZOAQTM7X.js.map} +0 -0
  55. /package/dist/safe-js/chunks/{run-4W5TVAD4.js.map → run-XH62V323.js.map} +0 -0
  56. /package/dist/safe-js/chunks/{runtime-modules-XRIAOBSC.js.map → runtime-modules-BUR3QGOJ.js.map} +0 -0
@@ -39,7 +39,7 @@ import {
39
39
  sandboxErrorTypes,
40
40
  syntaxDiagnostics,
41
41
  templateRealms
42
- } from "./chunk-T2HKPVB3.js";
42
+ } from "./chunk-Y5EZYHU6.js";
43
43
 
44
44
  // packages/safe-js/src/interp/native-promise-properties.ts
45
45
  import { types } from "node:util";
@@ -18237,9 +18237,15 @@ function callReplaceLikeMethod(value, methodName, args, budget, callClosure, use
18237
18237
  );
18238
18238
  }
18239
18239
  if (typeof replacement === "string") {
18240
- return budget.allocateString(
18241
- methodName === "replace" ? value.replace(search, replacement) : value.replaceAll(search, replacement)
18242
- );
18240
+ const length = literalReplacementLength(value, search, replacement, methodName === "replaceAll", budget);
18241
+ const release = budget.reserveString(length);
18242
+ try {
18243
+ const result = methodName === "replace" ? value.replace(search, replacement) : value.replaceAll(search, replacement);
18244
+ budget.visitNode();
18245
+ return budget.allocateString(result);
18246
+ } finally {
18247
+ release();
18248
+ }
18243
18249
  }
18244
18250
  return replaceWithClosure(
18245
18251
  value,
@@ -18251,6 +18257,42 @@ function callReplaceLikeMethod(value, methodName, args, budget, callClosure, use
18251
18257
  context
18252
18258
  );
18253
18259
  }
18260
+ function literalReplacementLength(value, search, replacement, all, budget) {
18261
+ let count = 0;
18262
+ let positions = 0;
18263
+ if (search === "") {
18264
+ count = all ? value.length + 1 : 1;
18265
+ positions = all ? value.length * (value.length + 1) / 2 : 0;
18266
+ } else {
18267
+ for (let offset = value.indexOf(search); offset !== -1; offset = value.indexOf(search, offset + search.length)) {
18268
+ budget.visitNode();
18269
+ count += 1;
18270
+ positions += offset;
18271
+ if (!all) break;
18272
+ }
18273
+ }
18274
+ if (count === 0) return value.length;
18275
+ let literal = 0;
18276
+ let matches = 0;
18277
+ let prefixes = 0;
18278
+ let suffixes = 0;
18279
+ for (let index = 0; index < replacement.length; index += 1) {
18280
+ budget.visitNode();
18281
+ if (replacement[index] === "$") {
18282
+ const token = replacement[index + 1];
18283
+ if (token === "$" || token === "&" || token === "`" || token === "'") {
18284
+ if (token === "$") literal += 1;
18285
+ else if (token === "&") matches += 1;
18286
+ else if (token === "`") prefixes += 1;
18287
+ else suffixes += 1;
18288
+ index += 1;
18289
+ continue;
18290
+ }
18291
+ }
18292
+ literal += 1;
18293
+ }
18294
+ return value.length - count * search.length + count * (literal + matches * search.length) + prefixes * positions + suffixes * (count * (value.length - search.length) - positions);
18295
+ }
18254
18296
  async function replaceRegex(value, regex, replacement, budget, callClosure, context) {
18255
18297
  if (getSandboxRegexPattern(regex).groups !== void 0 || hasRegexPropertyOverride(regex, ["exec", "flags", ...Object.keys(regexFlagProperties)], budget))
18256
18298
  return regexReplace(value, regex, replacement, budget, callClosure, context);
@@ -49338,4 +49380,4 @@ authorization of the copyright holder.
49338
49380
  SPDX-License-Identifier: Unicode-3.0
49339
49381
 
49340
49382
  */
49341
- //# sourceMappingURL=chunk-4VWGTW5F.js.map
49383
+ //# sourceMappingURL=chunk-ZSIY6K54.js.map