svedit 0.11.1 → 0.13.0

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 (93) hide show
  1. package/README.md +260 -82
  2. package/dist/Command.svelte.d.ts +54 -29
  3. package/dist/Command.svelte.d.ts.map +1 -1
  4. package/dist/Command.svelte.js +286 -283
  5. package/dist/CustomProperty.svelte +3 -5
  6. package/dist/CustomProperty.svelte.d.ts +3 -6
  7. package/dist/CustomProperty.svelte.d.ts.map +1 -1
  8. package/dist/KeyMapper.svelte.d.ts +19 -6
  9. package/dist/KeyMapper.svelte.d.ts.map +1 -1
  10. package/dist/KeyMapper.svelte.js +95 -112
  11. package/dist/Node.svelte +40 -9
  12. package/dist/Node.svelte.d.ts +3 -5
  13. package/dist/Node.svelte.d.ts.map +1 -1
  14. package/dist/NodeArrayProperty.svelte +142 -18
  15. package/dist/NodeArrayProperty.svelte.d.ts +3 -5
  16. package/dist/NodeArrayProperty.svelte.d.ts.map +1 -1
  17. package/dist/NodeCaret.svelte +1 -1
  18. package/dist/NodeCaret.svelte.d.ts +6 -14
  19. package/dist/NodeCaret.svelte.d.ts.map +1 -1
  20. package/dist/NodeGap.svelte +60 -12
  21. package/dist/NodeGap.svelte.d.ts +7 -14
  22. package/dist/NodeGap.svelte.d.ts.map +1 -1
  23. package/dist/NodeGapMarkers.svelte +19 -10
  24. package/dist/NodeGapMarkers.svelte.d.ts +6 -11
  25. package/dist/NodeGapMarkers.svelte.d.ts.map +1 -1
  26. package/dist/NodeSelectionMarkers.svelte +20 -6
  27. package/dist/NodeSelectionMarkers.svelte.d.ts +2 -5
  28. package/dist/NodeSelectionMarkers.svelte.d.ts.map +1 -1
  29. package/dist/Session.svelte.d.ts +85 -116
  30. package/dist/Session.svelte.d.ts.map +1 -1
  31. package/dist/Session.svelte.js +543 -571
  32. package/dist/Svedit.svelte +243 -216
  33. package/dist/Svedit.svelte.d.ts +30 -10
  34. package/dist/Svedit.svelte.d.ts.map +1 -1
  35. package/dist/{AnnotatedTextProperty.svelte → TextProperty.svelte} +71 -56
  36. package/dist/TextProperty.svelte.d.ts +5 -0
  37. package/dist/TextProperty.svelte.d.ts.map +1 -0
  38. package/dist/Transaction.svelte.d.ts +101 -126
  39. package/dist/Transaction.svelte.d.ts.map +1 -1
  40. package/dist/Transaction.svelte.js +843 -827
  41. package/dist/UnknownNode.svelte +4 -3
  42. package/dist/UnknownNode.svelte.d.ts +5 -9
  43. package/dist/UnknownNode.svelte.d.ts.map +1 -1
  44. package/dist/doc_utils.d.ts +109 -122
  45. package/dist/doc_utils.d.ts.map +1 -1
  46. package/dist/doc_utils.js +726 -698
  47. package/dist/index.d.ts +20 -17
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +2 -18
  50. package/dist/node_visibility.svelte.d.ts +132 -5
  51. package/dist/node_visibility.svelte.d.ts.map +1 -1
  52. package/dist/node_visibility.svelte.js +535 -642
  53. package/dist/paste_utils.d.ts +11 -43
  54. package/dist/paste_utils.d.ts.map +1 -1
  55. package/dist/paste_utils.js +111 -149
  56. package/dist/transforms.svelte.d.ts +9 -7
  57. package/dist/transforms.svelte.d.ts.map +1 -1
  58. package/dist/transforms.svelte.js +126 -152
  59. package/dist/types.d.ts +329 -291
  60. package/dist/types.d.ts.map +1 -0
  61. package/dist/types.js +1 -0
  62. package/dist/utils.d.ts +79 -95
  63. package/dist/utils.d.ts.map +1 -1
  64. package/dist/utils.js +392 -305
  65. package/package.json +69 -67
  66. package/src/lib/{Command.svelte.js → Command.svelte.ts} +111 -41
  67. package/src/lib/CustomProperty.svelte +3 -5
  68. package/src/lib/{KeyMapper.svelte.js → KeyMapper.svelte.ts} +28 -11
  69. package/src/lib/Node.svelte +40 -9
  70. package/src/lib/NodeArrayProperty.svelte +142 -18
  71. package/src/lib/NodeCaret.svelte +1 -1
  72. package/src/lib/NodeGap.svelte +60 -12
  73. package/src/lib/NodeGapMarkers.svelte +19 -10
  74. package/src/lib/NodeSelectionMarkers.svelte +20 -6
  75. package/src/lib/Session.svelte.ts +656 -0
  76. package/src/lib/Svedit.svelte +243 -216
  77. package/src/lib/{AnnotatedTextProperty.svelte → TextProperty.svelte} +71 -56
  78. package/src/lib/Transaction.svelte.ts +1020 -0
  79. package/src/lib/UnknownNode.svelte +4 -3
  80. package/src/lib/doc_utils.ts +1120 -0
  81. package/src/lib/{index.js → index.ts} +48 -1
  82. package/src/lib/node_visibility.svelte.ts +658 -0
  83. package/src/lib/{paste_utils.js → paste_utils.ts} +51 -59
  84. package/src/lib/{transforms.svelte.js → transforms.svelte.ts} +44 -27
  85. package/src/lib/{types.d.ts → types.ts} +250 -103
  86. package/src/lib/utils.ts +660 -0
  87. package/dist/AnnotatedTextProperty.svelte.d.ts +0 -7
  88. package/dist/AnnotatedTextProperty.svelte.d.ts.map +0 -1
  89. package/src/lib/Session.svelte.js +0 -575
  90. package/src/lib/Transaction.svelte.js +0 -846
  91. package/src/lib/doc_utils.js +0 -807
  92. package/src/lib/node_visibility.svelte.js +0 -718
  93. package/src/lib/utils.js +0 -465
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/dist/utils.d.ts CHANGED
@@ -1,166 +1,120 @@
1
- /**
2
- * Detect if the virtual keyboard is likely visible.
3
- *
4
- * This is a heuristic based on the visual viewport becoming smaller than the
5
- * layout viewport.
6
- *
7
- * @returns {boolean} true if the virtual keyboard is likely active, false otherwise
8
- */
9
- export function is_virtual_keyboard_active(): boolean;
1
+ import type { Attachment, Mark, Text, SelectionRange, Selection, DocumentSchema, DocumentNode, DocumentPath } from './types.js';
2
+ export declare function is_virtual_keyboard_active(): boolean;
10
3
  /**
11
4
  * Detect if the current browser is likely on a mobile device.
12
5
  *
13
6
  * This uses the user agent only so touch-capable laptops are not treated as
14
7
  * mobile browsers.
15
- *
16
- * @returns {boolean} true if mobile browser, false otherwise
17
8
  */
