File tree Expand file tree Collapse file tree 3 files changed +23
-14
lines changed Expand file tree Collapse file tree 3 files changed +23
-14
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ ' svelte ' : patch
3
+ ---
4
+
5
+ fix: preserve tuple type in ` $state.snapshot `
Original file line number Diff line number Diff line change @@ -85,13 +85,15 @@ declare namespace $state {
85
85
? NonReactive < T >
86
86
: T extends { toJSON ( ) : infer R }
87
87
? R
88
- : T extends Array < infer U >
89
- ? Array < Snapshot < U > >
90
- : T extends object
91
- ? T extends { [ key : string ] : any }
92
- ? { [ K in keyof T ] : Snapshot < T [ K ] > }
93
- : never
94
- : never ;
88
+ : T extends readonly unknown [ ]
89
+ ? { [ K in keyof T ] : Snapshot < T [ K ] > }
90
+ : T extends Array < infer U >
91
+ ? Array < Snapshot < U > >
92
+ : T extends object
93
+ ? T extends { [ key : string ] : any }
94
+ ? { [ K in keyof T ] : Snapshot < T [ K ] > }
95
+ : never
96
+ : never ;
95
97
96
98
/**
97
99
* Declares state that is _not_ made deeply reactive — instead of mutating it,
Original file line number Diff line number Diff line change @@ -3171,13 +3171,15 @@ declare namespace $state {
3171
3171
? NonReactive < T >
3172
3172
: T extends { toJSON ( ) : infer R }
3173
3173
? R
3174
- : T extends Array < infer U >
3175
- ? Array < Snapshot < U > >
3176
- : T extends object
3177
- ? T extends { [ key : string ] : any }
3178
- ? { [ K in keyof T ] : Snapshot < T [ K ] > }
3179
- : never
3180
- : never ;
3174
+ : T extends readonly unknown [ ]
3175
+ ? { [ K in keyof T ] : Snapshot < T [ K ] > }
3176
+ : T extends Array < infer U >
3177
+ ? Array < Snapshot < U > >
3178
+ : T extends object
3179
+ ? T extends { [ key : string ] : any }
3180
+ ? { [ K in keyof T ] : Snapshot < T [ K ] > }
3181
+ : never
3182
+ : never ;
3181
3183
3182
3184
/**
3183
3185
* Declares state that is _not_ made deeply reactive — instead of mutating it,
You can’t perform that action at this time.
0 commit comments