@@ -31,10 +31,10 @@ export interface CreateSerializationAdapterOptions<TInput, TOutput> {
3131} 
3232
3333export  type  ValidateSerializable < T ,  TSerializable >  =  T  extends  unknown 
34-   ? T  extends  TSerializable 
35-     ? T 
36-     : T  extends  ReadonlyArray < unknown > 
37-       ? ValidateSerializableArray < T ,   TSerializable > 
34+   ? T  extends  ReadonlyArray < unknown > 
35+     ? ValidateSerializableArray < T ,   TSerializable > 
36+     : T  extends  TSerializable 
37+       ? T 
3838      : T  extends  ( ...args : Array < any > )  =>  any 
3939        ? 'Function is not serializable' 
4040        : T  extends  Promise < any > 
@@ -83,24 +83,19 @@ type ValidateSerializableArrayCore<
8383  T  extends  ReadonlyArray < unknown > , 
8484  TSerializable , 
8585  TKind  extends  'input'  |  'result' , 
86- >  = 
87-   IsTuple < T >  extends  true 
88-     ? {  [ K  in  keyof  T ] : ApplyArrayValidation < T [ K ] ,  TSerializable ,  TKind >  } 
89-     : T  extends  Array < infer U > 
86+ >  =  T  extends  any 
87+   ? number  extends  T [ 'length' ] 
88+     ? T  extends  Array < infer U > 
9089      ? Array < ApplyArrayValidation < U ,  TSerializable ,  TKind > > 
9190      : ReadonlyArray < ApplyArrayValidation < T [ number ] ,  TSerializable ,  TKind > > 
91+     : {  [ K  in  keyof  T ] : ApplyArrayValidation < T [ K ] ,  TSerializable ,  TKind >  } 
92+   : never 
9293
9394type  ValidateSerializableArray < 
9495  T  extends  ReadonlyArray < unknown > , 
9596  TSerializable , 
9697>  =  ValidateSerializableArrayCore < T ,  TSerializable ,  'input' > 
9798
98- type  IsTuple < T  extends  ReadonlyArray < unknown > >  =  T  extends  readonly  [ ] 
99-   ? true 
100-   : T  extends  readonly  [ unknown ,  ...Array < unknown > ] 
101-     ? true 
102-     : false 
103- 
10499export  type  RegisteredReadableStream  = 
105100  unknown  extends  SerializerExtensions [ 'ReadableStream' ] 
106101    ? never 
@@ -205,10 +200,10 @@ export type ValidateSerializableInputResult<TRegister, T> =
205200  ValidateSerializableResult < T ,  RegisteredSerializableInput < TRegister > > 
206201
207202export  type  ValidateSerializableResult < T ,  TSerializable >  =  T  extends  unknown 
208-   ? T  extends  TSerializable 
209-     ? T 
210-     : T  extends  ReadonlyArray < unknown > 
211-       ? ValidateSerializableResultArray < T ,   TSerializable > 
203+   ? T  extends  ReadonlyArray < unknown > 
204+     ? ValidateSerializableResultArray < T ,   TSerializable > 
205+     : T  extends  TSerializable 
206+       ? T 
212207      : unknown  extends  SerializerExtensions [ 'ReadableStream' ] 
213208        ? {  [ K  in  keyof  T ] : ValidateSerializableResult < T [ K ] ,  TSerializable >  } 
214209        : T  extends  SerializerExtensions [ 'ReadableStream' ] 
0 commit comments