SYMBOL INDEX (61 symbols across 4 files) FILE: scripts/redos.ts constant TESTS (line 8) | const TESTS = MATCH_TESTS.map((x) => x.path); FILE: src/cases.spec.ts type ParserTestSet (line 12) | interface ParserTestSet { type StringifyTestSet (line 18) | interface StringifyTestSet { type CompileTestSet (line 24) | interface CompileTestSet { type MatchTestSet (line 33) | interface MatchTestSet { constant PARSER_TESTS (line 42) | const PARSER_TESTS: ParserTestSet[] = [ constant STRINGIFY_TESTS (line 151) | const STRINGIFY_TESTS: StringifyTestSet[] = [ constant COMPILE_TESTS (line 236) | const COMPILE_TESTS: CompileTestSet[] = [ constant MATCH_TESTS (line 350) | const MATCH_TESTS: MatchTestSet[] = [ FILE: src/index.bench.ts constant PATHS (line 4) | const PATHS: string[] = [ constant STATIC_PATH_MATCH (line 13) | const STATIC_PATH_MATCH = match("/user"); constant SIMPLE_PATH_MATCH (line 14) | const SIMPLE_PATH_MATCH = match("/user/:id"); constant MULTI_SEGMENT_MATCH (line 15) | const MULTI_SEGMENT_MATCH = match("/:x/:y"); constant MULTI_PATTERN_MATCH (line 16) | const MULTI_PATTERN_MATCH = match("/:x-:y"); constant TRICKY_PATTERN_MATCH (line 17) | const TRICKY_PATTERN_MATCH = match("/:foo|:bar|"); constant ASTERISK_MATCH (line 18) | const ASTERISK_MATCH = match("/*foo"); FILE: src/index.ts constant DEFAULT_DELIMITER (line 1) | const DEFAULT_DELIMITER = "/"; constant ID_START (line 3) | const ID_START = /^[$_\p{ID_Start}]$/u; constant ID_CONTINUE (line 4) | const ID_CONTINUE = /^[$\u200c\u200d\p{ID_Continue}]$/u; type Encode (line 9) | type Encode = (value: string) => string; type Decode (line 14) | type Decode = (value: string) => string; type ParseOptions (line 16) | interface ParseOptions { type PathToRegexpOptions (line 23) | interface PathToRegexpOptions { type MatchOptions (line 42) | interface MatchOptions extends PathToRegexpOptions { type CompileOptions (line 49) | interface CompileOptions { type TokenType (line 60) | type TokenType = type LexToken (line 80) | interface LexToken { constant SIMPLE_TOKENS (line 86) | const SIMPLE_TOKENS: Record = { function escapeText (line 103) | function escapeText(str: string) { function escape (line 110) | function escape(str: string) { type Text (line 117) | interface Text { type Parameter (line 125) | interface Parameter { type Wildcard (line 133) | interface Wildcard { type Group (line 141) | interface Group { type Key (line 149) | type Key = Parameter | Wildcard; type Keys (line 154) | type Keys = Array; type Token (line 159) | type Token = Text | Parameter | Wildcard | Group; class TokenData (line 164) | class TokenData { method constructor (line 165) | constructor( class PathError (line 174) | class PathError extends TypeError { method constructor (line 175) | constructor( function parse (line 189) | function parse(str: string, options: ParseOptions = {}): TokenData { function compile (line 304) | function compile

( type ParamData (line 322) | type ParamData = Partial>; type PathFunction (line 323) | type PathFunction

= (data?: P) => string; function tokensToFunction (line 325) | function tokensToFunction( function tokenToFunction (line 350) | function tokenToFunction( type MatchResult (line 409) | interface MatchResult

{ type Match (line 417) | type Match

= false | MatchResult

; type MatchFunction (line 422) | type MatchFunction

= (path: string) => Match

; type Path (line 427) | type Path = string | TokenData; function match (line 432) | function match

( function pathToRegexp (line 465) | function pathToRegexp( function pathsToArray (line 497) | function pathsToArray(paths: Path | Path[], init: Path[]): Path[] { type FlatToken (line 509) | type FlatToken = Text | Parameter | Wildcard; function toRegExpSource (line 539) | function toRegExpSource( function negate (line 584) | function negate(delimiter: string, backtrack: string): string { function stringifyTokens (line 598) | function stringifyTokens(tokens: Token[]): string { function stringify (line 639) | function stringify(data: TokenData): string { function isNameSafe (line 646) | function isNameSafe(name: string): boolean { function isNextNameSafe (line 654) | function isNextNameSafe(token: Token | undefined): boolean {