18
- export function is_mobile_browser(): boolean;
9
+ export declare function is_mobile_browser(): boolean;
19
10
  /**
20
11
  * Detect if the current browser is Chrome on desktop
21
- * @returns {boolean} true if Chrome desktop browser, false otherwise
22
12
  */
23
- export function is_chrome_desktop_browser(): boolean;
13
+ export declare function is_chrome_desktop_browser(): boolean;
24
14
  /**
25
15
  * Get the actual character length (accounting for multi-byte characters)
26
16
  *
27
17
  * Uses Intl.Segmenter to count grapheme clusters rather than UTF-16 code units,
28
18
  * ensuring emojis and other complex Unicode sequences are counted as single characters.
29
19
  *
30
- * @param {string} str - The string to measure
31
- * @returns {number} The number of visual characters (grapheme clusters)
32
- *
33
20
  * @example
34
21
  * get_char_length('Hello') // Returns: 5
35
22
  * get_char_length('a😀b') // Returns: 3 (not 4)
36
23
  * get_char_length('👋🏽') // Returns: 1 (not 4 - skin tone modifier treated as single char)
37
24
  */
38
- export function get_char_length(str: string): number;
25
+ export declare function get_char_length(str: string): number;
39
26
  /**
40
27
  * Get a single character at the specified position (accounting for multi-byte characters)
41
28
  *
42
29
  * Uses Intl.Segmenter to access grapheme clusters rather than UTF-16 code units,
43
30
  * ensuring emojis and other complex Unicode sequences are treated as single characters.
44
31
  *
45
- * @param {string} str - The string to access
46
- * @param {number} index - Character position (0-based)
47
- * @returns {string} The character at the specified position, or empty string if index is out of bounds
48
- *
49
32
  * @example
50
33
  * get_char_at('Hello', 1) // Returns: 'e'
51
34
  * get_char_at('a😀b', 1) // Returns: '😀' (full emoji)
52
35
  * get_char_at('👋🏽', 0) // Returns: '👋🏽' (skin tone modifier included)
53
36
  */
