@@ -487,7 +487,7 @@ export function pathToRegexp(
487
487
for ( const input of pathsToArray ( path , [ ] ) ) {
488
488
const data = typeof input === "object" ? input : parse ( input , options ) ;
489
489
for ( const tokens of flatten ( data . tokens , 0 , [ ] ) ) {
490
- sources . push ( toRegExp ( tokens , delimiter , keys , data . originalPath ) ) ;
490
+ sources . push ( toRegExpSource ( tokens , delimiter , keys , data . originalPath ) ) ;
491
491
}
492
492
}
493
493
@@ -544,12 +544,12 @@ function* flatten(
544
544
/**
545
545
* Transform a flat sequence of tokens into a regular expression.
546
546
*/
547
- function toRegExp (
547
+ function toRegExpSource (
548
548
tokens : FlatToken [ ] ,
549
549
delimiter : string ,
550
550
keys : Keys ,
551
551
originalPath : string | undefined ,
552
- ) {
552
+ ) : string {
553
553
let result = "" ;
554
554
let backtrack = "" ;
555
555
let isSafeSegmentParam = true ;
@@ -588,7 +588,7 @@ function toRegExp(
588
588
/**
589
589
* Block backtracking on previous text and ignore delimiter string.
590
590
*/
591
- function negate ( delimiter : string , backtrack : string ) {
591
+ function negate ( delimiter : string , backtrack : string ) : string {
592
592
if ( backtrack . length < 2 ) {
593
593
if ( delimiter . length < 2 ) return `[^${ escape ( delimiter + backtrack ) } ]` ;
594
594
return `(?:(?!${ escape ( delimiter ) } )[^${ escape ( backtrack ) } ])` ;
@@ -643,22 +643,22 @@ function stringifyTokens(tokens: Token[]): string {
643
643
/**
644
644
* Stringify token data into a path string.
645
645
*/
646
- export function stringify ( data : TokenData ) {
646
+ export function stringify ( data : TokenData ) : string {
647
647
return stringifyTokens ( data . tokens ) ;
648
648
}
649
649
650
650
/**
651
651
* Validate the parameter name contains valid ID characters.
652
652
*/
653
- function isNameSafe ( name : string ) {
653
+ function isNameSafe ( name : string ) : boolean {
654
654
const [ first , ...rest ] = name ;
655
655
return ID_START . test ( first ) && rest . every ( ( char ) => ID_CONTINUE . test ( char ) ) ;
656
656
}
657
657
658
658
/**
659
659
* Validate the next token does not interfere with the current param name.
660
660
*/
661
- function isNextNameSafe ( token : Token | undefined ) {
661
+ function isNextNameSafe ( token : Token | undefined ) : boolean {
662
662
if ( token && token . type === "text" ) return ! ID_CONTINUE . test ( token . value [ 0 ] ) ;
663
663
return true ;
664
664
}
0 commit comments