@maildeno/editor 0.1.4 → 0.4.2

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 (169) hide show
  1. package/CHANGELOG.md +258 -0
  2. package/README.md +397 -381
  3. package/dist/RowPreviewChildren-DT0y0lKC.js +4 -0
  4. package/dist/RowPreviewChildren-OsbF7_vu.js +4 -0
  5. package/dist/RowPreviewLegacyComponent-BV4b5bHQ.js +487 -0
  6. package/dist/RowPreviewLegacyComponent-C08MGJVT.js +487 -0
  7. package/dist/RowPreviewRow-ByxeBYV8.js +112 -0
  8. package/dist/RowPreviewRow-N-hh5l_H.js +112 -0
  9. package/dist/adapters/errors.d.ts +59 -0
  10. package/dist/adapters/index.d.ts +31 -0
  11. package/dist/adapters/types.d.ts +68 -0
  12. package/dist/brand.d.ts +15 -0
  13. package/dist/components/DesktopOnlyNotice.vue.d.ts +20 -0
  14. package/dist/components/features/emailBuilder/EmailEditor.vue.d.ts +182 -0
  15. package/dist/components/features/emailBuilder/assistant/AssistantPanel.vue.d.ts +37 -0
  16. package/dist/components/features/emailBuilder/blocks/AnchorBlock.vue.d.ts +3 -0
  17. package/dist/components/features/emailBuilder/blocks/ButtonBlock.vue.d.ts +3 -0
  18. package/dist/components/features/emailBuilder/blocks/DividerBlock.vue.d.ts +3 -0
  19. package/dist/components/features/emailBuilder/blocks/HeadingBlock.vue.d.ts +3 -0
  20. package/dist/components/features/emailBuilder/blocks/ImageBlock.vue.d.ts +3 -0
  21. package/dist/components/features/emailBuilder/blocks/ListBlock.vue.d.ts +3 -0
  22. package/dist/components/features/emailBuilder/blocks/MenuBlock.vue.d.ts +3 -0
  23. package/dist/components/features/emailBuilder/blocks/ParagraphBlock.vue.d.ts +3 -0
  24. package/dist/components/features/emailBuilder/blocks/SocialsBlock.vue.d.ts +3 -0
  25. package/dist/components/features/emailBuilder/blocks/SpacerBlock.vue.d.ts +3 -0
  26. package/dist/components/features/emailBuilder/blocks/VideoBlock.vue.d.ts +3 -0
  27. package/dist/components/features/emailBuilder/canvas/Canvas.vue.d.ts +3 -0
  28. package/dist/components/features/emailBuilder/canvas/CanvasColumn.vue.d.ts +49 -0
  29. package/dist/components/features/emailBuilder/canvas/CanvasComponent.vue.d.ts +56 -0
  30. package/dist/components/features/emailBuilder/canvas/CanvasElement.vue.d.ts +21 -0
  31. package/dist/components/features/emailBuilder/canvas/CanvasRow.vue.d.ts +49 -0
  32. package/dist/components/features/emailBuilder/canvas/CanvasRowSpacer.vue.d.ts +40 -0
  33. package/dist/components/features/emailBuilder/health/HealthIndicator.vue.d.ts +3 -0
  34. package/dist/components/features/emailBuilder/layout/Header.vue.d.ts +54 -0
  35. package/dist/components/features/emailBuilder/layout/SendEmail.vue.d.ts +21 -0
  36. package/dist/components/features/emailBuilder/layout/SidebarLeft.vue.d.ts +3 -0
  37. package/dist/components/features/emailBuilder/layout/SidebarRight.vue.d.ts +3 -0
  38. package/dist/components/features/emailBuilder/panels/AnchorPanel.vue.d.ts +3 -0
  39. package/dist/components/features/emailBuilder/panels/ButtonPanel.vue.d.ts +3 -0
  40. package/dist/components/features/emailBuilder/panels/DividerPanel.vue.d.ts +3 -0
  41. package/dist/components/features/emailBuilder/panels/HeadingPanel.vue.d.ts +3 -0
  42. package/dist/components/features/emailBuilder/panels/ImagePanel.vue.d.ts +3 -0
  43. package/dist/components/features/emailBuilder/panels/ListPanel.vue.d.ts +3 -0
  44. package/dist/components/features/emailBuilder/panels/MenuPanel.vue.d.ts +3 -0
  45. package/dist/components/features/emailBuilder/panels/ParagraphPanel.vue.d.ts +3 -0
  46. package/dist/components/features/emailBuilder/panels/RowColumnPanel.vue.d.ts +13 -0
  47. package/dist/components/features/emailBuilder/panels/RowPanel.vue.d.ts +13 -0
  48. package/dist/components/features/emailBuilder/panels/RowSpacerPanel.vue.d.ts +13 -0
  49. package/dist/components/features/emailBuilder/panels/SocialsPanel.vue.d.ts +3 -0
  50. package/dist/components/features/emailBuilder/panels/SpacerPanel.vue.d.ts +3 -0
  51. package/dist/components/features/emailBuilder/panels/VideoPanel.vue.d.ts +3 -0
  52. package/dist/components/features/emailBuilder/panels/shared/DeviceTabs.vue.d.ts +19 -0
  53. package/dist/components/features/emailBuilder/panels/shared/LinkFieldMergeTags.vue.d.ts +31 -0
  54. package/dist/components/features/emailBuilder/panels/shared/OverrideBadge.vue.d.ts +9 -0
  55. package/dist/components/features/emailBuilder/panels/shared/PreviewBadge.vue.d.ts +11 -0
  56. package/dist/components/features/emailBuilder/panels/shared/TextFieldMergeTags.vue.d.ts +25 -0
  57. package/dist/components/features/emailBuilder/panels/ui/BoxStylingSection.vue.d.ts +7 -0
  58. package/dist/components/features/emailBuilder/panels/ui/PropertyAlignment.vue.d.ts +30 -0
  59. package/dist/components/features/emailBuilder/panels/ui/PropertyColor.vue.d.ts +75 -0
  60. package/dist/components/features/emailBuilder/panels/ui/PropertyGradientColor.vue.d.ts +27 -0
  61. package/dist/components/features/emailBuilder/panels/ui/PropertyNumberSlider.vue.d.ts +74 -0
  62. package/dist/components/features/emailBuilder/panels/ui/PropertySection.vue.d.ts +17 -0
  63. package/dist/components/features/emailBuilder/panels/ui/PropertySelect.vue.d.ts +74 -0
  64. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStyle.vue.d.ts +52 -0
  65. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStylePanel.vue.d.ts +72 -0
  66. package/dist/components/features/emailBuilder/panels/ui/PropertyToggle.vue.d.ts +45 -0
  67. package/dist/components/features/emailBuilder/panels/ui/PropertyVisibility.vue.d.ts +32 -0
  68. package/dist/components/features/emailBuilder/panels/ui/SpacingControl.vue.d.ts +19 -0
  69. package/dist/components/features/emailBuilder/panels/ui/color-picker/AlphaSlider.vue.d.ts +28 -0
  70. package/dist/components/features/emailBuilder/panels/ui/color-picker/ColorPickerPanel.vue.d.ts +31 -0
  71. package/dist/components/features/emailBuilder/panels/ui/color-picker/HueSlider.vue.d.ts +19 -0
  72. package/dist/components/features/emailBuilder/panels/ui/color-picker/RecentColors.vue.d.ts +20 -0
  73. package/dist/components/features/emailBuilder/panels/ui/color-picker/SVPanel.vue.d.ts +39 -0
  74. package/dist/components/features/emailBuilder/panels/ui/visibility-rule/Rule.vue.d.ts +28 -0
  75. package/dist/components/features/emailBuilder/preview/PreviewScreen.vue.d.ts +7 -0
  76. package/dist/components/features/emailBuilder/preview/ui/PreviewCanvas.vue.d.ts +10 -0
  77. package/dist/components/features/emailBuilder/preview/ui/PreviewCapabilityBadges.vue.d.ts +12 -0
  78. package/dist/components/features/emailBuilder/preview/ui/PreviewClientCard.vue.d.ts +20 -0
  79. package/dist/components/features/emailBuilder/preview/ui/PreviewClientList.vue.d.ts +21 -0
  80. package/dist/components/features/emailBuilder/preview/ui/PreviewClientPicker.vue.d.ts +16 -0
  81. package/dist/components/features/emailBuilder/preview/ui/PreviewComponent.vue.d.ts +10 -0
  82. package/dist/components/features/emailBuilder/preview/ui/PreviewDetailView.vue.d.ts +41 -0
  83. package/dist/components/features/emailBuilder/preview/ui/PreviewRendered.vue.d.ts +8 -0
  84. package/dist/components/features/emailBuilder/product/RowPreview.vue.d.ts +8 -0
  85. package/dist/components/features/emailBuilder/product/RowPreviewChildren.vue.d.ts +14 -0
  86. package/dist/components/features/emailBuilder/product/RowPreviewLegacyComponent.vue.d.ts +14 -0
  87. package/dist/components/features/emailBuilder/product/RowPreviewRow.vue.d.ts +9 -0
  88. package/dist/components/features/emailBuilder/product/SavedRowsPanel.vue.d.ts +3 -0
  89. package/dist/components/features/emailBuilder/product/SavedTemplatesPanel.vue.d.ts +13 -0
  90. package/dist/components/features/emailBuilder/product/VersionHistoryPanel.vue.d.ts +14 -0
  91. package/dist/components/features/emailBuilder/sidebar/SidebarBlockButton.vue.d.ts +35 -0
  92. package/dist/components/features/emailBuilder/tabs/GeneralTab.vue.d.ts +3 -0
  93. package/dist/components/features/emailBuilder/tabs/LayoutTab.vue.d.ts +3 -0
  94. package/dist/components/features/emailBuilder/tabs/content/ContentTab.vue.d.ts +3 -0
  95. package/dist/components/features/emailBuilder/tabs/content/LayersPanel.vue.d.ts +7 -0
  96. package/dist/components/features/emailBuilder/tabs/general/MergeTagsTab.vue.d.ts +3 -0
  97. package/dist/components/features/emailBuilder/tabs/general/StylesTab.vue.d.ts +3 -0
  98. package/dist/components/features/emailBuilder/tabs/general/VisibilityTab.vue.d.ts +3 -0
  99. package/dist/components/features/emailBuilder/tabs/general/VisibilityWrapESPTab.vue.d.ts +3 -0
  100. package/dist/components/features/emailBuilder/tabs/general/merge-tags/LinkTagTab.vue.d.ts +3 -0
  101. package/dist/components/features/emailBuilder/tabs/general/merge-tags/MergeTagTab.vue.d.ts +3 -0
  102. package/dist/components/features/emailBuilder/ui/LinkInputDialog.vue.d.ts +17 -0
  103. package/dist/components/features/emailBuilder/ui/canvas/CanvasRowDropZone.vue.d.ts +12 -0
  104. package/dist/components/features/emailBuilder/ui/canvas/DropZone.vue.d.ts +10 -0
  105. package/dist/components/features/emailBuilder/ui/canvas/Loader.vue.d.ts +19 -0
  106. package/dist/components/features/emailBuilder/ui/layers-panel/ComponentIcon.vue.d.ts +7 -0
  107. package/dist/components/features/emailBuilder/ui/layers-panel/LayerColumnChildren.vue.d.ts +42 -0
  108. package/dist/components/features/emailBuilder/ui/layers-panel/LayerDropLine.vue.d.ts +8 -0
  109. package/dist/components/features/emailBuilder/ui/renderers/AnchorRenderer.vue.d.ts +10 -0
  110. package/dist/components/features/emailBuilder/ui/renderers/DividerRenderer.vue.d.ts +10 -0
  111. package/dist/components/features/emailBuilder/ui/renderers/HeadingRenderer.vue.d.ts +10 -0
  112. package/dist/components/features/emailBuilder/ui/renderers/ImageRenderer.vue.d.ts +10 -0
  113. package/dist/components/features/emailBuilder/ui/renderers/ListRenderer.vue.d.ts +10 -0
  114. package/dist/components/features/emailBuilder/ui/renderers/MenuRenderer.vue.d.ts +10 -0
  115. package/dist/components/features/emailBuilder/ui/renderers/ParagraphRenderer.vue.d.ts +10 -0
  116. package/dist/components/features/emailBuilder/ui/renderers/SocialsRenderer.vue.d.ts +10 -0
  117. package/dist/components/features/emailBuilder/ui/renderers/SpacerRenderer.vue.d.ts +10 -0
  118. package/dist/components/features/emailBuilder/ui/renderers/VideoRenderer.vue.d.ts +10 -0
  119. package/dist/components/features/emailBuilder/ui/rich-text-editor/RichTextEditor.vue.d.ts +12 -0
  120. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/MergeTagPicker.vue.d.ts +18 -0
  121. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/RichTextColorPicker.vue.d.ts +15 -0
  122. package/dist/components/features/emailBuilder/ui/visibility/SupportBadge.vue.d.ts +10 -0
  123. package/dist/components/features/emailBuilder/ui/visibility/VisibilityPopover.vue.d.ts +45 -0
  124. package/dist/components/ui/ConfirmDialog.vue.d.ts +3 -0
  125. package/dist/components/ui/Icon.vue.d.ts +33 -0
  126. package/dist/components/ui/InfoDialog.vue.d.ts +12 -0
  127. package/dist/components/ui/Loading.vue.d.ts +6 -0
  128. package/dist/components/ui/ShadowSafeToast.vue.d.ts +3 -0
  129. package/dist/components/ui/primitives/Button.vue.d.ts +23 -0
  130. package/dist/components/ui/primitives/DatePicker.vue.d.ts +16 -0
  131. package/dist/components/ui/primitives/Dialog.vue.d.ts +34 -0
  132. package/dist/components/ui/primitives/InputText.vue.d.ts +29 -0
  133. package/dist/components/ui/primitives/Message.vue.d.ts +20 -0
  134. package/dist/components/ui/primitives/Select.vue.d.ts +22 -0
  135. package/dist/composables/emailBuilder/components/useSystemRows.d.ts +22 -0
  136. package/dist/composables/emailBuilder/core/ui/useLayerHoverScroll.d.ts +10 -10
  137. package/dist/composables/emailBuilder/core/useEmailBuilder.d.ts +18 -0
  138. package/dist/composables/emailBuilder/export/logic/espLogicWrapper.d.ts +4 -4
  139. package/dist/composables/emailBuilder/export/targets/templateSnapshot.d.ts +24 -0
  140. package/dist/composables/emailBuilder/persistence/useEmailBuilderPersistence.d.ts +1 -1
  141. package/dist/composables/system/useColorScheme.d.ts +16 -0
  142. package/dist/editor.css +1061 -676
  143. package/dist/element-C2ZH0Z_i.js +86561 -0
  144. package/dist/element-scoped-styles.css +1061 -676
  145. package/dist/element.d.ts +1 -1
  146. package/dist/element.js +5 -2
  147. package/dist/estree-DBJlF9un.js +4876 -0
  148. package/dist/html-3PMDtB0V.js +3123 -0
  149. package/dist/index-DhFg3uKs.js +75864 -0
  150. package/dist/index.d.ts +4 -2
  151. package/dist/index.js +16 -67053
  152. package/dist/init.d.ts +95 -2
  153. package/dist/init.js +166 -122
  154. package/dist/standalone-DKWMQftY.js +2391 -0
  155. package/dist/theme.d.ts +68 -17
  156. package/dist/types/assistant.d.ts +56 -0
  157. package/dist/typescript-l6-4tT8s.js +13240 -0
  158. package/package.json +6 -3
  159. package/dist/RowPreviewLegacyComponent-CXsY4P-R.js +0 -439
  160. package/dist/RowPreviewLegacyComponent-yjHSkZLz.js +0 -439
  161. package/dist/RowPreviewRow-CeowK6Q_.js +0 -107
  162. package/dist/RowPreviewRow-D-wmhbhZ.js +0 -107
  163. package/dist/composables/emailBuilder/transform/pipeline/optimizeAI.d.ts +0 -125
  164. package/dist/element-CWjNN0lY.js +0 -67099
  165. package/dist/estree-B67dfAo1.js +0 -7989
  166. package/dist/html-DGrfikay.js +0 -7353
  167. package/dist/standalone-Bd2oQFm3.js +0 -3639
  168. package/dist/typescript-C_Ru9PRN.js +0 -23184
  169. package/dist/vue.runtime.esm-bundler-CfYyFhW6.js +0 -9097
