poe-code 14.0.74 → 14.0.76

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 (65) hide show
  1. package/dist/index.js +1283 -144
  2. package/dist/index.js.map +4 -4
  3. package/dist/metafile.json +1 -1
  4. package/package.json +1 -1
  5. package/packages/safe-js/dist/chunks/{chunk-YEZOXLY4.js → chunk-UZYQWFMY.js} +1233 -143
  6. package/packages/safe-js/dist/chunks/chunk-UZYQWFMY.js.map +7 -0
  7. package/packages/safe-js/dist/chunks/{chunk-2J6W3YGB.js → chunk-VD2AS4E4.js} +2 -2
  8. package/packages/safe-js/dist/cli.js +2 -2
  9. package/packages/safe-js/dist/core.js +1 -1
  10. package/packages/safe-js/dist/index.js +2 -2
  11. package/packages/safe-js/dist/index.js.map +1 -1
  12. package/packages/safe-js/dist/interp/bigint-operators.d.ts +3 -0
  13. package/packages/safe-js/dist/interp/bigint-operators.js +62 -0
  14. package/packages/safe-js/dist/interp/boxed.d.ts +2 -2
  15. package/packages/safe-js/dist/interp/boxed.js +4 -1
  16. package/packages/safe-js/dist/interp/globals/bigint.d.ts +2 -0
  17. package/packages/safe-js/dist/interp/globals/bigint.js +85 -0
  18. package/packages/safe-js/dist/interp/globals/console-json.js +57 -24
  19. package/packages/safe-js/dist/interp/globals/object-array.js +1 -1
  20. package/packages/safe-js/dist/interp/globals/regex.js +108 -2
  21. package/packages/safe-js/dist/interp/globals.d.ts +1 -0
  22. package/packages/safe-js/dist/interp/globals.js +2 -0
  23. package/packages/safe-js/dist/interp/host-bridge.js +2 -0
  24. package/packages/safe-js/dist/interp/interpreter.js +59 -12
  25. package/packages/safe-js/dist/interp/iteration.js +5 -2
  26. package/packages/safe-js/dist/interp/methods/number.js +1 -1
  27. package/packages/safe-js/dist/interp/methods/regex-split.d.ts +3 -0
  28. package/packages/safe-js/dist/interp/methods/regex-split.js +102 -0
  29. package/packages/safe-js/dist/interp/methods/regex.d.ts +1 -1
  30. package/packages/safe-js/dist/interp/methods/regex.js +16 -5
  31. package/packages/safe-js/dist/interp/methods/regexp-iterator.d.ts +5 -1
  32. package/packages/safe-js/dist/interp/methods/regexp-iterator.js +59 -7
  33. package/packages/safe-js/dist/interp/methods/string.js +9 -9
  34. package/packages/safe-js/dist/interp/object-model.d.ts +1 -0
  35. package/packages/safe-js/dist/interp/object-model.js +4 -1
  36. package/packages/safe-js/dist/interp/regex/compile-guard.js +26 -4
  37. package/packages/safe-js/dist/interp/regex/engine.d.ts +4 -0
  38. package/packages/safe-js/dist/interp/regex/engine.js +230 -30
  39. package/packages/safe-js/dist/interp/regex/parse.d.ts +42 -4
  40. package/packages/safe-js/dist/interp/regex/parse.js +429 -25
  41. package/packages/safe-js/dist/interp/regexp-iterator.d.ts +4 -2
  42. package/packages/safe-js/dist/interp/regexp-iterator.js +6 -1
  43. package/packages/safe-js/dist/interp/string-coercion.d.ts +1 -1
  44. package/packages/safe-js/dist/interp/string-coercion.js +8 -3
  45. package/packages/safe-js/dist/interp/values.d.ts +1 -1
  46. package/packages/safe-js/dist/interp/values.js +10 -3
  47. package/packages/safe-js/dist/lint/rules/AS-async-not-needed.js +2 -0
  48. package/packages/safe-js/dist/lint/rules/AS-missing-async.js +2 -0
  49. package/packages/safe-js/dist/lint/rules/known-globals.d.ts +1 -1
  50. package/packages/safe-js/dist/lint/rules/known-globals.js +1 -0
  51. package/packages/safe-js/dist/parse/parser.d.ts +6 -1
  52. package/packages/safe-js/dist/parse/parser.js +8 -0
  53. package/packages/safe-js/dist/parse/tokenizer.js +12 -4
  54. package/packages/safe-js/dist/parse.d.ts +1 -1
  55. package/packages/safe-js/dist/snapshot/bigint.d.ts +1 -0
  56. package/packages/safe-js/dist/snapshot/bigint.js +14 -0
  57. package/packages/safe-js/dist/snapshot/dump-format.js +12 -2
  58. package/packages/safe-js/dist/snapshot/replay-data.d.ts +6 -0
  59. package/packages/safe-js/dist/snapshot/replay-data.js +23 -5
  60. package/packages/safe-js/dist/snapshot/restore.js +10 -2
  61. package/packages/safe-js/dist/snapshot/serialize.d.ts +4 -1
  62. package/packages/safe-js/dist/snapshot/serialize.js +6 -1
  63. package/packages/safe-js/dist/snapshot/validation.js +27 -0
  64. package/packages/safe-js/dist/chunks/chunk-YEZOXLY4.js.map +0 -7
  65. /package/packages/safe-js/dist/chunks/{chunk-2J6W3YGB.js.map → chunk-VD2AS4E4.js.map} +0 -0