54
- export function get_char_at(str: string, index: number): string;
37
+ export declare function get_char_at(str: string, index: number): string;
55
38
  /**
56
39
  * Slice string by character positions (accounting for multi-byte characters)
57
40
  *
58
41
  * Uses Intl.Segmenter to slice by grapheme clusters rather than UTF-16 code units,
59
42
  * ensuring emojis and other complex Unicode sequences remain intact.
60
43
  *
61
- * @param {string} str - The string to slice
62
- * @param {number} start - Starting character position (inclusive)
63
- * @param {number} [end] - Ending character position (exclusive). If undefined, slices to end
64
- * @returns {string} The sliced string with complete characters
65
- *
66
44
  * @example
67
45
  * char_slice('Hello 😀 World', 6, 8) // Returns: '😀 ' (emoji stays intact)
68
46
  * char_slice('a👋🏽b', 1, 2) // Returns: '👋🏽' (skin tone modifier included)
69
47
  */
70
- export function char_slice(str: string, start: number, end?: number): string;
48
+ export declare function char_slice(str: string, start: number, end?: number | undefined): string;
71
49
  /**
72
50
  * Convert UTF-16 code unit offset to grapheme cluster offset within a string
73
51
  *
74
52
  * Converts DOM selection offsets (which use UTF-16 code units) to character-based
75
53
  * offsets (grapheme clusters) for consistent text manipulation.
76
54
  *
77
- * @param {string} str - The string to convert offsets within
78
- * @param {number} utf16_offset - The UTF-16 code unit offset from DOM
79
- * @returns {number} The corresponding grapheme cluster offset
80
- *
81
55
  * @example
82
56
  * // For string "a😀b" where 😀 uses 2 UTF-16 code units
83
57
  * utf16_to_char_offset("a😀b", 3) // Returns: 2 (position after emoji)
84
58
  */
85
- export function utf16_to_char_offset(str: string, utf16_offset: number): number;
59
+ export declare function utf16_to_char_offset(str: string, utf16_offset: number): number;
86
60
  /**
87
61
  * Convert grapheme cluster offset to UTF-16 code unit offset within a string
88
62
  *
89
63
  * Converts character-based offsets (grapheme clusters) to DOM selection offsets
90
64
  * (UTF-16 code units) for proper DOM selection positioning.
91
65
  *
92
- * @param {string} str - The string to convert offsets within
93
- * @param {number} char_offset - The grapheme cluster offset
94
- * @returns {number} The corresponding UTF-16 code unit offset for DOM operations
95
- *
96
66
  * @example
97
67
  * // For string "a😀b" where 😀 uses 2 UTF-16 code units
98
68
  * char_to_utf16_offset("a😀b", 2) // Returns: 3 (UTF-16 position after emoji)
99
69
  */
100
- export function char_to_utf16_offset(str: string, char_offset: number): number;
70
+ export declare function char_to_utf16_offset(str: string, char_offset: number): number;
101
71
  /**
102
- * Splits an annotated text at the specified character position.
72
+ * Splits a text value at the specified character position.
103
73
  *
104
- * Annotations that span the split point will be divided appropriately,
105
- * with offsets adjusted for each resulting part.
106
- *
107
- * @param {AnnotatedText} text_with_annotations - Annotated text object
108
- * @param {number} at_position - Character position where to split (0-based)
109
- * @returns {[AnnotatedText, AnnotatedText]} Tuple of [left_part, right_part]
74
+ * Marks and annotations that span the split point will be divided
75
+ * appropriately, with offsets adjusted for each resulting part.
110
76
  *
111
77
  * @example
112
- * split_annotated_text({text: "Hello world", annotations: [{start_offset: 6, end_offset: 11, node_id: "strong"}]}, 8)
78
+ * split_text({content: "Hello world", marks: [{start_offset: 6, end_offset: 11, node_id: "strong"}], annotations: []}, 8)
113
79
  * // Returns:
114
80
  * // [
115
- * // {text: "Hello wo", annotations: [{start_offset: 6, end_offset: 8, node_id: "strong"}]},
116
- * // {text: "rld", annotations: [{start_offset: 0, end_offset: 3, node_id: "strong"}]}
81
+ * // {content: "Hello wo", marks: [{start_offset: 6, end_offset: 8, node_id: "strong"}], annotations: []},
82
+ * // {content: "rld", marks: [{start_offset: 0, end_offset: 3, node_id: "strong"}], annotations: []}
117
83
  * // ]
118
84
  */
119
- export function split_annotated_text(text_with_annotations: AnnotatedText, at_position: number): [AnnotatedText, AnnotatedText];
85
+ export declare function split_text(text_value: Text, at_position: number): [Text, Text];
120
86
  /**
121
- * Joins two annotated texts into a single annotated text.
122
- *
123
- * Annotations from the second text will have their offsets shifted by the length
124
- * of the first text. Adjacent annotations of the same type and data will be merged.
87
+ * Joins two text values into a single text value.
125
88
  *
126
- * @param {AnnotatedText} first_text - First annotated text object
127
- * @param {AnnotatedText} second_text - Second annotated text object
128
- * @returns {AnnotatedText} Combined annotated text object
89
+ * Marks and annotations from the second text will have their offsets shifted
90
+ * by the length of the first text. Adjacent ranges referencing the same node
91
+ * will be merged.
129
92
  *
130
93
  * @example
131
- * join_annotated_text({text: "Hello wo", annotations: [{start_offset: 6, end_offset: 8, node_id: "strong"}]}, {text: "rld", annotations: [{start_offset: 0, end_offset: 3, node_id: "strong"}]})
132
- * // Returns: {text: "Hello world", annotations: [{start_offset: 6, end_offset: 11, node_id: "strong"}]}
94
+ * join_text({content: "Hello wo", marks: [{start_offset: 6, end_offset: 8, node_id: "strong"}], annotations: []}, {content: "rld", marks: [{start_offset: 0, end_offset: 3, node_id: "strong"}], annotations: []})
95
+ * // Returns: {content: "Hello world", marks: [{start_offset: 6, end_offset: 11, node_id: "strong"}], annotations: []}
133
96
  */
134
- export function join_annotated_text(first_text: AnnotatedText, second_text: AnnotatedText): AnnotatedText;
97
+ export declare function join_text(first_text: Text, second_text: Text): Text;
135
98
  /**
136
99
  * Convert snake_case string to PascalCase
137
100
  *
138
- * @param {string} str - The snake_case string to convert
139
- * @returns {string} The converted PascalCase string
140
- *
141
101
  * @example
142
102
  * snake_to_pascal('list_item') // Returns: 'ListItem'
143
103
  */
144
- export function snake_to_pascal(str: string): string;
104
+ export declare function snake_to_pascal(str: string): string;
105
+ export declare const PATH_SEPARATOR = "__";
145
106
  /**
146
107
  * Check whether a string can be used as a Svedit path segment.
147
108
  *
148
109
  * Path string segments include node ids and schema property names. Keeping
149
110
  * them restricted makes serialized paths reversible, valid as HTML ids, and
150
111
  * safe to use as CSS anchor-name suffixes.
151
- *
152
- * @param {string} segment
153
- * @returns {boolean}
154
112
  */
155
- export function is_path_string_segment_valid(segment: string): boolean;
113
+ export declare function is_path_string_segment_valid(segment: string): boolean;
156
114
  /**
157
115
  * Assert that a string can be used as a Svedit path segment.
158
- *
159
- * @param {string} segment
160
- * @param {string} [label]
161
- * @returns {void}
162
116
  */
163
- export function assert_path_string_segment(segment: string, label?: string): void;
117
+ export declare function assert_path_string_segment(segment: string, label?: string): void;
164
118
  /**
165
119
  * Serialize a document path while preserving whether each segment is a
166
120
  * property/key string or an array index number.
@@ -168,42 +122,72 @@ export function assert_path_string_segment(segment: string, label?: string): voi
168
122
  * The result is reversible and safe to use as a data attribute value, HTML id,
169
123
  * or CSS anchor-name suffix.
170
124
  *
171
- * @param {Array<string | number>} path
172
- * @returns {string}
173
- *
174
125
  * @example
175
126
  * serialize_path(['page_1', 'body', 0, 'items']) // Returns: 'page_1__body__0__items'
176
127
  */
177
- export function serialize_path(path: Array<string | number>): string;
128
+ export declare function serialize_path(path: DocumentPath): string;
178
129
  /**
179
130
  * Deserialize a path string produced by serialize_path.
180
131
  *
181
- * @param {string} serialized_path
182
- * @returns {Array<string | number>}
183
- *
184
132
  * @example
185
133
  * deserialize_path('page_1__body__0__items') // Returns: ['page_1', 'body', 0, 'items']
186
134
  */
187
- export function deserialize_path(serialized_path: string): Array<string | number>;
135
+ export declare function deserialize_path(serialized_path: string): DocumentPath;
188
136
  /**
189
137
  * Compare two document paths segment-by-segment, preserving segment types.
138
+ */
139
+ export declare function paths_equal(a: DocumentPath, b: DocumentPath): boolean;
140
+ /**
141
+ * Like traverse, but returns only node ids in depth-first order and never
142
+ * clones nodes. Use this when only the reachable id set is needed (e.g.
143
+ * reference bookkeeping) — traverse() deep-clones every visited node,
144
+ * which is wasteful for id-only consumers.
190
145
  *
191
- * @param {Array<string | number>} a
192
- * @param {Array<string | number>} b
193
- * @returns {boolean}
146
+ * @returns Node ids in depth-first order (entry point last)
194
147
  */
