@tsrx/typescript-plugin 0.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.build-hash ADDED
@@ -0,0 +1 @@
1
+ dbc166e19d220e3ae7fbadec50dbce93e1d20b669b21a0944138b87035d35882
@@ -0,0 +1 @@
1
+ f4e769bce49fcaf3fc5290e59b3b2a68cb76d45f63548445666a93fb6e81024d
package/CHANGELOG.md ADDED
@@ -0,0 +1,334 @@
1
+ # @tsrx/typescript-plugin
2
+
3
+ ## 1.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ [[`316cba1`](https://github.com/Ripple-TS/ripple/commit/316cba18614e5ef59dce15e0de6e720eb922955f)]:
9
+ - @tsrx/ripple@0.0.8
10
+
11
+ ## 1.0.0
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies
16
+ [[`f82f95f`](https://github.com/Ripple-TS/ripple/commit/f82f95fcf99aa58be086c69a37ed0e5b170e1a76),
17
+ [`1856b0f`](https://github.com/Ripple-TS/ripple/commit/1856b0f2df681b501253ebb8d8314b84fceb822b)]:
18
+ - @tsrx/react@0.1.0
19
+ - @tsrx/ripple@0.0.7
20
+
21
+ ## 0.3.25
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies
26
+ [[`0babf74`](https://github.com/Ripple-TS/ripple/commit/0babf745f0bdfe04a70d8f19730097007c4f1705)]:
27
+ - @tsrx/react@0.0.7
28
+
29
+ ## 0.3.24
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies
34
+ [[`01b4ed6`](https://github.com/Ripple-TS/ripple/commit/01b4ed663f1deb9306ad401d02dbec0f5d27cdc5)]:
35
+ - @tsrx/react@0.0.6
36
+
37
+ ## 0.3.23
38
+
39
+ ### Patch Changes
40
+
41
+ - Updated dependencies
42
+ [[`73ceaac`](https://github.com/Ripple-TS/ripple/commit/73ceaacd029fb634a62252abdda59ab5f2bec15d)]:
43
+ - @tsrx/ripple@0.0.6
44
+ - @tsrx/react@0.0.5
45
+
46
+ ## 0.3.22
47
+
48
+ ## 0.3.21
49
+
50
+ ### Patch Changes
51
+
52
+ - Updated dependencies
53
+ [[`34d64e5`](https://github.com/Ripple-TS/ripple/commit/34d64e5028aee91a22a1cd1d8490c1c64105a7cd),
54
+ [`34d64e5`](https://github.com/Ripple-TS/ripple/commit/34d64e5028aee91a22a1cd1d8490c1c64105a7cd)]:
55
+ - @tsrx/react@0.0.4
56
+
57
+ ## 0.3.20
58
+
59
+ ### Patch Changes
60
+
61
+ - Updated dependencies
62
+ [[`1e34bbd`](https://github.com/Ripple-TS/ripple/commit/1e34bbd762bc931c34e562bf100aeb103aa45368)]:
63
+ - @tsrx/react@0.0.3
64
+
65
+ ## 0.3.19
66
+
67
+ ### Patch Changes
68
+
69
+ - [#877](https://github.com/Ripple-TS/ripple/pull/877)
70
+ [`7610ef8`](https://github.com/Ripple-TS/ripple/commit/7610ef84847bb77cc83488a902ecb6f96594e113)
71
+ Thanks [@leonidaz](https://github.com/leonidaz)! - Convert the Ripple language
72
+ server, TypeScript plugin, and VS Code extension codebases from CommonJS source
73
+ files to ESM source files, while publishing built dist entrypoints instead of
74
+ source files.
75
+
76
+ This updates package metadata such as `type: module` and dist-based `main`
77
+ paths, replaces `require` and `module.exports` usage with `import` and `export`,
78
+ and adds tsdown bundling configs that emit CommonJS dist output plus a
79
+ dist/package.json that forces `type: commonjs`.
80
+
81
+ Development builds also include sourcemaps.
82
+
83
+ ## 0.3.18
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies
88
+ [[`4cb69cc`](https://github.com/Ripple-TS/ripple/commit/4cb69cc780d48c26493e3144006caf4b11df8e1d)]:
89
+ - @tsrx/react@0.0.2
90
+
91
+ ## 0.3.17
92
+
93
+ ### Patch Changes
94
+
95
+ - Updated dependencies []:
96
+ - @tsrx/ripple@0.0.5
97
+
98
+ ## 0.3.16
99
+
100
+ ### Patch Changes
101
+
102
+ - Updated dependencies []:
103
+ - @tsrx/ripple@0.0.4
104
+
105
+ ## 0.3.15
106
+
107
+ ### Patch Changes
108
+
109
+ - Updated dependencies
110
+ [[`a14097a`](https://github.com/Ripple-TS/ripple/commit/a14097a688ad85c236a6619cef527c78787ab367)]:
111
+ - @tsrx/ripple@0.0.3
112
+
113
+ ## 0.3.14
114
+
115
+ ### Patch Changes
116
+
117
+ - Updated dependencies
118
+ [[`228f1bb`](https://github.com/Ripple-TS/ripple/commit/228f1bb36cd3e8506c422ed0997164bf5a0b5fe2)]:
119
+ - @tsrx/ripple@0.0.2
120
+
121
+ ## 0.3.13
122
+
123
+ ### Patch Changes
124
+
125
+ - [`6e11177`](https://github.com/Ripple-TS/ripple/commit/6e111778cae4e7d9876e51e293520f0859eb5890)
126
+ Thanks [@trueadm](https://github.com/trueadm)! - Add `.rsrx` support across
127
+ Ripple tooling and rename the repository's tracked `.ripple` modules to `.rsrx`.
128
+ - Updated dependencies
129
+ [[`4eb4d68`](https://github.com/Ripple-TS/ripple/commit/4eb4d6851573d771d65f1e85b1b442ad3cdc53d2),
130
+ [`48af856`](https://github.com/Ripple-TS/ripple/commit/48af85678d5e1b32bb1c5e3fbb2fb07498bc88a3),
131
+ [`6e11177`](https://github.com/Ripple-TS/ripple/commit/6e111778cae4e7d9876e51e293520f0859eb5890)]:
132
+ - ripple@0.3.13
133
+
134
+ ## 0.3.12
135
+
136
+ ### Patch Changes
137
+
138
+ - [#859](https://github.com/Ripple-TS/ripple/pull/859)
139
+ [`cdd31ba`](https://github.com/Ripple-TS/ripple/commit/cdd31ba4c07ce504b01d56533e19a6ba37879f5a)
140
+ Thanks [@trueadm](https://github.com/trueadm)! - Add first-phase `.tsrx` support
141
+ across the core Ripple tooling so Vite, Rollup, TypeScript, the language server,
142
+ Prettier, ESLint, and editor integrations accept both `.ripple` and `.tsrx`
143
+ files.
144
+
145
+ - Updated dependencies []:
146
+ - ripple@0.3.12
147
+
148
+ ## 0.3.11
149
+
150
+ ### Patch Changes
151
+
152
+ - Updated dependencies
153
+ [[`6792c70`](https://github.com/Ripple-TS/ripple/commit/6792c700db30ec0c25077bf8892753f18eddc5cc),
154
+ [`f2624a6`](https://github.com/Ripple-TS/ripple/commit/f2624a6596479480c47317ea3030863214a6e2b3),
155
+ [`13323dd`](https://github.com/Ripple-TS/ripple/commit/13323dddbcb68e1e8e373142884a7c54fbb76cd7)]:
156
+ - ripple@0.3.11
157
+
158
+ ## 0.3.10
159
+
160
+ ### Patch Changes
161
+
162
+ - Updated dependencies
163
+ [[`aef1253`](https://github.com/Ripple-TS/ripple/commit/aef1253dd79c067a8358172d502dc21d8a9a9085)]:
164
+ - ripple@0.3.10
165
+
166
+ ## 0.3.9
167
+
168
+ ### Patch Changes
169
+
170
+ - Updated dependencies []:
171
+ - ripple@0.3.9
172
+
173
+ ## 0.3.8
174
+
175
+ ### Patch Changes
176
+
177
+ - Updated dependencies []:
178
+ - ripple@0.3.8
179
+
180
+ ## 0.3.7
181
+
182
+ ### Patch Changes
183
+
184
+ - Updated dependencies
185
+ [[`9ca9310`](https://github.com/Ripple-TS/ripple/commit/9ca9310550a800f4435821ed84b24bdd4f243117),
186
+ [`9ca9310`](https://github.com/Ripple-TS/ripple/commit/9ca9310550a800f4435821ed84b24bdd4f243117),
187
+ [`9ca9310`](https://github.com/Ripple-TS/ripple/commit/9ca9310550a800f4435821ed84b24bdd4f243117),
188
+ [`9ca9310`](https://github.com/Ripple-TS/ripple/commit/9ca9310550a800f4435821ed84b24bdd4f243117)]:
189
+ - ripple@0.3.7
190
+
191
+ ## 0.3.6
192
+
193
+ ### Patch Changes
194
+
195
+ - Updated dependencies []:
196
+ - ripple@0.3.6
197
+
198
+ ## 0.3.5
199
+
200
+ ### Patch Changes
201
+
202
+ - Updated dependencies
203
+ [[`218a72c`](https://github.com/Ripple-TS/ripple/commit/218a72c3e663910636eec1d065c58afe30813c84)]:
204
+ - ripple@0.3.5
205
+
206
+ ## 0.3.4
207
+
208
+ ### Patch Changes
209
+
210
+ - Updated dependencies
211
+ [[`92982cd`](https://github.com/Ripple-TS/ripple/commit/92982cd7b918d0afee9334c74765573b30c8a645),
212
+ [`747ae1f`](https://github.com/Ripple-TS/ripple/commit/747ae1fc7948e994eeb521f3ed78711c9dd3e802),
213
+ [`abe1caa`](https://github.com/Ripple-TS/ripple/commit/abe1caa6ab636722099a6ecd4cafbf117d208ec2),
214
+ [`046d0ba`](https://github.com/Ripple-TS/ripple/commit/046d0baf190d161c3b851799080d11eb4f95e094),
215
+ [`79a920e`](https://github.com/Ripple-TS/ripple/commit/79a920e30f0f35f2ec07ff8d52dc709f8bb74c77),
216
+ [`83807a4`](https://github.com/Ripple-TS/ripple/commit/83807a412603ff49c398f9365b011fd4b4a5f8bf)]:
217
+ - ripple@0.3.4
218
+
219
+ ## 0.3.3
220
+
221
+ ### Patch Changes
222
+
223
+ - Updated dependencies
224
+ [[`cd1073f`](https://github.com/Ripple-TS/ripple/commit/cd1073f7cc8085c8b200ada4faf77b2c35b10c6c)]:
225
+ - ripple@0.3.3
226
+
227
+ ## 0.3.2
228
+
229
+ ### Patch Changes
230
+
231
+ - Updated dependencies
232
+ [[`42524c9`](https://github.com/Ripple-TS/ripple/commit/42524c9551b1950d7f7a0336ce396fc312b6fe51)]:
233
+ - ripple@0.3.2
234
+
235
+ ## 0.3.1
236
+
237
+ ### Patch Changes
238
+
239
+ - Updated dependencies
240
+ [[`87c2078`](https://github.com/Ripple-TS/ripple/commit/87c20780f6f6f7339cf94b9a9d08e028533df0a2)]:
241
+ - ripple@0.3.1
242
+
243
+ ## 0.3.0
244
+
245
+ ### Minor Changes
246
+
247
+ - [#779](https://github.com/Ripple-TS/ripple/pull/779)
248
+ [`74a10cc`](https://github.com/Ripple-TS/ripple/commit/74a10cc5701962cd7c72b144d59b35ecb76263a3)
249
+ Thanks [@leonidaz](https://github.com/leonidaz)! - Introduces #ripple namespace
250
+ for creating ripple reactive entities without imports, such as array, object,
251
+ map, set, date, url, urlSearchParams, mediaQuery. Adds track, untrack,
252
+ trackSplit, effect, context, server, style to the namespace. Deprecates #[] and
253
+ #{} in favor of #ripple[] and #ripple{}. Renames types and actual reactive
254
+ imports for TrackedX entities, such as TrackedArray, TrackedObject, etc. into
255
+ RippleArray, RippleObjec, etc.
256
+
257
+ ### Patch Changes
258
+
259
+ - Updated dependencies
260
+ [[`61271cb`](https://github.com/Ripple-TS/ripple/commit/61271cb1c4777f2ab9093c6c89a5ad771ec98b7d),
261
+ [`21dd402`](https://github.com/Ripple-TS/ripple/commit/21dd4029d7e027a0706cb133b09530a722feb73d),
262
+ [`c2dbefe`](https://github.com/Ripple-TS/ripple/commit/c2dbefe5645c0c4f6e0ff4dc00d9c4de81616667),
263
+ [`74a10cc`](https://github.com/Ripple-TS/ripple/commit/74a10cc5701962cd7c72b144d59b35ecb76263a3)]:
264
+ - ripple@0.3.0
265
+
266
+ ## 0.2.216
267
+
268
+ ### Patch Changes
269
+
270
+ - [#764](https://github.com/Ripple-TS/ripple/pull/764)
271
+ [`95ea864`](https://github.com/Ripple-TS/ripple/commit/95ea8645b2cb27e2610a4ace4c8fb238c92d441a)
272
+ Thanks [@leonidaz](https://github.com/leonidaz)! - Fixes syntax color
273
+ highlighting for `pending`
274
+
275
+ - Updated dependencies
276
+ [[`9fb507d`](https://github.com/Ripple-TS/ripple/commit/9fb507d76af6fd6a5c636af1976d1e03d3e869ac),
277
+ [`e1de4bb`](https://github.com/Ripple-TS/ripple/commit/e1de4bb9df75342a693cda24d0999a423db05ec4),
278
+ [`95ea864`](https://github.com/Ripple-TS/ripple/commit/95ea8645b2cb27e2610a4ace4c8fb238c92d441a)]:
279
+ - ripple@0.2.216
280
+
281
+ ## 0.2.215
282
+
283
+ ### Patch Changes
284
+
285
+ - Updated dependencies
286
+ [[`a9ecda4`](https://github.com/Ripple-TS/ripple/commit/a9ecda4e3f29e3b934d9f5ee80d55c059ba36ebe),
287
+ [`6653c5c`](https://github.com/Ripple-TS/ripple/commit/6653c5cebfbd4dce129906a25686ef9c63dc592a),
288
+ [`307dcf3`](https://github.com/Ripple-TS/ripple/commit/307dcf30f27dae987a19a59508cc2593c839eda3)]:
289
+ - ripple@0.2.215
290
+
291
+ ## 0.2.214
292
+
293
+ ### Patch Changes
294
+
295
+ - Updated dependencies []:
296
+ - ripple@0.2.214
297
+
298
+ ## 0.2.213
299
+
300
+ ### Patch Changes
301
+
302
+ - Updated dependencies []:
303
+ - ripple@0.2.213
304
+
305
+ ## 0.2.212
306
+
307
+ ### Patch Changes
308
+
309
+ - Updated dependencies []:
310
+ - ripple@0.2.212
311
+
312
+ ## 0.2.211
313
+
314
+ ### Patch Changes
315
+
316
+ - Updated dependencies
317
+ [[`fa285f4`](https://github.com/Ripple-TS/ripple/commit/fa285f441ab8d748c3dfea6adb463e3ca6d614b5)]:
318
+ - ripple@0.2.211
319
+
320
+ ## 0.2.210
321
+
322
+ ### Patch Changes
323
+
324
+ - Updated dependencies []:
325
+ - ripple@0.2.210
326
+
327
+ ## 0.2.209
328
+
329
+ ### Patch Changes
330
+
331
+ - Updated dependencies
332
+ [[`96a5614`](https://github.com/Ripple-TS/ripple/commit/96a56141de8aa667a64bf53ad06f63292e38b1d9),
333
+ [`ae3aa98`](https://github.com/Ripple-TS/ripple/commit/ae3aa981515f81e62a699497e624dd0c2e3d2c91)]:
334
+ - ripple@0.2.209
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Dominic Gannaway
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # @tsrx/typescript-plugin
2
+
3
+ [![npm version](https://img.shields.io/npm/v/%40tsrx%2Ftypescript-plugin?logo=npm)](https://www.npmjs.com/package/@tsrx/typescript-plugin)
4
+ [![npm downloads](https://img.shields.io/npm/dm/%40tsrx%2Ftypescript-plugin?logo=npm&label=downloads)](https://www.npmjs.com/package/@tsrx/typescript-plugin)
5
+
6
+ TypeScript plugin for Ripple that provides language support for Ripple component
7
+ files, with `.tsrx` as the default extension and continued `.tsrx` support.
8
+
9
+ ## Usage
10
+
11
+ ### VS Code
12
+
13
+ **If you're using VS Code with the Ripple extension, you don't need to configure
14
+ this plugin!** The Ripple language server handles everything automatically.
15
+
16
+ ### Other Editors or Standalone Usage
17
+
18
+ For editors that don't use the Ripple language server (like WebStorm, Sublime
19
+ Text, or command-line `tsc`), add this plugin to your `tsconfig.json`:
20
+
21
+ ```json
22
+ {
23
+ "compilerOptions": {
24
+ "jsx": "preserve",
25
+ "jsxImportSource": "ripple",
26
+ "plugins": [
27
+ {
28
+ "name": "@tsrx/typescript-plugin"
29
+ }
30
+ ]
31
+ }
32
+ }
33
+ ```
34
+
35
+ ## What it does
36
+
37
+ This plugin:
38
+
39
+ - Registers `.tsrx` and `.tsrx` files as recognized TypeScript languages
40
+ - Transforms Ripple syntax to TypeScript for type checking
41
+ - Integrates with Volar for virtual code generation and source mapping
42
+
43
+ ## Architecture Note
44
+
45
+ This plugin uses Volar's TypeScript plugin system. When configured in
46
+ `tsconfig.json`, TypeScript's tsserver will load this plugin and create a language
47
+ service instance.
48
+
49
+ The Ripple VS Code extension uses a language server instead, which provides the
50
+ same functionality plus additional features like diagnostics and formatting. Both
51
+ can coexist (they create separate instances), but you only need one.
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));require(`typescript`);let l=require(`fs`);l=c(l);let u=require(`path`);u=c(u);let d=require(`module`),f=require(`url`);var p=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.binarySearch=t;function t(e,t){let n=0,r=e.length-1,i;for(;n<=r;){let a=Math.floor((n+r)/2),o=e[a];if(o<t)n=a+1;else if(o>t)r=a-1;else{n=a,r=a,i=a;break}}return{low:Math.max(Math.min(n,r,e.length-1),0),high:Math.min(Math.max(n,r,0),e.length-1),match:i}}})),m=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.translateOffset=n;let t=!1;function n(e,n,r,i,a=i,o=!1){if(!n.every((e,t)=>t===0||n[t-1]<=e)){for(let t=0;t<n.length;t++){let s=n[t],c=i[t];if(e>=s&&e<=s+c){let n=a[t],i=r[t],l,u=e-s;return l=o&&n>c&&u===c?n:Math.min(u,n),i+l}}t||(t=!0,console.warn(`fromOffsets should be sorted in ascending order`))}let s=0,c=n.length-1;for(;s<=c;){let t=Math.floor((s+c)/2),l=n[t],u=i[t];if(e>=l&&e<=l+u){let n=a[t],i=r[t],s,c=e-l;return s=o&&n>u&&c===u?n:Math.min(c,n),i+s}else e<l?c=t-1:s=t+1}}})),h=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.SourceMap=void 0;let t=p(),n=m();e.SourceMap=class{constructor(e){this.mappings=e}toSourceRange(e,t,n,r){return this.findMatchingStartEnd(e,t,n,`generatedOffsets`,r)}toGeneratedRange(e,t,n,r){return this.findMatchingStartEnd(e,t,n,`sourceOffsets`,r)}toSourceLocation(e,t){return this.findMatchingOffsets(e,`generatedOffsets`,t)}toGeneratedLocation(e,t){return this.findMatchingOffsets(e,`sourceOffsets`,t)}*findMatchingOffsets(e,i,a,o=!1){let s=this.getMemoBasedOnRange(i);if(s.offsets.length===0)return;let{low:c,high:l}=(0,t.binarySearch)(s.offsets,e),u=new Set,d=i===`sourceOffsets`?`generatedOffsets`:`sourceOffsets`;for(let t=c;t<=l;t++)for(let c of s.mappings[t]){if(u.has(c)||(u.add(c),a&&!a(c.data)))continue;let t=(0,n.translateOffset)(e,c[i],c[d],r(c,i),r(c,d),o);t!==void 0&&(yield[t,c])}}*findMatchingStartEnd(e,t,i,a,o){let s=a===`sourceOffsets`?`generatedOffsets`:`sourceOffsets`,c=s===`sourceOffsets`,l=[],u=!1;for(let[i,d]of this.findMatchingOffsets(e,a)){if(o&&!o(d.data))continue;l.push([i,d]);let e=(0,n.translateOffset)(t,d[a],d[s],r(d,a),r(d,s),c);e!==void 0&&(u=!0,yield[i,e,d,d])}if(!u&&i){for(let[e,n]of l)for(let[r,i]of this.findMatchingOffsets(t,a,void 0,c))if(!(o&&!o(i.data)||r<e)){yield[e,r,n,i];break}}}getMemoBasedOnRange(e){return e===`sourceOffsets`?this.sourceCodeOffsetsMemo??=this.createMemo(`sourceOffsets`):this.generatedCodeOffsetsMemo??=this.createMemo(`generatedOffsets`)}createMemo(e){let n=new Set;for(let t of this.mappings)for(let i=0;i<t[e].length;i++)n.add(t[e][i]),n.add(t[e][i]+r(t,e)[i]);let i=[...n].sort((e,t)=>e-t),a=i.map(()=>new Set);for(let n of this.mappings)for(let o=0;o<n[e].length;o++){let s=(0,t.binarySearch)(i,n[e][o]).match,c=(0,t.binarySearch)(i,n[e][o]+r(n,e)[o]).match;for(let e=s;e<=c;e++)a[e].add(n)}return{offsets:i,mappings:a}}};function r(e,t){return t===`sourceOffsets`?e.lengths:e.generatedLengths??e.lengths}})),g=o((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),n(h(),e),n(m(),e)})),_=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.isHoverEnabled=t,e.isInlayHintsEnabled=n,e.isCodeLensEnabled=r,e.isMonikerEnabled=i,e.isInlineValueEnabled=a,e.isSemanticTokensEnabled=o,e.isCallHierarchyEnabled=s,e.isTypeHierarchyEnabled=c,e.isRenameEnabled=l,e.isDefinitionEnabled=u,e.isTypeDefinitionEnabled=d,e.isReferencesEnabled=f,e.isImplementationEnabled=p,e.isHighlightEnabled=m,e.isSymbolsEnabled=h,e.isFoldingRangesEnabled=g,e.isSelectionRangesEnabled=_,e.isLinkedEditingEnabled=v,e.isColorEnabled=y,e.isDocumentLinkEnabled=b,e.isDiagnosticsEnabled=x,e.isCodeActionsEnabled=S,e.isFormattingEnabled=C,e.isCompletionEnabled=w,e.isAutoInsertEnabled=T,e.isSignatureHelpEnabled=E,e.shouldReportDiagnostics=D,e.resolveRenameNewName=O,e.resolveRenameEditText=k,e.findOverlapCodeRange=A;function t(e){return!!e.semantic}function n(e){return!!e.semantic}function r(e){return!!e.semantic}function i(e){return!!e.semantic}function a(e){return!!e.semantic}function o(e){return typeof e.semantic==`object`?e.semantic.shouldHighlight?.()??!0:!!e.semantic}function s(e){return!!e.navigation}function c(e){return!!e.navigation}function l(e){return typeof e.navigation==`object`?e.navigation.shouldRename?.()??!0:!!e.navigation}function u(e){return!!e.navigation}function d(e){return!!e.navigation}function f(e){return!!e.navigation}function p(e){return!!e.navigation}function m(e){return typeof e.navigation==`object`?e.navigation.shouldHighlight?.()??!0:!!e.navigation}function h(e){return!!e.structure}function g(e){return!!e.structure}function _(e){return!!e.structure}function v(e){return!!e.structure}function y(e){return!!e.structure}function b(e){return!!e.structure}function x(e){return!!e.verification}function S(e){return!!e.verification}function C(e){return!!e.format}function w(e){return!!e.completion}function T(e){return!!e.completion}function E(e){return!!e.completion}function D(e,t,n){return typeof e.verification==`object`?e.verification.shouldReport?.(t,n)??!0:!!e.verification}function O(e,t){return typeof t.navigation==`object`?t.navigation.resolveRenameNewName?.(e)??e:e}function k(e,t){return typeof t.navigation==`object`?t.navigation.resolveRenameEditText?.(e)??e:e}function A(e,t,n,r){let i,a;for(let[t,a]of n.toGeneratedLocation(e))if(r(a.data)){i=t;break}for(let[e,i]of n.toGeneratedLocation(t))if(r(i.data)){a=e;break}if(i===void 0||a===void 0){for(let o of n.mappings)if(r(o.data)){let n=o.sourceOffsets[0],r=j(e,t,n,o.sourceOffsets[o.sourceOffsets.length-1]+o.lengths[o.lengths.length-1]);if(r){let e=r.start-n+o.generatedOffsets[0],t=(o.generatedLengths??o.lengths)[o.generatedOffsets.length-1],s=Math.min(r.end-o.sourceOffsets[o.sourceOffsets.length-1],t),c=o.generatedOffsets[o.generatedOffsets.length-1]+s;i=i===void 0?e:Math.min(i,e),a=a===void 0?c:Math.max(a,c)}}}if(i!==void 0&&a!==void 0)return{start:i,end:a}}function j(e,t,n,r){let i=Math.max(e,n),a=Math.min(t,r);if(!(i>a))return{start:i,end:a}}})),v=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.LinkedCodeMap=void 0;let t=g();e.LinkedCodeMap=class extends t.SourceMap{*getLinkedOffsets(e){for(let t of this.toGeneratedLocation(e))yield t[0];for(let t of this.toSourceLocation(e))yield t[0]}}})),y=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0})})),b=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.FileMap=void 0,e.FileMap=class extends Map{constructor(e){super(),this.caseSensitive=e,this.originalFileNames=new Map}keys(){return this.originalFileNames.values()}get(e){return super.get(this.normalizeId(e))}has(e){return super.has(this.normalizeId(e))}set(e,t){return this.originalFileNames.set(this.normalizeId(e),e),super.set(this.normalizeId(e),t)}delete(e){return this.originalFileNames.delete(this.normalizeId(e)),super.delete(this.normalizeId(e))}clear(){return this.originalFileNames.clear(),super.clear()}normalizeId(e){return this.caseSensitive?e:e.toLowerCase()}}})),x=o((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),e.defaultMapperFactory=e.SourceMap=void 0,e.createLanguage=o,e.forEachEmbeddedCode=s;var r=g();Object.defineProperty(e,`SourceMap`,{enumerable:!0,get:function(){return r.SourceMap}}),n(_(),e),n(v(),e),n(y(),e),n(b(),e);let i=g(),a=v();e.defaultMapperFactory=e=>new i.SourceMap(e);function o(t,n,r,i){let o=new WeakMap,c=new WeakMap,l=new WeakMap,u={mapperFactory:e.defaultMapperFactory,plugins:t,scripts:{fromVirtualCode(e){return o.get(e)},get(e,t=!0,i=!1){r(e,t,i);let a=n.get(e);return a?.isAssociationDirty&&this.set(e,a.snapshot,a.languageId),n.get(e)},set(e,r,i,a=t){if(!i){for(let n of t)if(i=n.getLanguageId?.(e),i)break}if(!i){console.warn(`languageId not found for ${String(e)}`);return}let c=!1;for(let n of t)if(n.isAssociatedFileOnly?.(e,i)){c=!0;break}if(n.has(e)){let t=n.get(e);if(t.languageId!==i||t.associatedOnly!==c)return this.delete(e),d(t),this.set(e,r,i);if(c)t.snapshot!==r&&(t.snapshot=r,d(t));else if(t.isAssociationDirty||t.snapshot!==r){t.snapshot!==r&&(t.snapshot=r,d(t));let n=f(t);if(t.generated){let{updateVirtualCode:a,createVirtualCode:c}=t.generated.languagePlugin,l=a?a(e,t.generated.root,r,n):c?.(e,i,r,n);if(l){t.generated.root=l,t.generated.embeddedCodes.clear();for(let e of s(t.generated.root))o.set(e,t),t.generated.embeddedCodes.set(e.id,e);return t}else{this.delete(e);return}}}else return t}else{let t={id:e,languageId:i,snapshot:r,associatedIds:new Set,targetIds:new Set,associatedOnly:c};if(n.set(e,t),c)return t;for(let n of a){let a=n.createVirtualCode?.(e,i,r,f(t));if(a){t.generated={root:a,languagePlugin:n,embeddedCodes:new Map};for(let e of s(a))o.set(e,t),t.generated.embeddedCodes.set(e.id,e);break}}return t}},delete(e){let t=n.get(e);t&&(t.generated?.languagePlugin.disposeVirtualCode?.(e,t.generated.root),n.delete(e),d(t))}},maps:{get(e,t){let n=c.get(e.snapshot);if(n||c.set(e.snapshot,n=new WeakMap),!n.has(t.snapshot)){let r=e.associatedScriptMappings?.get(t.id)??e.mappings;n.set(t.snapshot,u.mapperFactory(r))}return n.get(t.snapshot)},*forEach(e){let t=o.get(e);if(yield[t,this.get(e,t)],e.associatedScriptMappings)for(let[t]of e.associatedScriptMappings){let r=n.get(t);r&&(yield[r,this.get(e,r)])}}},linkedCodeMaps:{get(e){let t=o.get(e),n=l.get(e.snapshot);return n?.[0]!==t.snapshot&&l.set(e.snapshot,n=[t.snapshot,e.linkedCodeMappings?new a.LinkedCodeMap(e.linkedCodeMappings):void 0]),n[1]}}};return u;function d(e){e.targetIds.forEach(e=>{let t=n.get(e);t&&(t.isAssociationDirty=!0,i?.(t.id))})}function f(e){for(let t of e.associatedIds)n.get(t)?.targetIds.delete(e.id);return e.associatedIds.clear(),e.isAssociationDirty=!1,{getAssociatedScript(t){r(t,!0,!0);let i=n.get(t);return i&&(i.targetIds.add(e.id),e.associatedIds.add(i.id)),i}}}}function*s(e){if(yield e,e.embeddedCodes)for(let t of e.embeddedCodes)yield*s(t)}})),S=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.dedupeDocumentSpans=t;function t(e){return n(e,e=>[e.fileName,e.textSpan.start,e.textSpan.length].join(`:`))}function n(e,t){let n=new Map;for(let r of e.reverse())n.set(t(r),r);return[...n.values()]}})),C=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getServiceScript=t,e.fixupImpliedNodeFormatForFile=n;function t(e,t){let n=e.scripts.get(t);if(n?.targetIds.size)for(let t of n.targetIds){let r=e.scripts.get(t);if(r?.generated){let e=r.generated.languagePlugin.typescript?.getServiceScript(r.generated.root);if(e)return[e,r,n]}}if(n?.associatedOnly)return[void 0,n,n];if(n?.generated){let e=n.generated.languagePlugin.typescript?.getServiceScript(n.generated.root);if(e)return[e,n,n]}return[void 0,void 0,void 0]}function n(e,t,n,r,i,a){if(n.impliedNodeFormat!==void 0||!t.some(e=>n.fileName.endsWith(e))||[`.d.ts`,`.ts`,`.tsx`,`.js`,`.jsx`].some(e=>n.fileName.endsWith(e)))return;let o=n.fileName+`.ts`,s=e.getImpliedNodeFormatForFileWorker?.(o,r,i,a)?.impliedNodeFormat;if(s!==void 0)return n.impliedNodeFormat=s,()=>n.impliedNodeFormat=void 0}})),w=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.transformCallHierarchyItem=a,e.transformDiagnostic=o,e.fillSourceFileText=s,e.transformFileTextChanges=c,e.transformDocumentSpan=l,e.transformSpan=u,e.transformTextChange=d,e.transformTextSpan=f,e.toSourceOffset=p,e.toSourceRanges=m,e.toSourceOffsets=h,e.toGeneratedRange=g,e.toGeneratedRanges=_,e.toGeneratedOffset=v,e.toGeneratedOffsets=y,e.getMappingOffset=b;let t=x(),n=C(),r=new WeakMap,i=new WeakSet;function a(e,t,n,r){let i=u(e,t.file,t.span,n,r),a=u(e,t.file,t.selectionSpan,n,r);return{...t,file:i?.fileName??t.file,span:i?.textSpan??{start:0,length:0},selectionSpan:a?.textSpan??{start:0,length:0}}}function o(e,i,a,c){if(!r.has(i)){r.set(i,void 0);let{relatedInformation:l}=i;if(l&&(i.relatedInformation=l.map(t=>o(e,t,a,c)).filter(e=>!!e)),i.file!==void 0&&i.start!==void 0&&i.length!==void 0){let[o]=(0,n.getServiceScript)(e,i.file.fileName);if(o){let[n,l]=f(void 0,e,o,{start:i.start,length:i.length},!0,e=>(0,t.shouldReportDiagnostics)(e,String(i.source),String(i.code)))??[],u=n?i.file.fileName===n?i.file:a?.getSourceFile(n):void 0;l&&u&&(c&&s(e,i.file),r.set(i,{...i,file:u,start:l.start,length:l.length}))}else r.set(i,i)}else r.set(i,i)}return r.get(i)}function s(e,t){if(i.has(t))return;i.add(t);let[r]=(0,n.getServiceScript)(e,t.fileName);if(r&&!r.preventLeadingOffset){let n=e.scripts.fromVirtualCode(r.code);t.text=n.snapshot.getText(0,n.snapshot.getLength())+t.text.substring(n.snapshot.getLength())}}function c(e,t,r,i){let a={},o=new Set;for(let s of t){let[t,c]=(0,n.getServiceScript)(e,s.fileName);if(c)s.textChanges.forEach(t=>{let{fileName:n,textSpan:o}=u(e,s.fileName,t.span,r,i)??{};n&&o&&(a[n]??(a[n]=[])).push({...t,span:o})});else{let e=a[s.fileName]??(a[s.fileName]=[]);s.textChanges.forEach(t=>{e.push(t)}),s.isNewFile&&o.add(s.fileName)}}let s=[];for(let e in a)s.push({fileName:e,isNewFile:o.has(e),textChanges:a[e]});return s}function l(e,t,n,r,i){let a=u(e,t.fileName,t.textSpan,n,r);if(!a&&i&&(a={fileName:t.fileName,textSpan:{start:0,length:0}}),!a)return;let o=u(e,t.fileName,t.contextSpan,n,r),s=u(e,t.originalFileName,t.originalTextSpan,n,r),c=u(e,t.originalFileName,t.originalContextSpan,n,r);return{...t,fileName:a.fileName,textSpan:a.textSpan,contextSpan:o?.textSpan,originalFileName:s?.fileName,originalTextSpan:s?.textSpan,originalContextSpan:c?.textSpan}}function u(e,t,r,i,a){if(!t||!r)return;let[o]=(0,n.getServiceScript)(e,t);if(o){let[t,n]=f(void 0,e,o,r,i,a)??[];if(n&&t)return{fileName:t,textSpan:n}}else return{fileName:t,textSpan:r}}function d(e,t,n,r,i,a){let[o,s]=f(e,t,n,r.span,i,a)??[];if(s&&o)return[o,{newText:r.newText,span:s}]}function f(e,t,n,r,i,a){let o=r.start,s=r.start+r.length;for(let[r,c,l]of m(e,t,n,o,s,i,a))return[r,{start:c,length:l-c}]}function p(e,t,n,r,i){for(let a of h(e,t,n,r,i))return a}function*m(e,t,n,r,i,a,o){if(e){let s=t.maps.get(n.code,e);for(let[c,l]of s.toSourceRange(r-b(t,n),i-b(t,n),a,o))yield[e.id,c,l]}else for(let[e,s]of t.maps.forEach(n.code))for(let[c,l]of s.toSourceRange(r-b(t,n),i-b(t,n),a,o))yield[e.id,c,l]}function*h(e,t,n,r,i){if(e){let a=t.maps.get(n.code,e);for(let[o,s]of a.toSourceLocation(r-b(t,n)))i(s.data)&&(yield[e.id,o])}else for(let[e,a]of t.maps.forEach(n.code))for(let[o,s]of a.toSourceLocation(r-b(t,n)))i(s.data)&&(yield[e.id,o])}function g(e,t,n,r,i,a){for(let o of _(e,t,n,r,i,a))return o}function*_(e,t,n,r,i,a){let o=e.maps.get(t.code,n);for(let[n,s]of o.toGeneratedRange(r,i,!0,a))yield[n+b(e,t),s+b(e,t)]}function v(e,t,n,r,i){for(let[a]of y(e,t,n,r,i))return a}function*y(e,t,n,r,i){let a=e.maps.get(t.code,n);for(let[n,o]of a.toGeneratedLocation(r))i(o.data)&&(yield[n+b(e,t),o])}function b(e,t){return t.preventLeadingOffset?0:e.scripts.fromVirtualCode(t.code).snapshot.getLength()}})),T=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createProxyLanguageService=o;let t=x(),n=S(),r=w(),i=C(),a=/\\/g;function o(e){let t=new Map,n;return{initialize(t){n=(n,r)=>{switch(r){case`getNavigationTree`:return s(t,n[r]);case`getOutliningSpans`:return c(t,n[r]);case`getFormattingEditsForDocument`:return l(t,n[r]);case`getFormattingEditsForRange`:return u(t,n[r]);case`getFormattingEditsAfterKeystroke`:return d(t,n[r]);case`getEditsForFileRename`:return f(t,n[r]);case`getLinkedEditingRangeAtPosition`:return p(t,n[r]);case`prepareCallHierarchy`:return m(t,n[r]);case`provideCallHierarchyIncomingCalls`:return h(t,n[r]);case`provideCallHierarchyOutgoingCalls`:return g(t,n[r]);case`organizeImports`:return _(t,n[r]);case`getQuickInfoAtPosition`:return v(t,n[r]);case`getSignatureHelpItems`:return y(t,n[r]);case`getDocumentHighlights`:return b(t,n[r]);case`getApplicableRefactors`:return T(t,n[r]);case`getEditsForRefactor`:return E(t,n[r]);case`getCombinedCodeFix`:return D(t,n[r]);case`getRenameInfo`:return O(t,n[r]);case`getCodeFixesAtPosition`:return k(t,n[r]);case`getEncodedSemanticClassifications`:return A(t,n[r]);case`getSyntacticDiagnostics`:return j(t,e,n[r]);case`getSemanticDiagnostics`:return M(t,e,n[r]);case`getSuggestionDiagnostics`:return N(t,e,n[r]);case`getDefinitionAndBoundSpan`:return P(t,n[r]);case`findReferences`:return F(t,n[r]);case`getDefinitionAtPosition`:return I(t,n[r]);case`getTypeDefinitionAtPosition`:return L(t,n[r]);case`getImplementationAtPosition`:return R(t,n[r]);case`findRenameLocations`:return z(t,n[r]);case`getReferencesAtPosition`:return B(t,n[r]);case`getCompletionsAtPosition`:return V(t,n[r]);case`getCompletionEntryDetails`:return H(t,n[r]);case`provideInlayHints`:return U(t,n[r]);case`getFileReferences`:return W(t,n[r]);case`getNavigateToItems`:return G(t,n[r])}}},proxy:new Proxy(e,{get(e,r,i){if(n){t.has(r)||t.set(r,n(e,r));let i=t.get(r);if(i)return i}return Reflect.get(e,r,i)},set(e,t,n,r){return Reflect.set(e,t,n,r)}})}}function s(e,t){return n=>{let r=n.replace(a,`/`),[o,s]=(0,i.getServiceScript)(e,r);if(o||s?.associatedOnly){let e=t(s.id);return e.childItems=void 0,e}else return t(r)}}function c(e,t){return n=>{let r=n.replace(a,`/`),[o,s]=(0,i.getServiceScript)(e,r);return o||s?.associatedOnly?[]:t(r)}}function l(e,n){return(o,s)=>{let c=o.replace(a,`/`),[l,u,d]=(0,i.getServiceScript)(e,c);return u?.associatedOnly?[]:l?e.maps.get(l.code,u).mappings.some(e=>(0,t.isFormattingEnabled)(e.data))?n(u.id,s).map(n=>(0,r.transformTextChange)(d,e,l,n,!1,t.isFormattingEnabled)?.[1]).filter(e=>!!e):[]:n(c,s)}}function u(e,n){return(o,s,c,l)=>{let u=o.replace(a,`/`),[d,f,p]=(0,i.getServiceScript)(e,u);if(f?.associatedOnly)return[];if(d){let i=(0,r.toGeneratedRange)(e,d,p,s,c,t.isFormattingEnabled);return i===void 0?[]:n(f.id,i[0],i[1],l).map(n=>(0,r.transformTextChange)(p,e,d,n,!1,t.isFormattingEnabled)?.[1]).filter(e=>!!e)}else return n(u,s,c,l)}}function d(e,n){return(o,s,c,l)=>{let u=o.replace(a,`/`),[d,f,p]=(0,i.getServiceScript)(e,u);if(f?.associatedOnly)return[];if(d){let i=(0,r.toGeneratedOffset)(e,d,p,s,t.isFormattingEnabled);return i===void 0?[]:n(f.id,i,c,l).map(n=>(0,r.transformTextChange)(p,e,d,n,!1,t.isFormattingEnabled)?.[1]).filter(e=>!!e)}else return n(u,s,c,l)}}function f(e,n){return(i,a,o,s)=>{let c=n(i,a,o,s);return(0,r.transformFileTextChanges)(e,c,!1,t.isRenameEnabled)}}function p(e,n){return(o,s)=>{let c=o.replace(a,`/`),[l,u,d]=(0,i.getServiceScript)(e,c);if(!u?.associatedOnly)if(l){let i=(0,r.toGeneratedOffset)(e,l,d,s,t.isLinkedEditingEnabled);if(i!==void 0){let a=n(u.id,i);if(a)return{ranges:a.ranges.map(n=>(0,r.transformTextSpan)(d,e,l,n,!1,t.isLinkedEditingEnabled)?.[1]).filter(e=>!!e),wordPattern:a.wordPattern}}}else return n(c,s)}}function m(e,n){return(o,s)=>{let c=o.replace(a,`/`),[l,u,d]=(0,i.getServiceScript)(e,c);if(!u?.associatedOnly)if(l){let i=(0,r.toGeneratedOffset)(e,l,d,s,t.isCallHierarchyEnabled);if(i!==void 0){let a=n(u.id,i);if(Array.isArray(a))return a.map(n=>(0,r.transformCallHierarchyItem)(e,n,!0,t.isCallHierarchyEnabled));if(a)return(0,r.transformCallHierarchyItem)(e,a,!0,t.isCallHierarchyEnabled)}}else return n(c,s)}}function h(e,n){return(o,s)=>{let c=[],l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return[];if(u){let i=(0,r.toGeneratedOffset)(e,u,f,s,t.isCallHierarchyEnabled);i!==void 0&&(c=n(d.id,i))}else c=n(l,s);return c.map(n=>({from:(0,r.transformCallHierarchyItem)(e,n.from,!0,t.isCallHierarchyEnabled),fromSpans:n.fromSpans.map(i=>(0,r.transformSpan)(e,n.from.file,i,!0,t.isCallHierarchyEnabled)?.textSpan).filter(e=>!!e)}))}}function g(e,n){return(o,s)=>{let c=[],l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return[];if(u){let i=(0,r.toGeneratedOffset)(e,u,f,s,t.isCallHierarchyEnabled);i!==void 0&&(c=n(d.id,i))}else c=n(l,s);return c.map(n=>({to:(0,r.transformCallHierarchyItem)(e,n.to,!0,t.isCallHierarchyEnabled),fromSpans:n.fromSpans.map(n=>u?(0,r.transformTextSpan)(f,e,u,n,!0,t.isCallHierarchyEnabled)?.[1]:n).filter(e=>!!e)}))}}function _(e,n){return(i,a,o)=>{let s=n(i,a,o);return(0,r.transformFileTextChanges)(e,s,!1,t.isCodeActionsEnabled)}}function v(e,n){return(o,s,...c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(!d?.associatedOnly)if(u){let i=[];for(let[a]of(0,r.toGeneratedOffsets)(e,u,f,s,t.isHoverEnabled)){let o=n(d.id,a,...c);if(o){let n=(0,r.transformTextSpan)(f,e,u,o.textSpan,!0,t.isHoverEnabled)?.[1];n&&i.push({...o,textSpan:n})}}if(i.length===1)return i[0];if(i.length>=2){let e={...i[0]};e.displayParts=e.displayParts?.slice(),e.documentation=e.documentation?.slice(),e.tags=e.tags?.slice();let t=new Set([q(i[0].displayParts)]),n=new Set([q(i[0].documentation)]),r=new Set;for(let e of i[0].tags??[])r.add(e.name+`__volar__`+q(e.text));for(let a=1;a<i.length;a++){let{displayParts:o,documentation:s,tags:c}=i[a];o?.length&&!t.has(q(o))&&(t.add(q(o)),e.displayParts??=[],e.displayParts.push({...o[0],text:`
2
+
3
+ `+o[0].text}),e.displayParts.push(...o.slice(1))),s?.length&&!n.has(q(s))&&(n.add(q(s)),e.documentation??=[],e.documentation.push({...s[0],text:`
4
+
5
+ `+s[0].text}),e.documentation.push(...s.slice(1)));for(let t of c??[])r.has(t.name+`__volar__`+q(t.text))||(r.add(t.name+`__volar__`+q(t.text)),e.tags??=[],e.tags.push(t))}return e}}else return n(l,s,...c)}}function y(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(!d?.associatedOnly)if(u){let i=(0,r.toGeneratedOffset)(e,u,f,s,t.isSignatureHelpEnabled);if(i!==void 0){let a=n(d.id,i,c);if(a){let n=(0,r.transformTextSpan)(f,e,u,a.applicableSpan,!0,t.isSignatureHelpEnabled)?.[1];if(n)return{...a,applicableSpan:n}}}}else return n(l,s,c)}}function b(e,n){return(i,o,s)=>K(e,i.replace(a,`/`),o,t.isHighlightEnabled,(e,t)=>n(e,t,s),function*(e){for(let t of e)for(let e of t.highlightSpans)yield[e.fileName??t.fileName,e.textSpan.start]}).flat().map(n=>({...n,highlightSpans:n.highlightSpans.map(i=>{let{textSpan:a}=(0,r.transformSpan)(e,i.fileName??n.fileName,i.textSpan,!1,t.isHighlightEnabled)??{};if(a)return{...i,contextSpan:(0,r.transformSpan)(e,i.fileName??n.fileName,i.contextSpan,!1,t.isHighlightEnabled)?.textSpan,textSpan:a}}).filter(e=>!!e)}))}function T(e,n){return(o,s,c,l,u,d)=>{let f=o.replace(a,`/`),[p,m,h]=(0,i.getServiceScript)(e,f);if(m?.associatedOnly)return[];if(p){if(typeof s==`number`){let i=(0,r.toGeneratedOffset)(e,p,h,s,t.isCodeActionsEnabled);if(i!==void 0)return n(m.id,i,c,l,u,d)}else for(let[i,a]of(0,r.toGeneratedRanges)(e,p,h,s.pos,s.end,t.isCodeActionsEnabled))return n(m.id,{pos:i,end:a},c,l,u,d);return[]}else return n(f,s,c,l,u,d)}}function E(e,n){return(o,s,c,l,u,d,f)=>{let p,m=o.replace(a,`/`),[h,g,_]=(0,i.getServiceScript)(e,m);if(!g?.associatedOnly){if(h)if(typeof c==`number`){let i=(0,r.toGeneratedOffset)(e,h,_,c,t.isCodeActionsEnabled);i!==void 0&&(p=n(g.id,s,i,l,u,d,f))}else for(let[i,a]of(0,r.toGeneratedRanges)(e,h,_,c.pos,c.end,t.isCodeActionsEnabled))p=n(g.id,s,{pos:i,end:a},l,u,d,f);else p=n(m,s,c,l,u,d,f);if(p)return p.edits=(0,r.transformFileTextChanges)(e,p.edits,!1,t.isCodeActionsEnabled),p}}}function D(e,n){return(...i)=>{let a=n(...i);return a.changes=(0,r.transformFileTextChanges)(e,a.changes,!1,t.isCodeActionsEnabled),a}}function O(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return{canRename:!1,localizedErrorMessage:`Cannot rename`};if(u){let i;for(let[a]of(0,r.toGeneratedOffsets)(e,u,f,s,t.isRenameEnabled)){let o=n(d.id,a,c);if(o.canRename){let n=(0,r.transformTextSpan)(f,e,u,o.triggerSpan,!1,t.isRenameEnabled)?.[1];if(n)return o.triggerSpan=n,o}else i=o}return i||{canRename:!1,localizedErrorMessage:`Failed to get rename locations`}}else return n(l,s,c)}}function k(e,n){return(o,s,c,l,u,d)=>{let f=[],p=o.replace(a,`/`),[m,h,g]=(0,i.getServiceScript)(e,p);if(h?.associatedOnly)return[];if(m){let i=(0,r.toGeneratedRange)(e,m,g,s,c,t.isCodeActionsEnabled);i!==void 0&&(f=n(h.id,i[0],i[1],l,u,d))}else f=n(p,s,c,l,u,d);return f=f.map(n=>(n.changes=(0,r.transformFileTextChanges)(e,n.changes,!1,t.isCodeActionsEnabled),n)),f}}function A(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return{spans:[],endOfLineState:0};if(u){let i=e.maps.get(u.code,d),a=(0,t.findOverlapCodeRange)(s.start,s.start+s.length,i,t.isSemanticTokensEnabled);if(!a)return{spans:[],endOfLineState:0};let o=(0,r.getMappingOffset)(e,u),l=a.start+o,p=a.end+o,m=n(d.id,{start:l,length:p-l},c),h=[];for(let n=0;n<m.spans.length;n+=3)for(let[i,a,o]of(0,r.toSourceRanges)(f,e,u,m.spans[n],m.spans[n]+m.spans[n+1],!1,t.isSemanticTokensEnabled)){h.push(a,o-a,m.spans[n+2]);break}return m.spans=h,m}else return n(l,s,c)}}function j(e,t,n){return o=>{let s=o.replace(a,`/`),[c,l,u]=(0,i.getServiceScript)(e,s);return l?.associatedOnly?[]:n(l?.id??s).map(n=>(0,r.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!c||e.scripts.get(t.file.fileName)===u)}}function M(e,t,n){return o=>{let s=o.replace(a,`/`),[c,l,u]=(0,i.getServiceScript)(e,s);return l?.associatedOnly?[]:n(l?.id??s).map(n=>(0,r.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!c||!t.file||e.scripts.get(t.file.fileName)===u)}}function N(e,t,n){return o=>{let s=o.replace(a,`/`),[c,l,u]=(0,i.getServiceScript)(e,s);return l?.associatedOnly?[]:n(l?.id??s).map(n=>(0,r.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!c||!t.file||e.scripts.get(t.file.fileName)===u)}}function P(e,i){return(o,s)=>{let c=o.replace(a,`/`),l=K(e,c,s,t.isDefinitionEnabled,(e,t)=>i(e,t),function*(e){for(let t of e.definitions??[])yield[t.fileName,t.textSpan.start]}),u=l.map(n=>(0,r.transformSpan)(e,c,n.textSpan,!0,t.isDefinitionEnabled)?.textSpan).filter(e=>!!e)[0];if(!u)return;let d=l.map(n=>n.definitions?.map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isDefinitionEnabled,n.fileName!==c)).filter(e=>!!e)??[]).flat();return{textSpan:u,definitions:(0,n.dedupeDocumentSpans)(d)}}}function F(e,n){return(i,o)=>K(e,i.replace(a,`/`),o,t.isReferencesEnabled,(e,t)=>n(e,t),function*(e){for(let t of e)for(let e of t.references)yield[e.fileName,e.textSpan.start]}).flat().map(n=>({definition:(0,r.transformDocumentSpan)(e,n.definition,!0,t.isDefinitionEnabled,!0),references:n.references.map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e)}))}function I(e,i){return(o,s)=>{let c=o.replace(a,`/`),l=K(e,c,s,t.isDefinitionEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isDefinitionEnabled,n.fileName!==c)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(l)}}function L(e,i){return(o,s)=>{let c=K(e,o.replace(a,`/`),s,t.isTypeDefinitionEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isTypeDefinitionEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(c)}}function R(e,i){return(o,s)=>{let c=K(e,o.replace(a,`/`),s,t.isImplementationEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isImplementationEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(c)}}function z(e,i){return(o,s,c,l,u)=>{let d=K(e,o.replace(a,`/`),s,t.isRenameEnabled,(e,t)=>i(e,t,c,l,u),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!1,t.isRenameEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(d)}}function B(e,i){return(o,s)=>{let c=K(e,o.replace(a,`/`),s,t.isReferencesEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(c)}}function V(e,n){return(o,s,c,l)=>{let u=o.replace(a,`/`),[d,f,p]=(0,i.getServiceScript)(e,u);if(!f?.associatedOnly)if(d){let i,a=[];for(let[o,u]of(0,r.toGeneratedOffsets)(e,d,p,s,t.isCompletionEnabled)){let s=typeof u.data.completion==`object`&&u.data.completion.isAdditional;if(!s&&i?.entries.length)continue;let m=n(f.id,o,c,l);if(m){typeof u.data.completion==`object`&&u.data.completion.onlyImport&&(m.entries=m.entries.filter(e=>!!e.sourceDisplay));for(let n of m.entries)n.replacementSpan=n.replacementSpan&&(0,r.transformTextSpan)(p,e,d,n.replacementSpan,!1,t.isCompletionEnabled)?.[1];m.optionalReplacementSpan=m.optionalReplacementSpan&&(0,r.transformTextSpan)(p,e,d,m.optionalReplacementSpan,!1,t.isCompletionEnabled)?.[1],s?a.push(m):i=m}}let o=a;if(i&&o.unshift(i),o.length)return{...o[0],entries:o.map(e=>e.entries).flat()}}else return n(u,s,c,l)}}function H(e,n){return(o,s,c,l,u,d,f)=>{let p,m=o.replace(a,`/`),[h,g,_]=(0,i.getServiceScript)(e,m);if(!g?.associatedOnly){if(h){let i=(0,r.toGeneratedOffset)(e,h,_,s,t.isCompletionEnabled);i!==void 0&&(p=n(g.id,i,c,l,u,d,f))}else return n(m,s,c,l,u,d,f);if(p?.codeActions)for(let n of p.codeActions)n.changes=(0,r.transformFileTextChanges)(e,n.changes,!1,t.isCompletionEnabled);return p}}}function U(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return[];if(u){let i=e.maps.get(u.code,f),a=(0,t.findOverlapCodeRange)(s.start,s.start+s.length,i,t.isSemanticTokensEnabled);if(!a)return[];let o=(0,r.getMappingOffset)(e,u),l=a.start+o,p=a.end+o,m=n(d.id,{start:l,length:p-l},c),h=[];for(let n of m){let i=(0,r.toSourceOffset)(f,e,u,n.position,t.isInlayHintsEnabled);i!==void 0&&h.push({...n,position:i[1]})}return h}else return n(l,s,c)}}function W(e,i){return o=>{let s=i(o.replace(a,`/`)).map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(s)}}function G(e,i){return(...a)=>{let o=i(...a).map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(o)}}function K(e,t,n,a,o,s){let c=[],l=new Set,[u,d,f]=(0,i.getServiceScript)(e,t);if(u)for(let[t]of(0,r.toGeneratedOffsets)(e,u,f,n,a))p(d.id,t);else p(t,n);return c;function p(t,n){if(l.has(t+`:`+n))return;l.add(t+`:`+n);let a=o(t,n);if(a){c.push(a);for(let t of s(a)){l.add(t[0]+`:`+t[1]);let[n]=(0,i.getServiceScript)(e,t[0]);if(!n)continue;let a=e.linkedCodeMaps.get(n.code);if(!a)continue;let o=(0,r.getMappingOffset)(e,n);for(let e of a.getLinkedOffsets(t[1]-o))p(t[0],e+o)}}}}function q(e){return e?e.map(e=>e.text).join(``):``}})),E=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.resolveFileLanguageId=t;function t(e){switch(e.split(`.`).pop()){case`js`:return`javascript`;case`cjs`:return`javascript`;case`mjs`:return`javascript`;case`ts`:return`typescript`;case`cts`:return`typescript`;case`mts`:return`typescript`;case`jsx`:return`javascriptreact`;case`tsx`:return`typescriptreact`;case`json`:return`json`}}})),D=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createResolveModuleName=t;function t(e,t,n,r,i){let a=new Map,o={readFile:n.readFile.bind(n),directoryExists:n.directoryExists?.bind(n),realpath:n.realpath?.bind(n),getCurrentDirectory:n.getCurrentDirectory?.bind(n),getDirectories:n.getDirectories?.bind(n),useCaseSensitiveFileNames:typeof n.useCaseSensitiveFileNames==`function`?n.useCaseSensitiveFileNames.bind(n):n.useCaseSensitiveFileNames,fileExists(e){let t=n.fileExists(e);for(let{typescript:n}of r)if(n){if(!t)for(let{extension:t}of n.extraFileExtensions){if(!e.endsWith(`.d.${t}.ts`))continue;let n=e.slice(0,-`.d.${t}.ts`.length)+`.${t}`;if(s(n)){let t=i(n);if(t?.generated){let r=t.generated.languagePlugin.typescript?.getServiceScript(t.generated.root);if(r){let t=n+`.d.ts`;return(r.extension===`.js`||r.extension===`.jsx`)&&s(t)?a.set(e,{sourceFileName:t,extension:`.ts`}):a.set(e,{sourceFileName:n,extension:r.extension}),!0}}}}if(n.resolveHiddenExtensions&&e.endsWith(`.d.ts`))for(let{extension:t}of n.extraFileExtensions){let n=e.slice(0,-5)+`.${t}`;if(s(n)){let t=i(n);if(t?.generated){let r=t.generated.languagePlugin.typescript?.getServiceScript(t.generated.root);if(r)return a.set(e,{sourceFileName:n,extension:r.extension}),!0}}}}return t}};return(t,n,r,i,s,c)=>{let l=e.resolveModuleName(t,n,r,o,i,s,c);if(l.resolvedModule){let e=a.get(l.resolvedModule.resolvedFileName);e&&(l.resolvedModule.resolvedFileName=e.sourceFileName,l.resolvedModule.extension=e.extension)}return a.clear(),l};function s(e){return n.fileExists(e)?(t?.(e)??n.readFile(e)?.length??0)<4*1024*1024:!1}}})),O=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.decorateLanguageServiceHost=r,e.searchExternalFiles=i;let t=D(),n=C();function r(e,r,i){let a=r.plugins.map(e=>e.typescript?.extraFileExtensions.map(e=>`.`+e.extension)??[]).flat(),o=new Map,s=new Set,c=i.readDirectory?.bind(i),l=i.resolveModuleNameLiterals?.bind(i),u=i.resolveModuleNames?.bind(i),d=i.getScriptSnapshot.bind(i),f=i.getScriptKind?.bind(i);if(c&&(i.readDirectory=(e,t,n,r,i)=>{if(t)for(let e of a)t.includes(e)||(t=[...t,e]);return c(e,t,n,r,i)}),a.length){let o=(0,t.createResolveModuleName)(e,e.sys.getFileSize,i,r.plugins,e=>r.scripts.get(e)),s=i.getModuleResolutionCache?.();l&&(i.resolveModuleNameLiterals=(t,r,c,u,d,...f)=>{let p=(0,n.fixupImpliedNodeFormatForFile)(e,a,d,s?.getPackageJsonInfoCache(),i,u);try{return t.every(e=>!a.some(t=>e.text.endsWith(t)))?l(t,r,c,u,d,...f):t.map(t=>{let n=e.getModeForUsageLocation(d,t,u);return o(t.text,r,u,s,c,n)})}finally{p?.()}}),u&&(i.resolveModuleNames=(e,t,n,r,i,c)=>e.every(e=>!a.some(t=>e.endsWith(t)))?u(e,t,n,r,i,c):e.map(e=>o(e,t,i,s,r).resolvedModule))}i.getScriptSnapshot=e=>{let t=p(e,!0);return t?t.snapshot:d(e)},f&&(i.getScriptKind=e=>{let t=p(e,!1);return t?t.scriptKind:f(e)});function p(t,n){if(s.has(t))return;let a;try{a=i.getScriptVersion(t)}catch{s.add(t)}if(a===void 0)return;let c=o.get(t);if(!c||c[0]!==a){c=[a];let i=r.scripts.get(t,void 0,n);if(i?.generated){let t=i.generated.languagePlugin.typescript?.getServiceScript(i.generated.root);if(t)if(t.preventLeadingOffset)c[1]={extension:t.extension,scriptKind:t.scriptKind,snapshot:t.code.snapshot};else{let n=i.snapshot.getText(0,i.snapshot.getLength()).split(`
6
+ `).map(e=>` `.repeat(e.length)).join(`
7
+ `)+t.code.snapshot.getText(0,t.code.snapshot.getLength());c[1]={extension:t.extension,scriptKind:t.scriptKind,snapshot:e.ScriptSnapshot.fromString(n)}}i.generated.languagePlugin.typescript?.getExtraServiceScripts&&console.warn(`getExtraServiceScripts() is not available in TS plugin.`)}o.set(t,c)}return c[1]}}function i(e,t,n){if(t.projectKind!==e.server.ProjectKind.Configured)return[];let r=t.getProjectName(),i=e.readJsonConfigFile(r,t.readFile.bind(t)),a={useCaseSensitiveFileNames:t.useCaseSensitiveFileNames(),fileExists:t.fileExists.bind(t),readFile:t.readFile.bind(t),readDirectory:(...e)=>(e[1]=n,t.readDirectory(...e))};return e.parseJsonSourceFileConfigFileContent(i,a,t.getCurrentDirectory()).fileNames}})),k=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.makeGetExternalFiles=e.decoratedLanguageServiceHosts=e.decoratedLanguageServices=e.projectExternalFileExtensions=e.externalFiles=void 0,e.makeGetScriptInfoWithLargeFileFailsafe=i,e.createLanguageCommon=a,e.isHasAlreadyDecoratedLanguageService=s;let t=x(),n=E(),r=O();e.externalFiles=new WeakMap,e.projectExternalFileExtensions=new WeakMap,e.decoratedLanguageServices=new WeakSet,e.decoratedLanguageServiceHosts=new WeakSet;function i(e){return t=>{try{return e.project.getScriptInfo(t)}catch{}}}function a(e,a,o,s){let c=o.languageServiceHost.getScriptSnapshot.bind(o.languageServiceHost),l=i(o),u=(0,t.createLanguage)([...e.languagePlugins,{getLanguageId:n.resolveFileLanguageId}],new t.FileMap(a.sys.useCaseSensitiveFileNames),(e,t,n)=>{let r;n?r=c(e):(r=l(e)?.getSnapshot(),r||=(o.project.getScriptVersion(e),l(e)?.getSnapshot())),r?u.scripts.set(e,r):u.scripts.delete(e)},e=>{o.session.change({file:e,line:1,offset:1,endLine:1,endOffset:1,insertString:``})});s(u),(0,r.decorateLanguageServiceHost)(a,u,o.languageServiceHost),e.setup?.(u)}e.makeGetExternalFiles=t=>(n,i=0)=>{if(i>=1||!e.externalFiles.has(n)){let i=e.externalFiles.get(n),a=e.projectExternalFileExtensions.get(n),s=a?.length?(0,r.searchExternalFiles)(t,n,a):[];e.externalFiles.set(n,s),i&&!o(i,s)&&n.refreshDiagnostics()}return e.externalFiles.get(n)};function o(e,t){if(e.length!==t.length)return!1;let n=new Set(e);for(let e of t)if(!n.has(e))return!1;return!0}function s(t){return e.decoratedLanguageServices.has(t.languageService)||e.decoratedLanguageServiceHosts.has(t.languageServiceHost)?!0:(e.decoratedLanguageServices.add(t.languageService),e.decoratedLanguageServiceHosts.add(t.languageServiceHost),!1)}})),A=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createLanguageServicePlugin=r;let t=T(),n=k();function r(e){return r=>{let{typescript:i}=r;return{create(r){if(!(0,n.isHasAlreadyDecoratedLanguageService)(r)){let a=e(i,r),o=a.languagePlugins.map(e=>e.typescript?.extraFileExtensions.map(e=>`.`+e.extension)??[]).flat();n.projectExternalFileExtensions.set(r.project,o);let{proxy:s,initialize:c}=(0,t.createProxyLanguageService)(r.languageService);r.languageService=s,(0,n.createLanguageCommon)(a,i,r,c)}return r.languageService},getExternalFiles:(0,n.makeGetExternalFiles)(i)}}}}))(),j=x();const M=process.env.RIPPLE_DEBUG===`true`;function N(e){return{log(...t){M&&console.log(e,...t)},logError(...t){M&&console.error(e,...t)},logWarning(...t){M&&console.warn(e,...t)}}}const P=(0,d.createRequire)(require(`url`).pathToFileURL(__filename).href),F=u.default.dirname((0,f.fileURLToPath)(require(`url`).pathToFileURL(__filename).href)),{log:I,logWarning:L,logError:R}=N(`[Ripple Language]`),z=[`.tsrx`],B=[[`@tsrx/ripple`,[`node_modules`,`@tsrx`,`ripple`],[`.tsrx`],[`@tsrx/ripple`,`ripple`,`@ripple-ts/vite-plugin`,`@ripple-ts/compat-react`]],[`@tsrx/react`,[`node_modules`,`@tsrx`,`react`],[`.tsrx`],[`@tsrx/react`,`@tsrx/vite-plugin-react`]]];function V(e){return z.some(t=>e.endsWith(t))}function H(){return I(`Creating Ripple language plugin...`),{getLanguageId(e){let t=typeof e==`string`?e:e.fsPath.replace(/\\/g,`/`);if(V(t))return I(`Identified Ripple file:`,t),`ripple`},createVirtualCode(e,t,n){if(t===`ripple`){let t=J(e),r=Z(t);if(!r){R(`Ripple compiler not found for file: ${t}`);return}I(`Creating virtual code for:`,t);try{return new U(t,n,r)}catch(e){throw R(`Failed to create virtual code for:`,t,`:`,e),e}}},updateVirtualCode(e,t,n){if(t instanceof U)return I(`Updating existing virtual code for:`,t.fileName),t.update(n),t},typescript:{extraFileExtensions:z.map(e=>({extension:e.slice(1),isMixedContent:!1,scriptKind:7})),getServiceScript(e){for(let t of(0,j.forEachEmbeddedCode)(e))if(t.languageId===`ripple`)return{code:t,extension:`.tsx`,scriptKind:4}}}}}var U=class{id=`root`;languageId=`ripple`;codegenStacks=[];tsrx;generatedCode=``;embeddedCodes=[];mappings=[];fatalErrors=[];usageErrors=[];snapshot;sourceSnapshot;originalCode=``;diagnostics=[];#e=null;#t=null;constructor(e,t,n){if(I(`Initializing TSRXVirtualCode for:`,e),this.fileName=e,this.tsrx=n,this.snapshot=t,this.sourceSnapshot=t,this.originalCode=t.getText(0,t.getLength()),!n||typeof n.compile_to_volar_mappings!=`function`)throw R(`Invalid ripple compiler - missing compile_to_volar_mappings method`),Error(`Invalid ripple compiler`);this.update(t)}update(e){I(`Updating virtual code for:`,this.fileName);let t=e.getText(0,e.getLength()),n=e.getChangeRange(this.sourceSnapshot);this.sourceSnapshot=e,this.#e=null,this.#t=null,this.fatalErrors=[],this.usageErrors=[];let r,i=!1,a=-1;if(I(`changeRange:`,JSON.stringify(n)),n){let e=n.span.start,r=e+n.span.length,o=e+n.newLength,s=this.originalCode.substring(e,r),c=t.substring(e,o);if(I(`Change details:`),I(` Position:`,e,`-`,r,`(length:`,n.span.length,`)`),I(` Old text:`,JSON.stringify(s)),I(` New text:`,JSON.stringify(c),`(length:`,n.newLength,`)`),c.endsWith(`.`)){let e=o>1?t[o-2]:``;I(` Char before dot:`,JSON.stringify(e)),/[$#_\u200C\u200D\p{ID_Continue}\)\]\}]/u.test(e)&&(i=!0,a=o-1,I(`ChangeRange detected dot typed at position`,a))}}try{if(i&&a>=0){let e=t.substring(0,a)+t.substring(a+1);if(I(`Compiling without typed dot at position`,a),r=this.tsrx.compile_to_volar_mappings(e,this.fileName,{loose:!0}),I(`Compilation without dot successful`),r&&r.code&&r.mappings.length>0){let e=G(r,a);e===null?L(`Failed to restore typed dot into transpiled output`):I(`Inserted typed dot at generated position`,e)}}else I(`Compiling Ripple code...`),r=this.tsrx.compile_to_volar_mappings(t,this.fileName,{loose:!0}),I(`Compilation successful, generated code length:`,r?.code?.length||0)}catch(e){let t=e;R(`Ripple compilation failed for`,this.fileName,`:`,t),t.type=`fatal`,this.fatalErrors.push(t)}if(r&&r.code){this.originalCode=t,this.generatedCode=r.code,this.mappings=r.mappings??[],this.usageErrors=r.errors;let e=r.cssMappings;if(e.length>0?(I(`Creating`,e.length,`CSS embedded codes`),this.embeddedCodes=e.map((e,t)=>{let n=e.data?.customData?.content;return I(`CSS region ${t}: \
8
+ offset ${e.sourceOffsets[0]}-${e.sourceOffsets[0]+e.lengths[0]}, \
9
+ length ${e.lengths[0]}`),{id:e.data?.customData?.embeddedId,languageId:`css`,snapshot:{getText:(e,t)=>n.substring(e,t),getLength:()=>e.lengths[0],getChangeRange:()=>void 0},mappings:[e],embeddedCodes:[]}})):this.embeddedCodes=[],M){I(`CSS embedded codes:`,(this.embeddedCodes||[]).length),I(`Using transpiled code, mapping count:`,this.mappings.length),I(`Original code length:`,t.length),I(`Generated code length:`,this.generatedCode.length),I(`Last 100 chars of original:`,JSON.stringify(t.slice(-100))),I(`Last 200 chars of generated:`,JSON.stringify(this.generatedCode.slice(-200))),I(`Last few mappings:`);let e=Math.max(0,this.mappings.length-5);for(let t=e;t<this.mappings.length;t++){let e=this.mappings[t];I(` Mapping ${t}: source[${e.sourceOffsets[0]}:${e.sourceOffsets[0]+e.lengths[0]}] -> gen[${e.generatedOffsets[0]}:${e.generatedOffsets[0]+e.lengths[0]}], len=${e.lengths[0]}, completion=${e.data?.completion}`)}}this.snapshot={getText:(e,t)=>this.generatedCode.substring(e,t),getLength:()=>this.generatedCode.length,getChangeRange:()=>void 0}}else I(`Compilation failed, only display where the compilation error occurred.`),this.originalCode=t,this.generatedCode=t,this.mappings=[{sourceOffsets:[0],generatedOffsets:[0],lengths:[t.length],generatedLengths:[t.length],data:{verification:!0,customData:{}}}],this.embeddedCodes=W(t),this.snapshot={getText:(e,t)=>this.generatedCode.substring(e,t),getLength:()=>this.generatedCode.length,getChangeRange:()=>void 0}}#n(){if(!(this.#e||this.#t)){this.#e=new Map,this.#t=new Map;for(var e,t,n,r,i,a,o,s,c,l=0;l<this.mappings.length;l++)e=this.mappings[l],t=e.generatedOffsets[0],n=e.generatedLengths[0],r=t+n,i=`${t}-${r}`,this.#e.set(i,e),a=e.sourceOffsets[0],o=e.lengths[0],s=a+o,c=`${a}-${s}`,this.#t.set(c,e)}}findMappingByGeneratedRange(e,t){return this.#n(),this.#e.get(`${e}-${t}`)??null}findMappingBySourceRange(e,t){return this.#n(),this.#t.get(`${e}-${t}`)??null}};function W(e){let t=[],n=/<style\b[^>]*>([\s\S]*?)<\/style>/gi,r,i=0;for(;(r=n.exec(e))!==null;){let e=r[0],n=r[1],a=r.index+(e.indexOf(`>`)+1),o=n.length;I(`Extracted CSS region ${i}: offset ${a}, length ${o}`);let s={sourceOffsets:[a],generatedOffsets:[0],lengths:[o],generatedLengths:[o],data:{verification:!0,completion:!0,semantic:!0,navigation:!0,structure:!0,format:!1,customData:{content:n,embeddedId:`style_${i}`}}};t.push({id:`style_${i}`,languageId:`css`,snapshot:{getText:(e,t)=>n.substring(e,t),getLength:()=>o,getChangeRange:()=>void 0},mappings:[s],embeddedCodes:[]}),i++}return t.length>0&&I(`Extracted ${t.length} CSS embedded codes from style tags`),t}function G(e,t){let n=null;for(let r of e.mappings)if(r.sourceOffsets[0]+r.lengths[0]===t){n=r;break}if(!n)return null;let r=n.generatedLengths[0],i=n.generatedOffsets[0]+r;e.code=e.code.substring(0,i)+`.`+e.code.substring(i);let a={sourceOffsets:[t],generatedOffsets:[i],lengths:[1],generatedLengths:[1],data:{...n.data}},o=e.mappings.indexOf(n);e.mappings.splice(o+1,0,a);for(let r of e.mappings)r!==n&&r!==a&&r.generatedOffsets[0]>=i&&(r.generatedOffsets[0]+=1),r!==n&&r!==a&&r.sourceOffsets[0]>=t&&(r.sourceOffsets[0]+=1);return i}const K=new Map,q=new Map;function J(e){return typeof e==`string`?e:e.fsPath.replace(/\\/g,`/`)}function Y(e,t=l.default.existsSync){let n=e,r=[];for(;n;){if(q.has(n)){let e=q.get(n)??null;for(let t of r)q.set(t,e);return e}r.push(n);let e=u.default.join(n,`package.json`);if(t(e))try{let t=JSON.parse(l.default.readFileSync(e,`utf8`)),n=new Set([...Object.keys(t.dependencies??{}),...Object.keys(t.devDependencies??{}),...Object.keys(t.peerDependencies??{}),...Object.keys(t.optionalDependencies??{})]),i={name:typeof t.name==`string`?t.name:null,dependencies:n};for(let e of r)q.set(e,i);return i}catch{for(let e of r)q.set(e,null);return null}let i=u.default.dirname(n);if(i===n)break;n=i}for(let e of r)q.set(e,null);return null}function X(e,t,n){if(!e)return!1;if(e.name===t||n.includes(e.name??``)||e.dependencies.has(t))return!0;for(let t of n)if(e.dependencies.has(t))return!0;return!1}function Z(e){let t=$(e);if(t)return P(t)}function Q(e,t=l.default.existsSync,n=K){let r=e.split(`/`),i=u.default.extname(e);for(let e=r.length-2;e>=0;e--){let a=r.slice(0,e+1).join(`/`),o=a+`\0`+i;if(!n.has(o)){let e=[];for(let[n,r,o,s]of B){if(!o.includes(i))continue;let c=[a,...r,`src`,`index.js`].join(`/`);t(c)&&e.push([n,c,s])}let r=null;if(e.length>0){let n=Y(a,t);r=e.find(([e,,t])=>X(n,e,t))?.[1]??e[0][1],I(`Found tsrx compiler at:`,r,`for extension:`,i)}n.set(o,r)}let s=n.get(o);if(s)return s}}function $(e){let t=u.default.extname(e),n=Y(u.default.dirname(e)),r=Q(e);if(r)return r;let i=`No supported tsrx compiler found in workspace for ${e}.`,a=F;for(;a;){let e=[];for(let[n,r,i,o]of B){if(!i.includes(t))continue;let s=u.default.join(a,...r),c=u.default.join(s,`src`,`index.js`);l.default.existsSync(c)&&e.push([n,c,o])}if(e.length>0){let t=e.find(([e,,t])=>X(n,e,t))?.[1]??e[0][1];return L(`${i} Using packaged version at ${t}`),t}let r=u.default.dirname(a);if(r===a)break;a=r}}var ee=(0,A.createLanguageServicePlugin)(()=>({languagePlugins:[H()]}));module.exports=ee;
10
+ //# sourceMappingURL=index.js.map