{"version":3,"file":"pathMatcher.mjs","names":[],"sources":["../../src/pathMatcher.ts"],"sourcesContent":["import { pathToRegexp } from './pathToRegexp';\nimport type { Autocomplete } from './types';\n\nexport type WithPathPatternWildcard<T = string> = `${T & string}(.*)`;\nexport type PathPattern = Autocomplete<WithPathPatternWildcard>;\nexport type PathMatcherParam = Array<RegExp | PathPattern> | RegExp | PathPattern;\n\nconst precomputePathRegex = (patterns: Array<string | RegExp>) => {\n  return patterns.map(pattern => (pattern instanceof RegExp ? pattern : pathToRegexp(pattern)));\n};\n\n/**\n * Creates a function that matches paths against a set of patterns.\n *\n * @param patterns - A string, RegExp, or array of patterns to match against\n * @returns A function that takes a pathname and returns true if it matches any of the patterns\n */\nexport const createPathMatcher = (patterns: PathMatcherParam) => {\n  const routePatterns = [patterns || ''].flat().filter(Boolean);\n  const matchers = precomputePathRegex(routePatterns);\n  return (pathname: string) => matchers.some(matcher => matcher.test(pathname));\n};\n"],"mappings":";;;AAOA,MAAM,uBAAuB,aAAqC;AAChE,QAAO,SAAS,KAAI,YAAY,mBAAmB,SAAS,UAAU,aAAa,QAAQ,CAAE;;;;;;;;AAS/F,MAAa,qBAAqB,aAA+B;CAE/D,MAAM,WAAW,oBADK,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,OAAO,QAAQ,CACV;AACnD,SAAQ,aAAqB,SAAS,MAAK,YAAW,QAAQ,KAAK,SAAS,CAAC"}