@@ -1,11 +1,16 @@
1
1
  import { type CompileScope } from "./compile-guard.js";
2
2
  export type RegexFlags = {
3
+ hasIndices: boolean;
3
4
  global: boolean;
5
+ sticky: boolean;
6
+ unicode: boolean;
7
+ unicodeSets: boolean;
4
8
  ignoreCase: boolean;
5
9
  multiline: boolean;
6
10
  dotAll: boolean;
7
11
  };
8
12
  export type CharacterKind = "digit" | "word" | "space";
13
+ type RegexModifiers = Partial<Pick<RegexFlags, "ignoreCase" | "multiline" | "dotAll">>;
9
14
  export type CharacterClassItem = {
10
15
  type: "character";
11
16
  value: string;
@@ -17,12 +22,35 @@ export type CharacterClassItem = {
17
22
  type: "kind";
18
23
  kind: CharacterKind;
19
24
  negated: boolean;
25
+ } | {
26
+ type: "property";
27
+ value: string;
28
+ negated: boolean;
29
+ strings?: boolean;
30
+ } | {
31
+ type: "strings";
32
+ values: string[];
33
+ } | {
34
+ type: "set";
35
+ value: CharacterSet;
36
+ };
37
+ export type CharacterSet = {
38
+ negated: boolean;
39
+ items: CharacterClassItem[];
40
+ operation?: "intersection" | "subtraction";
41
+ strings?: boolean;
20
42
  };
21
43
  export type RegexNode = {
22
44
  type: "empty";
23
45
  } | {
24
46
  type: "literal";
25
47
  value: string;
48
+ } | {
49
+ type: "backreference";
50
+ index: number;
51
+ } | {
52
+ type: "namedBackreference";
53
+ name: string;
26
54
  } | {
27
55
  type: "dot";
28
56
  } | {
@@ -31,11 +59,9 @@ export type RegexNode = {
31
59
  } | {
32
60
  type: "wordBoundary";
33
61
  negated: boolean;
34
- } | {
62
+ } | ({
35
63
  type: "characterClass";
36
- negated: boolean;
37
- items: CharacterClassItem[];
38
- } | {
64
+ } & CharacterSet) | {
39
65
  type: "sequence";
40
66
  elements: RegexNode[];
41
67
  } | {
@@ -45,6 +71,16 @@ export type RegexNode = {
45
71
  type: "group";
46
72
  capturing: boolean;
47
73
  index?: number;
74
+ name?: string;
75
+ modifiers?: RegexModifiers;
76
+ body: RegexNode;
77
+ } | {
78
+ type: "lookahead";
79
+ negated: boolean;
80
+ body: RegexNode;
81
+ } | {
82
+ type: "lookbehind";
83
+ negated: boolean;
48
84
  body: RegexNode;
49
85
  } | {
50
86
  type: "quantifier";
@@ -58,5 +94,7 @@ export type RegexPattern = {
58
94
  flags: RegexFlags;
59
95
  captureCount: number;
60
96
  body: RegexNode;
97
+ groups?: Record<string, number[]>;
61
98
  };
62
99
  export declare function parseRegex(source: string, flags?: string, compilation?: CompileScope, valueUnits?: number): RegexPattern;
100
+ export {};