@@ -236,10 +236,11 @@ const quoteMeta = (str) => str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
236
236
* @returns {string } common prefix
237
237
*/
238
238
const getCommonPrefix = ( items ) => {
239
- let prefix = items [ 0 ] ;
239
+ const [ firstItem , ...restItems ] = items ;
240
+ let prefix = firstItem ;
240
241
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 ] ;
243
244
for ( let p = 0 ; p < prefix . length ; p ++ ) {
244
245
if ( item [ p ] !== prefix [ p ] ) {
245
246
prefix = prefix . slice ( 0 , p ) ;
@@ -256,10 +257,11 @@ const getCommonPrefix = (items) => {
256
257
* @returns {string } common suffix
257
258
*/
258
259
const getCommonSuffix = ( items ) => {
259
- let suffix = items [ 0 ] ;
260
+ const [ firstItem , ...restItems ] = items ;
261
+ let suffix = firstItem ;
260
262
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 ] ;
263
265
for ( let p = item . length - 1 , s = suffix . length - 1 ; s >= 0 ; p -- , s -- ) {
264
266
if ( item [ p ] !== suffix [ s ] ) {
265
267
suffix = suffix . slice ( s + 1 ) ;
@@ -285,7 +287,7 @@ const popCommonItems = (itemsSet, getKey, condition) => {
285
287
const key = getKey ( item ) ;
286
288
if ( key ) {
287
289
let list = map . get ( key ) ;
288
- if ( list === undefined ) {
290
+ if ( ! list ) {
289
291
/** @type {Array<string> } */
290
292
list = [ ] ;
291
293
map . set ( key , list ) ;
@@ -358,7 +360,7 @@ const itemsToRegexp = (itemsArr) => {
358
360
359
361
if ( prefix . length > 0 || suffix . length > 0 ) {
360
362
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 ) )
362
364
) } ${ quoteMeta ( suffix ) } `;
363
365
}
364
366
}
0 commit comments