@@ -126,9 +126,9 @@ export function isTupleOf<
126126 if ( ! isArray ( x ) || x . length < predTup . length ) {
127127 return false ;
128128 }
129- const rest = x . slice ( 0 , - predTup . length ) ;
130- const trail = x . slice ( - predTup . length ) ;
131- return predTup . every ( ( pred , i ) => pred ( trail [ i ] ) ) && predRest ( rest ) ;
129+ const offset = x . length - predTup . length ;
130+ return predTup . every ( ( pred , i ) => pred ( x [ offset + i ] ) ) &&
131+ predRest ( x . slice ( 0 , offset ) ) ;
132132 } ,
133133 "isTupleOf" ,
134134 predRest ,
@@ -154,8 +154,8 @@ export function isTupleOf<
154154 if ( ! isArray ( x ) || x . length < predTup . length ) {
155155 return false ;
156156 }
157- const rest = x . slice ( predTup . length ) ;
158- return predTup . every ( ( pred , i ) => pred ( x [ i ] ) ) && predRest ( rest ) ;
157+ return predTup . every ( ( pred , i ) => pred ( x [ i ] ) ) &&
158+ predRest ( x . slice ( predTup . length ) ) ;
159159 } ,
160160 "isTupleOf" ,
161161 predTup ,
@@ -169,11 +169,10 @@ export function isTupleOf<
169169 if ( ! isArray ( x ) || x . length < ( predTup . length + predTrail . length ) ) {
170170 return false ;
171171 }
172- const rest = x . slice ( predTup . length , - predTrail . length ) ;
173- const trail = x . slice ( - predTrail . length ) ;
172+ const offset = x . length - predTrail . length ;
174173 return predTup . every ( ( pred , i ) => pred ( x [ i ] ) ) &&
175- predTrail . every ( ( pred , i ) => pred ( trail [ i ] ) ) &&
176- predRest ( rest ) ;
174+ predTrail . every ( ( pred , i ) => pred ( x [ offset + i ] ) ) &&
175+ predRest ( x . slice ( predTup . length , offset ) ) ;
177176 } ,
178177 "isTupleOf" ,
179178 predTup ,
0 commit comments