+33
.github/workflows/test.yml
+33
.github/workflows/test.yml
···
1
+
name: NPM Audit Check
2
+
3
+
on:
4
+
push:
5
+
branches: [ master ]
6
+
pull_request:
7
+
branches: [ master ]
8
+
schedule:
9
+
- cron: '15 16 * * 5'
10
+
11
+
jobs:
12
+
13
+
npm_audit:
14
+
name: Check NPM audit
15
+
runs-on: ubuntu-latest
16
+
timeout-minutes: 20
17
+
strategy:
18
+
fail-fast: true
19
+
permissions:
20
+
contents: read
21
+
22
+
steps:
23
+
- name: Checkout repository
24
+
uses: https://github.com/actions/checkout@v4
25
+
26
+
- name: Setup nodejs
27
+
uses: https://github.com/actions/setup-node@v4
28
+
29
+
- name: Install dependencies
30
+
run: npm ci
31
+
32
+
- run: npm test
33
+
name: Run tests
+1496
-1
package-lock.json
+1496
-1
package-lock.json
···
14
14
},
15
15
"devDependencies": {
16
16
"@types/node": "24.3.0",
17
-
"typescript": "5.9.2"
17
+
"typescript": "5.9.2",
18
+
"vitest": "3.2.4"
19
+
}
20
+
},
21
+
"node_modules/@esbuild/aix-ppc64": {
22
+
"version": "0.25.9",
23
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
24
+
"integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
25
+
"cpu": [
26
+
"ppc64"
27
+
],
28
+
"dev": true,
29
+
"license": "MIT",
30
+
"optional": true,
31
+
"os": [
32
+
"aix"
33
+
],
34
+
"engines": {
35
+
"node": ">=18"
36
+
}
37
+
},
38
+
"node_modules/@esbuild/android-arm": {
39
+
"version": "0.25.9",
40
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
41
+
"integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
42
+
"cpu": [
43
+
"arm"
44
+
],
45
+
"dev": true,
46
+
"license": "MIT",
47
+
"optional": true,
48
+
"os": [
49
+
"android"
50
+
],
51
+
"engines": {
52
+
"node": ">=18"
53
+
}
54
+
},
55
+
"node_modules/@esbuild/android-arm64": {
56
+
"version": "0.25.9",
57
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
58
+
"integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
59
+
"cpu": [
60
+
"arm64"
61
+
],
62
+
"dev": true,
63
+
"license": "MIT",
64
+
"optional": true,
65
+
"os": [
66
+
"android"
67
+
],
68
+
"engines": {
69
+
"node": ">=18"
70
+
}
71
+
},
72
+
"node_modules/@esbuild/android-x64": {
73
+
"version": "0.25.9",
74
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
75
+
"integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
76
+
"cpu": [
77
+
"x64"
78
+
],
79
+
"dev": true,
80
+
"license": "MIT",
81
+
"optional": true,
82
+
"os": [
83
+
"android"
84
+
],
85
+
"engines": {
86
+
"node": ">=18"
87
+
}
88
+
},
89
+
"node_modules/@esbuild/darwin-arm64": {
90
+
"version": "0.25.9",
91
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
92
+
"integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
93
+
"cpu": [
94
+
"arm64"
95
+
],
96
+
"dev": true,
97
+
"license": "MIT",
98
+
"optional": true,
99
+
"os": [
100
+
"darwin"
101
+
],
102
+
"engines": {
103
+
"node": ">=18"
104
+
}
105
+
},
106
+
"node_modules/@esbuild/darwin-x64": {
107
+
"version": "0.25.9",
108
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
109
+
"integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
110
+
"cpu": [
111
+
"x64"
112
+
],
113
+
"dev": true,
114
+
"license": "MIT",
115
+
"optional": true,
116
+
"os": [
117
+
"darwin"
118
+
],
119
+
"engines": {
120
+
"node": ">=18"
121
+
}
122
+
},
123
+
"node_modules/@esbuild/freebsd-arm64": {
124
+
"version": "0.25.9",
125
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
126
+
"integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
127
+
"cpu": [
128
+
"arm64"
129
+
],
130
+
"dev": true,
131
+
"license": "MIT",
132
+
"optional": true,
133
+
"os": [
134
+
"freebsd"
135
+
],
136
+
"engines": {
137
+
"node": ">=18"
138
+
}
139
+
},
140
+
"node_modules/@esbuild/freebsd-x64": {
141
+
"version": "0.25.9",
142
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
143
+
"integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
144
+
"cpu": [
145
+
"x64"
146
+
],
147
+
"dev": true,
148
+
"license": "MIT",
149
+
"optional": true,
150
+
"os": [
151
+
"freebsd"
152
+
],
153
+
"engines": {
154
+
"node": ">=18"
155
+
}
156
+
},
157
+
"node_modules/@esbuild/linux-arm": {
158
+
"version": "0.25.9",
159
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
160
+
"integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
161
+
"cpu": [
162
+
"arm"
163
+
],
164
+
"dev": true,
165
+
"license": "MIT",
166
+
"optional": true,
167
+
"os": [
168
+
"linux"
169
+
],
170
+
"engines": {
171
+
"node": ">=18"
172
+
}
173
+
},
174
+
"node_modules/@esbuild/linux-arm64": {
175
+
"version": "0.25.9",
176
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
177
+
"integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
178
+
"cpu": [
179
+
"arm64"
180
+
],
181
+
"dev": true,
182
+
"license": "MIT",
183
+
"optional": true,
184
+
"os": [
185
+
"linux"
186
+
],
187
+
"engines": {
188
+
"node": ">=18"
189
+
}
190
+
},
191
+
"node_modules/@esbuild/linux-ia32": {
192
+
"version": "0.25.9",
193
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
194
+
"integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
195
+
"cpu": [
196
+
"ia32"
197
+
],
198
+
"dev": true,
199
+
"license": "MIT",
200
+
"optional": true,
201
+
"os": [
202
+
"linux"
203
+
],
204
+
"engines": {
205
+
"node": ">=18"
206
+
}
207
+
},
208
+
"node_modules/@esbuild/linux-loong64": {
209
+
"version": "0.25.9",
210
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
211
+
"integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
212
+
"cpu": [
213
+
"loong64"
214
+
],
215
+
"dev": true,
216
+
"license": "MIT",
217
+
"optional": true,
218
+
"os": [
219
+
"linux"
220
+
],
221
+
"engines": {
222
+
"node": ">=18"
223
+
}
224
+
},
225
+
"node_modules/@esbuild/linux-mips64el": {
226
+
"version": "0.25.9",
227
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
228
+
"integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
229
+
"cpu": [
230
+
"mips64el"
231
+
],
232
+
"dev": true,
233
+
"license": "MIT",
234
+
"optional": true,
235
+
"os": [
236
+
"linux"
237
+
],
238
+
"engines": {
239
+
"node": ">=18"
240
+
}
241
+
},
242
+
"node_modules/@esbuild/linux-ppc64": {
243
+
"version": "0.25.9",
244
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
245
+
"integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
246
+
"cpu": [
247
+
"ppc64"
248
+
],
249
+
"dev": true,
250
+
"license": "MIT",
251
+
"optional": true,
252
+
"os": [
253
+
"linux"
254
+
],
255
+
"engines": {
256
+
"node": ">=18"
257
+
}
258
+
},
259
+
"node_modules/@esbuild/linux-riscv64": {
260
+
"version": "0.25.9",
261
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
262
+
"integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
263
+
"cpu": [
264
+
"riscv64"
265
+
],
266
+
"dev": true,
267
+
"license": "MIT",
268
+
"optional": true,
269
+
"os": [
270
+
"linux"
271
+
],
272
+
"engines": {
273
+
"node": ">=18"
274
+
}
275
+
},
276
+
"node_modules/@esbuild/linux-s390x": {
277
+
"version": "0.25.9",
278
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
279
+
"integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
280
+
"cpu": [
281
+
"s390x"
282
+
],
283
+
"dev": true,
284
+
"license": "MIT",
285
+
"optional": true,
286
+
"os": [
287
+
"linux"
288
+
],
289
+
"engines": {
290
+
"node": ">=18"
291
+
}
292
+
},
293
+
"node_modules/@esbuild/linux-x64": {
294
+
"version": "0.25.9",
295
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
296
+
"integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
297
+
"cpu": [
298
+
"x64"
299
+
],
300
+
"dev": true,
301
+
"license": "MIT",
302
+
"optional": true,
303
+
"os": [
304
+
"linux"
305
+
],
306
+
"engines": {
307
+
"node": ">=18"
308
+
}
309
+
},
310
+
"node_modules/@esbuild/netbsd-arm64": {
311
+
"version": "0.25.9",
312
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
313
+
"integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
314
+
"cpu": [
315
+
"arm64"
316
+
],
317
+
"dev": true,
318
+
"license": "MIT",
319
+
"optional": true,
320
+
"os": [
321
+
"netbsd"
322
+
],
323
+
"engines": {
324
+
"node": ">=18"
325
+
}
326
+
},
327
+
"node_modules/@esbuild/netbsd-x64": {
328
+
"version": "0.25.9",
329
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
330
+
"integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
331
+
"cpu": [
332
+
"x64"
333
+
],
334
+
"dev": true,
335
+
"license": "MIT",
336
+
"optional": true,
337
+
"os": [
338
+
"netbsd"
339
+
],
340
+
"engines": {
341
+
"node": ">=18"
342
+
}
343
+
},
344
+
"node_modules/@esbuild/openbsd-arm64": {
345
+
"version": "0.25.9",
346
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
347
+
"integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
348
+
"cpu": [
349
+
"arm64"
350
+
],
351
+
"dev": true,
352
+
"license": "MIT",
353
+
"optional": true,
354
+
"os": [
355
+
"openbsd"
356
+
],
357
+
"engines": {
358
+
"node": ">=18"
359
+
}
360
+
},
361
+
"node_modules/@esbuild/openbsd-x64": {
362
+
"version": "0.25.9",
363
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
364
+
"integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
365
+
"cpu": [
366
+
"x64"
367
+
],
368
+
"dev": true,
369
+
"license": "MIT",
370
+
"optional": true,
371
+
"os": [
372
+
"openbsd"
373
+
],
374
+
"engines": {
375
+
"node": ">=18"
376
+
}
377
+
},
378
+
"node_modules/@esbuild/openharmony-arm64": {
379
+
"version": "0.25.9",
380
+
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
381
+
"integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
382
+
"cpu": [
383
+
"arm64"
384
+
],
385
+
"dev": true,
386
+
"license": "MIT",
387
+
"optional": true,
388
+
"os": [
389
+
"openharmony"
390
+
],
391
+
"engines": {
392
+
"node": ">=18"
393
+
}
394
+
},
395
+
"node_modules/@esbuild/sunos-x64": {
396
+
"version": "0.25.9",
397
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
398
+
"integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
399
+
"cpu": [
400
+
"x64"
401
+
],
402
+
"dev": true,
403
+
"license": "MIT",
404
+
"optional": true,
405
+
"os": [
406
+
"sunos"
407
+
],
408
+
"engines": {
409
+
"node": ">=18"
410
+
}
411
+
},
412
+
"node_modules/@esbuild/win32-arm64": {
413
+
"version": "0.25.9",
414
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
415
+
"integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
416
+
"cpu": [
417
+
"arm64"
418
+
],
419
+
"dev": true,
420
+
"license": "MIT",
421
+
"optional": true,
422
+
"os": [
423
+
"win32"
424
+
],
425
+
"engines": {
426
+
"node": ">=18"
18
427
}
19
428
},
429
+
"node_modules/@esbuild/win32-ia32": {
430
+
"version": "0.25.9",
431
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
432
+
"integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
433
+
"cpu": [
434
+
"ia32"
435
+
],
436
+
"dev": true,
437
+
"license": "MIT",
438
+
"optional": true,
439
+
"os": [
440
+
"win32"
441
+
],
442
+
"engines": {
443
+
"node": ">=18"
444
+
}
445
+
},
446
+
"node_modules/@esbuild/win32-x64": {
447
+
"version": "0.25.9",
448
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
449
+
"integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
450
+
"cpu": [
451
+
"x64"
452
+
],
453
+
"dev": true,
454
+
"license": "MIT",
455
+
"optional": true,
456
+
"os": [
457
+
"win32"
458
+
],
459
+
"engines": {
460
+
"node": ">=18"
461
+
}
462
+
},
463
+
"node_modules/@jridgewell/sourcemap-codec": {
464
+
"version": "1.5.5",
465
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
466
+
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
467
+
"dev": true,
468
+
"license": "MIT"
469
+
},
470
+
"node_modules/@rollup/rollup-android-arm-eabi": {
471
+
"version": "4.48.0",
472
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.48.0.tgz",
473
+
"integrity": "sha512-aVzKH922ogVAWkKiyKXorjYymz2084zrhrZRXtLrA5eEx5SO8Dj0c/4FpCHZyn7MKzhW2pW4tK28vVr+5oQ2xw==",
474
+
"cpu": [
475
+
"arm"
476
+
],
477
+
"dev": true,
478
+
"license": "MIT",
479
+
"optional": true,
480
+
"os": [
481
+
"android"
482
+
]
483
+
},
484
+
"node_modules/@rollup/rollup-android-arm64": {
485
+
"version": "4.48.0",
486
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.48.0.tgz",
487
+
"integrity": "sha512-diOdQuw43xTa1RddAFbhIA8toirSzFMcnIg8kvlzRbK26xqEnKJ/vqQnghTAajy2Dcy42v+GMPMo6jq67od+Dw==",
488
+
"cpu": [
489
+
"arm64"
490
+
],
491
+
"dev": true,
492
+
"license": "MIT",
493
+
"optional": true,
494
+
"os": [
495
+
"android"
496
+
]
497
+
},
498
+
"node_modules/@rollup/rollup-darwin-arm64": {
499
+
"version": "4.48.0",
500
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.48.0.tgz",
501
+
"integrity": "sha512-QhR2KA18fPlJWFefySJPDYZELaVqIUVnYgAOdtJ+B/uH96CFg2l1TQpX19XpUMWUqMyIiyY45wje8K6F4w4/CA==",
502
+
"cpu": [
503
+
"arm64"
504
+
],
505
+
"dev": true,
506
+
"license": "MIT",
507
+
"optional": true,
508
+
"os": [
509
+
"darwin"
510
+
]
511
+
},
512
+
"node_modules/@rollup/rollup-darwin-x64": {
513
+
"version": "4.48.0",
514
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.48.0.tgz",
515
+
"integrity": "sha512-Q9RMXnQVJ5S1SYpNSTwXDpoQLgJ/fbInWOyjbCnnqTElEyeNvLAB3QvG5xmMQMhFN74bB5ZZJYkKaFPcOG8sGg==",
516
+
"cpu": [
517
+
"x64"
518
+
],
519
+
"dev": true,
520
+
"license": "MIT",
521
+
"optional": true,
522
+
"os": [
523
+
"darwin"
524
+
]
525
+
},
526
+
"node_modules/@rollup/rollup-freebsd-arm64": {
527
+
"version": "4.48.0",
528
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.48.0.tgz",
529
+
"integrity": "sha512-3jzOhHWM8O8PSfyft+ghXZfBkZawQA0PUGtadKYxFqpcYlOYjTi06WsnYBsbMHLawr+4uWirLlbhcYLHDXR16w==",
530
+
"cpu": [
531
+
"arm64"
532
+
],
533
+
"dev": true,
534
+
"license": "MIT",
535
+
"optional": true,
536
+
"os": [
537
+
"freebsd"
538
+
]
539
+
},
540
+
"node_modules/@rollup/rollup-freebsd-x64": {
541
+
"version": "4.48.0",
542
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.48.0.tgz",
543
+
"integrity": "sha512-NcD5uVUmE73C/TPJqf78hInZmiSBsDpz3iD5MF/BuB+qzm4ooF2S1HfeTChj5K4AV3y19FFPgxonsxiEpy8v/A==",
544
+
"cpu": [
545
+
"x64"
546
+
],
547
+
"dev": true,
548
+
"license": "MIT",
549
+
"optional": true,
550
+
"os": [
551
+
"freebsd"
552
+
]
553
+
},
554
+
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
555
+
"version": "4.48.0",
556
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.48.0.tgz",
557
+
"integrity": "sha512-JWnrj8qZgLWRNHr7NbpdnrQ8kcg09EBBq8jVOjmtlB3c8C6IrynAJSMhMVGME4YfTJzIkJqvSUSVJRqkDnu/aA==",
558
+
"cpu": [
559
+
"arm"
560
+
],
561
+
"dev": true,
562
+
"license": "MIT",
563
+
"optional": true,
564
+
"os": [
565
+
"linux"
566
+
]
567
+
},
568
+
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
569
+
"version": "4.48.0",
570
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.48.0.tgz",
571
+
"integrity": "sha512-9xu92F0TxuMH0tD6tG3+GtngwdgSf8Bnz+YcsPG91/r5Vgh5LNofO48jV55priA95p3c92FLmPM7CvsVlnSbGQ==",
572
+
"cpu": [
573
+
"arm"
574
+
],
575
+
"dev": true,
576
+
"license": "MIT",
577
+
"optional": true,
578
+
"os": [
579
+
"linux"
580
+
]
581
+
},
582
+
"node_modules/@rollup/rollup-linux-arm64-gnu": {
583
+
"version": "4.48.0",
584
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.48.0.tgz",
585
+
"integrity": "sha512-NLtvJB5YpWn7jlp1rJiY0s+G1Z1IVmkDuiywiqUhh96MIraC0n7XQc2SZ1CZz14shqkM+XN2UrfIo7JB6UufOA==",
586
+
"cpu": [
587
+
"arm64"
588
+
],
589
+
"dev": true,
590
+
"license": "MIT",
591
+
"optional": true,
592
+
"os": [
593
+
"linux"
594
+
]
595
+
},
596
+
"node_modules/@rollup/rollup-linux-arm64-musl": {
597
+
"version": "4.48.0",
598
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.48.0.tgz",
599
+
"integrity": "sha512-QJ4hCOnz2SXgCh+HmpvZkM+0NSGcZACyYS8DGbWn2PbmA0e5xUk4bIP8eqJyNXLtyB4gZ3/XyvKtQ1IFH671vQ==",
600
+
"cpu": [
601
+
"arm64"
602
+
],
603
+
"dev": true,
604
+
"license": "MIT",
605
+
"optional": true,
606
+
"os": [
607
+
"linux"
608
+
]
609
+
},
610
+
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
611
+
"version": "4.48.0",
612
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.48.0.tgz",
613
+
"integrity": "sha512-Pk0qlGJnhILdIC5zSKQnprFjrGmjfDM7TPZ0FKJxRkoo+kgMRAg4ps1VlTZf8u2vohSicLg7NP+cA5qE96PaFg==",
614
+
"cpu": [
615
+
"loong64"
616
+
],
617
+
"dev": true,
618
+
"license": "MIT",
619
+
"optional": true,
620
+
"os": [
621
+
"linux"
622
+
]
623
+
},
624
+
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
625
+
"version": "4.48.0",
626
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.48.0.tgz",
627
+
"integrity": "sha512-/dNFc6rTpoOzgp5GKoYjT6uLo8okR/Chi2ECOmCZiS4oqh3mc95pThWma7Bgyk6/WTEvjDINpiBCuecPLOgBLQ==",
628
+
"cpu": [
629
+
"ppc64"
630
+
],
631
+
"dev": true,
632
+
"license": "MIT",
633
+
"optional": true,
634
+
"os": [
635
+
"linux"
636
+
]
637
+
},
638
+
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
639
+
"version": "4.48.0",
640
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.48.0.tgz",
641
+
"integrity": "sha512-YBwXsvsFI8CVA4ej+bJF2d9uAeIiSkqKSPQNn0Wyh4eMDY4wxuSp71BauPjQNCKK2tD2/ksJ7uhJ8X/PVY9bHQ==",
642
+
"cpu": [
643
+
"riscv64"
644
+
],
645
+
"dev": true,
646
+
"license": "MIT",
647
+
"optional": true,
648
+
"os": [
649
+
"linux"
650
+
]
651
+
},
652
+
"node_modules/@rollup/rollup-linux-riscv64-musl": {
653
+
"version": "4.48.0",
654
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.48.0.tgz",
655
+
"integrity": "sha512-FI3Rr2aGAtl1aHzbkBIamsQyuauYtTF9SDUJ8n2wMXuuxwchC3QkumZa1TEXYIv/1AUp1a25Kwy6ONArvnyeVQ==",
656
+
"cpu": [
657
+
"riscv64"
658
+
],
659
+
"dev": true,
660
+
"license": "MIT",
661
+
"optional": true,
662
+
"os": [
663
+
"linux"
664
+
]
665
+
},
666
+
"node_modules/@rollup/rollup-linux-s390x-gnu": {
667
+
"version": "4.48.0",
668
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.48.0.tgz",
669
+
"integrity": "sha512-Dx7qH0/rvNNFmCcIRe1pyQ9/H0XO4v/f0SDoafwRYwc2J7bJZ5N4CHL/cdjamISZ5Cgnon6iazAVRFlxSoHQnQ==",
670
+
"cpu": [
671
+
"s390x"
672
+
],
673
+
"dev": true,
674
+
"license": "MIT",
675
+
"optional": true,
676
+
"os": [
677
+
"linux"
678
+
]
679
+
},
680
+
"node_modules/@rollup/rollup-linux-x64-gnu": {
681
+
"version": "4.48.0",
682
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.48.0.tgz",
683
+
"integrity": "sha512-GUdZKTeKBq9WmEBzvFYuC88yk26vT66lQV8D5+9TgkfbewhLaTHRNATyzpQwwbHIfJvDJ3N9WJ90wK/uR3cy3Q==",
684
+
"cpu": [
685
+
"x64"
686
+
],
687
+
"dev": true,
688
+
"license": "MIT",
689
+
"optional": true,
690
+
"os": [
691
+
"linux"
692
+
]
693
+
},
694
+
"node_modules/@rollup/rollup-linux-x64-musl": {
695
+
"version": "4.48.0",
696
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.48.0.tgz",
697
+
"integrity": "sha512-ao58Adz/v14MWpQgYAb4a4h3fdw73DrDGtaiF7Opds5wNyEQwtO6M9dBh89nke0yoZzzaegq6J/EXs7eBebG8A==",
698
+
"cpu": [
699
+
"x64"
700
+
],
701
+
"dev": true,
702
+
"license": "MIT",
703
+
"optional": true,
704
+
"os": [
705
+
"linux"
706
+
]
707
+
},
708
+
"node_modules/@rollup/rollup-win32-arm64-msvc": {
709
+
"version": "4.48.0",
710
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.48.0.tgz",
711
+
"integrity": "sha512-kpFno46bHtjZVdRIOxqaGeiABiToo2J+st7Yce+aiAoo1H0xPi2keyQIP04n2JjDVuxBN6bSz9R6RdTK5hIppw==",
712
+
"cpu": [
713
+
"arm64"
714
+
],
715
+
"dev": true,
716
+
"license": "MIT",
717
+
"optional": true,
718
+
"os": [
719
+
"win32"
720
+
]
721
+
},
722
+
"node_modules/@rollup/rollup-win32-ia32-msvc": {
723
+
"version": "4.48.0",
724
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.48.0.tgz",
725
+
"integrity": "sha512-rFYrk4lLk9YUTIeihnQMiwMr6gDhGGSbWThPEDfBoU/HdAtOzPXeexKi7yU8jO+LWRKnmqPN9NviHQf6GDwBcQ==",
726
+
"cpu": [
727
+
"ia32"
728
+
],
729
+
"dev": true,
730
+
"license": "MIT",
731
+
"optional": true,
732
+
"os": [
733
+
"win32"
734
+
]
735
+
},
736
+
"node_modules/@rollup/rollup-win32-x64-msvc": {
737
+
"version": "4.48.0",
738
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.48.0.tgz",
739
+
"integrity": "sha512-sq0hHLTgdtwOPDB5SJOuaoHyiP1qSwg+71TQWk8iDS04bW1wIE0oQ6otPiRj2ZvLYNASLMaTp8QRGUVZ+5OL5A==",
740
+
"cpu": [
741
+
"x64"
742
+
],
743
+
"dev": true,
744
+
"license": "MIT",
745
+
"optional": true,
746
+
"os": [
747
+
"win32"
748
+
]
749
+
},
750
+
"node_modules/@types/chai": {
751
+
"version": "5.2.2",
752
+
"resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
753
+
"integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
754
+
"dev": true,
755
+
"license": "MIT",
756
+
"dependencies": {
757
+
"@types/deep-eql": "*"
758
+
}
759
+
},
760
+
"node_modules/@types/deep-eql": {
761
+
"version": "4.0.2",
762
+
"resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
763
+
"integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
764
+
"dev": true,
765
+
"license": "MIT"
766
+
},
767
+
"node_modules/@types/estree": {
768
+
"version": "1.0.8",
769
+
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
770
+
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
771
+
"dev": true,
772
+
"license": "MIT"
773
+
},
20
774
"node_modules/@types/node": {
21
775
"version": "24.3.0",
22
776
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz",
···
27
781
"undici-types": "~7.10.0"
28
782
}
29
783
},
784
+
"node_modules/@vitest/expect": {
785
+
"version": "3.2.4",
786
+
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
787
+
"integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
788
+
"dev": true,
789
+
"license": "MIT",
790
+
"dependencies": {
791
+
"@types/chai": "^5.2.2",
792
+
"@vitest/spy": "3.2.4",
793
+
"@vitest/utils": "3.2.4",
794
+
"chai": "^5.2.0",
795
+
"tinyrainbow": "^2.0.0"
796
+
},
797
+
"funding": {
798
+
"url": "https://opencollective.com/vitest"
799
+
}
800
+
},
801
+
"node_modules/@vitest/mocker": {
802
+
"version": "3.2.4",
803
+
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
804
+
"integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
805
+
"dev": true,
806
+
"license": "MIT",
807
+
"dependencies": {
808
+
"@vitest/spy": "3.2.4",
809
+
"estree-walker": "^3.0.3",
810
+
"magic-string": "^0.30.17"
811
+
},
812
+
"funding": {
813
+
"url": "https://opencollective.com/vitest"
814
+
},
815
+
"peerDependencies": {
816
+
"msw": "^2.4.9",
817
+
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
818
+
},
819
+
"peerDependenciesMeta": {
820
+
"msw": {
821
+
"optional": true
822
+
},
823
+
"vite": {
824
+
"optional": true
825
+
}
826
+
}
827
+
},
828
+
"node_modules/@vitest/pretty-format": {
829
+
"version": "3.2.4",
830
+
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
831
+
"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
832
+
"dev": true,
833
+
"license": "MIT",
834
+
"dependencies": {
835
+
"tinyrainbow": "^2.0.0"
836
+
},
837
+
"funding": {
838
+
"url": "https://opencollective.com/vitest"
839
+
}
840
+
},
841
+
"node_modules/@vitest/runner": {
842
+
"version": "3.2.4",
843
+
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz",
844
+
"integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==",
845
+
"dev": true,
846
+
"license": "MIT",
847
+
"dependencies": {
848
+
"@vitest/utils": "3.2.4",
849
+
"pathe": "^2.0.3",
850
+
"strip-literal": "^3.0.0"
851
+
},
852
+
"funding": {
853
+
"url": "https://opencollective.com/vitest"
854
+
}
855
+
},
856
+
"node_modules/@vitest/snapshot": {
857
+
"version": "3.2.4",
858
+
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
859
+
"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
860
+
"dev": true,
861
+
"license": "MIT",
862
+
"dependencies": {
863
+
"@vitest/pretty-format": "3.2.4",
864
+
"magic-string": "^0.30.17",
865
+
"pathe": "^2.0.3"
866
+
},
867
+
"funding": {
868
+
"url": "https://opencollective.com/vitest"
869
+
}
870
+
},
871
+
"node_modules/@vitest/spy": {
872
+
"version": "3.2.4",
873
+
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
874
+
"integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
875
+
"dev": true,
876
+
"license": "MIT",
877
+
"dependencies": {
878
+
"tinyspy": "^4.0.3"
879
+
},
880
+
"funding": {
881
+
"url": "https://opencollective.com/vitest"
882
+
}
883
+
},
884
+
"node_modules/@vitest/utils": {
885
+
"version": "3.2.4",
886
+
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
887
+
"integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
888
+
"dev": true,
889
+
"license": "MIT",
890
+
"dependencies": {
891
+
"@vitest/pretty-format": "3.2.4",
892
+
"loupe": "^3.1.4",
893
+
"tinyrainbow": "^2.0.0"
894
+
},
895
+
"funding": {
896
+
"url": "https://opencollective.com/vitest"
897
+
}
898
+
},
899
+
"node_modules/assertion-error": {
900
+
"version": "2.0.1",
901
+
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
902
+
"integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
903
+
"dev": true,
904
+
"license": "MIT",
905
+
"engines": {
906
+
"node": ">=12"
907
+
}
908
+
},
909
+
"node_modules/cac": {
910
+
"version": "6.7.14",
911
+
"resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
912
+
"integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
913
+
"dev": true,
914
+
"license": "MIT",
915
+
"engines": {
916
+
"node": ">=8"
917
+
}
918
+
},
919
+
"node_modules/chai": {
920
+
"version": "5.3.3",
921
+
"resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz",
922
+
"integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==",
923
+
"dev": true,
924
+
"license": "MIT",
925
+
"dependencies": {
926
+
"assertion-error": "^2.0.1",
927
+
"check-error": "^2.1.1",
928
+
"deep-eql": "^5.0.1",
929
+
"loupe": "^3.1.0",
930
+
"pathval": "^2.0.0"
931
+
},
932
+
"engines": {
933
+
"node": ">=18"
934
+
}
935
+
},
936
+
"node_modules/check-error": {
937
+
"version": "2.1.1",
938
+
"resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz",
939
+
"integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==",
940
+
"dev": true,
941
+
"license": "MIT",
942
+
"engines": {
943
+
"node": ">= 16"
944
+
}
945
+
},
946
+
"node_modules/debug": {
947
+
"version": "4.4.1",
948
+
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
949
+
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
950
+
"dev": true,
951
+
"license": "MIT",
952
+
"dependencies": {
953
+
"ms": "^2.1.3"
954
+
},
955
+
"engines": {
956
+
"node": ">=6.0"
957
+
},
958
+
"peerDependenciesMeta": {
959
+
"supports-color": {
960
+
"optional": true
961
+
}
962
+
}
963
+
},
964
+
"node_modules/deep-eql": {
965
+
"version": "5.0.2",
966
+
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
967
+
"integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
968
+
"dev": true,
969
+
"license": "MIT",
970
+
"engines": {
971
+
"node": ">=6"
972
+
}
973
+
},
974
+
"node_modules/es-module-lexer": {
975
+
"version": "1.7.0",
976
+
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
977
+
"integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
978
+
"dev": true,
979
+
"license": "MIT"
980
+
},
981
+
"node_modules/esbuild": {
982
+
"version": "0.25.9",
983
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
984
+
"integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
985
+
"dev": true,
986
+
"hasInstallScript": true,
987
+
"license": "MIT",
988
+
"bin": {
989
+
"esbuild": "bin/esbuild"
990
+
},
991
+
"engines": {
992
+
"node": ">=18"
993
+
},
994
+
"optionalDependencies": {
995
+
"@esbuild/aix-ppc64": "0.25.9",
996
+
"@esbuild/android-arm": "0.25.9",
997
+
"@esbuild/android-arm64": "0.25.9",
998
+
"@esbuild/android-x64": "0.25.9",
999
+
"@esbuild/darwin-arm64": "0.25.9",
1000
+
"@esbuild/darwin-x64": "0.25.9",
1001
+
"@esbuild/freebsd-arm64": "0.25.9",
1002
+
"@esbuild/freebsd-x64": "0.25.9",
1003
+
"@esbuild/linux-arm": "0.25.9",
1004
+
"@esbuild/linux-arm64": "0.25.9",
1005
+
"@esbuild/linux-ia32": "0.25.9",
1006
+
"@esbuild/linux-loong64": "0.25.9",
1007
+
"@esbuild/linux-mips64el": "0.25.9",
1008
+
"@esbuild/linux-ppc64": "0.25.9",
1009
+
"@esbuild/linux-riscv64": "0.25.9",
1010
+
"@esbuild/linux-s390x": "0.25.9",
1011
+
"@esbuild/linux-x64": "0.25.9",
1012
+
"@esbuild/netbsd-arm64": "0.25.9",
1013
+
"@esbuild/netbsd-x64": "0.25.9",
1014
+
"@esbuild/openbsd-arm64": "0.25.9",
1015
+
"@esbuild/openbsd-x64": "0.25.9",
1016
+
"@esbuild/openharmony-arm64": "0.25.9",
1017
+
"@esbuild/sunos-x64": "0.25.9",
1018
+
"@esbuild/win32-arm64": "0.25.9",
1019
+
"@esbuild/win32-ia32": "0.25.9",
1020
+
"@esbuild/win32-x64": "0.25.9"
1021
+
}
1022
+
},
1023
+
"node_modules/estree-walker": {
1024
+
"version": "3.0.3",
1025
+
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
1026
+
"integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
1027
+
"dev": true,
1028
+
"license": "MIT",
1029
+
"dependencies": {
1030
+
"@types/estree": "^1.0.0"
1031
+
}
1032
+
},
1033
+
"node_modules/expect-type": {
1034
+
"version": "1.2.2",
1035
+
"resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz",
1036
+
"integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==",
1037
+
"dev": true,
1038
+
"license": "Apache-2.0",
1039
+
"engines": {
1040
+
"node": ">=12.0.0"
1041
+
}
1042
+
},
1043
+
"node_modules/fdir": {
1044
+
"version": "6.5.0",
1045
+
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
1046
+
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
1047
+
"dev": true,
1048
+
"license": "MIT",
1049
+
"engines": {
1050
+
"node": ">=12.0.0"
1051
+
},
1052
+
"peerDependencies": {
1053
+
"picomatch": "^3 || ^4"
1054
+
},
1055
+
"peerDependenciesMeta": {
1056
+
"picomatch": {
1057
+
"optional": true
1058
+
}
1059
+
}
1060
+
},
1061
+
"node_modules/fsevents": {
1062
+
"version": "2.3.3",
1063
+
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1064
+
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1065
+
"dev": true,
1066
+
"hasInstallScript": true,
1067
+
"license": "MIT",
1068
+
"optional": true,
1069
+
"os": [
1070
+
"darwin"
1071
+
],
1072
+
"engines": {
1073
+
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1074
+
}
1075
+
},
1076
+
"node_modules/js-tokens": {
1077
+
"version": "9.0.1",
1078
+
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
1079
+
"integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
1080
+
"dev": true,
1081
+
"license": "MIT"
1082
+
},
30
1083
"node_modules/json5": {
31
1084
"version": "2.2.3",
32
1085
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
···
39
1092
"node": ">=6"
40
1093
}
41
1094
},
1095
+
"node_modules/loupe": {
1096
+
"version": "3.2.1",
1097
+
"resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz",
1098
+
"integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==",
1099
+
"dev": true,
1100
+
"license": "MIT"
1101
+
},
1102
+
"node_modules/magic-string": {
1103
+
"version": "0.30.18",
1104
+
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz",
1105
+
"integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==",
1106
+
"dev": true,
1107
+
"license": "MIT",
1108
+
"dependencies": {
1109
+
"@jridgewell/sourcemap-codec": "^1.5.5"
1110
+
}
1111
+
},
1112
+
"node_modules/ms": {
1113
+
"version": "2.1.3",
1114
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1115
+
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1116
+
"dev": true,
1117
+
"license": "MIT"
1118
+
},
1119
+
"node_modules/nanoid": {
1120
+
"version": "3.3.11",
1121
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
1122
+
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1123
+
"dev": true,
1124
+
"funding": [
1125
+
{
1126
+
"type": "github",
1127
+
"url": "https://github.com/sponsors/ai"
1128
+
}
1129
+
],
1130
+
"license": "MIT",
1131
+
"bin": {
1132
+
"nanoid": "bin/nanoid.cjs"
1133
+
},
1134
+
"engines": {
1135
+
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1136
+
}
1137
+
},
42
1138
"node_modules/node-fetch": {
43
1139
"version": "2.7.0",
44
1140
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
···
68
1164
"node-fetch": "^2.6.0"
69
1165
}
70
1166
},
1167
+
"node_modules/pathe": {
1168
+
"version": "2.0.3",
1169
+
"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
1170
+
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
1171
+
"dev": true,
1172
+
"license": "MIT"
1173
+
},
1174
+
"node_modules/pathval": {
1175
+
"version": "2.0.1",
1176
+
"resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
1177
+
"integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
1178
+
"dev": true,
1179
+
"license": "MIT",
1180
+
"engines": {
1181
+
"node": ">= 14.16"
1182
+
}
1183
+
},
1184
+
"node_modules/picocolors": {
1185
+
"version": "1.1.1",
1186
+
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1187
+
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1188
+
"dev": true,
1189
+
"license": "ISC"
1190
+
},
1191
+
"node_modules/picomatch": {
1192
+
"version": "4.0.3",
1193
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
1194
+
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
1195
+
"dev": true,
1196
+
"license": "MIT",
1197
+
"engines": {
1198
+
"node": ">=12"
1199
+
},
1200
+
"funding": {
1201
+
"url": "https://github.com/sponsors/jonschlinkert"
1202
+
}
1203
+
},
1204
+
"node_modules/postcss": {
1205
+
"version": "8.5.6",
1206
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
1207
+
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
1208
+
"dev": true,
1209
+
"funding": [
1210
+
{
1211
+
"type": "opencollective",
1212
+
"url": "https://opencollective.com/postcss/"
1213
+
},
1214
+
{
1215
+
"type": "tidelift",
1216
+
"url": "https://tidelift.com/funding/github/npm/postcss"
1217
+
},
1218
+
{
1219
+
"type": "github",
1220
+
"url": "https://github.com/sponsors/ai"
1221
+
}
1222
+
],
1223
+
"license": "MIT",
1224
+
"dependencies": {
1225
+
"nanoid": "^3.3.11",
1226
+
"picocolors": "^1.1.1",
1227
+
"source-map-js": "^1.2.1"
1228
+
},
1229
+
"engines": {
1230
+
"node": "^10 || ^12 || >=14"
1231
+
}
1232
+
},
1233
+
"node_modules/rollup": {
1234
+
"version": "4.48.0",
1235
+
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.48.0.tgz",
1236
+
"integrity": "sha512-BXHRqK1vyt9XVSEHZ9y7xdYtuYbwVod2mLwOMFP7t/Eqoc1pHRlG/WdV2qNeNvZHRQdLedaFycljaYYM96RqJQ==",
1237
+
"dev": true,
1238
+
"license": "MIT",
1239
+
"dependencies": {
1240
+
"@types/estree": "1.0.8"
1241
+
},
1242
+
"bin": {
1243
+
"rollup": "dist/bin/rollup"
1244
+
},
1245
+
"engines": {
1246
+
"node": ">=18.0.0",
1247
+
"npm": ">=8.0.0"
1248
+
},
1249
+
"optionalDependencies": {
1250
+
"@rollup/rollup-android-arm-eabi": "4.48.0",
1251
+
"@rollup/rollup-android-arm64": "4.48.0",
1252
+
"@rollup/rollup-darwin-arm64": "4.48.0",
1253
+
"@rollup/rollup-darwin-x64": "4.48.0",
1254
+
"@rollup/rollup-freebsd-arm64": "4.48.0",
1255
+
"@rollup/rollup-freebsd-x64": "4.48.0",
1256
+
"@rollup/rollup-linux-arm-gnueabihf": "4.48.0",
1257
+
"@rollup/rollup-linux-arm-musleabihf": "4.48.0",
1258
+
"@rollup/rollup-linux-arm64-gnu": "4.48.0",
1259
+
"@rollup/rollup-linux-arm64-musl": "4.48.0",
1260
+
"@rollup/rollup-linux-loongarch64-gnu": "4.48.0",
1261
+
"@rollup/rollup-linux-ppc64-gnu": "4.48.0",
1262
+
"@rollup/rollup-linux-riscv64-gnu": "4.48.0",
1263
+
"@rollup/rollup-linux-riscv64-musl": "4.48.0",
1264
+
"@rollup/rollup-linux-s390x-gnu": "4.48.0",
1265
+
"@rollup/rollup-linux-x64-gnu": "4.48.0",
1266
+
"@rollup/rollup-linux-x64-musl": "4.48.0",
1267
+
"@rollup/rollup-win32-arm64-msvc": "4.48.0",
1268
+
"@rollup/rollup-win32-ia32-msvc": "4.48.0",
1269
+
"@rollup/rollup-win32-x64-msvc": "4.48.0",
1270
+
"fsevents": "~2.3.2"
1271
+
}
1272
+
},
1273
+
"node_modules/siginfo": {
1274
+
"version": "2.0.0",
1275
+
"resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
1276
+
"integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
1277
+
"dev": true,
1278
+
"license": "ISC"
1279
+
},
1280
+
"node_modules/source-map-js": {
1281
+
"version": "1.2.1",
1282
+
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
1283
+
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
1284
+
"dev": true,
1285
+
"license": "BSD-3-Clause",
1286
+
"engines": {
1287
+
"node": ">=0.10.0"
1288
+
}
1289
+
},
1290
+
"node_modules/stackback": {
1291
+
"version": "0.0.2",
1292
+
"resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
1293
+
"integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
1294
+
"dev": true,
1295
+
"license": "MIT"
1296
+
},
1297
+
"node_modules/std-env": {
1298
+
"version": "3.9.0",
1299
+
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz",
1300
+
"integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==",
1301
+
"dev": true,
1302
+
"license": "MIT"
1303
+
},
1304
+
"node_modules/strip-literal": {
1305
+
"version": "3.0.0",
1306
+
"resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz",
1307
+
"integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==",
1308
+
"dev": true,
1309
+
"license": "MIT",
1310
+
"dependencies": {
1311
+
"js-tokens": "^9.0.1"
1312
+
},
1313
+
"funding": {
1314
+
"url": "https://github.com/sponsors/antfu"
1315
+
}
1316
+
},
1317
+
"node_modules/tinybench": {
1318
+
"version": "2.9.0",
1319
+
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
1320
+
"integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
1321
+
"dev": true,
1322
+
"license": "MIT"
1323
+
},
1324
+
"node_modules/tinyexec": {
1325
+
"version": "0.3.2",
1326
+
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
1327
+
"integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
1328
+
"dev": true,
1329
+
"license": "MIT"
1330
+
},
1331
+
"node_modules/tinyglobby": {
1332
+
"version": "0.2.14",
1333
+
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
1334
+
"integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
1335
+
"dev": true,
1336
+
"license": "MIT",
1337
+
"dependencies": {
1338
+
"fdir": "^6.4.4",
1339
+
"picomatch": "^4.0.2"
1340
+
},
1341
+
"engines": {
1342
+
"node": ">=12.0.0"
1343
+
},
1344
+
"funding": {
1345
+
"url": "https://github.com/sponsors/SuperchupuDev"
1346
+
}
1347
+
},
1348
+
"node_modules/tinypool": {
1349
+
"version": "1.1.1",
1350
+
"resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
1351
+
"integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
1352
+
"dev": true,
1353
+
"license": "MIT",
1354
+
"engines": {
1355
+
"node": "^18.0.0 || >=20.0.0"
1356
+
}
1357
+
},
1358
+
"node_modules/tinyrainbow": {
1359
+
"version": "2.0.0",
1360
+
"resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
1361
+
"integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
1362
+
"dev": true,
1363
+
"license": "MIT",
1364
+
"engines": {
1365
+
"node": ">=14.0.0"
1366
+
}
1367
+
},
1368
+
"node_modules/tinyspy": {
1369
+
"version": "4.0.3",
1370
+
"resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz",
1371
+
"integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==",
1372
+
"dev": true,
1373
+
"license": "MIT",
1374
+
"engines": {
1375
+
"node": ">=14.0.0"
1376
+
}
1377
+
},
71
1378
"node_modules/tr46": {
72
1379
"version": "0.0.3",
73
1380
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
···
95
1402
"dev": true,
96
1403
"license": "MIT"
97
1404
},
1405
+
"node_modules/vite": {
1406
+
"version": "7.1.3",
1407
+
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.3.tgz",
1408
+
"integrity": "sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==",
1409
+
"dev": true,
1410
+
"license": "MIT",
1411
+
"dependencies": {
1412
+
"esbuild": "^0.25.0",
1413
+
"fdir": "^6.5.0",
1414
+
"picomatch": "^4.0.3",
1415
+
"postcss": "^8.5.6",
1416
+
"rollup": "^4.43.0",
1417
+
"tinyglobby": "^0.2.14"
1418
+
},
1419
+
"bin": {
1420
+
"vite": "bin/vite.js"
1421
+
},
1422
+
"engines": {
1423
+
"node": "^20.19.0 || >=22.12.0"
1424
+
},
1425
+
"funding": {
1426
+
"url": "https://github.com/vitejs/vite?sponsor=1"
1427
+
},
1428
+
"optionalDependencies": {
1429
+
"fsevents": "~2.3.3"
1430
+
},
1431
+
"peerDependencies": {
1432
+
"@types/node": "^20.19.0 || >=22.12.0",
1433
+
"jiti": ">=1.21.0",
1434
+
"less": "^4.0.0",
1435
+
"lightningcss": "^1.21.0",
1436
+
"sass": "^1.70.0",
1437
+
"sass-embedded": "^1.70.0",
1438
+
"stylus": ">=0.54.8",
1439
+
"sugarss": "^5.0.0",
1440
+
"terser": "^5.16.0",
1441
+
"tsx": "^4.8.1",
1442
+
"yaml": "^2.4.2"
1443
+
},
1444
+
"peerDependenciesMeta": {
1445
+
"@types/node": {
1446
+
"optional": true
1447
+
},
1448
+
"jiti": {
1449
+
"optional": true
1450
+
},
1451
+
"less": {
1452
+
"optional": true
1453
+
},
1454
+
"lightningcss": {
1455
+
"optional": true
1456
+
},
1457
+
"sass": {
1458
+
"optional": true
1459
+
},
1460
+
"sass-embedded": {
1461
+
"optional": true
1462
+
},
1463
+
"stylus": {
1464
+
"optional": true
1465
+
},
1466
+
"sugarss": {
1467
+
"optional": true
1468
+
},
1469
+
"terser": {
1470
+
"optional": true
1471
+
},
1472
+
"tsx": {
1473
+
"optional": true
1474
+
},
1475
+
"yaml": {
1476
+
"optional": true
1477
+
}
1478
+
}
1479
+
},
1480
+
"node_modules/vite-node": {
1481
+
"version": "3.2.4",
1482
+
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
1483
+
"integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
1484
+
"dev": true,
1485
+
"license": "MIT",
1486
+
"dependencies": {
1487
+
"cac": "^6.7.14",
1488
+
"debug": "^4.4.1",
1489
+
"es-module-lexer": "^1.7.0",
1490
+
"pathe": "^2.0.3",
1491
+
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
1492
+
},
1493
+
"bin": {
1494
+
"vite-node": "vite-node.mjs"
1495
+
},
1496
+
"engines": {
1497
+
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
1498
+
},
1499
+
"funding": {
1500
+
"url": "https://opencollective.com/vitest"
1501
+
}
1502
+
},
1503
+
"node_modules/vitest": {
1504
+
"version": "3.2.4",
1505
+
"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz",
1506
+
"integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
1507
+
"dev": true,
1508
+
"license": "MIT",
1509
+
"dependencies": {
1510
+
"@types/chai": "^5.2.2",
1511
+
"@vitest/expect": "3.2.4",
1512
+
"@vitest/mocker": "3.2.4",
1513
+
"@vitest/pretty-format": "^3.2.4",
1514
+
"@vitest/runner": "3.2.4",
1515
+
"@vitest/snapshot": "3.2.4",
1516
+
"@vitest/spy": "3.2.4",
1517
+
"@vitest/utils": "3.2.4",
1518
+
"chai": "^5.2.0",
1519
+
"debug": "^4.4.1",
1520
+
"expect-type": "^1.2.1",
1521
+
"magic-string": "^0.30.17",
1522
+
"pathe": "^2.0.3",
1523
+
"picomatch": "^4.0.2",
1524
+
"std-env": "^3.9.0",
1525
+
"tinybench": "^2.9.0",
1526
+
"tinyexec": "^0.3.2",
1527
+
"tinyglobby": "^0.2.14",
1528
+
"tinypool": "^1.1.1",
1529
+
"tinyrainbow": "^2.0.0",
1530
+
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
1531
+
"vite-node": "3.2.4",
1532
+
"why-is-node-running": "^2.3.0"
1533
+
},
1534
+
"bin": {
1535
+
"vitest": "vitest.mjs"
1536
+
},
1537
+
"engines": {
1538
+
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
1539
+
},
1540
+
"funding": {
1541
+
"url": "https://opencollective.com/vitest"
1542
+
},
1543
+
"peerDependencies": {
1544
+
"@edge-runtime/vm": "*",
1545
+
"@types/debug": "^4.1.12",
1546
+
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
1547
+
"@vitest/browser": "3.2.4",
1548
+
"@vitest/ui": "3.2.4",
1549
+
"happy-dom": "*",
1550
+
"jsdom": "*"
1551
+
},
1552
+
"peerDependenciesMeta": {
1553
+
"@edge-runtime/vm": {
1554
+
"optional": true
1555
+
},
1556
+
"@types/debug": {
1557
+
"optional": true
1558
+
},
1559
+
"@types/node": {
1560
+
"optional": true
1561
+
},
1562
+
"@vitest/browser": {
1563
+
"optional": true
1564
+
},
1565
+
"@vitest/ui": {
1566
+
"optional": true
1567
+
},
1568
+
"happy-dom": {
1569
+
"optional": true
1570
+
},
1571
+
"jsdom": {
1572
+
"optional": true
1573
+
}
1574
+
}
1575
+
},
98
1576
"node_modules/webidl-conversions": {
99
1577
"version": "3.0.1",
100
1578
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
···
109
1587
"dependencies": {
110
1588
"tr46": "~0.0.3",
111
1589
"webidl-conversions": "^3.0.0"
1590
+
}
1591
+
},
1592
+
"node_modules/why-is-node-running": {
1593
+
"version": "2.3.0",
1594
+
"resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
1595
+
"integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
1596
+
"dev": true,
1597
+
"license": "MIT",
1598
+
"dependencies": {
1599
+
"siginfo": "^2.0.0",
1600
+
"stackback": "0.0.2"
1601
+
},
1602
+
"bin": {
1603
+
"why-is-node-running": "cli.js"
1604
+
},
1605
+
"engines": {
1606
+
"node": ">=8"
112
1607
}
113
1608
}
114
1609
}
+5
-3
package.json
+5
-3
package.json
···
20
20
"type": "module",
21
21
"main": "distribution/index.js",
22
22
"scripts": {
23
-
"build": "npx tsc",
24
-
"start": "node distribution/index.js"
23
+
"build": "tsc",
24
+
"start": "node distribution/index.js",
25
+
"test": "vitest"
25
26
},
26
27
"dependencies": {
27
28
"json5": "2.2.3",
···
29
30
},
30
31
"devDependencies": {
31
32
"typescript": "5.9.2",
32
-
"@types/node": "24.3.0"
33
+
"@types/node": "24.3.0",
34
+
"vitest": "3.2.4"
33
35
}
34
36
}
+2
-2
src/voice.ts
+2
-2
src/voice.ts
···
165
165
tokens.push(LINES.POINT);
166
166
tokens.push(...digitByDigit(parts[1]));
167
167
}
168
-
return tokens.map(l => path.join(voice.directory, `${l}.${voice.extension}`));
168
+
return tokens.map(l => path.join(voice.directory, `${l}${voice.extension.length > 0 && voice.extension.charAt(0) !== '.' ? '.' : ''}${voice.extension}`));
169
169
}
170
170
171
171
export default voiceLines;
172
-
export { voiceLines };
172
+
export { voiceLines, LINES };
173
173
export type { Voice, Voices };
+116
test/voice.test.ts
+116
test/voice.test.ts
···
1
+
import { assert, describe, expect, it } from 'vitest'
2
+
import { voiceLines, LINES } from '../src/voice.js';
3
+
import type { Voice } from '../src/voice.js';
4
+
5
+
const dummyVoice: Voice = {
6
+
'directory': '',
7
+
'extension': ''
8
+
};
9
+
10
+
describe('voiceLines', () => {
11
+
it('handles integers', () => {
12
+
expect(voiceLines(dummyVoice, 16549872)).to.include.ordered.members(
13
+
[
14
+
LINES.SIX, LINES.TEEN, LINES.MILLION, LINES.FIVE, LINES.HUNDRED, LINES.FORTY,
15
+
LINES.NINE, LINES.THOUSAND, LINES.EIGHT, LINES.HUNDRED, LINES.SEVENTY, LINES.TWO
16
+
]
17
+
);
18
+
});
19
+
20
+
it('handles floating point', () => {
21
+
expect(voiceLines(dummyVoice, 672.09435)).to.include.ordered.members(
22
+
[
23
+
LINES.SIX, LINES.HUNDRED, LINES.SEVENTY, LINES.TWO, LINES.POINT, LINES.ZERO,
24
+
LINES.NINE, LINES.FOUR, LINES.THREE, LINES.FIVE
25
+
]
26
+
);
27
+
});
28
+
29
+
it('handles the negative', () => {
30
+
expect(voiceLines(dummyVoice, -672.09435)).to.include.ordered.members(
31
+
[
32
+
LINES.NEGATIVE, LINES.SIX, LINES.HUNDRED, LINES.SEVENTY, LINES.TWO, LINES.POINT, LINES.ZERO,
33
+
LINES.NINE, LINES.FOUR, LINES.THREE, LINES.FIVE
34
+
]
35
+
);
36
+
});
37
+
38
+
it('handles zero', () => {
39
+
expect(voiceLines(dummyVoice, 0)).to.include.ordered.members(
40
+
[
41
+
LINES.ZERO
42
+
]
43
+
);
44
+
});
45
+
46
+
it('handles large numbers with many zeroes', () => {
47
+
expect(voiceLines(dummyVoice, 700000000000001)).to.include.ordered.members(
48
+
[
49
+
LINES.SEVEN, LINES.HUNDRED, LINES.TRILLION, LINES.ONE
50
+
]
51
+
);
52
+
53
+
expect(voiceLines(dummyVoice, 1000001)).to.include.ordered.members(
54
+
[
55
+
LINES.ONE, LINES.MILLION, LINES.ONE
56
+
]
57
+
);
58
+
59
+
expect(voiceLines(dummyVoice, 9000000001000)).to.include.ordered.members(
60
+
[
61
+
LINES.NINE, LINES.TRILLION, LINES.ONE, LINES.THOUSAND
62
+
]
63
+
);
64
+
65
+
expect(voiceLines(dummyVoice, 60002000000000.12)).to.include.ordered.members(
66
+
[
67
+
LINES.SIXTY, LINES.TRILLION, LINES.TWO, LINES.BILLION, LINES.POINT, LINES.ONE, LINES.TWO
68
+
]
69
+
);
70
+
71
+
expect(voiceLines(dummyVoice, 100010001)).to.include.ordered.members(
72
+
[
73
+
LINES.ONE, LINES.HUNDRED, LINES.MILLION, LINES.TEN, LINES.THOUSAND, LINES.ONE
74
+
]
75
+
);
76
+
});
77
+
78
+
it('handles irregularly named numbers', () => {
79
+
expect(voiceLines(dummyVoice, 210)).to.include.ordered.members(
80
+
[
81
+
LINES.TWO, LINES.HUNDRED, LINES.TEN
82
+
]
83
+
);
84
+
85
+
expect(voiceLines(dummyVoice, 311)).to.include.ordered.members(
86
+
[
87
+
LINES.THREE, LINES.HUNDRED, LINES.ELEVEN
88
+
]
89
+
);
90
+
91
+
expect(voiceLines(dummyVoice, 412)).to.include.ordered.members(
92
+
[
93
+
LINES.FOUR, LINES.HUNDRED, LINES.TWELVE
94
+
]
95
+
);
96
+
97
+
expect(voiceLines(dummyVoice, 513)).to.include.ordered.members(
98
+
[
99
+
LINES.FIVE, LINES.HUNDRED, LINES.THIRTEEN
100
+
]
101
+
);
102
+
103
+
expect(voiceLines(dummyVoice, 615)).to.include.ordered.members(
104
+
[
105
+
LINES.SIX, LINES.HUNDRED, LINES.FIFTEEN
106
+
]
107
+
);
108
+
});
109
+
110
+
it('returns empty array if value is unsupported', () => {
111
+
expect(voiceLines(dummyVoice, Infinity)).length.to.be.empty;
112
+
expect(voiceLines(dummyVoice, -Infinity)).length.to.be.empty;
113
+
expect(voiceLines(dummyVoice, NaN)).length.to.be.empty;
114
+
expect(voiceLines(dummyVoice, 1e21)).length.to.be.empty;
115
+
});
116
+
});
+2
-2
tsconfig.json
+2
-2
tsconfig.json