fix: preserve tuple type in `$state.snapshot` (#16864)

* fix: preserve tuple type in `$state.snapshot`

* Update .changeset/lucky-moles-enjoy.md

---------

Co-authored-by: Rich Harris <hello@rich-harris.dev>
pull/16877/head
Jungzl 2 days ago committed by GitHub
parent 499973454a
commit 949c026259
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1,5 @@
---
'svelte': patch
---
fix: preserve tuple type in `$state.snapshot`

@ -85,13 +85,15 @@ declare namespace $state {
? NonReactive<T> ? NonReactive<T>
: T extends { toJSON(): infer R } : T extends { toJSON(): infer R }
? R ? R
: T extends Array<infer U> : T extends readonly unknown[]
? Array<Snapshot<U>> ? { [K in keyof T]: Snapshot<T[K]> }
: T extends object : T extends Array<infer U>
? T extends { [key: string]: any } ? Array<Snapshot<U>>
? { [K in keyof T]: Snapshot<T[K]> } : T extends object
: never ? T extends { [key: string]: any }
: never; ? { [K in keyof T]: Snapshot<T[K]> }
: never
: never;
/** /**
* Declares state that is _not_ made deeply reactive instead of mutating it, * Declares state that is _not_ made deeply reactive instead of mutating it,

@ -3171,13 +3171,15 @@ declare namespace $state {
? NonReactive<T> ? NonReactive<T>
: T extends { toJSON(): infer R } : T extends { toJSON(): infer R }
? R ? R
: T extends Array<infer U> : T extends readonly unknown[]
? Array<Snapshot<U>> ? { [K in keyof T]: Snapshot<T[K]> }
: T extends object : T extends Array<infer U>
? T extends { [key: string]: any } ? Array<Snapshot<U>>
? { [K in keyof T]: Snapshot<T[K]> } : T extends object
: never ? T extends { [key: string]: any }
: never; ? { [K in keyof T]: Snapshot<T[K]> }
: never
: never;
/** /**
* Declares state that is _not_ made deeply reactive instead of mutating it, * Declares state that is _not_ made deeply reactive instead of mutating it,

Loading…
Cancel
Save