@@ -1,3639 +0,0 @@
1
- //#region ../../node_modules/prettier/standalone.mjs
2
- var Ru = Object.defineProperty;
3
- var yt = (t, e) => {
4
- for (var r in e) Ru(t, r, {
5
- get: e[r],
6
- enumerable: !0
7
- });
8
- };
9
- var Su = {};
10
- yt(Su, {
11
- __debug: () => $i,
12
- check: () => Vi,
13
- doc: () => ar,
14
- format: () => Pu,
15
- formatWithCursor: () => Ou,
16
- getSupportInfo: () => Wi,
17
- util: () => fr,
18
- version: () => gu
19
- });
20
- var X = (t, e) => (r, n, ...u) => r | 1 && n == null ? void 0 : (e.call(n) ?? n[t]).apply(n, u);
21
- var vu = String.prototype.replaceAll ?? function(t, e) {
22
- return t.global ? this.replace(t, e) : this.split(t).join(e);
23
- };
24
- var ne = X("replaceAll", function() {
25
- if (typeof this == "string") return vu;
26
- });
27
- var Ne = class {
28
- diff(e, r, n = {}) {
29
- let u;
30
- typeof n == "function" ? (u = n, n = {}) : "callback" in n && (u = n.callback);
31
- let o = this.castInput(e, n), i = this.castInput(r, n), D = this.removeEmpty(this.tokenize(o, n)), s = this.removeEmpty(this.tokenize(i, n));
32
- return this.diffWithOptionsObj(D, s, n, u);
33
- }
34
- diffWithOptionsObj(e, r, n, u) {
35
- var o;
36
- let i = (C) => {
37
- if (C = this.postProcess(C, n), u) {
38
- setTimeout(function() {
39
- u(C);
40
- }, 0);
41
- return;
42
- } else return C;
43
- }, D = r.length, s = e.length, a = 1, c = D + s;
44
- n.maxEditLength != null && (c = Math.min(c, n.maxEditLength));
45
- let p = (o = n.timeout) !== null && o !== void 0 ? o : 1 / 0, l = Date.now() + p, m = [{
46
- oldPos: -1,
47
- lastComponent: void 0
48
- }], f = this.extractCommon(m[0], r, e, 0, n);
49
- if (m[0].oldPos + 1 >= s && f + 1 >= D) return i(this.buildValues(m[0].lastComponent, r, e));
50
- let F = -1 / 0, d = 1 / 0, E = () => {
51
- for (let C = Math.max(F, -a); C <= Math.min(d, a); C += 2) {
52
- let h, _ = m[C - 1], P = m[C + 1];
53
- _ && (m[C - 1] = void 0);
54
- let A = !1;
55
- if (P) {
56
- let J = P.oldPos - C;
57
- A = P && 0 <= J && J < D;
58
- }
59
- let B = _ && _.oldPos + 1 < s;
60
- if (!A && !B) {
61
- m[C] = void 0;
62
- continue;
63
- }
64
- if (!B || A && _.oldPos < P.oldPos ? h = this.addToPath(P, !0, !1, 0, n) : h = this.addToPath(_, !1, !0, 1, n), f = this.extractCommon(h, r, e, C, n), h.oldPos + 1 >= s && f + 1 >= D) return i(this.buildValues(h.lastComponent, r, e)) || !0;
65
- m[C] = h, h.oldPos + 1 >= s && (d = Math.min(d, C - 1)), f + 1 >= D && (F = Math.max(F, C + 1));
66
- }
67
- a++;
68
- };
69
- if (u) (function C() {
70
- setTimeout(function() {
71
- if (a > c || Date.now() > l) return u(void 0);
72
- E() || C();
73
- }, 0);
74
- })();
75
- else for (; a <= c && Date.now() <= l;) {
76
- let C = E();
77
- if (C) return C;
78
- }
79
- }
80
- addToPath(e, r, n, u, o) {
81
- let i = e.lastComponent;
82
- return i && !o.oneChangePerToken && i.added === r && i.removed === n ? {
83
- oldPos: e.oldPos + u,
84
- lastComponent: {
85
- count: i.count + 1,
86
- added: r,
87
- removed: n,
88
- previousComponent: i.previousComponent
89
- }
90
- } : {
91
- oldPos: e.oldPos + u,
92
- lastComponent: {
93
- count: 1,
94
- added: r,
95
- removed: n,
96
- previousComponent: i
97
- }
98
- };
99
- }
100
- extractCommon(e, r, n, u, o) {
101
- let i = r.length, D = n.length, s = e.oldPos, a = s - u, c = 0;
102
- for (; a + 1 < i && s + 1 < D && this.equals(n[s + 1], r[a + 1], o);) a++, s++, c++, o.oneChangePerToken && (e.lastComponent = {
103
- count: 1,
104
- previousComponent: e.lastComponent,
105
- added: !1,
106
- removed: !1
107
- });
108
- return c && !o.oneChangePerToken && (e.lastComponent = {
109
- count: c,
110
- previousComponent: e.lastComponent,
111
- added: !1,
112
- removed: !1
113
- }), e.oldPos = s, a;
114
- }
115
- equals(e, r, n) {
116
- return n.comparator ? n.comparator(e, r) : e === r || !!n.ignoreCase && e.toLowerCase() === r.toLowerCase();
117
- }
118
- removeEmpty(e) {
119
- let r = [];
120
- for (let n = 0; n < e.length; n++) e[n] && r.push(e[n]);
121
- return r;
122
- }
123
- castInput(e, r) {
124
- return e;
125
- }
126
- tokenize(e, r) {
127
- return Array.from(e);
128
- }
129
- join(e) {
130
- return e.join("");
131
- }
132
- postProcess(e, r) {
133
- return e;
134
- }
135
- get useLongestToken() {
136
- return !1;
137
- }
138
- buildValues(e, r, n) {
139
- let u = [], o;
140
- for (; e;) u.push(e), o = e.previousComponent, delete e.previousComponent, e = o;
141
- u.reverse();
142
- let i = u.length, D = 0, s = 0, a = 0;
143
- for (; D < i; D++) {
144
- let c = u[D];
145
- if (c.removed) c.value = this.join(n.slice(a, a + c.count)), a += c.count;
146
- else {
147
- if (!c.added && this.useLongestToken) {
148
- let p = r.slice(s, s + c.count);
149
- p = p.map(function(l, m) {
150
- let f = n[a + m];
151
- return f.length > l.length ? f : l;
152
- }), c.value = this.join(p);
153
- } else c.value = this.join(r.slice(s, s + c.count));
154
- s += c.count, c.added || (a += c.count);
155
- }
156
- }
157
- return u;
158
- }
159
- };
160
- var At = class extends Ne {
161
- tokenize(e) {
162
- return e.slice();
163
- }
164
- join(e) {
165
- return e;
166
- }
167
- removeEmpty(e) {
168
- return e;
169
- }
170
- };
171
- var pr = new At();
172
- function xt(t, e, r) {
173
- return pr.diff(t, e, r);
174
- }
175
- var Mu = () => {};
176
- var k = Mu;
177
- var dr = "cr";
178
- var Fr = "crlf";
179
- var ju = "lf";
180
- var Bt = "\r";
181
- var Er = `\r
182
- `;
183
- var ze = `
184
- `;
185
- var Uu = ze;
186
- function Cr(t) {
187
- let e = t.indexOf(Bt);
188
- return e !== -1 ? t.charAt(e + 1) === ze ? Fr : dr : ju;
189
- }
190
- function we(t) {
191
- return t === dr ? Bt : t === Fr ? Er : Uu;
192
- }
193
- var Vu = /* @__PURE__ */ new Map([
194
- [ze, /\n/g],
195
- [Bt, /\r/g],
196
- [Er, /\r\n/g]
197
- ]);
198
- function Tt(t, e) {
199
- let r = Vu.get(e);
200
- return t.match(r)?.length ?? 0;
201
- }
202
- var Wu = /\r\n?/g;
203
- function hr(t) {
204
- return ne(0, t, Wu, ze);
205
- }
206
- var ue = Symbol.for("comments");
207
- function $u(t) {
208
- return this[t < 0 ? this.length + t : t];
209
- }
210
- var y = X("at", function() {
211
- if (Array.isArray(this) || typeof this == "string") return $u;
212
- });
213
- var G = "string";
214
- var U = "array";
215
- var V = "cursor";
216
- var I = "indent";
217
- var R = "align";
218
- var v = "trim";
219
- var x = "group";
220
- var S = "fill";
221
- var T = "if-break";
222
- var L = "indent-if-break";
223
- var M = "line-suffix";
224
- var Y = "line-suffix-boundary";
225
- var g = "line";
226
- var b = "label";
227
- var N = "break-parent";
228
- var Ge = /* @__PURE__ */ new Set([
229
- V,
230
- I,
231
- R,
232
- v,
233
- x,
234
- S,
235
- T,
236
- L,
237
- M,
238
- Y,
239
- g,
240
- b,
241
- N
242
- ]);
243
- function gr(t) {
244
- let e = t.length;
245
- for (; e > 0 && (t[e - 1] === "\r" || t[e - 1] === `
246
- `);) e--;
247
- return e < t.length ? t.slice(0, e) : t;
248
- }
249
- function Fe(t, e, r) {
250
- if (!t.has(e)) {
251
- let n = r(e);
252
- t.set(e, n);
253
- }
254
- return t.get(e);
255
- }
256
- function Gu(t) {
257
- if (typeof t == "string") return G;
258
- if (Array.isArray(t)) return U;
259
- if (!t) return;
260
- let { type: e } = t;
261
- if (Ge.has(e)) return e;
262
- }
263
- var q = Gu;
264
- var Ku = (t) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(t);
265
- function Hu(t) {
266
- let e = t === null ? "null" : typeof t;
267
- if (e !== "string" && e !== "object") return `Unexpected doc '${e}',
268
- Expected it to be 'string' or 'object'.`;
269
- if (q(t)) throw new Error("doc is valid.");
270
- let r = Object.prototype.toString.call(t);
271
- if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
272
- let n = Ku([...Ge].map((u) => `'${u}'`));
273
- return `Unexpected doc.type '${t.type}'.
274
- Expected it to be ${n}.`;
275
- }
276
- var Nt = class extends Error {
277
- name = "InvalidDocError";
278
- constructor(e) {
279
- super(Hu(e)), this.doc = e;
280
- }
281
- };
282
- var Z = Nt;
283
- var _r = {};
284
- function Ju(t, e, r, n) {
285
- let u = [t];
286
- for (; u.length > 0;) {
287
- let o = u.pop();
288
- if (o === _r) {
289
- r(u.pop());
290
- continue;
291
- }
292
- r && u.push(o, _r);
293
- let i = q(o);
294
- if (!i) throw new Z(o);
295
- if (e?.(o) !== !1) switch (i) {
296
- case U:
297
- case S: {
298
- let D = i === U ? o : o.parts;
299
- for (let a = D.length - 1; a >= 0; --a) u.push(D[a]);
300
- break;
301
- }
302
- case T:
303
- u.push(o.flatContents, o.breakContents);
304
- break;
305
- case x:
306
- if (n && o.expandedStates) for (let D = o.expandedStates.length, s = D - 1; s >= 0; --s) u.push(o.expandedStates[s]);
307
- else u.push(o.contents);
308
- break;
309
- case R:
310
- case I:
311
- case L:
312
- case b:
313
- case M:
314
- u.push(o.contents);
315
- break;
316
- case G:
317
- case V:
318
- case v:
319
- case Y:
320
- case g:
321
- case N: break;
322
- default: throw new Z(o);
323
- }
324
- }
325
- }
326
- var Oe = Ju;
327
- function Se(t, e) {
328
- if (typeof t == "string") return e(t);
329
- let r = /* @__PURE__ */ new Map();
330
- return n(t);
331
- function n(o) {
332
- return Fe(r, o, u);
333
- }
334
- function u(o) {
335
- switch (q(o)) {
336
- case U: return e(o.map(n));
337
- case S: return e({
338
- ...o,
339
- parts: o.parts.map(n)
340
- });
341
- case T: return e({
342
- ...o,
343
- breakContents: n(o.breakContents),
344
- flatContents: n(o.flatContents)
345
- });
346
- case x: {
347
- let { expandedStates: i, contents: D } = o;
348
- return i ? (i = i.map(n), D = i[0]) : D = n(D), e({
349
- ...o,
350
- contents: D,
351
- expandedStates: i
352
- });
353
- }
354
- case R:
355
- case I:
356
- case L:
357
- case b:
358
- case M: return e({
359
- ...o,
360
- contents: n(o.contents)
361
- });
362
- case G:
363
- case V:
364
- case v:
365
- case Y:
366
- case g:
367
- case N: return e(o);
368
- default: throw new Z(o);
369
- }
370
- }
371
- }
372
- function Ke(t, e, r) {
373
- let n = r, u = !1;
374
- function o(i) {
375
- if (u) return !1;
376
- let D = e(i);
377
- D !== void 0 && (u = !0, n = D);
378
- }
379
- return Oe(t, o), n;
380
- }
381
- function qu(t) {
382
- if (t.type === x && t.break || t.type === g && t.hard || t.type === N) return !0;
383
- }
384
- function xr(t) {
385
- return Ke(t, qu, !1);
386
- }
387
- function yr(t) {
388
- if (t.length > 0) {
389
- let e = y(0, t, -1);
390
- !e.expandedStates && !e.break && (e.break = "propagated");
391
- }
392
- return null;
393
- }
394
- function Br(t) {
395
- let e = /* @__PURE__ */ new Set(), r = [];
396
- function n(o) {
397
- if (o.type === N && yr(r), o.type === x) {
398
- if (r.push(o), e.has(o)) return !1;
399
- e.add(o);
400
- }
401
- }
402
- function u(o) {
403
- o.type === x && r.pop().break && yr(r);
404
- }
405
- Oe(t, n, u, !0);
406
- }
407
- function Xu(t) {
408
- return t.type === g && !t.hard ? t.soft ? "" : " " : t.type === T ? t.flatContents : t;
409
- }
410
- function Tr(t) {
411
- return Se(t, Xu);
412
- }
413
- function Ar(t) {
414
- for (t = [...t]; t.length >= 2 && y(0, t, -2).type === g && y(0, t, -1).type === N;) t.length -= 2;
415
- if (t.length > 0) {
416
- let e = Pe(y(0, t, -1));
417
- t[t.length - 1] = e;
418
- }
419
- return t;
420
- }
421
- function Pe(t) {
422
- switch (q(t)) {
423
- case I:
424
- case L:
425
- case x:
426
- case M:
427
- case b: {
428
- let e = Pe(t.contents);
429
- return {
430
- ...t,
431
- contents: e
432
- };
433
- }
434
- case T: return {
435
- ...t,
436
- breakContents: Pe(t.breakContents),
437
- flatContents: Pe(t.flatContents)
438
- };
439
- case S: return {
440
- ...t,
441
- parts: Ar(t.parts)
442
- };
443
- case U: return Ar(t);
444
- case G: return gr(t);
445
- case R:
446
- case V:
447
- case v:
448
- case Y:
449
- case g:
450
- case N: break;
451
- default: throw new Z(t);
452
- }
453
- return t;
454
- }
455
- function He(t) {
456
- return Pe(Zu(t));
457
- }
458
- function Qu(t) {
459
- switch (q(t)) {
460
- case S: {
461
- let { parts: e } = t;
462
- if (e.every((r) => r === "")) return "";
463
- if (e.length === 1) return e[0];
464
- break;
465
- }
466
- case x:
467
- if (!t.contents && !t.id && !t.break && !t.expandedStates) return "";
468
- if (t.contents.type === x && t.contents.id === t.id && t.contents.break === t.break && t.contents.expandedStates === t.expandedStates) return t.contents;
469
- break;
470
- case R:
471
- case I:
472
- case L:
473
- case M:
474
- if (!t.contents) return "";
475
- break;
476
- case T:
477
- if (!t.flatContents && !t.breakContents) return "";
478
- break;
479
- case U: {
480
- let e = [];
481
- for (let r of t) {
482
- if (!r) continue;
483
- let [n, ...u] = Array.isArray(r) ? r : [r];
484
- typeof n == "string" && typeof y(0, e, -1) == "string" ? e[e.length - 1] += n : e.push(n), e.push(...u);
485
- }
486
- return e.length === 0 ? "" : e.length === 1 ? e[0] : e;
487
- }
488
- case G:
489
- case V:
490
- case v:
491
- case Y:
492
- case g:
493
- case b:
494
- case N: break;
495
- default: throw new Z(t);
496
- }
497
- return t;
498
- }
499
- function Zu(t) {
500
- return Se(t, (e) => Qu(e));
501
- }
502
- function Nr(t, e = Je) {
503
- return Se(t, (r) => typeof r == "string" ? be(e, r.split(`
504
- `)) : r);
505
- }
506
- function eo(t) {
507
- if (t.type === g) return !0;
508
- }
509
- function wr(t) {
510
- return Ke(t, eo, !1);
511
- }
512
- function Ee(t, e) {
513
- return t.type === b ? {
514
- ...t,
515
- contents: e(t.contents)
516
- } : e(t);
517
- }
518
- var w = k;
519
- var qe = k;
520
- var Or = k;
521
- var Pr = k;
522
- function oe(t) {
523
- return w(t), {
524
- type: I,
525
- contents: t
526
- };
527
- }
528
- function De(t, e) {
529
- return Pr(t), w(e), {
530
- type: R,
531
- contents: e,
532
- n: t
533
- };
534
- }
535
- function Sr(t) {
536
- return De(Number.NEGATIVE_INFINITY, t);
537
- }
538
- function Xe(t) {
539
- return De({ type: "root" }, t);
540
- }
541
- function br(t) {
542
- return De(-1, t);
543
- }
544
- function Qe(t, e, r) {
545
- w(t);
546
- let n = t;
547
- if (e > 0) {
548
- for (let u = 0; u < Math.floor(e / r); ++u) n = oe(n);
549
- n = De(e % r, n), n = De(Number.NEGATIVE_INFINITY, n);
550
- }
551
- return n;
552
- }
553
- var ae = { type: N };
554
- var ee = { type: V };
555
- function kr(t) {
556
- return Or(t), {
557
- type: S,
558
- parts: t
559
- };
560
- }
561
- function wt(t, e = {}) {
562
- return w(t), qe(e.expandedStates, !0), {
563
- type: x,
564
- id: e.id,
565
- contents: t,
566
- break: !!e.shouldBreak,
567
- expandedStates: e.expandedStates
568
- };
569
- }
570
- function Ir(t, e) {
571
- return wt(t[0], {
572
- ...e,
573
- expandedStates: t
574
- });
575
- }
576
- function Rr(t, e = "", r = {}) {
577
- return w(t), e !== "" && w(e), {
578
- type: T,
579
- breakContents: t,
580
- flatContents: e,
581
- groupId: r.groupId
582
- };
583
- }
584
- function vr(t, e) {
585
- return w(t), {
586
- type: L,
587
- contents: t,
588
- groupId: e.groupId,
589
- negate: e.negate
590
- };
591
- }
592
- function be(t, e) {
593
- w(t), qe(e);
594
- let r = [];
595
- for (let n = 0; n < e.length; n++) n !== 0 && r.push(t), r.push(e[n]);
596
- return r;
597
- }
598
- function Lr(t, e) {
599
- return w(e), t ? {
600
- type: b,
601
- label: t,
602
- contents: e
603
- } : e;
604
- }
605
- var Ze = { type: g };
606
- var Mr = {
607
- type: g,
608
- soft: !0
609
- };
610
- var ke = {
611
- type: g,
612
- hard: !0
613
- };
614
- var W = [ke, ae];
615
- var Ot = {
616
- type: g,
617
- hard: !0,
618
- literal: !0
619
- };
620
- var Je = [Ot, ae];
621
- function Ie(t) {
622
- return w(t), {
623
- type: M,
624
- contents: t
625
- };
626
- }
627
- var Yr = { type: Y };
628
- var jr = { type: v };
629
- function te(t) {
630
- if (!t) return "";
631
- if (Array.isArray(t)) {
632
- let e = [];
633
- for (let r of t) if (Array.isArray(r)) e.push(...te(r));
634
- else {
635
- let n = te(r);
636
- n !== "" && e.push(n);
637
- }
638
- return e;
639
- }
640
- return t.type === T ? {
641
- ...t,
642
- breakContents: te(t.breakContents),
643
- flatContents: te(t.flatContents)
644
- } : t.type === x ? {
645
- ...t,
646
- contents: te(t.contents),
647
- expandedStates: t.expandedStates?.map(te)
648
- } : t.type === S ? {
649
- type: "fill",
650
- parts: t.parts.map(te)
651
- } : t.contents ? {
652
- ...t,
653
- contents: te(t.contents)
654
- } : t;
655
- }
656
- function Ur(t) {
657
- let e = Object.create(null), r = /* @__PURE__ */ new Set();
658
- return n(te(t));
659
- function n(o, i, D) {
660
- if (typeof o == "string") return JSON.stringify(o);
661
- if (Array.isArray(o)) {
662
- let s = o.map(n).filter(Boolean);
663
- return s.length === 1 ? s[0] : `[${s.join(", ")}]`;
664
- }
665
- if (o.type === g) {
666
- let s = D?.[i + 1]?.type === N;
667
- return o.literal ? s ? "literalline" : "literallineWithoutBreakParent" : o.hard ? s ? "hardline" : "hardlineWithoutBreakParent" : o.soft ? "softline" : "line";
668
- }
669
- if (o.type === N) return D?.[i - 1]?.type === g && D[i - 1].hard ? void 0 : "breakParent";
670
- if (o.type === v) return "trim";
671
- if (o.type === I) return "indent(" + n(o.contents) + ")";
672
- if (o.type === R) return o.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + n(o.contents) + ")" : o.n < 0 ? "dedent(" + n(o.contents) + ")" : o.n.type === "root" ? "markAsRoot(" + n(o.contents) + ")" : "align(" + JSON.stringify(o.n) + ", " + n(o.contents) + ")";
673
- if (o.type === T) return "ifBreak(" + n(o.breakContents) + (o.flatContents ? ", " + n(o.flatContents) : "") + (o.groupId ? (o.flatContents ? "" : ", \"\"") + `, { groupId: ${u(o.groupId)} }` : "") + ")";
674
- if (o.type === L) {
675
- let s = [];
676
- o.negate && s.push("negate: true"), o.groupId && s.push(`groupId: ${u(o.groupId)}`);
677
- let a = s.length > 0 ? `, { ${s.join(", ")} }` : "";
678
- return `indentIfBreak(${n(o.contents)}${a})`;
679
- }
680
- if (o.type === x) {
681
- let s = [];
682
- o.break && o.break !== "propagated" && s.push("shouldBreak: true"), o.id && s.push(`id: ${u(o.id)}`);
683
- let a = s.length > 0 ? `, { ${s.join(", ")} }` : "";
684
- return o.expandedStates ? `conditionalGroup([${o.expandedStates.map((c) => n(c)).join(",")}]${a})` : `group(${n(o.contents)}${a})`;
685
- }
686
- if (o.type === S) return `fill([${o.parts.map((s) => n(s)).join(", ")}])`;
687
- if (o.type === M) return "lineSuffix(" + n(o.contents) + ")";
688
- if (o.type === Y) return "lineSuffixBoundary";
689
- if (o.type === b) return `label(${JSON.stringify(o.label)}, ${n(o.contents)})`;
690
- if (o.type === V) return "cursor";
691
- throw new Error("Unknown doc type " + o.type);
692
- }
693
- function u(o) {
694
- if (typeof o != "symbol") return JSON.stringify(String(o));
695
- if (o in e) return e[o];
696
- let i = o.description || "symbol";
697
- for (let D = 0;; D++) {
698
- let s = i + (D > 0 ? ` #${D}` : "");
699
- if (!r.has(s)) return r.add(s), e[o] = `Symbol.for(${JSON.stringify(s)})`;
700
- }
701
- }
702
- }
703
- var Vr = () => /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
704
- var Wr = 12288;
705
- var $r = 65510;
706
- var zr = [
707
- 12288,
708
- 12288,
709
- 65281,
710
- 65376,
711
- 65504,
712
- 65510
713
- ];
714
- var Gr = 4352;
715
- var Kr = 262141;
716
- var Pt = [
717
- 4352,
718
- 4447,
719
- 8986,
720
- 8987,
721
- 9001,
722
- 9002,
723
- 9193,
724
- 9196,
725
- 9200,
726
- 9200,
727
- 9203,
728
- 9203,
729
- 9725,
730
- 9726,
731
- 9748,
732
- 9749,
733
- 9776,
734
- 9783,
735
- 9800,
736
- 9811,
737
- 9855,
738
- 9855,
739
- 9866,
740
- 9871,
741
- 9875,
742
- 9875,
743
- 9889,
744
- 9889,
745
- 9898,
746
- 9899,
747
- 9917,
748
- 9918,
749
- 9924,
750
- 9925,
751
- 9934,
752
- 9934,
753
- 9940,
754
- 9940,
755
- 9962,
756
- 9962,
757
- 9970,
758
- 9971,
759
- 9973,
760
- 9973,
761
- 9978,
762
- 9978,
763
- 9981,
764
- 9981,
765
- 9989,
766
- 9989,
767
- 9994,
768
- 9995,
769
- 10024,
770
- 10024,
771
- 10060,
772
- 10060,
773
- 10062,
774
- 10062,
775
- 10067,
776
- 10069,
777
- 10071,
778
- 10071,
779
- 10133,
780
- 10135,
781
- 10160,
782
- 10160,
783
- 10175,
784
- 10175,
785
- 11035,
786
- 11036,
787
- 11088,
788
- 11088,
789
- 11093,
790
- 11093,
791
- 11904,
792
- 11929,
793
- 11931,
794
- 12019,
795
- 12032,
796
- 12245,
797
- 12272,
798
- 12287,
799
- 12289,
800
- 12350,
801
- 12353,
802
- 12438,
803
- 12441,
804
- 12543,
805
- 12549,
806
- 12591,
807
- 12593,
808
- 12686,
809
- 12688,
810
- 12773,
811
- 12783,
812
- 12830,
813
- 12832,
814
- 12871,
815
- 12880,
816
- 42124,
817
- 42128,
818
- 42182,
819
- 43360,
820
- 43388,
821
- 44032,
822
- 55203,
823
- 63744,
824
- 64255,
825
- 65040,
826
- 65049,
827
- 65072,
828
- 65106,
829
- 65108,
830
- 65126,
831
- 65128,
832
- 65131,
833
- 94176,
834
- 94180,
835
- 94192,
836
- 94198,
837
- 94208,
838
- 101589,
839
- 101631,
840
- 101662,
841
- 101760,
842
- 101874,
843
- 110576,
844
- 110579,
845
- 110581,
846
- 110587,
847
- 110589,
848
- 110590,
849
- 110592,
850
- 110882,
851
- 110898,
852
- 110898,
853
- 110928,
854
- 110930,
855
- 110933,
856
- 110933,
857
- 110948,
858
- 110951,
859
- 110960,
860
- 111355,
861
- 119552,
862
- 119638,
863
- 119648,
864
- 119670,
865
- 126980,
866
- 126980,
867
- 127183,
868
- 127183,
869
- 127374,
870
- 127374,
871
- 127377,
872
- 127386,
873
- 127488,
874
- 127490,
875
- 127504,
876
- 127547,
877
- 127552,
878
- 127560,
879
- 127568,
880
- 127569,
881
- 127584,
882
- 127589,
883
- 127744,
884
- 127776,
885
- 127789,
886
- 127797,
887
- 127799,
888
- 127868,
889
- 127870,
890
- 127891,
891
- 127904,
892
- 127946,
893
- 127951,
894
- 127955,
895
- 127968,
896
- 127984,
897
- 127988,
898
- 127988,
899
- 127992,
900
- 128062,
901
- 128064,
902
- 128064,
903
- 128066,
904
- 128252,
905
- 128255,
906
- 128317,
907
- 128331,
908
- 128334,
909
- 128336,
910
- 128359,
911
- 128378,
912
- 128378,
913
- 128405,
914
- 128406,
915
- 128420,
916
- 128420,
917
- 128507,
918
- 128591,
919
- 128640,
920
- 128709,
921
- 128716,
922
- 128716,
923
- 128720,
924
- 128722,
925
- 128725,
926
- 128728,
927
- 128732,
928
- 128735,
929
- 128747,
930
- 128748,
931
- 128756,
932
- 128764,
933
- 128992,
934
- 129003,
935
- 129008,
936
- 129008,
937
- 129292,
938
- 129338,
939
- 129340,
940
- 129349,
941
- 129351,
942
- 129535,
943
- 129648,
944
- 129660,
945
- 129664,
946
- 129674,
947
- 129678,
948
- 129734,
949
- 129736,
950
- 129736,
951
- 129741,
952
- 129756,
953
- 129759,
954
- 129770,
955
- 129775,
956
- 129784,
957
- 131072,
958
- 196605,
959
- 196608,
960
- 262141
961
- ];
962
- var St = (t, e) => {
963
- let r = 0, n = Math.floor(t.length / 2) - 1;
964
- for (; r <= n;) {
965
- let u = Math.floor((r + n) / 2), o = u * 2;
966
- if (e < t[o]) n = u - 1;
967
- else if (e > t[o + 1]) r = u + 1;
968
- else return !0;
969
- }
970
- return !1;
971
- };
972
- var Hr = 19968, [to, ro] = no(Pt);
973
- function no(t) {
974
- let e = t[0], r = t[1];
975
- for (let n = 0; n < t.length; n += 2) {
976
- let u = t[n], o = t[n + 1];
977
- if (Hr >= u && Hr <= o) return [u, o];
978
- o - u > r - e && (e = u, r = o);
979
- }
980
- return [e, r];
981
- }
982
- var bt = (t) => t < Wr || t > $r ? !1 : St(zr, t);
983
- var kt = (t) => t >= to && t <= ro ? !0 : t < Gr || t > Kr ? !1 : St(Pt, t);
984
- var uo = /^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05-\u2B07]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF3\uDFF5\uDFF7]|\uD83D[\uDC3F\uDC41\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])$/;
985
- var Jr = (t) => uo.test(t);
986
- var oo = /[^\x20-\x7F]/;
987
- function io(t) {
988
- if (!t) return 0;
989
- if (!oo.test(t)) return t.length;
990
- let e = 0;
991
- t = t.replace(Vr(), (r) => (e += Jr(r) ? 1 : 2, ""));
992
- for (let r of t) {
993
- let n = r.codePointAt(0);
994
- n <= 31 || n >= 127 && n <= 159 || n >= 768 && n <= 879 || n >= 65024 && n <= 65039 || (e += bt(n) || kt(n) ? 2 : 1);
995
- }
996
- return e;
997
- }
998
- var Re = io;
999
- var so = { type: 0 };
1000
- var Do = { type: 1 };
1001
- var It = {
1002
- value: "",
1003
- length: 0,
1004
- queue: [],
1005
- get root() {
1006
- return It;
1007
- }
1008
- };
1009
- function qr(t, e, r) {
1010
- let n = e.type === 1 ? t.queue.slice(0, -1) : [...t.queue, e], u = "", o = 0, i = 0, D = 0;
1011
- for (let f of n) switch (f.type) {
1012
- case 0:
1013
- c(), r.useTabs ? s(1) : a(r.tabWidth);
1014
- break;
1015
- case 3: {
1016
- let { string: F } = f;
1017
- c(), u += F, o += F.length;
1018
- break;
1019
- }
1020
- case 2: {
1021
- let { width: F } = f;
1022
- i += 1, D += F;
1023
- break;
1024
- }
1025
- default: throw new Error(`Unexpected indent comment '${f.type}'.`);
1026
- }
1027
- return l(), {
1028
- ...t,
1029
- value: u,
1030
- length: o,
1031
- queue: n
1032
- };
1033
- function s(f) {
1034
- u += " ".repeat(f), o += r.tabWidth * f;
1035
- }
1036
- function a(f) {
1037
- u += " ".repeat(f), o += f;
1038
- }
1039
- function c() {
1040
- r.useTabs ? p() : l();
1041
- }
1042
- function p() {
1043
- i > 0 && s(i), m();
1044
- }
1045
- function l() {
1046
- D > 0 && a(D), m();
1047
- }
1048
- function m() {
1049
- i = 0, D = 0;
1050
- }
1051
- }
1052
- function Xr(t, e, r) {
1053
- if (!e) return t;
1054
- if (e.type === "root") return {
1055
- ...t,
1056
- root: t
1057
- };
1058
- if (e === Number.NEGATIVE_INFINITY) return t.root;
1059
- let n;
1060
- return typeof e == "number" ? e < 0 ? n = Do : n = {
1061
- type: 2,
1062
- width: e
1063
- } : n = {
1064
- type: 3,
1065
- string: e
1066
- }, qr(t, n, r);
1067
- }
1068
- function Qr(t, e) {
1069
- return qr(t, so, e);
1070
- }
1071
- function ao(t) {
1072
- let e = 0;
1073
- for (let r = t.length - 1; r >= 0; r--) {
1074
- let n = t[r];
1075
- if (n === " " || n === " ") e++;
1076
- else break;
1077
- }
1078
- return e;
1079
- }
1080
- function et(t) {
1081
- let e = ao(t);
1082
- return {
1083
- text: e === 0 ? t : t.slice(0, t.length - e),
1084
- count: e
1085
- };
1086
- }
1087
- var Rt = class {
1088
- #t = [];
1089
- #e = "";
1090
- #n = 0;
1091
- #u = [];
1092
- #r = [];
1093
- #o() {
1094
- let e = this.#e;
1095
- e !== "" && (this.#t.push(e), this.#n += e.length, this.#e = "");
1096
- for (let r of this.#r) this.#u.push(Math.min(r, this.#n));
1097
- this.#r.length = 0;
1098
- }
1099
- markPosition() {
1100
- if (this.#u.length + this.#r.length >= 2) throw new Error("There are too many 'cursor' in doc.");
1101
- this.#r.push(this.#n + this.#e.length);
1102
- }
1103
- write(e) {
1104
- this.#e += e;
1105
- }
1106
- trim() {
1107
- let { text: e, count: r } = et(this.#e);
1108
- return this.#e = e, this.#o(), r;
1109
- }
1110
- finish() {
1111
- return this.#o(), {
1112
- text: this.#t.join(""),
1113
- positions: this.#u
1114
- };
1115
- }
1116
- };
1117
- var Zr = Rt;
1118
- var K = Symbol("MODE_BREAK");
1119
- var Q = Symbol("MODE_FLAT");
1120
- var vt = Symbol("DOC_FILL_PRINTED_LENGTH");
1121
- function tt(t, e, r, n, u, o) {
1122
- if (r === Number.POSITIVE_INFINITY) return !0;
1123
- let i = e.length, D = !1, s = [t], a = "";
1124
- for (; r >= 0;) {
1125
- if (s.length === 0) {
1126
- if (i === 0) return !0;
1127
- s.push(e[--i]);
1128
- continue;
1129
- }
1130
- let { mode: c, doc: p } = s.pop(), l = q(p);
1131
- switch (l) {
1132
- case G:
1133
- p && (D && (a += " ", r -= 1, D = !1), a += p, r -= Re(p));
1134
- break;
1135
- case U:
1136
- case S: {
1137
- let m = l === U ? p : p.parts, f = p[vt] ?? 0;
1138
- for (let F = m.length - 1; F >= f; F--) s.push({
1139
- mode: c,
1140
- doc: m[F]
1141
- });
1142
- break;
1143
- }
1144
- case I:
1145
- case R:
1146
- case L:
1147
- case b:
1148
- s.push({
1149
- mode: c,
1150
- doc: p.contents
1151
- });
1152
- break;
1153
- case v: {
1154
- let { text: m, count: f } = et(a);
1155
- a = m, r += f;
1156
- break;
1157
- }
1158
- case x: {
1159
- if (o && p.break) return !1;
1160
- let m = p.break ? K : c, f = p.expandedStates && m === K ? y(0, p.expandedStates, -1) : p.contents;
1161
- s.push({
1162
- mode: m,
1163
- doc: f
1164
- });
1165
- break;
1166
- }
1167
- case T: {
1168
- let f = (p.groupId ? u[p.groupId] || Q : c) === K ? p.breakContents : p.flatContents;
1169
- f && s.push({
1170
- mode: c,
1171
- doc: f
1172
- });
1173
- break;
1174
- }
1175
- case g:
1176
- if (c === K || p.hard) return !0;
1177
- p.soft || (D = !0);
1178
- break;
1179
- case M:
1180
- n = !0;
1181
- break;
1182
- case Y: if (n) return !1;
1183
- }
1184
- }
1185
- return !1;
1186
- }
1187
- function Ce(t, e) {
1188
- let r = Object.create(null), n = e.printWidth, u = we(e.endOfLine), o = 0, i = [{
1189
- indent: It,
1190
- mode: K,
1191
- doc: t
1192
- }], D = !1, s = [], a = new Zr();
1193
- for (Br(t); i.length > 0;) {
1194
- let { indent: f, mode: F, doc: d } = i.pop();
1195
- switch (q(d)) {
1196
- case G: {
1197
- let E = u !== `
1198
- ` ? ne(0, d, `
1199
- `, u) : d;
1200
- E && (a.write(E), i.length > 0 && (o += Re(E)));
1201
- break;
1202
- }
1203
- case U:
1204
- for (let E = d.length - 1; E >= 0; E--) i.push({
1205
- indent: f,
1206
- mode: F,
1207
- doc: d[E]
1208
- });
1209
- break;
1210
- case V:
1211
- a.markPosition();
1212
- break;
1213
- case I:
1214
- i.push({
1215
- indent: Qr(f, e),
1216
- mode: F,
1217
- doc: d.contents
1218
- });
1219
- break;
1220
- case R:
1221
- i.push({
1222
- indent: Xr(f, d.n, e),
1223
- mode: F,
1224
- doc: d.contents
1225
- });
1226
- break;
1227
- case v:
1228
- o -= a.trim();
1229
- break;
1230
- case x: {
1231
- let E = (function() {
1232
- if (F === Q && !D) return {
1233
- indent: f,
1234
- mode: d.break ? K : Q,
1235
- doc: d.contents
1236
- };
1237
- D = !1;
1238
- let h = n - o, _ = s.length > 0, P = {
1239
- indent: f,
1240
- mode: Q,
1241
- doc: d.contents
1242
- };
1243
- if (!d.break && tt(P, i, h, _, r)) return P;
1244
- if (!d.expandedStates) return {
1245
- indent: f,
1246
- mode: K,
1247
- doc: d.contents
1248
- };
1249
- if (!d.break) for (let A = 1; A < d.expandedStates.length - 1; A++) {
1250
- let B = {
1251
- indent: f,
1252
- mode: Q,
1253
- doc: d.expandedStates[A]
1254
- };
1255
- if (tt(B, i, h, _, r)) return B;
1256
- }
1257
- return {
1258
- indent: f,
1259
- mode: K,
1260
- doc: y(0, d.expandedStates, -1)
1261
- };
1262
- })();
1263
- i.push(E), d.id && (r[d.id] = E.mode);
1264
- break;
1265
- }
1266
- case S: {
1267
- let E = n - o, C = d[vt] ?? 0, { parts: h } = d, _ = h.length - C;
1268
- if (_ === 0) break;
1269
- let P = h[C + 0], A = h[C + 1], B = {
1270
- indent: f,
1271
- mode: Q,
1272
- doc: P
1273
- }, J = {
1274
- indent: f,
1275
- mode: K,
1276
- doc: P
1277
- }, $e = tt(B, [], E, s.length > 0, r, !0);
1278
- if (_ === 1) {
1279
- $e ? i.push(B) : i.push(J);
1280
- break;
1281
- }
1282
- let lr = {
1283
- indent: f,
1284
- mode: Q,
1285
- doc: A
1286
- }, _t = {
1287
- indent: f,
1288
- mode: K,
1289
- doc: A
1290
- };
1291
- if (_ === 2) {
1292
- $e ? i.push(lr, B) : i.push(_t, J);
1293
- break;
1294
- }
1295
- let bu = h[C + 2], ku = {
1296
- indent: f,
1297
- mode: F,
1298
- doc: {
1299
- ...d,
1300
- [vt]: C + 2
1301
- }
1302
- }, Iu = tt({
1303
- indent: f,
1304
- mode: Q,
1305
- doc: [
1306
- P,
1307
- A,
1308
- bu
1309
- ]
1310
- }, [], E, s.length > 0, r, !0);
1311
- i.push(ku), Iu ? i.push(lr, B) : $e ? i.push(_t, B) : i.push(_t, J);
1312
- break;
1313
- }
1314
- case T:
1315
- case L: {
1316
- let E = d.groupId ? r[d.groupId] : F;
1317
- if (E === K) {
1318
- let C = d.type === T ? d.breakContents : d.negate ? d.contents : oe(d.contents);
1319
- C && i.push({
1320
- indent: f,
1321
- mode: F,
1322
- doc: C
1323
- });
1324
- }
1325
- if (E === Q) {
1326
- let C = d.type === T ? d.flatContents : d.negate ? oe(d.contents) : d.contents;
1327
- C && i.push({
1328
- indent: f,
1329
- mode: F,
1330
- doc: C
1331
- });
1332
- }
1333
- break;
1334
- }
1335
- case M:
1336
- s.push({
1337
- indent: f,
1338
- mode: F,
1339
- doc: d.contents
1340
- });
1341
- break;
1342
- case Y:
1343
- s.length > 0 && i.push({
1344
- indent: f,
1345
- mode: F,
1346
- doc: ke
1347
- });
1348
- break;
1349
- case g:
1350
- switch (F) {
1351
- case Q:
1352
- if (!d.hard) {
1353
- d.soft || (a.write(" "), o += 1);
1354
- break;
1355
- }
1356
- D = !0;
1357
- case K:
1358
- if (s.length > 0) {
1359
- i.push({
1360
- indent: f,
1361
- mode: F,
1362
- doc: d
1363
- }, ...s.reverse()), s.length = 0;
1364
- break;
1365
- }
1366
- d.literal ? (a.write(u), o = 0, f.root && (f.root.value && a.write(f.root.value), o = f.root.length)) : (a.trim(), a.write(u + f.value), o = f.length);
1367
- }
1368
- break;
1369
- case b:
1370
- i.push({
1371
- indent: f,
1372
- mode: F,
1373
- doc: d.contents
1374
- });
1375
- break;
1376
- case N: break;
1377
- default: throw new Z(d);
1378
- }
1379
- i.length === 0 && s.length > 0 && (i.push(...s.reverse()), s.length = 0);
1380
- }
1381
- let { text: c, positions: p } = a.finish();
1382
- if (p.length !== 2) return { formatted: c };
1383
- let [l, m] = p;
1384
- return {
1385
- formatted: c,
1386
- cursorNodeStart: l,
1387
- cursorNodeText: c.slice(l, m)
1388
- };
1389
- }
1390
- function co(t, e, r = 0) {
1391
- let n = 0;
1392
- for (let u = r; u < t.length; ++u) t[u] === " " ? n = n + e - n % e : n++;
1393
- return n;
1394
- }
1395
- var he = co;
1396
- var Lt = class {
1397
- constructor(e) {
1398
- this.stack = [e];
1399
- }
1400
- get key() {
1401
- let { stack: e, siblings: r } = this;
1402
- return y(0, e, r === null ? -2 : -4) ?? null;
1403
- }
1404
- get index() {
1405
- return this.siblings === null ? null : y(0, this.stack, -2);
1406
- }
1407
- get node() {
1408
- return y(0, this.stack, -1);
1409
- }
1410
- get parent() {
1411
- return this.getNode(1);
1412
- }
1413
- get grandparent() {
1414
- return this.getNode(2);
1415
- }
1416
- get isInArray() {
1417
- return this.siblings !== null;
1418
- }
1419
- get siblings() {
1420
- let { stack: e } = this, r = y(0, e, -3);
1421
- return Array.isArray(r) ? r : null;
1422
- }
1423
- get next() {
1424
- let { siblings: e } = this;
1425
- return e === null ? null : e[this.index + 1];
1426
- }
1427
- get previous() {
1428
- let { siblings: e } = this;
1429
- return e === null ? null : e[this.index - 1];
1430
- }
1431
- get isFirst() {
1432
- return this.index === 0;
1433
- }
1434
- get isLast() {
1435
- let { siblings: e, index: r } = this;
1436
- return e !== null && r === e.length - 1;
1437
- }
1438
- get isRoot() {
1439
- return this.stack.length === 1;
1440
- }
1441
- get root() {
1442
- return this.stack[0];
1443
- }
1444
- get ancestors() {
1445
- return [...this.#e()];
1446
- }
1447
- getName() {
1448
- let { stack: e } = this, { length: r } = e;
1449
- return r > 1 ? y(0, e, -2) : null;
1450
- }
1451
- getValue() {
1452
- return y(0, this.stack, -1);
1453
- }
1454
- getNode(e = 0) {
1455
- let r = this.#t(e);
1456
- return r === -1 ? null : this.stack[r];
1457
- }
1458
- getParentNode(e = 0) {
1459
- return this.getNode(e + 1);
1460
- }
1461
- #t(e) {
1462
- let { stack: r } = this;
1463
- for (let n = r.length - 1; n >= 0; n -= 2) if (!Array.isArray(r[n]) && --e < 0) return n;
1464
- return -1;
1465
- }
1466
- call(e, ...r) {
1467
- let { stack: n } = this, { length: u } = n, o = y(0, n, -1);
1468
- for (let i of r) o = o?.[i], n.push(i, o);
1469
- try {
1470
- return e(this);
1471
- } finally {
1472
- n.length = u;
1473
- }
1474
- }
1475
- callParent(e, r = 0) {
1476
- let n = this.#t(r + 1), u = this.stack.splice(n + 1);
1477
- try {
1478
- return e(this);
1479
- } finally {
1480
- this.stack.push(...u);
1481
- }
1482
- }
1483
- each(e, ...r) {
1484
- let { stack: n } = this, { length: u } = n, o = y(0, n, -1);
1485
- for (let i of r) o = o[i], n.push(i, o);
1486
- try {
1487
- for (let i = 0; i < o.length; ++i) n.push(i, o[i]), e(this, i, o), n.length -= 2;
1488
- } finally {
1489
- n.length = u;
1490
- }
1491
- }
1492
- map(e, ...r) {
1493
- let n = [];
1494
- return this.each((u, o, i) => {
1495
- n[o] = e(u, o, i);
1496
- }, ...r), n;
1497
- }
1498
- match(...e) {
1499
- let r = this.stack.length - 1, n = null, u = this.stack[r--];
1500
- for (let o of e) {
1501
- if (u === void 0) return !1;
1502
- let i = null;
1503
- if (typeof n == "number" && (i = n, n = this.stack[r--], u = this.stack[r--]), o && !o(u, n, i)) return !1;
1504
- n = this.stack[r--], u = this.stack[r--];
1505
- }
1506
- return !0;
1507
- }
1508
- findAncestor(e) {
1509
- for (let r of this.#e()) if (e(r)) return r;
1510
- }
1511
- hasAncestor(e) {
1512
- for (let r of this.#e()) if (e(r)) return !0;
1513
- return !1;
1514
- }
1515
- *#e() {
1516
- let { stack: e } = this;
1517
- for (let r = e.length - 3; r >= 0; r -= 2) {
1518
- let n = e[r];
1519
- Array.isArray(n) || (yield n);
1520
- }
1521
- }
1522
- };
1523
- var en = Lt;
1524
- function fo(t) {
1525
- return Array.isArray(t) && t.length > 0;
1526
- }
1527
- var rt = fo;
1528
- function lo(t) {
1529
- return t !== null && typeof t == "object";
1530
- }
1531
- var ge = lo;
1532
- function _e(t) {
1533
- return (e, r, n) => {
1534
- if (r === !1) return !1;
1535
- let u = !!n?.backwards, { length: o } = e, i = r;
1536
- for (; i >= 0 && i < o;) {
1537
- let D = e.charAt(i);
1538
- if (t instanceof RegExp) {
1539
- if (!t.test(D)) return i;
1540
- } else if (!t.includes(D)) return i;
1541
- u ? i-- : i++;
1542
- }
1543
- return i === -1 || i === o ? i : !1;
1544
- };
1545
- }
1546
- var tn = _e(/\s/);
1547
- var j = _e(" ");
1548
- var nt = _e(",; ");
1549
- var ut = _e(/[^\n\r]/);
1550
- var rn = (t) => t === `
1551
- ` || t === "\r" || t === "\u2028" || t === "\u2029";
1552
- function po(t, e, r) {
1553
- if (e === !1) return !1;
1554
- let n = !!r?.backwards, u = t.charAt(e);
1555
- if (n) {
1556
- if (t.charAt(e - 1) === "\r" && u === `
1557
- `) return e - 2;
1558
- if (rn(u)) return e - 1;
1559
- } else {
1560
- if (u === "\r" && t.charAt(e + 1) === `
1561
- `) return e + 2;
1562
- if (rn(u)) return e + 1;
1563
- }
1564
- return e;
1565
- }
1566
- var $ = po;
1567
- function mo(t, e, r = {}) {
1568
- let n = j(t, r.backwards ? e - 1 : e, r);
1569
- return n !== $(t, n, r);
1570
- }
1571
- var H = mo;
1572
- function* ye(t, e) {
1573
- let { getVisitorKeys: r, filter: n = () => !0 } = e, u = (o) => ge(o) && n(o);
1574
- for (let o of r(t)) {
1575
- let i = t[o];
1576
- if (Array.isArray(i)) for (let D of i) u(D) && (yield D);
1577
- else u(i) && (yield i);
1578
- }
1579
- }
1580
- function* nn(t, e) {
1581
- let r = [t];
1582
- for (let n = 0; n < r.length; n++) {
1583
- let u = r[n];
1584
- for (let o of ye(u, e)) yield o, r.push(o);
1585
- }
1586
- }
1587
- function un(t, e) {
1588
- return ye(t, e).next().done;
1589
- }
1590
- function Fo(t, e, r) {
1591
- let { filter: n } = r;
1592
- if (!n) return [];
1593
- let u, o = (r.getChildren?.(t, r) ?? [...ye(t, { getVisitorKeys: r.getVisitorKeys })]).flatMap((s) => (u ?? (u = [t, ...e]), n(s, u) ? [s] : on(s, u, r))), { locStart: i, locEnd: D } = r;
1594
- return o.sort((s, a) => i(s) - i(a) || D(s) - D(a)), o;
1595
- }
1596
- function on(t, e, r) {
1597
- return Fe(r.cache, t, (n) => Fo(n, e, r));
1598
- }
1599
- var ot = on;
1600
- function Eo(t) {
1601
- let e = t.type || t.kind || "(unknown type)", r = String(t.name || t.id && (typeof t.id == "object" ? t.id.name : t.id) || t.key && (typeof t.key == "object" ? t.key.name : t.key) || t.value && (typeof t.value == "object" ? "" : String(t.value)) || t.operator || "");
1602
- return r.length > 20 && (r = r.slice(0, 19) + "…"), e + (r ? " " + r : "");
1603
- }
1604
- function Mt(t, e) {
1605
- (t.comments ?? (t.comments = [])).push(e), e.printed = !1, e.nodeDescription = Eo(t);
1606
- }
1607
- function ce(t, e) {
1608
- e.leading = !0, e.trailing = !1, Mt(t, e);
1609
- }
1610
- function re(t, e, r) {
1611
- e.leading = !1, e.trailing = !1, r && (e.marker = r), Mt(t, e);
1612
- }
1613
- function fe(t, e) {
1614
- e.leading = !1, e.trailing = !0, Mt(t, e);
1615
- }
1616
- var Ut = /* @__PURE__ */ new WeakMap();
1617
- function Dn(t, e, r, n, u = []) {
1618
- let { locStart: o, locEnd: i } = r, D = o(e), s = i(e), a = ot(t, u, {
1619
- cache: Ut,
1620
- locStart: o,
1621
- locEnd: i,
1622
- getVisitorKeys: r.getVisitorKeys,
1623
- filter: r.printer.canAttachComment,
1624
- getChildren: r.printer.getCommentChildNodes
1625
- }), c, p, l = 0, m = a.length;
1626
- for (; l < m;) {
1627
- let f = l + m >> 1, F = a[f], d = o(F), E = i(F);
1628
- if (d <= D && s <= E) return Dn(F, e, r, F, [F, ...u]);
1629
- if (E <= D) {
1630
- c = F, l = f + 1;
1631
- continue;
1632
- }
1633
- if (s <= d) {
1634
- p = F, m = f;
1635
- continue;
1636
- }
1637
- throw new Error("Comment location overlaps with node location");
1638
- }
1639
- if (n?.type === "TemplateLiteral") {
1640
- let { quasis: f } = n, F = jt(f, e, r);
1641
- c && jt(f, c, r) !== F && (c = null), p && jt(f, p, r) !== F && (p = null);
1642
- }
1643
- return {
1644
- enclosingNode: n,
1645
- precedingNode: c,
1646
- followingNode: p
1647
- };
1648
- }
1649
- var Yt = () => !1;
1650
- function an(t, e) {
1651
- let { comments: r } = t;
1652
- if (delete t.comments, !rt(r) || !e.printer.canAttachComment) return;
1653
- let n = [], { printer: { features: { experimental_avoidAstMutation: u }, handleComments: o = {} }, originalText: i } = e, { ownLine: D = Yt, endOfLine: s = Yt, remaining: a = Yt } = o, c = r.map((l, m) => ({
1654
- ...Dn(t, l, e),
1655
- comment: l,
1656
- text: i,
1657
- options: e,
1658
- ast: t,
1659
- isLastComment: r.length - 1 === m,
1660
- placement: void 0
1661
- })), p = !u;
1662
- for (let [l, m] of c.entries()) {
1663
- let { comment: f, precedingNode: F, enclosingNode: d, followingNode: E, text: C, options: h, ast: _, isLastComment: P } = m, A = Co(C, h, c, l) ? "ownLine" : ho(C, h, c, l) ? "endOfLine" : "remaining", B;
1664
- if (u ? (m.placement = A, B = [m]) : B = [
1665
- f,
1666
- C,
1667
- h,
1668
- _,
1669
- P
1670
- ], p && (f.enclosingNode = d, f.precedingNode = F, f.followingNode = E), f.placement = A, A === "ownLine") D(...B) || (E ? ce(E, f) : F ? fe(F, f) : d ? re(d, f) : re(_, f));
1671
- else if (A === "endOfLine") s(...B) || (F ? fe(F, f) : E ? ce(E, f) : d ? re(d, f) : re(_, f));
1672
- else if (!a(...B)) if (F && E) {
1673
- let J = n.length;
1674
- J > 0 && n[J - 1].followingNode !== E && sn(n, h), n.push(m);
1675
- } else F ? fe(F, f) : E ? ce(E, f) : d ? re(d, f) : re(_, f);
1676
- }
1677
- if (sn(n, e), p) for (let l of r) delete l.precedingNode, delete l.enclosingNode, delete l.followingNode;
1678
- }
1679
- var cn = (t) => !/[\S\n\u2028\u2029]/.test(t);
1680
- function Co(t, e, r, n) {
1681
- let { comment: u, precedingNode: o } = r[n], { locStart: i, locEnd: D } = e, s = i(u);
1682
- if (o) for (let a = n - 1; a >= 0; a--) {
1683
- let { comment: c, precedingNode: p } = r[a];
1684
- if (p !== o || !cn(t.slice(D(c), s))) break;
1685
- s = i(c);
1686
- }
1687
- return H(t, s, { backwards: !0 });
1688
- }
1689
- function ho(t, e, r, n) {
1690
- let { comment: u, followingNode: o } = r[n], { locStart: i, locEnd: D } = e, s = D(u);
1691
- if (o) for (let a = n + 1; a < r.length; a++) {
1692
- let { comment: c, followingNode: p } = r[a];
1693
- if (p !== o || !cn(t.slice(s, i(c)))) break;
1694
- s = D(c);
1695
- }
1696
- return H(t, s);
1697
- }
1698
- function sn(t, e) {
1699
- let r = t.length;
1700
- if (r === 0) return;
1701
- let { precedingNode: n, followingNode: u } = t[0], o = e.locStart(u), i;
1702
- for (i = r; i > 0; --i) {
1703
- let { comment: D, precedingNode: s, followingNode: a } = t[i - 1];
1704
- k(s, n), k(a, u);
1705
- let c = e.originalText.slice(e.locEnd(D), o);
1706
- if (e.printer.isGap?.(c, e) ?? /^[\s(]*$/.test(c)) o = e.locStart(D);
1707
- else break;
1708
- }
1709
- for (let [D, { comment: s }] of t.entries()) D < i ? fe(n, s) : ce(u, s);
1710
- for (let D of [n, u]) D.comments && D.comments.length > 1 && D.comments.sort((s, a) => e.locStart(s) - e.locStart(a));
1711
- t.length = 0;
1712
- }
1713
- function jt(t, e, r) {
1714
- let n = r.locStart(e) - 1;
1715
- for (let u = 1; u < t.length; ++u) if (n < r.locStart(t[u])) return u - 1;
1716
- return 0;
1717
- }
1718
- function go(t, e) {
1719
- let r = e - 1;
1720
- r = j(t, r, { backwards: !0 }), r = $(t, r, { backwards: !0 }), r = j(t, r, { backwards: !0 });
1721
- let n = $(t, r, { backwards: !0 });
1722
- return r !== n;
1723
- }
1724
- var ve = go;
1725
- var fn = () => !0;
1726
- function ln(t, e) {
1727
- let r = t.node;
1728
- return r.printed = !0, e.printer.printComment(t, e);
1729
- }
1730
- function _o(t, e) {
1731
- let r = t.node, n = [ln(t, e)], { printer: u, originalText: o, locStart: i, locEnd: D } = e;
1732
- if (u.isBlockComment?.(r)) {
1733
- let c = " ";
1734
- H(o, D(r)) && (H(o, i(r), { backwards: !0 }) ? c = W : c = Ze), n.push(c);
1735
- } else n.push(W);
1736
- let a = $(o, j(o, D(r)));
1737
- return a !== !1 && H(o, a) && n.push(W), n;
1738
- }
1739
- function yo(t, e, r) {
1740
- let n = t.node, u = ln(t, e), { printer: o, originalText: i, locStart: D } = e, s = o.isBlockComment?.(n);
1741
- if (r?.hasLineSuffix && !r?.isBlock || H(i, D(n), { backwards: !0 })) return {
1742
- doc: Ie([
1743
- W,
1744
- ve(i, D(n)) ? W : "",
1745
- u
1746
- ]),
1747
- isBlock: s,
1748
- hasLineSuffix: !0
1749
- };
1750
- return !s || r?.hasLineSuffix ? {
1751
- doc: [Ie([" ", u]), ae],
1752
- isBlock: s,
1753
- hasLineSuffix: !0
1754
- } : {
1755
- doc: [" ", u],
1756
- isBlock: s,
1757
- hasLineSuffix: !1
1758
- };
1759
- }
1760
- function Ao(t, e, r) {
1761
- let n = e[Symbol.for("printedComments")], u = r?.filter ?? fn, o = new Set(t.node?.comments?.filter((i) => !n?.has(i) && i.leading && u(i)));
1762
- return o.size === 0 ? "" : t.map(({ node: i }) => o.has(i) ? _o(t, e) : "", "comments").filter(Boolean);
1763
- }
1764
- function xo(t, e, r) {
1765
- let n = t.node?.comments, u = new Set(n?.filter((c) => c.trailing)), o = e[Symbol.for("printedComments")], i = r?.filter ?? fn, D = new Set(n?.filter((c) => u.has(c) && !o?.has(c) && i(c)));
1766
- if (D.size === 0) return "";
1767
- let s = [], a;
1768
- return t.each(({ node: c }) => {
1769
- u.has(c) && (a = yo(t, e, a), D.has(c) && s.push(a.doc));
1770
- }, "comments"), s;
1771
- }
1772
- function pn(t, e, r, n) {
1773
- let u = Ao(t, r, n), o = xo(t, r, n);
1774
- return u || o ? Ee(e, (i) => [
1775
- u,
1776
- i,
1777
- o
1778
- ]) : e;
1779
- }
1780
- function mn(t) {
1781
- let { [ue]: e, [Symbol.for("printedComments")]: r } = t;
1782
- for (let n of e) {
1783
- if (!n.printed && !r.has(n)) throw new Error("Comment \"" + n.value.trim() + "\" was not printed. Please report this error!");
1784
- delete n.printed;
1785
- }
1786
- }
1787
- var dn = () => k;
1788
- var Le = class extends Error {
1789
- name = "ConfigError";
1790
- };
1791
- var Me = class extends Error {
1792
- name = "UndefinedParserError";
1793
- };
1794
- var le = Object.hasOwn ?? Function.prototype.call.bind(Object.prototype.hasOwnProperty);
1795
- var Fn = {
1796
- checkIgnorePragma: {
1797
- category: "Special",
1798
- type: "boolean",
1799
- default: !1,
1800
- description: "Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",
1801
- cliCategory: "Other"
1802
- },
1803
- cursorOffset: {
1804
- category: "Special",
1805
- type: "int",
1806
- default: -1,
1807
- range: {
1808
- start: -1,
1809
- end: 1 / 0,
1810
- step: 1
1811
- },
1812
- description: "Print (to stderr) where a cursor at the given position would move to after formatting.",
1813
- cliCategory: "Editor"
1814
- },
1815
- endOfLine: {
1816
- category: "Global",
1817
- type: "choice",
1818
- default: "lf",
1819
- description: "Which end of line characters to apply.",
1820
- choices: [
1821
- {
1822
- value: "lf",
1823
- description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos"
1824
- },
1825
- {
1826
- value: "crlf",
1827
- description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows"
1828
- },
1829
- {
1830
- value: "cr",
1831
- description: "Carriage Return character only (\\r), used very rarely"
1832
- },
1833
- {
1834
- value: "auto",
1835
- description: `Maintain existing
1836
- (mixed values within one file are normalised by looking at what's used after the first line)`
1837
- }
1838
- ]
1839
- },
1840
- filepath: {
1841
- category: "Special",
1842
- type: "path",
1843
- description: "Specify the input filepath. This will be used to do parser inference.",
1844
- cliName: "stdin-filepath",
1845
- cliCategory: "Other",
1846
- cliDescription: "Path to the file to pretend that stdin comes from."
1847
- },
1848
- insertPragma: {
1849
- category: "Special",
1850
- type: "boolean",
1851
- default: !1,
1852
- description: "Insert @format pragma into file's first docblock comment.",
1853
- cliCategory: "Other"
1854
- },
1855
- parser: {
1856
- category: "Global",
1857
- type: "choice",
1858
- default: void 0,
1859
- description: "Which parser to use.",
1860
- exception: (t) => typeof t == "string" || typeof t == "function",
1861
- choices: [
1862
- {
1863
- value: "flow",
1864
- description: "Flow"
1865
- },
1866
- {
1867
- value: "babel",
1868
- description: "JavaScript"
1869
- },
1870
- {
1871
- value: "babel-flow",
1872
- description: "Flow"
1873
- },
1874
- {
1875
- value: "babel-ts",
1876
- description: "TypeScript"
1877
- },
1878
- {
1879
- value: "typescript",
1880
- description: "TypeScript"
1881
- },
1882
- {
1883
- value: "acorn",
1884
- description: "JavaScript"
1885
- },
1886
- {
1887
- value: "espree",
1888
- description: "JavaScript"
1889
- },
1890
- {
1891
- value: "meriyah",
1892
- description: "JavaScript"
1893
- },
1894
- {
1895
- value: "css",
1896
- description: "CSS"
1897
- },
1898
- {
1899
- value: "less",
1900
- description: "Less"
1901
- },
1902
- {
1903
- value: "scss",
1904
- description: "SCSS"
1905
- },
1906
- {
1907
- value: "json",
1908
- description: "JSON"
1909
- },
1910
- {
1911
- value: "json5",
1912
- description: "JSON5"
1913
- },
1914
- {
1915
- value: "jsonc",
1916
- description: "JSON with Comments"
1917
- },
1918
- {
1919
- value: "json-stringify",
1920
- description: "JSON.stringify"
1921
- },
1922
- {
1923
- value: "graphql",
1924
- description: "GraphQL"
1925
- },
1926
- {
1927
- value: "markdown",
1928
- description: "Markdown"
1929
- },
1930
- {
1931
- value: "mdx",
1932
- description: "MDX"
1933
- },
1934
- {
1935
- value: "vue",
1936
- description: "Vue"
1937
- },
1938
- {
1939
- value: "yaml",
1940
- description: "YAML"
1941
- },
1942
- {
1943
- value: "glimmer",
1944
- description: "Ember / Handlebars"
1945
- },
1946
- {
1947
- value: "html",
1948
- description: "HTML"
1949
- },
1950
- {
1951
- value: "angular",
1952
- description: "Angular"
1953
- },
1954
- {
1955
- value: "lwc",
1956
- description: "Lightning Web Components"
1957
- },
1958
- {
1959
- value: "mjml",
1960
- description: "MJML"
1961
- }
1962
- ]
1963
- },
1964
- plugins: {
1965
- type: "path",
1966
- array: !0,
1967
- default: [{ value: [] }],
1968
- category: "Global",
1969
- description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",
1970
- exception: (t) => typeof t == "string" || typeof t == "object",
1971
- cliName: "plugin",
1972
- cliCategory: "Config"
1973
- },
1974
- printWidth: {
1975
- category: "Global",
1976
- type: "int",
1977
- default: 80,
1978
- description: "The line length where Prettier will try wrap.",
1979
- range: {
1980
- start: 0,
1981
- end: 1 / 0,
1982
- step: 1
1983
- }
1984
- },
1985
- rangeEnd: {
1986
- category: "Special",
1987
- type: "int",
1988
- default: 1 / 0,
1989
- range: {
1990
- start: 0,
1991
- end: 1 / 0,
1992
- step: 1
1993
- },
1994
- description: `Format code ending at a given character offset (exclusive).
1995
- The range will extend forwards to the end of the selected statement.`,
1996
- cliCategory: "Editor"
1997
- },
1998
- rangeStart: {
1999
- category: "Special",
2000
- type: "int",
2001
- default: 0,
2002
- range: {
2003
- start: 0,
2004
- end: 1 / 0,
2005
- step: 1
2006
- },
2007
- description: `Format code starting at a given character offset.
2008
- The range will extend backwards to the start of the first line containing the selected statement.`,
2009
- cliCategory: "Editor"
2010
- },
2011
- requirePragma: {
2012
- category: "Special",
2013
- type: "boolean",
2014
- default: !1,
2015
- description: "Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",
2016
- cliCategory: "Other"
2017
- },
2018
- tabWidth: {
2019
- type: "int",
2020
- category: "Global",
2021
- default: 2,
2022
- description: "Number of spaces per indentation level.",
2023
- range: {
2024
- start: 0,
2025
- end: 1 / 0,
2026
- step: 1
2027
- }
2028
- },
2029
- useTabs: {
2030
- category: "Global",
2031
- type: "boolean",
2032
- default: !1,
2033
- description: "Indent with tabs instead of spaces."
2034
- },
2035
- embeddedLanguageFormatting: {
2036
- category: "Global",
2037
- type: "choice",
2038
- default: "auto",
2039
- description: "Control how Prettier formats quoted code embedded in the file.",
2040
- choices: [{
2041
- value: "auto",
2042
- description: "Format embedded code if Prettier can automatically identify it."
2043
- }, {
2044
- value: "off",
2045
- description: "Never automatically format embedded code."
2046
- }]
2047
- }
2048
- };
2049
- function it({ plugins: t = [], showDeprecated: e = !1 } = {}) {
2050
- let r = t.flatMap((u) => u.languages ?? []), n = [];
2051
- for (let u of No(Object.assign({}, ...t.map(({ options: o }) => o), Fn))) !e && u.deprecated || (Array.isArray(u.choices) && (e || (u.choices = u.choices.filter((o) => !o.deprecated)), u.name === "parser" && (u.choices = [...u.choices, ...To(u.choices, r, t)])), u.pluginDefaults = Object.fromEntries(t.filter((o) => o.defaultOptions?.[u.name] !== void 0).map((o) => [o.name, o.defaultOptions[u.name]])), n.push(u));
2052
- return {
2053
- languages: r,
2054
- options: n
2055
- };
2056
- }
2057
- function* To(t, e, r) {
2058
- let n = new Set(t.map((u) => u.value));
2059
- for (let u of e) if (u.parsers) {
2060
- for (let o of u.parsers) if (!n.has(o)) {
2061
- n.add(o);
2062
- let i = r.find((s) => s.parsers && le(s.parsers, o)), D = u.name;
2063
- i?.name && (D += ` (plugin: ${i.name})`), yield {
2064
- value: o,
2065
- description: D
2066
- };
2067
- }
2068
- }
2069
- }
2070
- function No(t) {
2071
- let e = [];
2072
- for (let [r, n] of Object.entries(t)) {
2073
- let u = {
2074
- name: r,
2075
- ...n
2076
- };
2077
- Array.isArray(u.default) && (u.default = y(0, u.default, -1).value), e.push(u);
2078
- }
2079
- return e;
2080
- }
2081
- var wo = Array.prototype.toReversed ?? function() {
2082
- return [...this].reverse();
2083
- };
2084
- var En = X("toReversed", function() {
2085
- if (Array.isArray(this)) return wo;
2086
- });
2087
- function Po() {
2088
- let t = globalThis, e = t.process?.platform;
2089
- if (typeof e == "string") return e.startsWith("win");
2090
- let r = t.Deno?.build?.os;
2091
- return typeof r == "string" ? r === "windows" : t.navigator?.platform?.startsWith("Win") ?? !1;
2092
- }
2093
- var So = Po();
2094
- function Cn(t) {
2095
- if (t = t instanceof URL ? t : new URL(t), t.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${t.protocol}"`);
2096
- return t;
2097
- }
2098
- function bo(t) {
2099
- return t = Cn(t), decodeURIComponent(t.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
2100
- }
2101
- function ko(t) {
2102
- t = Cn(t);
2103
- let e = decodeURIComponent(t.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
2104
- return t.hostname !== "" && (e = `\\\\${t.hostname}${e}`), e;
2105
- }
2106
- function Vt(t) {
2107
- return So ? ko(t) : bo(t);
2108
- }
2109
- var hn = (t) => String(t).split(/[/\\]/).pop();
2110
- var gn = (t) => String(t).startsWith("file:");
2111
- function _n(t, e) {
2112
- if (!e) return;
2113
- let r = hn(e).toLowerCase();
2114
- return t.find(({ filenames: n }) => n?.some((u) => u.toLowerCase() === r)) ?? t.find(({ extensions: n }) => n?.some((u) => r.endsWith(u)));
2115
- }
2116
- function Io(t, e) {
2117
- if (e) return t.find(({ name: r }) => r.toLowerCase() === e) ?? t.find(({ aliases: r }) => r?.includes(e)) ?? t.find(({ extensions: r }) => r?.includes(`.${e}`));
2118
- }
2119
- var Ro = void 0;
2120
- function yn(t, e) {
2121
- if (e) {
2122
- if (gn(e)) try {
2123
- e = Vt(e);
2124
- } catch {
2125
- return;
2126
- }
2127
- if (typeof e == "string") return t.find(({ isSupported: r }) => r?.({ filepath: e }));
2128
- }
2129
- }
2130
- function vo(t, e) {
2131
- let r = En(0, t.plugins).flatMap((u) => u.languages ?? []);
2132
- return (Io(r, e.language) ?? _n(r, e.physicalFile) ?? _n(r, e.file) ?? yn(r, e.physicalFile) ?? yn(r, e.file) ?? Ro?.(r, e.physicalFile))?.parsers[0];
2133
- }
2134
- var st = vo;
2135
- var ie = {
2136
- key: (t) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(t) ? t : JSON.stringify(t),
2137
- value(t) {
2138
- if (t === null || typeof t != "object") return JSON.stringify(t);
2139
- if (Array.isArray(t)) return `[${t.map((r) => ie.value(r)).join(", ")}]`;
2140
- let e = Object.keys(t);
2141
- return e.length === 0 ? "{}" : `{ ${e.map((r) => `${ie.key(r)}: ${ie.value(t[r])}`).join(", ")} }`;
2142
- },
2143
- pair: ({ key: t, value: e }) => ie.value({ [t]: e })
2144
- };
2145
- var An = new Proxy(String, { get: () => An });
2146
- var z = An;
2147
- var xn = (t, e, { descriptor: r }) => {
2148
- let n = [`${z.yellow(typeof t == "string" ? r.key(t) : r.pair(t))} is deprecated`];
2149
- return e && n.push(`we now treat it as ${z.blue(typeof e == "string" ? r.key(e) : r.pair(e))}`), n.join("; ") + ".";
2150
- };
2151
- var Dt = Symbol.for("vnopts.VALUE_NOT_EXIST");
2152
- var Ae = Symbol.for("vnopts.VALUE_UNCHANGED");
2153
- var Bn = " ".repeat(2);
2154
- var Nn = (t, e, r) => {
2155
- let { text: n, list: u } = r.normalizeExpectedResult(r.schemas[t].expected(r)), o = [];
2156
- return n && o.push(Tn(t, e, n, r.descriptor)), u && o.push([Tn(t, e, u.title, r.descriptor)].concat(u.values.map((i) => wn(i, r.loggerPrintWidth))).join(`
2157
- `)), On(o, r.loggerPrintWidth);
2158
- };
2159
- function Tn(t, e, r, n) {
2160
- return [
2161
- `Invalid ${z.red(n.key(t))} value.`,
2162
- `Expected ${z.blue(r)},`,
2163
- `but received ${e === Dt ? z.gray("nothing") : z.red(n.value(e))}.`
2164
- ].join(" ");
2165
- }
2166
- function wn({ text: t, list: e }, r) {
2167
- let n = [];
2168
- return t && n.push(`- ${z.blue(t)}`), e && n.push([`- ${z.blue(e.title)}:`].concat(e.values.map((u) => wn(u, r - Bn.length).replace(/^|\n/g, `$&${Bn}`))).join(`
2169
- `)), On(n, r);
2170
- }
2171
- function On(t, e) {
2172
- if (t.length === 1) return t[0];
2173
- let [r, n] = t, [u, o] = t.map((i) => i.split(`
2174
- `, 1)[0].length);
2175
- return u > e && u > o ? n : r;
2176
- }
2177
- var xe = [];
2178
- var Wt = [];
2179
- function at(t, e, r) {
2180
- if (t === e) return 0;
2181
- let n = r?.maxDistance, u = t;
2182
- t.length > e.length && (t = e, e = u);
2183
- let o = t.length, i = e.length;
2184
- for (; o > 0 && t.charCodeAt(~-o) === e.charCodeAt(~-i);) o--, i--;
2185
- let D = 0;
2186
- for (; D < o && t.charCodeAt(D) === e.charCodeAt(D);) D++;
2187
- if (o -= D, i -= D, n !== void 0 && i - o > n) return n;
2188
- if (o === 0) return n !== void 0 && i > n ? n : i;
2189
- let s, a, c, p, l = 0, m = 0;
2190
- for (; l < o;) Wt[l] = t.charCodeAt(D + l), xe[l] = ++l;
2191
- for (; m < i;) {
2192
- for (s = e.charCodeAt(D + m), c = m++, a = m, l = 0; l < o; l++) p = s === Wt[l] ? c : c + 1, c = xe[l], a = xe[l] = c > a ? p > a ? a + 1 : p : p > c ? c + 1 : p;
2193
- if (n !== void 0) {
2194
- let f = a;
2195
- for (l = 0; l < o; l++) xe[l] < f && (f = xe[l]);
2196
- if (f > n) return n;
2197
- }
2198
- }
2199
- return xe.length = o, Wt.length = o, n !== void 0 && a > n ? n : a;
2200
- }
2201
- function Pn(t, e, r) {
2202
- if (!Array.isArray(e) || e.length === 0) return;
2203
- let n = r?.maxDistance, u = t.length;
2204
- for (let s of e) if (s === t) return s;
2205
- if (n === 0) return;
2206
- let o, i = Number.POSITIVE_INFINITY, D = /* @__PURE__ */ new Set();
2207
- for (let s of e) {
2208
- if (D.has(s)) continue;
2209
- D.add(s);
2210
- let a = Math.abs(s.length - u);
2211
- if (a >= i || n !== void 0 && a > n) continue;
2212
- let c = Number.isFinite(i) ? n === void 0 ? i : Math.min(i, n) : n, p = c === void 0 ? at(t, s) : at(t, s, { maxDistance: c });
2213
- if (n !== void 0 && p > n) continue;
2214
- let l = p;
2215
- if (c !== void 0 && p === c && c === n && (l = at(t, s)), l < i && (i = l, o = s, i === 0)) break;
2216
- }
2217
- if (!(n !== void 0 && i > n)) return o;
2218
- }
2219
- var ct = (t, e, { descriptor: r, logger: n, schemas: u }) => {
2220
- let o = [`Ignored unknown option ${z.yellow(r.pair({
2221
- key: t,
2222
- value: e
2223
- }))}.`], i = Pn(t, Object.keys(u), { maxDistance: 3 });
2224
- i && o.push(`Did you mean ${z.blue(r.key(i))}?`), n.warn(o.join(" "));
2225
- };
2226
- var Lo = [
2227
- "default",
2228
- "expected",
2229
- "validate",
2230
- "deprecated",
2231
- "forward",
2232
- "redirect",
2233
- "overlap",
2234
- "preprocess",
2235
- "postprocess"
2236
- ];
2237
- function Mo(t, e) {
2238
- let r = new t(e), n = Object.create(r);
2239
- for (let u of Lo) u in e && (n[u] = Yo(e[u], r, O.prototype[u].length));
2240
- return n;
2241
- }
2242
- var O = class {
2243
- static create(e) {
2244
- return Mo(this, e);
2245
- }
2246
- constructor(e) {
2247
- this.name = e.name;
2248
- }
2249
- default(e) {}
2250
- expected(e) {
2251
- return "nothing";
2252
- }
2253
- validate(e, r) {
2254
- return !1;
2255
- }
2256
- deprecated(e, r) {
2257
- return !1;
2258
- }
2259
- forward(e, r) {}
2260
- redirect(e, r) {}
2261
- overlap(e, r, n) {
2262
- return e;
2263
- }
2264
- preprocess(e, r) {
2265
- return e;
2266
- }
2267
- postprocess(e, r) {
2268
- return Ae;
2269
- }
2270
- };
2271
- function Yo(t, e, r) {
2272
- return typeof t == "function" ? (...n) => t(...n.slice(0, r - 1), e, ...n.slice(r - 1)) : () => t;
2273
- }
2274
- var ft = class extends O {
2275
- constructor(e) {
2276
- super(e), this._sourceName = e.sourceName;
2277
- }
2278
- expected(e) {
2279
- return e.schemas[this._sourceName].expected(e);
2280
- }
2281
- validate(e, r) {
2282
- return r.schemas[this._sourceName].validate(e, r);
2283
- }
2284
- redirect(e, r) {
2285
- return this._sourceName;
2286
- }
2287
- };
2288
- var lt = class extends O {
2289
- expected() {
2290
- return "anything";
2291
- }
2292
- validate() {
2293
- return !0;
2294
- }
2295
- };
2296
- var pt = class extends O {
2297
- constructor({ valueSchema: e, name: r = e.name, ...n }) {
2298
- super({
2299
- ...n,
2300
- name: r
2301
- }), this._valueSchema = e;
2302
- }
2303
- expected(e) {
2304
- let { text: r, list: n } = e.normalizeExpectedResult(this._valueSchema.expected(e));
2305
- return {
2306
- text: r && `an array of ${r}`,
2307
- list: n && {
2308
- title: "an array of the following values",
2309
- values: [{ list: n }]
2310
- }
2311
- };
2312
- }
2313
- validate(e, r) {
2314
- if (!Array.isArray(e)) return !1;
2315
- let n = [];
2316
- for (let u of e) {
2317
- let o = r.normalizeValidateResult(this._valueSchema.validate(u, r), u);
2318
- o !== !0 && n.push(o.value);
2319
- }
2320
- return n.length === 0 ? !0 : { value: n };
2321
- }
2322
- deprecated(e, r) {
2323
- let n = [];
2324
- for (let u of e) {
2325
- let o = r.normalizeDeprecatedResult(this._valueSchema.deprecated(u, r), u);
2326
- o !== !1 && n.push(...o.map(({ value: i }) => ({ value: [i] })));
2327
- }
2328
- return n;
2329
- }
2330
- forward(e, r) {
2331
- let n = [];
2332
- for (let u of e) {
2333
- let o = r.normalizeForwardResult(this._valueSchema.forward(u, r), u);
2334
- n.push(...o.map(Sn));
2335
- }
2336
- return n;
2337
- }
2338
- redirect(e, r) {
2339
- let n = [], u = [];
2340
- for (let o of e) {
2341
- let i = r.normalizeRedirectResult(this._valueSchema.redirect(o, r), o);
2342
- "remain" in i && n.push(i.remain), u.push(...i.redirect.map(Sn));
2343
- }
2344
- return n.length === 0 ? { redirect: u } : {
2345
- redirect: u,
2346
- remain: n
2347
- };
2348
- }
2349
- overlap(e, r) {
2350
- return e.concat(r);
2351
- }
2352
- };
2353
- function Sn({ from: t, to: e }) {
2354
- return {
2355
- from: [t],
2356
- to: e
2357
- };
2358
- }
2359
- var mt = class extends O {
2360
- expected() {
2361
- return "true or false";
2362
- }
2363
- validate(e) {
2364
- return typeof e == "boolean";
2365
- }
2366
- };
2367
- function kn(t, e) {
2368
- let r = Object.create(null);
2369
- for (let n of t) {
2370
- let u = n[e];
2371
- if (r[u]) throw new Error(`Duplicate ${e} ${JSON.stringify(u)}`);
2372
- r[u] = n;
2373
- }
2374
- return r;
2375
- }
2376
- function In(t, e) {
2377
- let r = /* @__PURE__ */ new Map();
2378
- for (let n of t) {
2379
- let u = n[e];
2380
- if (r.has(u)) throw new Error(`Duplicate ${e} ${JSON.stringify(u)}`);
2381
- r.set(u, n);
2382
- }
2383
- return r;
2384
- }
2385
- function Rn() {
2386
- let t = Object.create(null);
2387
- return (e) => {
2388
- let r = JSON.stringify(e);
2389
- return t[r] ? !0 : (t[r] = !0, !1);
2390
- };
2391
- }
2392
- function vn(t, e) {
2393
- let r = [], n = [];
2394
- for (let u of t) e(u) ? r.push(u) : n.push(u);
2395
- return [r, n];
2396
- }
2397
- function Ln(t) {
2398
- return t === Math.floor(t);
2399
- }
2400
- function Mn(t, e) {
2401
- if (t === e) return 0;
2402
- let r = typeof t, n = typeof e, u = [
2403
- "undefined",
2404
- "object",
2405
- "boolean",
2406
- "number",
2407
- "string"
2408
- ];
2409
- return r !== n ? u.indexOf(r) - u.indexOf(n) : r !== "string" ? Number(t) - Number(e) : t.localeCompare(e);
2410
- }
2411
- function Yn(t) {
2412
- return (...e) => {
2413
- let r = t(...e);
2414
- return typeof r == "string" ? new Error(r) : r;
2415
- };
2416
- }
2417
- function $t(t) {
2418
- return t === void 0 ? {} : t;
2419
- }
2420
- function zt(t) {
2421
- if (typeof t == "string") return { text: t };
2422
- let { text: e, list: r } = t;
2423
- return jo((e || r) !== void 0, "Unexpected `expected` result, there should be at least one field."), r ? {
2424
- text: e,
2425
- list: {
2426
- title: r.title,
2427
- values: r.values.map(zt)
2428
- }
2429
- } : { text: e };
2430
- }
2431
- function Gt(t, e) {
2432
- return t === !0 ? !0 : t === !1 ? { value: e } : t;
2433
- }
2434
- function Kt(t, e, r = !1) {
2435
- return t === !1 ? !1 : t === !0 ? r ? !0 : [{ value: e }] : "value" in t ? [t] : t.length === 0 ? !1 : t;
2436
- }
2437
- function bn(t, e) {
2438
- return typeof t == "string" || "key" in t ? {
2439
- from: e,
2440
- to: t
2441
- } : "from" in t ? {
2442
- from: t.from,
2443
- to: t.to
2444
- } : {
2445
- from: e,
2446
- to: t.to
2447
- };
2448
- }
2449
- function dt(t, e) {
2450
- return t === void 0 ? [] : Array.isArray(t) ? t.map((r) => bn(r, e)) : [bn(t, e)];
2451
- }
2452
- function Ht(t, e) {
2453
- let r = dt(typeof t == "object" && "redirect" in t ? t.redirect : t, e);
2454
- return r.length === 0 ? {
2455
- remain: e,
2456
- redirect: r
2457
- } : typeof t == "object" && "remain" in t ? {
2458
- remain: t.remain,
2459
- redirect: r
2460
- } : { redirect: r };
2461
- }
2462
- function jo(t, e) {
2463
- if (!t) throw new Error(e);
2464
- }
2465
- var Ft = class extends O {
2466
- constructor(e) {
2467
- super(e), this._choices = In(e.choices.map((r) => r && typeof r == "object" ? r : { value: r }), "value");
2468
- }
2469
- expected({ descriptor: e }) {
2470
- let r = Array.from(this._choices.keys()).map((i) => this._choices.get(i)).filter(({ hidden: i }) => !i).map((i) => i.value).sort(Mn).map(e.value), n = r.slice(0, -2), u = r.slice(-2);
2471
- return {
2472
- text: n.concat(u.join(" or ")).join(", "),
2473
- list: {
2474
- title: "one of the following values",
2475
- values: r
2476
- }
2477
- };
2478
- }
2479
- validate(e) {
2480
- return this._choices.has(e);
2481
- }
2482
- deprecated(e) {
2483
- let r = this._choices.get(e);
2484
- return r && r.deprecated ? { value: e } : !1;
2485
- }
2486
- forward(e) {
2487
- let r = this._choices.get(e);
2488
- return r ? r.forward : void 0;
2489
- }
2490
- redirect(e) {
2491
- let r = this._choices.get(e);
2492
- return r ? r.redirect : void 0;
2493
- }
2494
- };
2495
- var Et = class extends O {
2496
- expected() {
2497
- return "a number";
2498
- }
2499
- validate(e, r) {
2500
- return typeof e == "number";
2501
- }
2502
- };
2503
- var Ct = class extends Et {
2504
- expected() {
2505
- return "an integer";
2506
- }
2507
- validate(e, r) {
2508
- return r.normalizeValidateResult(super.validate(e, r), e) === !0 && Ln(e);
2509
- }
2510
- };
2511
- var Ye = class extends O {
2512
- expected() {
2513
- return "a string";
2514
- }
2515
- validate(e) {
2516
- return typeof e == "string";
2517
- }
2518
- };
2519
- var jn = ie;
2520
- var Un = ct;
2521
- var Vn = Nn;
2522
- var Wn = xn;
2523
- var ht = class {
2524
- constructor(e, r) {
2525
- let { logger: n = console, loggerPrintWidth: u = 80, descriptor: o = jn, unknown: i = Un, invalid: D = Vn, deprecated: s = Wn, missing: a = () => !1, required: c = () => !1, preprocess: p = (m) => m, postprocess: l = () => Ae } = r || {};
2526
- this._utils = {
2527
- descriptor: o,
2528
- logger: n || { warn: () => {} },
2529
- loggerPrintWidth: u,
2530
- schemas: kn(e, "name"),
2531
- normalizeDefaultResult: $t,
2532
- normalizeExpectedResult: zt,
2533
- normalizeDeprecatedResult: Kt,
2534
- normalizeForwardResult: dt,
2535
- normalizeRedirectResult: Ht,
2536
- normalizeValidateResult: Gt
2537
- }, this._unknownHandler = i, this._invalidHandler = Yn(D), this._deprecatedHandler = s, this._identifyMissing = (m, f) => !(m in f) || a(m, f), this._identifyRequired = c, this._preprocess = p, this._postprocess = l, this.cleanHistory();
2538
- }
2539
- cleanHistory() {
2540
- this._hasDeprecationWarned = Rn();
2541
- }
2542
- normalize(e) {
2543
- let r = {}, u = [this._preprocess(e, this._utils)], o = () => {
2544
- for (; u.length !== 0;) {
2545
- let i = u.shift(), D = this._applyNormalization(i, r);
2546
- u.push(...D);
2547
- }
2548
- };
2549
- o();
2550
- for (let i of Object.keys(this._utils.schemas)) {
2551
- let D = this._utils.schemas[i];
2552
- if (!(i in r)) {
2553
- let s = $t(D.default(this._utils));
2554
- "value" in s && u.push({ [i]: s.value });
2555
- }
2556
- }
2557
- o();
2558
- for (let i of Object.keys(this._utils.schemas)) {
2559
- if (!(i in r)) continue;
2560
- let D = this._utils.schemas[i], s = r[i], a = D.postprocess(s, this._utils);
2561
- a !== Ae && (this._applyValidation(a, i, D), r[i] = a);
2562
- }
2563
- return this._applyPostprocess(r), this._applyRequiredCheck(r), r;
2564
- }
2565
- _applyNormalization(e, r) {
2566
- let n = [], { knownKeys: u, unknownKeys: o } = this._partitionOptionKeys(e);
2567
- for (let i of u) {
2568
- let D = this._utils.schemas[i], s = D.preprocess(e[i], this._utils);
2569
- this._applyValidation(s, i, D);
2570
- let a = ({ from: m, to: f }) => {
2571
- n.push(typeof f == "string" ? { [f]: m } : { [f.key]: f.value });
2572
- }, c = ({ value: m, redirectTo: f }) => {
2573
- let F = Kt(D.deprecated(m, this._utils), s, !0);
2574
- if (F !== !1) if (F === !0) this._hasDeprecationWarned(i) || this._utils.logger.warn(this._deprecatedHandler(i, f, this._utils));
2575
- else for (let { value: d } of F) {
2576
- let E = {
2577
- key: i,
2578
- value: d
2579
- };
2580
- if (!this._hasDeprecationWarned(E)) {
2581
- let C = typeof f == "string" ? {
2582
- key: f,
2583
- value: d
2584
- } : f;
2585
- this._utils.logger.warn(this._deprecatedHandler(E, C, this._utils));
2586
- }
2587
- }
2588
- };
2589
- dt(D.forward(s, this._utils), s).forEach(a);
2590
- let l = Ht(D.redirect(s, this._utils), s);
2591
- if (l.redirect.forEach(a), "remain" in l) {
2592
- let m = l.remain;
2593
- r[i] = i in r ? D.overlap(r[i], m, this._utils) : m, c({ value: m });
2594
- }
2595
- for (let { from: m, to: f } of l.redirect) c({
2596
- value: m,
2597
- redirectTo: f
2598
- });
2599
- }
2600
- for (let i of o) {
2601
- let D = e[i];
2602
- this._applyUnknownHandler(i, D, r, (s, a) => {
2603
- n.push({ [s]: a });
2604
- });
2605
- }
2606
- return n;
2607
- }
2608
- _applyRequiredCheck(e) {
2609
- for (let r of Object.keys(this._utils.schemas)) if (this._identifyMissing(r, e) && this._identifyRequired(r)) throw this._invalidHandler(r, Dt, this._utils);
2610
- }
2611
- _partitionOptionKeys(e) {
2612
- let [r, n] = vn(Object.keys(e).filter((u) => !this._identifyMissing(u, e)), (u) => u in this._utils.schemas);
2613
- return {
2614
- knownKeys: r,
2615
- unknownKeys: n
2616
- };
2617
- }
2618
- _applyValidation(e, r, n) {
2619
- let u = Gt(n.validate(e, this._utils), e);
2620
- if (u !== !0) throw this._invalidHandler(r, u.value, this._utils);
2621
- }
2622
- _applyUnknownHandler(e, r, n, u) {
2623
- let o = this._unknownHandler(e, r, this._utils);
2624
- if (o) for (let i of Object.keys(o)) {
2625
- if (this._identifyMissing(i, o)) continue;
2626
- let D = o[i];
2627
- i in this._utils.schemas ? u(i, D) : n[i] = D;
2628
- }
2629
- }
2630
- _applyPostprocess(e) {
2631
- let r = this._postprocess(e, this._utils);
2632
- if (r !== Ae) {
2633
- if (r.delete) for (let n of r.delete) delete e[n];
2634
- if (r.override) {
2635
- let { knownKeys: n, unknownKeys: u } = this._partitionOptionKeys(r.override);
2636
- for (let o of n) {
2637
- let i = r.override[o];
2638
- this._applyValidation(i, o, this._utils.schemas[o]), e[o] = i;
2639
- }
2640
- for (let o of u) {
2641
- let i = r.override[o];
2642
- this._applyUnknownHandler(o, i, e, (D, s) => {
2643
- let a = this._utils.schemas[D];
2644
- this._applyValidation(s, D, a), e[D] = s;
2645
- });
2646
- }
2647
- }
2648
- }
2649
- }
2650
- };
2651
- var Jt;
2652
- function Uo(t, e, { logger: r = !1, isCLI: n = !1, passThrough: u = !1, FlagSchema: o, descriptor: i } = {}) {
2653
- if (n) {
2654
- if (!o) throw new Error("'FlagSchema' option is required.");
2655
- if (!i) throw new Error("'descriptor' option is required.");
2656
- } else i = ie;
2657
- let D = u ? Array.isArray(u) ? (l, m) => u.includes(l) ? { [l]: m } : void 0 : (l, m) => ({ [l]: m }) : (l, m, f) => {
2658
- let { _: F, ...d } = f.schemas;
2659
- return ct(l, m, {
2660
- ...f,
2661
- schemas: d
2662
- });
2663
- }, a = new ht(Vo(e, {
2664
- isCLI: n,
2665
- FlagSchema: o
2666
- }), {
2667
- logger: r,
2668
- unknown: D,
2669
- descriptor: i
2670
- }), c = r !== !1;
2671
- c && Jt && (a._hasDeprecationWarned = Jt);
2672
- let p = a.normalize(t);
2673
- return c && (Jt = a._hasDeprecationWarned), p;
2674
- }
2675
- function Vo(t, { isCLI: e, FlagSchema: r }) {
2676
- let n = [];
2677
- e && n.push(lt.create({ name: "_" }));
2678
- for (let u of t) n.push(Wo(u, {
2679
- isCLI: e,
2680
- optionInfos: t,
2681
- FlagSchema: r
2682
- })), u.alias && e && n.push(ft.create({
2683
- name: u.alias,
2684
- sourceName: u.name
2685
- }));
2686
- return n;
2687
- }
2688
- function Wo(t, { isCLI: e, optionInfos: r, FlagSchema: n }) {
2689
- let { name: u } = t, o = { name: u }, i, D = {};
2690
- switch (t.type) {
2691
- case "int":
2692
- i = Ct, e && (o.preprocess = Number);
2693
- break;
2694
- case "string":
2695
- i = Ye;
2696
- break;
2697
- case "choice":
2698
- i = Ft, o.choices = t.choices.map((s) => s?.redirect ? {
2699
- ...s,
2700
- redirect: { to: {
2701
- key: t.name,
2702
- value: s.redirect
2703
- } }
2704
- } : s);
2705
- break;
2706
- case "boolean":
2707
- i = mt;
2708
- break;
2709
- case "flag":
2710
- i = n, o.flags = r.flatMap((s) => [
2711
- s.alias,
2712
- s.description && s.name,
2713
- s.oppositeDescription && `no-${s.name}`
2714
- ].filter(Boolean));
2715
- break;
2716
- case "path":
2717
- i = Ye;
2718
- break;
2719
- default: throw new Error(`Unexpected type ${t.type}`);
2720
- }
2721
- if (t.exception ? o.validate = (s, a, c) => t.exception(s) || a.validate(s, c) : o.validate = (s, a, c) => s === void 0 || a.validate(s, c), t.redirect && (D.redirect = (s) => s ? { to: typeof t.redirect == "string" ? t.redirect : {
2722
- key: t.redirect.option,
2723
- value: t.redirect.value
2724
- } } : void 0), t.deprecated && (D.deprecated = !0), e && !t.array) {
2725
- let s = o.preprocess || ((a) => a);
2726
- o.preprocess = (a, c, p) => c.preprocess(s(Array.isArray(a) ? y(0, a, -1) : a), p);
2727
- }
2728
- return t.array ? pt.create({
2729
- ...e ? { preprocess: (s) => Array.isArray(s) ? s : [s] } : {},
2730
- ...D,
2731
- valueSchema: i.create(o)
2732
- }) : i.create({
2733
- ...o,
2734
- ...D
2735
- });
2736
- }
2737
- var $n = Uo;
2738
- var $o = Array.prototype.findLast ?? function(t) {
2739
- for (let e = this.length - 1; e >= 0; e--) {
2740
- let r = this[e];
2741
- if (t(r, e, this)) return r;
2742
- }
2743
- };
2744
- var qt = X("findLast", function() {
2745
- if (Array.isArray(this)) return $o;
2746
- });
2747
- var zn = Symbol.for("PRETTIER_IS_FRONT_MATTER");
2748
- var Xt = [];
2749
- function Go(t) {
2750
- return !!t?.[zn];
2751
- }
2752
- var pe = Go;
2753
- var Gn = /* @__PURE__ */ new Set(["yaml", "toml"]);
2754
- var je = ({ node: t }) => pe(t) && Gn.has(t.language);
2755
- async function Qt(t, e, r, n) {
2756
- let { node: u } = r, { language: o } = u;
2757
- if (!Gn.has(o)) return;
2758
- let i = u.value.trim(), D;
2759
- if (i) {
2760
- let s = o === "yaml" ? o : st(n, { language: o });
2761
- if (!s) return;
2762
- D = i ? await t(i, { parser: s }) : "";
2763
- } else D = i;
2764
- return Xe([
2765
- u.startDelimiter,
2766
- u.explicitLanguage ?? "",
2767
- W,
2768
- D,
2769
- D ? W : "",
2770
- u.endDelimiter
2771
- ]);
2772
- }
2773
- function Ko(t, e) {
2774
- return je({ node: t }) && (delete e.end, delete e.raw, delete e.value), e;
2775
- }
2776
- var Zt = Ko;
2777
- function Ho({ node: t }) {
2778
- return t.raw;
2779
- }
2780
- var er = Ho;
2781
- var Kn = /* @__PURE__ */ new Set([
2782
- "tokens",
2783
- "comments",
2784
- "parent",
2785
- "enclosingNode",
2786
- "precedingNode",
2787
- "followingNode"
2788
- ]);
2789
- var Jo = (t) => Object.keys(t).filter((e) => !Kn.has(e));
2790
- function qo(t, e) {
2791
- let r = t ? (n) => t(n, Kn) : Jo;
2792
- return e ? new Proxy(r, { apply: (n, u, o) => pe(o[0]) ? Xt : Reflect.apply(n, u, o) }) : r;
2793
- }
2794
- var tr = qo;
2795
- function rr(t, e) {
2796
- if (!e) throw new Error("parserName is required.");
2797
- let r = qt(0, t, (u) => u.parsers && le(u.parsers, e));
2798
- if (r) return r;
2799
- let n = `Couldn't resolve parser "${e}".`;
2800
- throw n += " Plugins must be explicitly added to the standalone bundle.", new Le(n);
2801
- }
2802
- function Hn(t, e) {
2803
- if (!e) throw new Error("astFormat is required.");
2804
- let r = qt(0, t, (u) => u.printers && le(u.printers, e));
2805
- if (r) return r;
2806
- let n = `Couldn't find plugin for AST format "${e}".`;
2807
- throw n += " Plugins must be explicitly added to the standalone bundle.", new Le(n);
2808
- }
2809
- function Ue({ plugins: t, parser: e }) {
2810
- return nr(rr(t, e), e);
2811
- }
2812
- function nr(t, e) {
2813
- let r = t.parsers[e];
2814
- return typeof r == "function" ? r() : r;
2815
- }
2816
- async function Jn(t, e) {
2817
- let r = t.printers[e];
2818
- return Zo(typeof r == "function" ? await r() : r);
2819
- }
2820
- function Xo(t) {
2821
- let { features: e, getVisitorKeys: r, embed: n, massageAstNode: u, print: o, ...i } = t;
2822
- e = ni(e);
2823
- let D = e.experimental_frontMatterSupport;
2824
- r = tr(r, D.massageAstNode || D.embed || D.print);
2825
- let s = u;
2826
- u && D.massageAstNode && (s = new Proxy(u, { apply(l, m, f) {
2827
- return Zt(...f), Reflect.apply(l, m, f);
2828
- } }));
2829
- let a = n;
2830
- if (n) {
2831
- let l;
2832
- a = new Proxy(n, {
2833
- get(m, f, F) {
2834
- return f === "getVisitorKeys" ? (l ?? (l = n.getVisitorKeys ? tr(n.getVisitorKeys, D.massageAstNode || D.embed) : r), l) : Reflect.get(m, f, F);
2835
- },
2836
- apply: (m, f, F) => D.embed && je(...F) ? Qt : Reflect.apply(m, f, F)
2837
- });
2838
- }
2839
- let c = o;
2840
- return D.print && (c = new Proxy(o, { apply(l, m, f) {
2841
- let [F] = f;
2842
- return pe(F.node) ? er(F) : Reflect.apply(l, m, f);
2843
- } })), {
2844
- features: e,
2845
- getVisitorKeys: r,
2846
- embed: a,
2847
- massageAstNode: s,
2848
- print: c,
2849
- ...i
2850
- };
2851
- }
2852
- var Qo = /* @__PURE__ */ new WeakMap();
2853
- function Zo(t) {
2854
- return Fe(Qo, t, Xo);
2855
- }
2856
- var ti = Object.fromEntries([
2857
- "clean",
2858
- "embed",
2859
- "print"
2860
- ].map((t) => [t, !1]));
2861
- function ri(t) {
2862
- return {
2863
- ...ti,
2864
- ...t
2865
- };
2866
- }
2867
- function ni(t) {
2868
- return {
2869
- experimental_avoidAstMutation: !1,
2870
- ...t,
2871
- experimental_frontMatterSupport: ri(t?.experimental_frontMatterSupport)
2872
- };
2873
- }
2874
- var qn = {
2875
- astFormat: "estree",
2876
- printer: {},
2877
- originalText: void 0,
2878
- locStart: null,
2879
- locEnd: null,
2880
- getVisitorKeys: null
2881
- };
2882
- async function ui(t, e = {}) {
2883
- let r = { ...t };
2884
- if (!r.parser) {
2885
- if (!r.filepath) throw new Me("No parser and no file path given, couldn't infer a parser.");
2886
- if (r.parser = st(r, { physicalFile: r.filepath }), !r.parser) throw new Me(`No parser could be inferred for file "${r.filepath}".`);
2887
- }
2888
- let n = it({
2889
- plugins: t.plugins,
2890
- showDeprecated: !0
2891
- }).options, u = {
2892
- ...qn,
2893
- ...Object.fromEntries(n.filter((p) => p.default !== void 0).map((p) => [p.name, p.default]))
2894
- }, o = rr(r.plugins, r.parser), i = await nr(o, r.parser);
2895
- r.astFormat = i.astFormat, r.locEnd = i.locEnd, r.locStart = i.locStart;
2896
- let D = o.printers?.[i.astFormat] ? o : Hn(r.plugins, i.astFormat), s = await Jn(D, i.astFormat);
2897
- r.printer = s, r.getVisitorKeys = s.getVisitorKeys;
2898
- let a = D.defaultOptions ? Object.fromEntries(Object.entries(D.defaultOptions).filter(([, p]) => p !== void 0)) : {}, c = {
2899
- ...u,
2900
- ...a
2901
- };
2902
- for (let [p, l] of Object.entries(c)) r[p] ?? (r[p] = l);
2903
- return r.parser === "json" && (r.trailingComma = "none"), $n(r, n, {
2904
- passThrough: Object.keys(qn),
2905
- ...e
2906
- });
2907
- }
2908
- var se = ui;
2909
- var Xn = /\r\n|[\n\r\u2028\u2029]/;
2910
- function oi(t, e, r, n) {
2911
- let u = {
2912
- column: null,
2913
- line: -1,
2914
- ...t.start
2915
- }, o = {
2916
- ...u,
2917
- ...t.end
2918
- }, { linesAbove: i = 2, linesBelow: D = 3 } = r || {}, s = u.line - n, a = u.column, c = o.line - n, p = o.column, l = Math.max(s - (i + 1), 0), m = Math.min(e.length, c + D);
2919
- s === -1 && (l = 0), c === -1 && (m = e.length);
2920
- let f = c - s, F = {};
2921
- if (f) for (let d = 0; d <= f; d++) {
2922
- let E = d + s;
2923
- if (a == null) F[E] = !0;
2924
- else if (d === 0) F[E] = [a, e[E - 1].length - a];
2925
- else if (d === f) F[E] = [0, p];
2926
- else F[E] = [0, e[E - 1].length];
2927
- }
2928
- else if (a === p) a != null ? F[s] = [a, 0] : F[s] = !0;
2929
- else {
2930
- let d = a ?? 0;
2931
- F[s] = [d, (p ?? d) - d];
2932
- }
2933
- return {
2934
- start: l,
2935
- end: m,
2936
- markerLines: F
2937
- };
2938
- }
2939
- function Qn(t, e, r = {}, n) {
2940
- let { defs: u, highlight: o } = n || {
2941
- defs: {
2942
- gutter: String,
2943
- marker: String,
2944
- message: String,
2945
- reset: String
2946
- },
2947
- highlight: String
2948
- }, i = (r.startLine || 1) - 1, { start: s, end: a, markerLines: c } = oi(e, t.split(Xn), r, i), p = e.start && typeof e.start.column == "number", l = String(a + i).length, f = o(t).split(Xn, a).slice(s, a).map((F, d) => {
2949
- let E = s + 1 + d, h = ` ${` ${E + i}`.slice(-l)} |`, _ = c[E], P = !c[E + 1];
2950
- if (_) {
2951
- let A = "";
2952
- if (Array.isArray(_)) {
2953
- let B = F.slice(0, _[0]).replace(/[^\t]/g, " "), J = _[1] || 1;
2954
- A = [
2955
- `
2956
- `,
2957
- u.gutter(h.replace(/\d/g, " ")),
2958
- " ",
2959
- B,
2960
- u.marker("^").repeat(J)
2961
- ].join(""), P && r.message && (A += " " + u.message(r.message));
2962
- }
2963
- return [
2964
- u.marker(">"),
2965
- u.gutter(h),
2966
- F.length > 0 ? ` ${F}` : "",
2967
- A
2968
- ].join("");
2969
- } else return ` ${u.gutter(h)}${F.length > 0 ? ` ${F}` : ""}`;
2970
- }).join(`
2971
- `);
2972
- return r.message && !p && (f = `${" ".repeat(l + 1)}${r.message}
2973
- ${f}`), u.reset(f);
2974
- }
2975
- function Zn(t, e, r = {}) {
2976
- return Qn(t, e, r);
2977
- }
2978
- async function ii(t, e) {
2979
- let r = await Ue(e), n = r.preprocess ? await r.preprocess(t, e) : t;
2980
- e.originalText = n;
2981
- let u;
2982
- try {
2983
- u = await r.parse(n, e, e);
2984
- } catch (o) {
2985
- si(o, t);
2986
- }
2987
- return {
2988
- text: n,
2989
- ast: u
2990
- };
2991
- }
2992
- function si(t, e) {
2993
- let { loc: r } = t;
2994
- if (r) {
2995
- let { start: n, end: u } = r;
2996
- n && (n = {
2997
- line: n.line,
2998
- column: n.column - 1
2999
- }), u && (u = {
3000
- line: u.line,
3001
- column: u.column - 1
3002
- });
3003
- let o = Zn(e, {
3004
- start: n,
3005
- end: u
3006
- }, { highlightCode: !0 });
3007
- t.message += `
3008
- ` + o, t.codeFrame = o;
3009
- }
3010
- throw t;
3011
- }
3012
- var me = ii;
3013
- async function eu(t, e, r, n, u) {
3014
- if (r.embeddedLanguageFormatting !== "auto") return;
3015
- let { printer: o } = r, { embed: i } = o;
3016
- if (!i) return;
3017
- if (i.length > 2) throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed");
3018
- let { hasPrettierIgnore: D } = o, { getVisitorKeys: s } = i, a = [];
3019
- l();
3020
- let c = t.stack;
3021
- for (let { print: m, node: f, pathStack: F } of a) try {
3022
- t.stack = F;
3023
- let d = await m(p, e, t, r);
3024
- d && u.set(f, d);
3025
- } catch (d) {
3026
- if (globalThis.PRETTIER_DEBUG) throw d;
3027
- }
3028
- t.stack = c;
3029
- function p(m, f) {
3030
- return Di(m, f, r, n);
3031
- }
3032
- function l() {
3033
- let { node: m } = t;
3034
- if (m === null || typeof m != "object" || D?.(t)) return;
3035
- for (let F of s(m)) Array.isArray(m[F]) ? t.each(l, F) : t.call(l, F);
3036
- let f = i(t, r);
3037
- if (f) {
3038
- if (typeof f == "function") {
3039
- a.push({
3040
- print: f,
3041
- node: m,
3042
- pathStack: [...t.stack]
3043
- });
3044
- return;
3045
- }
3046
- u.set(m, f);
3047
- }
3048
- }
3049
- }
3050
- async function Di(t, e, r, n) {
3051
- let u = await se({
3052
- ...r,
3053
- ...e,
3054
- parentParser: r.parser,
3055
- originalText: t,
3056
- cursorOffset: void 0,
3057
- rangeStart: void 0,
3058
- rangeEnd: void 0
3059
- }, { passThrough: !0 }), { ast: o } = await me(t, u);
3060
- return He(await n(o, u));
3061
- }
3062
- function ai(t, e, r, n) {
3063
- let { originalText: u, [ue]: o, locStart: i, locEnd: D, [Symbol.for("printedComments")]: s } = e, { node: a } = t, c = i(a), p = D(a);
3064
- for (let m of o) i(m) >= c && D(m) <= p && s.add(m);
3065
- let { printPrettierIgnored: l } = e.printer;
3066
- return l ? l(t, e, r, n) : u.slice(c, p);
3067
- }
3068
- var tu = ai;
3069
- async function Ve(t, e) {
3070
- ({ast: t} = await ur(t, e));
3071
- let r = /* @__PURE__ */ new Map(), n = new en(t), u = dn(e), o = /* @__PURE__ */ new Map();
3072
- await eu(n, D, e, Ve, o);
3073
- let i = await ru(n, e, D, void 0, o);
3074
- if (mn(e), e.cursorOffset >= 0) {
3075
- if (e.nodeAfterCursor && !e.nodeBeforeCursor) return [ee, i];
3076
- if (e.nodeBeforeCursor && !e.nodeAfterCursor) return [i, ee];
3077
- }
3078
- return i;
3079
- function D(a, c) {
3080
- return a === void 0 || a === n ? s(c) : Array.isArray(a) ? n.call(() => s(c), ...a) : n.call(() => s(c), a);
3081
- }
3082
- function s(a) {
3083
- u(n);
3084
- let c = n.node;
3085
- if (c == null) return "";
3086
- let p = ge(c) && a === void 0;
3087
- if (p && r.has(c)) return r.get(c);
3088
- let l = ru(n, e, D, a, o);
3089
- return p && r.set(c, l), l;
3090
- }
3091
- }
3092
- function ru(t, e, r, n, u) {
3093
- let { node: o } = t, { printer: i } = e, D;
3094
- switch (i.hasPrettierIgnore?.(t) ? D = tu(t, e, r, n) : u.has(o) ? D = u.get(o) : D = i.print(t, e, r, n), o) {
3095
- case e.cursorNode:
3096
- D = Ee(D, (s) => [
3097
- ee,
3098
- s,
3099
- ee
3100
- ]);
3101
- break;
3102
- case e.nodeBeforeCursor:
3103
- D = Ee(D, (s) => [s, ee]);
3104
- break;
3105
- case e.nodeAfterCursor: D = Ee(D, (s) => [ee, s]);
3106
- }
3107
- return i.printComment && rt(o.comments) && !i.willPrintOwnComments?.(t, e) && (D = pn(t, D, e)), D;
3108
- }
3109
- async function ur(t, e) {
3110
- let r = t.comments ?? [];
3111
- e[ue] = r, e[Symbol.for("printedComments")] = /* @__PURE__ */ new Set(), an(t, e);
3112
- let { printer: { preprocess: n } } = e;
3113
- return t = n ? await n(t, e) : t, {
3114
- ast: t,
3115
- comments: r
3116
- };
3117
- }
3118
- function ci(t, e) {
3119
- let { cursorOffset: r, locStart: n, locEnd: u, getVisitorKeys: o } = e, i = (m) => n(m) <= r && u(m) >= r, D = t, s = [t];
3120
- for (let m of nn(t, {
3121
- getVisitorKeys: o,
3122
- filter: i
3123
- })) s.push(m), D = m;
3124
- if (un(D, { getVisitorKeys: o })) return { cursorNode: D };
3125
- let a, c, p = -1, l = Number.POSITIVE_INFINITY;
3126
- for (; s.length > 0 && (a === void 0 || c === void 0);) {
3127
- D = s.pop();
3128
- let m = a !== void 0, f = c !== void 0;
3129
- for (let F of ye(D, { getVisitorKeys: o })) {
3130
- if (!m) {
3131
- let d = u(F);
3132
- d <= r && d > p && (a = F, p = d);
3133
- }
3134
- if (!f) {
3135
- let d = n(F);
3136
- d >= r && d < l && (c = F, l = d);
3137
- }
3138
- }
3139
- }
3140
- return {
3141
- nodeBeforeCursor: a,
3142
- nodeAfterCursor: c
3143
- };
3144
- }
3145
- var or = ci;
3146
- function fi(t, e) {
3147
- let { printer: r } = e, n = r.massageAstNode;
3148
- if (!n) return t;
3149
- let { getVisitorKeys: u } = r, { ignoredProperties: o } = n;
3150
- return i(t);
3151
- function i(D, s) {
3152
- if (!ge(D)) return D;
3153
- if (Array.isArray(D)) return D.map((l) => i(l, s)).filter(Boolean);
3154
- let a = {}, c = new Set(u(D));
3155
- for (let l in D) !le(D, l) || o?.has(l) || (c.has(l) ? a[l] = i(D[l], D) : a[l] = D[l]);
3156
- let p = n(D, a, s);
3157
- if (p !== null) return p ?? a;
3158
- }
3159
- }
3160
- var nu = fi;
3161
- var li = Array.prototype.findLastIndex ?? function(t) {
3162
- for (let e = this.length - 1; e >= 0; e--) {
3163
- let r = this[e];
3164
- if (t(r, e, this)) return e;
3165
- }
3166
- return -1;
3167
- };
3168
- var uu = X("findLastIndex", function() {
3169
- if (Array.isArray(this)) return li;
3170
- });
3171
- function mi(t, e) {
3172
- return e = new Set(e), t.find((r) => su.has(r.type) && e.has(r));
3173
- }
3174
- function ou(t) {
3175
- let e = uu(0, t, (r) => r.type !== "Program" && r.type !== "File");
3176
- return e === -1 ? t : t.slice(0, e + 1);
3177
- }
3178
- function di(t, e, { locStart: r, locEnd: n }) {
3179
- let [u, ...o] = t, [i, ...D] = e;
3180
- if (u === i) return [u, i];
3181
- let s = r(u);
3182
- for (let c of ou(D)) if (r(c) >= s) i = c;
3183
- else break;
3184
- let a = n(i);
3185
- for (let c of ou(o)) {
3186
- if (n(c) <= a) u = c;
3187
- else break;
3188
- if (u === i) break;
3189
- }
3190
- return [u, i];
3191
- }
3192
- function ir(t, e, r, n, u = [], o, i) {
3193
- let { locStart: D, locEnd: s } = i, a = D(t), c = s(t);
3194
- if (e > c || e < a || o === "rangeEnd" && e === a || o === "rangeStart" && e === c) return;
3195
- let p = [t, ...u], l = ot(t, p, {
3196
- cache: Ut,
3197
- locStart: D,
3198
- locEnd: s,
3199
- getVisitorKeys: r.getVisitorKeys,
3200
- filter: r.printer.canAttachComment,
3201
- getChildren: r.printer.getCommentChildNodes
3202
- });
3203
- for (let m of l) {
3204
- let f = ir(m, e, r, n, p, o, i);
3205
- if (f) return f;
3206
- }
3207
- if (n(t, u[0])) return p;
3208
- }
3209
- function Fi(t, e) {
3210
- return e !== "DeclareExportDeclaration" && t !== "TypeParameterDeclaration" && (t === "Directive" || t === "TypeAlias" || t === "TSExportAssignment" || t.startsWith("Declare") || t.startsWith("TSDeclare") || t.endsWith("Statement") || t.endsWith("Declaration"));
3211
- }
3212
- var su = /* @__PURE__ */ new Set([
3213
- "JsonRoot",
3214
- "ObjectExpression",
3215
- "ArrayExpression",
3216
- "StringLiteral",
3217
- "NumericLiteral",
3218
- "BooleanLiteral",
3219
- "NullLiteral",
3220
- "UnaryExpression",
3221
- "TemplateLiteral"
3222
- ]);
3223
- var Ei = /* @__PURE__ */ new Set([
3224
- "OperationDefinition",
3225
- "FragmentDefinition",
3226
- "VariableDefinition",
3227
- "TypeExtensionDefinition",
3228
- "ObjectTypeDefinition",
3229
- "FieldDefinition",
3230
- "DirectiveDefinition",
3231
- "EnumTypeDefinition",
3232
- "EnumValueDefinition",
3233
- "InputValueDefinition",
3234
- "InputObjectTypeDefinition",
3235
- "SchemaDefinition",
3236
- "OperationTypeDefinition",
3237
- "InterfaceTypeDefinition",
3238
- "UnionTypeDefinition",
3239
- "ScalarTypeDefinition"
3240
- ]);
3241
- function iu(t, e, r) {
3242
- if (!e) return !1;
3243
- switch (t.parser) {
3244
- case "flow":
3245
- case "hermes":
3246
- case "babel":
3247
- case "babel-flow":
3248
- case "babel-ts":
3249
- case "typescript":
3250
- case "acorn":
3251
- case "espree":
3252
- case "meriyah":
3253
- case "oxc":
3254
- case "oxc-ts":
3255
- case "yuku":
3256
- case "yuku-ts":
3257
- case "__babel_estree": return Fi(e.type, r?.type);
3258
- case "json":
3259
- case "json5":
3260
- case "jsonc":
3261
- case "json-stringify": return su.has(e.type);
3262
- case "graphql": return Ei.has(e.kind);
3263
- case "vue": return e.tag !== "root";
3264
- }
3265
- return !1;
3266
- }
3267
- function Du(t, e, r) {
3268
- let { rangeStart: n, rangeEnd: u } = e;
3269
- k(u > n);
3270
- let o = t.slice(n, u).search(/\S/), i = o === -1;
3271
- if (!i) for (n += o; u > n && !/\S/.test(t[u - 1]); --u);
3272
- let D = e.printer.features?.experimental_locForRangeFormat ?? e, s = ir(r, n, e, (f, F) => iu(e, f, F), [], "rangeStart", D);
3273
- if (!s) return;
3274
- let a = i ? s : ir(r, u, e, (f) => iu(e, f), [], "rangeEnd", D);
3275
- if (!a) return;
3276
- let c, p;
3277
- if (r.type === "JsonRoot") {
3278
- let f = mi(s, a);
3279
- c = f, p = f;
3280
- } else [c, p] = di(s, a, e);
3281
- let { locStart: l, locEnd: m } = D;
3282
- return [Math.min(l(c), l(p)), Math.max(m(c), m(p))];
3283
- }
3284
- var lu = "";
3285
- var au = Symbol("cursor");
3286
- async function pu(t, e, r = 0) {
3287
- if (!t || t.trim().length === 0) return {
3288
- formatted: "",
3289
- cursorOffset: -1,
3290
- comments: []
3291
- };
3292
- let { ast: n, text: u } = await me(t, e);
3293
- e.cursorOffset >= 0 && (e = {
3294
- ...e,
3295
- ...or(n, e)
3296
- });
3297
- let o = await Ve(n, e, r);
3298
- r > 0 && (o = Qe([W, o], r, e.tabWidth));
3299
- let i = Ce(o, e);
3300
- if (r > 0) {
3301
- let s = i.formatted.trim();
3302
- i.cursorNodeStart !== void 0 && (i.cursorNodeStart -= i.formatted.indexOf(s), i.cursorNodeStart < 0 && (i.cursorNodeStart = 0, i.cursorNodeText = i.cursorNodeText.trimStart()), i.cursorNodeStart + i.cursorNodeText.length > s.length && (i.cursorNodeText = i.cursorNodeText.trimEnd())), i.formatted = s + we(e.endOfLine);
3303
- }
3304
- let D = e[ue];
3305
- if (e.cursorOffset >= 0) {
3306
- let s, a, c, p;
3307
- if ((e.cursorNode || e.nodeBeforeCursor || e.nodeAfterCursor) && i.cursorNodeText) if (c = i.cursorNodeStart, p = i.cursorNodeText, e.cursorNode) s = e.locStart(e.cursorNode), a = u.slice(s, e.locEnd(e.cursorNode));
3308
- else {
3309
- if (!e.nodeBeforeCursor && !e.nodeAfterCursor) throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");
3310
- s = e.nodeBeforeCursor ? e.locEnd(e.nodeBeforeCursor) : 0;
3311
- let E = e.nodeAfterCursor ? e.locStart(e.nodeAfterCursor) : u.length;
3312
- a = u.slice(s, E);
3313
- }
3314
- else s = 0, a = u, c = 0, p = i.formatted;
3315
- let l = e.cursorOffset - s;
3316
- if (a === p) return {
3317
- formatted: i.formatted,
3318
- cursorOffset: c + l,
3319
- comments: D
3320
- };
3321
- let m = a.split("");
3322
- m.splice(l, 0, au);
3323
- let F = xt(m, p.split("")), d = c;
3324
- for (let E of F) if (E.removed) {
3325
- if (E.value.includes(au)) break;
3326
- } else d += E.count;
3327
- return {
3328
- formatted: i.formatted,
3329
- cursorOffset: d,
3330
- comments: D
3331
- };
3332
- }
3333
- return {
3334
- formatted: i.formatted,
3335
- cursorOffset: -1,
3336
- comments: D
3337
- };
3338
- }
3339
- async function Ci(t, e) {
3340
- let { ast: r, text: n } = await me(t, e), [u, o] = Du(n, e, r) ?? [0, 0], i = n.slice(u, o), D = Math.min(u, n.lastIndexOf(`
3341
- `, u) + 1), s = n.slice(D, u).match(/^\s*/)[0], a = he(s, e.tabWidth), c = await pu(i, {
3342
- ...e,
3343
- rangeStart: 0,
3344
- rangeEnd: Number.POSITIVE_INFINITY,
3345
- cursorOffset: e.cursorOffset > u && e.cursorOffset <= o ? e.cursorOffset - u : -1,
3346
- endOfLine: "lf"
3347
- }, a), p = c.formatted.trimEnd(), { cursorOffset: l } = e;
3348
- l > o ? l += p.length - i.length : c.cursorOffset >= 0 && (l = c.cursorOffset + u);
3349
- let m = n.slice(0, u) + p + n.slice(o);
3350
- if (e.endOfLine !== "lf") {
3351
- let f = we(e.endOfLine);
3352
- l >= 0 && f === `\r
3353
- ` && (l += Tt(m.slice(0, l), `
3354
- `)), m = ne(0, m, `
3355
- `, f);
3356
- }
3357
- return {
3358
- formatted: m,
3359
- cursorOffset: l,
3360
- comments: c.comments
3361
- };
3362
- }
3363
- function sr(t, e, r) {
3364
- return typeof e != "number" || Number.isNaN(e) || e < 0 || e > t.length ? r : e;
3365
- }
3366
- function cu(t, e) {
3367
- let { cursorOffset: r, rangeStart: n, rangeEnd: u } = e;
3368
- return r = sr(t, r, -1), n = sr(t, n, 0), u = sr(t, u, t.length), {
3369
- ...e,
3370
- cursorOffset: r,
3371
- rangeStart: n,
3372
- rangeEnd: u
3373
- };
3374
- }
3375
- function mu(t, e) {
3376
- let { cursorOffset: r, rangeStart: n, rangeEnd: u, endOfLine: o } = cu(t, e), i = t.charAt(0) === lu;
3377
- if (i && (t = t.slice(1), r--, n--, u--), o === "auto" && (o = Cr(t)), t.includes("\r")) {
3378
- let D = (s) => Tt(t.slice(0, Math.max(s, 0)), `\r
3379
- `);
3380
- r -= D(r), n -= D(n), u -= D(u), t = hr(t);
3381
- }
3382
- return {
3383
- hasBOM: i,
3384
- text: t,
3385
- options: cu(t, {
3386
- ...e,
3387
- cursorOffset: r,
3388
- rangeStart: n,
3389
- rangeEnd: u,
3390
- endOfLine: o
3391
- })
3392
- };
3393
- }
3394
- async function fu(t, e) {
3395
- let r = await Ue(e);
3396
- return !r.hasPragma || r.hasPragma(t);
3397
- }
3398
- async function hi(t, e) {
3399
- return (await Ue(e)).hasIgnorePragma?.(t);
3400
- }
3401
- async function Dr(t, e) {
3402
- let { hasBOM: r, text: n, options: u } = mu(t, await se(e));
3403
- if (u.rangeStart >= u.rangeEnd && n !== "" || u.requirePragma && !await fu(n, u) || u.checkIgnorePragma && await hi(n, u)) return {
3404
- formatted: t,
3405
- cursorOffset: e.cursorOffset,
3406
- comments: []
3407
- };
3408
- let o;
3409
- return u.rangeStart > 0 || u.rangeEnd < n.length ? o = await Ci(n, u) : (!u.requirePragma && u.insertPragma && u.printer.insertPragma && !await fu(n, u) && (n = u.printer.insertPragma(n)), o = await pu(n, u)), r && (o.formatted = lu + o.formatted, o.cursorOffset >= 0 && o.cursorOffset++), o;
3410
- }
3411
- async function du(t, e, r) {
3412
- let { text: n, options: u } = mu(t, await se(e)), o = await me(n, u);
3413
- return r && (r.preprocessForPrint && (o.ast = await ur(o.ast, u)), r.massage && (o.ast = nu(o.ast, u))), o;
3414
- }
3415
- async function Fu(t, e) {
3416
- e = await se(e);
3417
- return Ce(await Ve(t, e), e);
3418
- }
3419
- async function Eu(t, e) {
3420
- let { formatted: n } = await Dr(Ur(t), {
3421
- ...e,
3422
- parser: "__js_expression"
3423
- });
3424
- return n;
3425
- }
3426
- async function Cu(t, e) {
3427
- e = await se(e);
3428
- let { ast: r } = await me(t, e);
3429
- return e.cursorOffset >= 0 && (e = {
3430
- ...e,
3431
- ...or(r, e)
3432
- }), Ve(r, e);
3433
- }
3434
- async function hu(t, e) {
3435
- return Ce(t, await se(e));
3436
- }
3437
- var ar = {};
3438
- yt(ar, {
3439
- builders: () => _i,
3440
- printer: () => yi,
3441
- utils: () => Ai
3442
- });
3443
- var _i = {
3444
- join: be,
3445
- line: Ze,
3446
- softline: Mr,
3447
- hardline: W,
3448
- literalline: Je,
3449
- group: wt,
3450
- conditionalGroup: Ir,
3451
- fill: kr,
3452
- lineSuffix: Ie,
3453
- lineSuffixBoundary: Yr,
3454
- cursor: ee,
3455
- breakParent: ae,
3456
- ifBreak: Rr,
3457
- trim: jr,
3458
- indent: oe,
3459
- indentIfBreak: vr,
3460
- align: De,
3461
- addAlignmentToDoc: Qe,
3462
- markAsRoot: Xe,
3463
- dedentToRoot: Sr,
3464
- dedent: br,
3465
- hardlineWithoutBreakParent: ke,
3466
- literallineWithoutBreakParent: Ot,
3467
- label: Lr,
3468
- concat: (t) => t
3469
- };
3470
- var yi = { printDocToString: Ce };
3471
- var Ai = {
3472
- willBreak: xr,
3473
- traverseDoc: Oe,
3474
- findInDoc: Ke,
3475
- mapDoc: Se,
3476
- removeLines: Tr,
3477
- stripTrailingHardline: He,
3478
- replaceEndOfLine: Nr,
3479
- canBreak: wr
3480
- };
3481
- var gu = "3.9.6";
3482
- var fr = {};
3483
- yt(fr, {
3484
- addDanglingComment: () => re,
3485
- addLeadingComment: () => ce,
3486
- addTrailingComment: () => fe,
3487
- getAlignmentSize: () => he,
3488
- getIndentSize: () => _u,
3489
- getMaxContinuousCount: () => yu,
3490
- getNextNonSpaceNonCommentCharacter: () => Au,
3491
- getNextNonSpaceNonCommentCharacterIndex: () => vi,
3492
- getPreferredQuote: () => Tu,
3493
- getStringWidth: () => Re,
3494
- hasNewline: () => H,
3495
- hasNewlineInRange: () => Nu,
3496
- hasSpaces: () => wu,
3497
- isNextLineEmpty: () => Ui,
3498
- isNextLineEmptyAfterIndex: () => gt,
3499
- isPreviousLineEmpty: () => Mi,
3500
- makeString: () => ji,
3501
- skip: () => _e,
3502
- skipEverythingButNewLine: () => ut,
3503
- skipInlineComment: () => Be,
3504
- skipNewline: () => $,
3505
- skipSpaces: () => j,
3506
- skipToLineEnd: () => nt,
3507
- skipTrailingComment: () => Te,
3508
- skipWhitespace: () => tn
3509
- });
3510
- function xi(t, e) {
3511
- if (e === !1) return !1;
3512
- if (t.charAt(e) === "/" && t.charAt(e + 1) === "*") {
3513
- for (let r = e + 2; r < t.length; ++r) if (t.charAt(r) === "*" && t.charAt(r + 1) === "/") return r + 2;
3514
- }
3515
- return e;
3516
- }
3517
- var Be = xi;
3518
- function Bi(t, e) {
3519
- return e === !1 ? !1 : t.charAt(e) === "/" && t.charAt(e + 1) === "/" ? ut(t, e) : e;
3520
- }
3521
- var Te = Bi;
3522
- function Ti(t, e) {
3523
- let r = null, n = e;
3524
- for (; n !== r;) r = n, n = j(t, n), n = Be(t, n), n = Te(t, n), n = $(t, n);
3525
- return n;
3526
- }
3527
- var We = Ti;
3528
- function Ni(t, e) {
3529
- let r = null, n = e;
3530
- for (; n !== r;) r = n, n = nt(t, n), n = Be(t, n), n = j(t, n);
3531
- return n = Te(t, n), n = $(t, n), n !== !1 && H(t, n);
3532
- }
3533
- var gt = Ni;
3534
- function wi(t, e) {
3535
- let r = t.lastIndexOf(`
3536
- `);
3537
- return r === -1 ? 0 : he(t.slice(r + 1).match(/^[\t ]*/)[0], e);
3538
- }
3539
- var _u = wi;
3540
- function cr(t) {
3541
- if (typeof t != "string") throw new TypeError("Expected a string");
3542
- return t.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
3543
- }
3544
- function Oi(t, e) {
3545
- let r = t.matchAll(new RegExp(`(?:${cr(e)})+`, "g"));
3546
- return r.reduce || (r = [...r]), r.reduce((n, [u]) => Math.max(n, u.length), 0) / e.length;
3547
- }
3548
- var yu = Oi;
3549
- function Pi(t, e) {
3550
- let r = We(t, e);
3551
- return r === !1 ? "" : t.charAt(r);
3552
- }
3553
- var Au = Pi;
3554
- var xu = Object.freeze({
3555
- character: "'",
3556
- codePoint: 39
3557
- });
3558
- var Bu = Object.freeze({
3559
- character: "\"",
3560
- codePoint: 34
3561
- });
3562
- var Si = Object.freeze({
3563
- preferred: xu,
3564
- alternate: Bu
3565
- });
3566
- var bi = Object.freeze({
3567
- preferred: Bu,
3568
- alternate: xu
3569
- });
3570
- function Tu(t, e) {
3571
- let { preferred: r, alternate: n } = e === !0 || e === "'" ? Si : bi, { length: u } = t, o = 0, i = 0;
3572
- for (let D = 0; D < u; D++) {
3573
- let s = t.charCodeAt(D);
3574
- s === r.codePoint ? o++ : s === n.codePoint && i++;
3575
- }
3576
- return (o > i ? n : r).character;
3577
- }
3578
- function ki(t, e, r) {
3579
- for (let n = e; n < r; ++n) if (t.charAt(n) === `
3580
- `) return !0;
3581
- return !1;
3582
- }
3583
- var Nu = ki;
3584
- function Ii(t, e, r = {}) {
3585
- return j(t, r.backwards ? e - 1 : e, r) !== e;
3586
- }
3587
- var wu = Ii;
3588
- function Ri(t, e, r) {
3589
- return We(t, r(e));
3590
- }
3591
- function vi(t, e) {
3592
- return arguments.length === 2 || typeof e == "number" ? We(t, e) : Ri(...arguments);
3593
- }
3594
- function Li(t, e, r) {
3595
- return ve(t, r(e));
3596
- }
3597
- function Mi(t, e) {
3598
- return arguments.length === 2 || typeof e == "number" ? ve(t, e) : Li(...arguments);
3599
- }
3600
- function Yi(t, e, r) {
3601
- return gt(t, r(e));
3602
- }
3603
- function ji(t, e, r) {
3604
- let n = e === "\"" ? "'" : "\"";
3605
- return e + ne(0, t, /\\(.)|(["'])/gs, (i, D, s) => D === n ? D : s === e ? "\\" + s : s || (r && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(D) ? D : "\\" + D)) + e;
3606
- }
3607
- function Ui(t, e) {
3608
- return arguments.length === 2 || typeof e == "number" ? gt(t, e) : Yi(...arguments);
3609
- }
3610
- function de(t, e = 1) {
3611
- return async (...r) => {
3612
- let n = r[e] ?? {}, u = n.plugins ?? [];
3613
- return r[e] = {
3614
- ...n,
3615
- plugins: Array.isArray(u) ? u : Object.values(u)
3616
- }, await t(...r);
3617
- };
3618
- }
3619
- var Ou = de(Dr);
3620
- async function Pu(t, e) {
3621
- let { formatted: r } = await Ou(t, {
3622
- ...e,
3623
- cursorOffset: -1
3624
- });
3625
- return r;
3626
- }
3627
- async function Vi(t, e) {
3628
- return await Pu(t, e) === t;
3629
- }
3630
- var Wi = de(it, 0);
3631
- var $i = {
3632
- parse: de(du),
3633
- formatAST: de(Fu),
3634
- formatDoc: de(Eu),
3635
- printToDoc: de(Cu),
3636
- printDocToString: de(hu)
3637
- };
3638
- //#endregion
3639
- export { $i as __debug, Vi as check, Su as default, ar as doc, Pu as format, Ou as formatWithCursor, Wi as getSupportInfo, fr as util, gu as version };