195
- export function paths_equal(a: Array<string | number>, b: Array<string | number>): boolean;
196
- export function traverse(node_id: any, schema: any, nodes: any): any[];
148
+ export declare function traverse_ids(node_id: string, schema: DocumentSchema, nodes: Record<string, DocumentNode>): string[];
149
+ export declare function traverse(node_id: string, schema: DocumentSchema, nodes: Record<string, DocumentNode>): DocumentNode[];
197
150
  /**
198
151
  * Extracts the normalized range from a text or node selection.
199
152
  * Returns start and end offsets in document order (start <= end), regardless of selection direction.
200
- * @param {Selection} [selection] - The selection to extract the range from
201
- * @returns {SelectionRange | null} The normalized selection range, or null if selection is null, undefined, or a property selection
202
- */
203
- export function get_selection_range(selection?: Selection): SelectionRange | null;
204
- export function is_selection_collapsed(selection: any): boolean;
205
- export const PATH_SEPARATOR: "__";
206
- import type { AnnotatedText } from './types.d.ts';
207
- import type { Selection } from './types.d.ts';
208
- import type { SelectionRange } from './types.d.ts';
153
+ * Returns null if selection is null, undefined, or a property selection.
154
+ */
155
+ export declare function get_selection_range(selection?: Selection | null): SelectionRange | null;
156
+ export declare function is_selection_collapsed(selection?: Selection | null): boolean;
157
+ /**
158
+ * Adjust ranges (marks or annotations) after deleting a sequence range.
159
+ *
160
+ * Works for both text values (character offsets) and node arrays
161
+ * (node offsets).
162
+ */
163
+ export declare function adjust_ranges_for_deletion(ranges: Array<Attachment>, start: number, end: number): {
164
+ ranges: Array<Attachment>;
165
+ removed_node_ids: string[];
166
+ };
167
+ /**
168
+ * Adjust ranges (marks or annotations) after inserting into a sequence.
169
+ *
170
+ * Insertion inside a range extends it. Insertion exactly at either edge
171
+ * stays outside the range.
172
+ */
173
+ export declare function adjust_ranges_for_insertion(ranges: Array<Attachment>, offset: number, length: number): Array<Attachment>;
174
+ /**
175
+ * Check whether ranges are non-empty and mutually exclusive.
176
+ */
177
+ export declare function are_ranges_exclusive(ranges: Array<Attachment>, length?: number): boolean;
178
+ /**
179
+ * A fragment range calculated from a sequence length, marks, and an optional
180
+ * selection highlight range.
181
+ */
182
+ export type FragmentRange = {
183
+ type: 'content' | 'mark' | 'selection_highlight';
184
+ start_offset: number;
185
+ end_offset: number;
186
+ mark_index?: number;
187
+ node_id?: string;
188
+ };
189
+ /**
190
+ * Calculates abstract fragment ranges from a length and marks.
191
+ */
192
+ export declare function calculate_fragment_ranges(length: number, marks: Array<Mark>, selection_highlight_range?: SelectionRange | null): Array<FragmentRange>;
209
193
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.js"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,8CAFa,OAAO,CAanB;AAED;;;;;;;GAOG;AACH,qCAFa,OAAO,CASnB;AAGD;;;GAGG;AACH,6CAFa,OAAO,CAUnB;AAED;;;;;;;;;;;;;GAaG;AACH,qCARW,MAAM,GACJ,MAAM,CASlB;AAGD;;;;;;;;;;;;;;GAcG;AACH,iCATW,MAAM,SACN,MAAM,GACJ,MAAM,CAUlB;AAED;;;;;;;;;;;;;;GAcG;AACH,gCATW,MAAM,SACN,MAAM,QACN,MAAM,GACJ,MAAM,CAYlB;AAED;;;;;;;;;;;;;GAaG;AACH,0CARW,MAAM,gBACN,MAAM,GACJ,MAAM,CAmBlB;AAED;;;;;;;;;;;;;GAaG;AACH,0CARW,MAAM,eACN,MAAM,GACJ,MAAM,CAelB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,4DAZW,aAAa,eACb,MAAM,GACJ,CAAC,aAAa,EAAE,aAAa,CAAC,CA6C1C;AAED;;;;;;;;;;;;;GAaG;AACH,gDARW,aAAa,eACb,aAAa,GACX,aAAa,CA4CzB;AAED;;;;;;;;GAQG;AACH,qCANW,MAAM,GACJ,MAAM,CAUlB;AAMD;;;;;;;;;GASG;AACH,sDAHW,MAAM,GACJ,OAAO,CAQnB;AAED;;;;;;GAMG;AACH,oDAJW,MAAM,UACN,MAAM,GACJ,IAAI,CAQhB;AAED;;;;;;;;;;;;GAYG;AACH,qCANW,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GACpB,MAAM,CAmBlB;AAED;;;;;;;;GAQG;AACH,kDANW,MAAM,GACJ,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAuBlC;AAED;;;;;;GAMG;AACH,+BAJW,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KACtB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GACpB,OAAO,CAKnB;AAED,uEAgCC;AAED;;;;;GAKG;AACH,gDAHW,SAAS,GACP,cAAc,GAAG,IAAI,CAWjC;AAED,gEAMC;AApKD,6BAA8B,IAAI,CAAC;mCA3SsC,cAAc;+BAAd,cAAc;oCAAd,cAAc"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"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"}