diff --git a/package.json b/package.json
index a6e592bb5522756c42ff5887e8900bfc29da770c..848cfed3804406b6eb4bc03d42a3c8e2c5f20c2f 100644
--- a/package.json
+++ b/package.json
@@ -74,7 +74,7 @@
     "svelte-check": "^3.6.3",
     "tslib": "^2.4.1",
     "typescript": "^5.0.0",
-    "typescript-eslint": "8.0.0-alpha.37",
+    "typescript-eslint": "8.0.0-alpha.38",
     "vite": "^5.0.12",
     "vitest": "^1.2.2"
   },
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 35ab3cffff3c67151aabb5a6ee5106cd231e471d..185546885ff074a45db020fc5e5a729ded4c4d4f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -79,8 +79,8 @@ importers:
         specifier: ^5.0.0
         version: 5.3.3
       typescript-eslint:
-        specifier: 8.0.0-alpha.37
-        version: 8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)
+        specifier: 8.0.0-alpha.38
+        version: 8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)
       vite:
         specifier: ^5.0.12
         version: 5.0.12(@types/node@20.14.0)
@@ -662,8 +662,8 @@ packages:
   '@types/resolve@1.20.2':
     resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
 
-  '@typescript-eslint/eslint-plugin@8.0.0-alpha.37':
-    resolution: {integrity: sha512-qdfth5+87MHcxGytK0wPrNYFsPN0skh0VztwiuWJM76/uGLnMI8MPNazlufjDqpuz2tWky3OEJWEVZRw0sS54g==}
+  '@typescript-eslint/eslint-plugin@8.0.0-alpha.38':
+    resolution: {integrity: sha512-aAEtLAD++0YWjHOCCsEfx39t/AiJi9ZGauASDfvhJL/73AEVaqEL/DiXuDD7C2g9faVuh3qXsfUzxxU2hR/cIw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     peerDependencies:
       '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
@@ -673,8 +673,8 @@ packages:
       typescript:
         optional: true
 
-  '@typescript-eslint/parser@8.0.0-alpha.37':
-    resolution: {integrity: sha512-501Lt4Dbj9kqt+rZrXzcq+oh41J0JXg4XgPIKPd8JgZqjtbss9fjOMW/APVDA+WkNpu/1zKD+vCvrShfo2xnhw==}
+  '@typescript-eslint/parser@8.0.0-alpha.38':
+    resolution: {integrity: sha512-7vWt41cjKTRwNPYushQihIHdRnJ8fBy5HYBjMro+nemBQfoVuXY0JXgCctf3Jb3JGUCKxlIw/SYYRsaJ+1rj2w==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     peerDependencies:
       eslint: ^8.57.0 || ^9.0.0
@@ -683,12 +683,12 @@ packages:
       typescript:
         optional: true
 
-  '@typescript-eslint/scope-manager@8.0.0-alpha.37':
-    resolution: {integrity: sha512-sr/29FT6SI87JfjxKzA/mD6vsV1x8f/uK+PIWTFTGr60dlC0EgqT+DjtcinGa+TtmlRweUdJ+CVZFZsEyFFPdQ==}
+  '@typescript-eslint/scope-manager@8.0.0-alpha.38':
+    resolution: {integrity: sha512-99m9xeGDl/r55+DZuqcwl/52fZfh6VF98Lx2jCyMRS1N+mCbBQ1oDsnGg6hCJxBGSsieifN1DwCh00cfy/L23g==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@typescript-eslint/type-utils@8.0.0-alpha.37':
-    resolution: {integrity: sha512-eQVd2RoC5nQIxx2r4Uj0mNUcMC9+w355nd/Eu+M/4s4O/PKTUxn2SUoqO8aRTAL5jVEF5SUO6UtxqzWD6iFoig==}
+  '@typescript-eslint/type-utils@8.0.0-alpha.38':
+    resolution: {integrity: sha512-baoGHlQL4fZoD0UNIggH8drmMCkQubRbVxGWa9dLbx+CasTju2q4QuBy21mto+uc+ks1DtOZnaw+OwhEjkFXgw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     peerDependencies:
       typescript: '*'
@@ -696,12 +696,12 @@ packages:
       typescript:
         optional: true
 
-  '@typescript-eslint/types@8.0.0-alpha.37':
-    resolution: {integrity: sha512-oKggMrIwfZnn/BCH5Pc0NZWK9Fque7hBhYSrSti3mt3TMFFkJ/UtdmJOm1LllGr/LpYTo5AsCWYgkltAYdg/qA==}
+  '@typescript-eslint/types@8.0.0-alpha.38':
+    resolution: {integrity: sha512-Rx7V9fmGdTiIT5K7R9wcrkhNKRODE7XUyHmu24gEEPlW3SESfs3C7ajdOJ1D696IPxnWKDIK9J3iMrQZOVckiw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@typescript-eslint/typescript-estree@8.0.0-alpha.37':
-    resolution: {integrity: sha512-pPAk9sCIO0NBi/ViueI6lTa4WAKMFOWLul8fHF/J1WgbWSIoG3vQd8TVgWgXvimM7NUXJnSyi6zaC6xiS85YKA==}
+  '@typescript-eslint/typescript-estree@8.0.0-alpha.38':
+    resolution: {integrity: sha512-iEcxafpJiE9LD1Ospd/5Ce5CLGgck1FO+9Y6UcJWAcOVJRJKlXvLSJzy6a5Xnr4XhIr5+4juvzw6g+rTnkz6Dw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     peerDependencies:
       typescript: '*'
@@ -709,14 +709,14 @@ packages:
       typescript:
         optional: true
 
-  '@typescript-eslint/utils@8.0.0-alpha.37':
-    resolution: {integrity: sha512-F9ohz3R1qpDmqI02z5w1UC0NvZ389aYmQe+YLwS8CSeQjoEpIaEGEQeVqXHsfGAL0cYLGu4P1USSpTO+oPl3Rg==}
+  '@typescript-eslint/utils@8.0.0-alpha.38':
+    resolution: {integrity: sha512-kKU9EGm7ML+MFMa66lKvkh5JMSp1legHBhKF9NkG65TvSsFDW0TyITRyeBUkmkhs4ALlHdAaRd/R5/Qg47URGg==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     peerDependencies:
       eslint: ^8.57.0 || ^9.0.0
 
-  '@typescript-eslint/visitor-keys@8.0.0-alpha.37':
-    resolution: {integrity: sha512-FNUujN2K/FhzLnZ0PaM95eCWKEXqzYgRzz4BAczyraX/zPCWIk4/lZ0GGr3sXIi1N0rfEuvklEZvkUBd/V6szQ==}
+  '@typescript-eslint/visitor-keys@8.0.0-alpha.38':
+    resolution: {integrity: sha512-VbVMQLDezUgGTN0AFfVy1w+K8in4Dv+cbPJbYql+BKTnmTEe/l40xoTWBdn/ppjlnRtCkp+JQ9T790bhdQ3ZrA==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
   '@vitest/expect@1.2.2':
@@ -1842,8 +1842,8 @@ packages:
     resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
     engines: {node: '>=4'}
 
-  typescript-eslint@8.0.0-alpha.37:
-    resolution: {integrity: sha512-6TCPzKK6SE0UeWLRFSzYvr6Jxv8joD09kUCXrg6M2pVFJSOAWi6dQpTtsYQDviUvW7JH7Dxj7QyDDYmHnkPVvg==}
+  typescript-eslint@8.0.0-alpha.38:
+    resolution: {integrity: sha512-5SzbC/jmuIprBPi8vmOf+fvB7eGw2r81nlnheIHmzs32QmQqFTN/K78DgX1TAP8rOkqtHYJPbEuIKe0IEIrq6Q==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     peerDependencies:
       typescript: '*'
@@ -2425,14 +2425,14 @@ snapshots:
 
   '@types/resolve@1.20.2': {}
 
-  '@typescript-eslint/eslint-plugin@8.0.0-alpha.37(@typescript-eslint/parser@8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3))(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/eslint-plugin@8.0.0-alpha.38(@typescript-eslint/parser@8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3))(eslint@9.4.0)(typescript@5.3.3)':
     dependencies:
       '@eslint-community/regexpp': 4.10.0
-      '@typescript-eslint/parser': 8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/scope-manager': 8.0.0-alpha.37
-      '@typescript-eslint/type-utils': 8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/utils': 8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.37
+      '@typescript-eslint/parser': 8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/scope-manager': 8.0.0-alpha.38
+      '@typescript-eslint/type-utils': 8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/utils': 8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.38
       eslint: 9.4.0
       graphemer: 1.4.0
       ignore: 5.3.1
@@ -2443,12 +2443,12 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/parser@8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/parser@8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)':
     dependencies:
-      '@typescript-eslint/scope-manager': 8.0.0-alpha.37
-      '@typescript-eslint/types': 8.0.0-alpha.37
-      '@typescript-eslint/typescript-estree': 8.0.0-alpha.37(typescript@5.3.3)
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.37
+      '@typescript-eslint/scope-manager': 8.0.0-alpha.38
+      '@typescript-eslint/types': 8.0.0-alpha.38
+      '@typescript-eslint/typescript-estree': 8.0.0-alpha.38(typescript@5.3.3)
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.38
       debug: 4.3.5
       eslint: 9.4.0
     optionalDependencies:
@@ -2456,15 +2456,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/scope-manager@8.0.0-alpha.37':
+  '@typescript-eslint/scope-manager@8.0.0-alpha.38':
     dependencies:
-      '@typescript-eslint/types': 8.0.0-alpha.37
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.37
+      '@typescript-eslint/types': 8.0.0-alpha.38
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.38
 
-  '@typescript-eslint/type-utils@8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/type-utils@8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)':
     dependencies:
-      '@typescript-eslint/typescript-estree': 8.0.0-alpha.37(typescript@5.3.3)
-      '@typescript-eslint/utils': 8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/typescript-estree': 8.0.0-alpha.38(typescript@5.3.3)
+      '@typescript-eslint/utils': 8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)
       debug: 4.3.5
       ts-api-utils: 1.3.0(typescript@5.3.3)
     optionalDependencies:
@@ -2473,12 +2473,12 @@ snapshots:
       - eslint
       - supports-color
 
-  '@typescript-eslint/types@8.0.0-alpha.37': {}
+  '@typescript-eslint/types@8.0.0-alpha.38': {}
 
-  '@typescript-eslint/typescript-estree@8.0.0-alpha.37(typescript@5.3.3)':
+  '@typescript-eslint/typescript-estree@8.0.0-alpha.38(typescript@5.3.3)':
     dependencies:
-      '@typescript-eslint/types': 8.0.0-alpha.37
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.37
+      '@typescript-eslint/types': 8.0.0-alpha.38
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.38
       debug: 4.3.5
       globby: 11.1.0
       is-glob: 4.0.3
@@ -2490,20 +2490,20 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/utils@8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/utils@8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)':
     dependencies:
       '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
-      '@typescript-eslint/scope-manager': 8.0.0-alpha.37
-      '@typescript-eslint/types': 8.0.0-alpha.37
-      '@typescript-eslint/typescript-estree': 8.0.0-alpha.37(typescript@5.3.3)
+      '@typescript-eslint/scope-manager': 8.0.0-alpha.38
+      '@typescript-eslint/types': 8.0.0-alpha.38
+      '@typescript-eslint/typescript-estree': 8.0.0-alpha.38(typescript@5.3.3)
       eslint: 9.4.0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@typescript-eslint/visitor-keys@8.0.0-alpha.37':
+  '@typescript-eslint/visitor-keys@8.0.0-alpha.38':
     dependencies:
-      '@typescript-eslint/types': 8.0.0-alpha.37
+      '@typescript-eslint/types': 8.0.0-alpha.38
       eslint-visitor-keys: 3.4.3
 
   '@vitest/expect@1.2.2':
@@ -3657,11 +3657,11 @@ snapshots:
 
   type-detect@4.0.8: {}
 
-  typescript-eslint@8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3):
+  typescript-eslint@8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3):
     dependencies:
-      '@typescript-eslint/eslint-plugin': 8.0.0-alpha.37(@typescript-eslint/parser@8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3))(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/parser': 8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/utils': 8.0.0-alpha.37(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/eslint-plugin': 8.0.0-alpha.38(@typescript-eslint/parser@8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3))(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/parser': 8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/utils': 8.0.0-alpha.38(eslint@9.4.0)(typescript@5.3.3)
     optionalDependencies:
       typescript: 5.3.3
     transitivePeerDependencies: