@@ -236,10 +236,11 @@ const quoteMeta = (str) => str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
236236 * @returns {string } common prefix
237237 */
238238const getCommonPrefix = ( items ) => {
239- let prefix = items [ 0 ] ;
239+ const [ firstItem , ...restItems ] = items ;
240+ let prefix = firstItem ;
240241
241- for ( let i = 1 ; i < items . length ; i ++ ) {
242- const item = items [ i ] ;
242+ for ( let i = 0 ; i < restItems . length ; i ++ ) {
243+ const item = restItems [ i ] ;
243244 for ( let p = 0 ; p < prefix . length ; p ++ ) {
244245 if ( item [ p ] !== prefix [ p ] ) {
245246 prefix = prefix . slice ( 0 , p ) ;
@@ -256,10 +257,11 @@ const getCommonPrefix = (items) => {
256257 * @returns {string } common suffix
257258 */
258259const getCommonSuffix = ( items ) => {
259- let suffix = items [ 0 ] ;
260+ const [ firstItem , ...restItems ] = items ;
261+ let suffix = firstItem ;
260262
261- for ( let i = 1 ; i < items . length ; i ++ ) {
262- const item = items [ i ] ;
263+ for ( let i = 0 ; i < restItems . length ; i ++ ) {
264+ const item = restItems [ i ] ;
263265 for ( let p = item . length - 1 , s = suffix . length - 1 ; s >= 0 ; p -- , s -- ) {
264266 if ( item [ p ] !== suffix [ s ] ) {
265267 suffix = suffix . slice ( s + 1 ) ;
@@ -285,7 +287,7 @@ const popCommonItems = (itemsSet, getKey, condition) => {
285287 const key = getKey ( item ) ;
286288 if ( key ) {
287289 let list = map . get ( key ) ;
288- if ( list === undefined ) {
290+ if ( ! list ) {
289291 /** @type {Array<string> } */
290292 list = [ ] ;
291293 map . set ( key , list ) ;
@@ -358,7 +360,7 @@ const itemsToRegexp = (itemsArr) => {
358360
359361 if ( prefix . length > 0 || suffix . length > 0 ) {
360362 return `${ quoteMeta ( prefix ) } ${ itemsToRegexp (
361- itemsArr . map ( ( i ) => i . slice ( prefix . length , - suffix . length || undefined ) )
363+ itemsArr . map ( ( i ) => i . slice ( prefix . length , - suffix . length || 0 ) )
362364 ) } ${ quoteMeta ( suffix ) } `;
363365 }
364366 }
0 commit comments