diff --git a/package.json b/package.json
index e6145f8f101a8af28d71506896d23c089255be26..7af77ac8a1f8178241f8723b95717277384749e4 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.56",
+    "typescript-eslint": "8.0.0-alpha.57",
     "vite": "^5.0.12",
     "vitest": "^1.2.2"
   },
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e97db62f9a3c60c48a364469e9721b7ed02af4f7..dde020fbeaabccb41b7763bf676332e8745a27e9 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.56
-        version: 8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3)
+        specifier: 8.0.0-alpha.57
+        version: 8.0.0-alpha.57(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.56':
-    resolution: {integrity: sha512-JJ2kS6BrQcJhIbOJ28xU7s5Js3L4Pzbqp1zwJ0HBhLUekhPNCuojsALfPXoqmHoYGdwQBiPDJAHACfULzqIaFw==}
+  '@typescript-eslint/eslint-plugin@8.0.0-alpha.57':
+    resolution: {integrity: sha512-Z745/tZE5o5RMFApZwf4ltEPmxeIqqSBlo48HNVBrjuUTof+tcIhvW6NepXjHSnSHyT97XI9mmDgl/X7PCfKUg==}
     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.56':
-    resolution: {integrity: sha512-oyHIRrihrXoqfYH1q4cHCMwqBj7tdg3TYqN7eqlrGhKX4SMmOBGrL2OLjpDd6QpqbRYqbvsHPxRgOr8vYwSUcg==}
+  '@typescript-eslint/parser@8.0.0-alpha.57':
+    resolution: {integrity: sha512-OaOApLLMHWtA8J2OEVSMcUI+WyS0t6HMHfK2Pxj+ngw/SeVwnw3z7ebK51V/ncZYnEa4FYxpDFInJbgaDNbG3w==}
     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.56':
-    resolution: {integrity: sha512-9KaRELLnmUyZnShvaESlA+raGbf2hYBexsvvFDjEeFyAfz0QWHsWwuxK6OkdizRQXpew+it+2dsGIaC71NKlCw==}
+  '@typescript-eslint/scope-manager@8.0.0-alpha.57':
+    resolution: {integrity: sha512-hSk8Z1ecbG+pstE9CF9c50ZrgWmzUwtxmE8f3GBmqGs3amuC1M4UGZ1jpPv/J0SnCPSG+vIIBfobhTHpDuzB9w==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@typescript-eslint/type-utils@8.0.0-alpha.56':
-    resolution: {integrity: sha512-GStv9PsJCy2kggOfXWZUJeruU+fIKGmlmnFmYmavXskLWMkiZAfVnnSmKX7R2jpzeYvcyLWY2mPp2hFr5JEGlA==}
+  '@typescript-eslint/type-utils@8.0.0-alpha.57':
+    resolution: {integrity: sha512-ZFI7d6WEUfmcLBNE8rAVkjJeM/qojk4/93yKCfw2484EQvJrtF4vH46CB813s0Qw48EtszsVTuH8J3f8PGkHUg==}
     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.56':
-    resolution: {integrity: sha512-nrrez1RptWYu8uXJ81EoYtIsp/dXA9OQh1EXjFF7QbjxjW9zrf2L/YvbrK7Yn6fIVqJtYBtE0DiGQTE+YHPtUQ==}
+  '@typescript-eslint/types@8.0.0-alpha.57':
+    resolution: {integrity: sha512-xShJ3YFDJjAi8lfP2zeRhAapHATiCF+wWjrjsF/GuDWIx0CcM7Ij7n8ZKZB3KVnSczdxG5adigUylMgep4hUiA==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@typescript-eslint/typescript-estree@8.0.0-alpha.56':
-    resolution: {integrity: sha512-TLlrnEPA7/+x/UNsZ/v38zme3kGl0hzK6GyHLNRjbL0K52p0ku5QZ4oo6A4K4s0jIYdv6niTMMq7laoyjF5u8Q==}
+  '@typescript-eslint/typescript-estree@8.0.0-alpha.57':
+    resolution: {integrity: sha512-9qJFTFos5ORpIqbZ+y7ObQhcXNNHc/q0FLs2rh3Yr+P06K7w3N5dfEewCZbcd8YfH2E4YmQdMlb52TLw1XhzIQ==}
     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.56':
-    resolution: {integrity: sha512-4O+bQMJQFYoh5wKLI3tfY0fbRKaqt0PxW41/ZM0yNaWvtmrKHIPe7+ohj5pWTVxuFb0cIx0yY4T/FfA86jsBlg==}
+  '@typescript-eslint/utils@8.0.0-alpha.57':
+    resolution: {integrity: sha512-Q+ZYCT6cTway02uF6buloux+u+mLTxZOSleKrCYA9gQEz2cKrjVYKy3z5xCWCethb/0/50JJyVR9TXIjh0Xszg==}
     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.56':
-    resolution: {integrity: sha512-hlAz67fyJ9PMQYlm67Z52UCyl3ZmusE1NchpKI5xL9hIvKtPfF/ey0GDkrFDCVZgTxC6IQYv8M3F4GYi4Ojpkg==}
+  '@typescript-eslint/visitor-keys@8.0.0-alpha.57':
+    resolution: {integrity: sha512-+9FK8xT4eWiPGI1eSTkOTSJCwT4byTD1D6s44+GsxCyGAiPFWjj7gzJKvGhiXjah/s3oGpi6dVwKs/YFY8O9rg==}
     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.56:
-    resolution: {integrity: sha512-9WP6T1ip15DXD0lbhxIm8OKL+xrMb5LG8VMYCYJbiVLeybqYkf7z3sVkXcnQXmqBSD9CFuu4Jl3ioGa1speaXw==}
+  typescript-eslint@8.0.0-alpha.57:
+    resolution: {integrity: sha512-4llUkSUIKC33Ov+212r0UgJmRkRHErRdJSYW/b8/7LUtASsEKQwrmdtvQuZT0VyRzdiB48DifMY1PYIc9cc8Yg==}
     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.56(@typescript-eslint/parser@8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3))(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/eslint-plugin@8.0.0-alpha.57(@typescript-eslint/parser@8.0.0-alpha.57(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.56(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/scope-manager': 8.0.0-alpha.56
-      '@typescript-eslint/type-utils': 8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/utils': 8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.56
+      '@typescript-eslint/parser': 8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/scope-manager': 8.0.0-alpha.57
+      '@typescript-eslint/type-utils': 8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/utils': 8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.57
       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.56(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/parser@8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3)':
     dependencies:
-      '@typescript-eslint/scope-manager': 8.0.0-alpha.56
-      '@typescript-eslint/types': 8.0.0-alpha.56
-      '@typescript-eslint/typescript-estree': 8.0.0-alpha.56(typescript@5.3.3)
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.56
+      '@typescript-eslint/scope-manager': 8.0.0-alpha.57
+      '@typescript-eslint/types': 8.0.0-alpha.57
+      '@typescript-eslint/typescript-estree': 8.0.0-alpha.57(typescript@5.3.3)
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.57
       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.56':
+  '@typescript-eslint/scope-manager@8.0.0-alpha.57':
     dependencies:
-      '@typescript-eslint/types': 8.0.0-alpha.56
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.56
+      '@typescript-eslint/types': 8.0.0-alpha.57
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.57
 
-  '@typescript-eslint/type-utils@8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/type-utils@8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3)':
     dependencies:
-      '@typescript-eslint/typescript-estree': 8.0.0-alpha.56(typescript@5.3.3)
-      '@typescript-eslint/utils': 8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/typescript-estree': 8.0.0-alpha.57(typescript@5.3.3)
+      '@typescript-eslint/utils': 8.0.0-alpha.57(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.56': {}
+  '@typescript-eslint/types@8.0.0-alpha.57': {}
 
-  '@typescript-eslint/typescript-estree@8.0.0-alpha.56(typescript@5.3.3)':
+  '@typescript-eslint/typescript-estree@8.0.0-alpha.57(typescript@5.3.3)':
     dependencies:
-      '@typescript-eslint/types': 8.0.0-alpha.56
-      '@typescript-eslint/visitor-keys': 8.0.0-alpha.56
+      '@typescript-eslint/types': 8.0.0-alpha.57
+      '@typescript-eslint/visitor-keys': 8.0.0-alpha.57
       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.56(eslint@9.4.0)(typescript@5.3.3)':
+  '@typescript-eslint/utils@8.0.0-alpha.57(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.56
-      '@typescript-eslint/types': 8.0.0-alpha.56
-      '@typescript-eslint/typescript-estree': 8.0.0-alpha.56(typescript@5.3.3)
+      '@typescript-eslint/scope-manager': 8.0.0-alpha.57
+      '@typescript-eslint/types': 8.0.0-alpha.57
+      '@typescript-eslint/typescript-estree': 8.0.0-alpha.57(typescript@5.3.3)
       eslint: 9.4.0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@typescript-eslint/visitor-keys@8.0.0-alpha.56':
+  '@typescript-eslint/visitor-keys@8.0.0-alpha.57':
     dependencies:
-      '@typescript-eslint/types': 8.0.0-alpha.56
+      '@typescript-eslint/types': 8.0.0-alpha.57
       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.56(eslint@9.4.0)(typescript@5.3.3):
+  typescript-eslint@8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3):
     dependencies:
-      '@typescript-eslint/eslint-plugin': 8.0.0-alpha.56(@typescript-eslint/parser@8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3))(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/parser': 8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3)
-      '@typescript-eslint/utils': 8.0.0-alpha.56(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/eslint-plugin': 8.0.0-alpha.57(@typescript-eslint/parser@8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3))(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/parser': 8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3)
+      '@typescript-eslint/utils': 8.0.0-alpha.57(eslint@9.4.0)(typescript@5.3.3)
     optionalDependencies:
       typescript: 5.3.3
     transitivePeerDependencies: