@@ -266,8 +266,7 @@ export type _AllIndexesSuperset<
266266 Tuple extends [ ] ? 'empty' : IsFinite < Tuple , 'nonEmpty' , 'infinite' >
267267]
268268
269- export type Prepend < Tuple extends any [ ] , Addend > =
270- ( ( _ : Addend , ..._1 : Tuple ) => any ) extends ( ( ..._ : infer Result ) => any ) ? Result : never
269+ export type Prepend < Tuple extends any [ ] , Addend > = [ Addend , ...Tuple ]
271270
272271export type Reverse < Tuple extends any [ ] , Prefix extends any [ ] = [ ] > = {
273272 empty : Prefix ,
@@ -284,23 +283,7 @@ export type Reverse<Tuple extends any[], Prefix extends any[] = []> = {
284283 : 'empty'
285284]
286285
287- export type Concat < Left extends any [ ] , Right extends any [ ] > = {
288- emptyLeft : Right
289- singleLeft : Left extends [ infer SoleElement ]
290- ? Prepend < Right , SoleElement >
291- : never
292- multiLeft : ( ( ..._ : Reverse < Left > ) => any ) extends ( ( _ : infer LeftLast , ..._1 : infer ReversedLeftRest ) => any )
293- ? Concat < Reverse < ReversedLeftRest > , Prepend < Right , LeftLast > >
294- : never
295- infiniteLeft : {
296- ERROR : 'Left is not finite' ,
297- CODENAME : 'InfiniteLeft' & 'Infinite'
298- }
299- } [
300- Left extends [ ] ? 'emptyLeft' :
301- Left extends [ any ] ? 'singleLeft' :
302- IsFinite < Left , 'multiLeft' , 'infiniteLeft' >
303- ]
286+ export type Concat < Left extends any [ ] , Right extends any [ ] > = [ ...Left , ...Right ]
304287
305288export type Repeat < Type , Count extends number , Holder extends any [ ] = [ ] > =
306289 Count extends never ? never :
0 commit comments