{"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":[null],"names":["isIHandler","value","isArray","path","Parameter","constructor","name","isOptional","isStar","pattern","this","satisfiesPattern","lastIndex","test","ConfigurableRoute","caseSensitive","handler","Endpoint","residualEndpoint","_residualEndpoint","endpoint","Error","route","params","equalsOrResidual","other","RecognizedRoute","_firstNonEmptyPath","$params","Object","create","key","decodeURIComponent","freeze","residue","RESIDUE","length","endsWith","slice","startsWith","_getFirstNonEmptyPath","find","p","Candidate","chars","states","skippedStates","result","childRoutes","recognizedResult","isConstrained","satisfiesConstraints","head","advance","ch","stateToAdd","matchCount","state","$process","nextState","skippedState","isMatch","add","concat","segment","nextStates","createError","separator","isSeparator","$nextState","isDynamic","push","remove","_finalize","collectSkippedStates","_getRoutes","routes","curentEndpointRequirements","i","ii","createNewRoute","isDifferentEndpoint","isFulfilled","unshift","toRecognizedRoute","EndpointRequirement","consume","isDifferentRecognizedRoute","shift","compareTo","b","statesA","statesB","iA","iB","Math","max","stateA","stateB","segmentA","segmentB","kind","skippedStatesA","skippedStatesB","skippedStatesALen","skippedStatesBLen","skippedStateA","skippedStateB","_staticSegements","_path","_endpoint","param","_parameters","part","split","filter","isNotEmpty","char","previousState","parameter","checkConstraint","is","satisfiesConstraint","lastIncompleteStaticSegment","findLast","s","toLowerCase","isRequired","values","hasEndpoint","candidate","compareChains","a","RecognizeResult","isEmpty","candidates","rootState","getSolution","x","sort","splice","indexOf","routeParameterPattern","RouteRecognizer","State","cache","Map","endpointLookup","routeOrRoutes","addResidue","parentPath","Array","$add","clear","lookup","has","$route","parts","numParentParts","numParts","append","charAt","match","exec","optional","groups","constraint","RegExp","DynamicSegment","appendTo","StarSegment","StaticSegment","setEndpoint","set","recognize","relativeTo","get","$recognize","map","curr","join","combinedPath","combinePaths","parentResult","relativeResult","childPath","relativeToState","getEndpoint","prevState","undefined","equals","includes","toUpperCase","msg"],"mappings":"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"}