{ "version": 3, "sources": ["src/app/main/utils/router-utils.ts"], "sourcesContent": ["import { Route, UrlMatchResult, UrlSegment, UrlSegmentGroup } from '@angular/router';\r\n\r\nexport const routerUtils = {\r\n // allow use of full paths instead of relative to lazy-loaded root\r\n fullPathMatcher(segments: UrlSegment[], segmentGroup: UrlSegmentGroup, route: Route, routePath: string): UrlMatchResult {\r\n const parts = routePath.split('/');\r\n\r\n if (parts.length > segmentGroup.segments.length) {\r\n return null;\r\n }\r\n\r\n if (route.pathMatch === 'full' &&\r\n (segmentGroup.hasChildren() || parts.length < segments.length)) {\r\n return null;\r\n }\r\n\r\n const posParams: {[key: string]: UrlSegment} = {};\r\n\r\n // Check each config part against the actual URL\r\n for (let index = 0; index < parts.length; index++) {\r\n const part = parts[index];\r\n const segment = segmentGroup.segments[index];\r\n const isParameter = part.startsWith(':');\r\n if (isParameter) {\r\n posParams[part.substring(1)] = segment;\r\n } else if (part !== segment.path) {\r\n return null;\r\n }\r\n }\r\n\r\n return {consumed: segments.slice(0, parts.length), posParams};\r\n },\r\n matchFullPaths(routes: Route[], gaSection?: string) {\r\n for (const route of routes) {\r\n const path = route.path;\r\n delete route.path;\r\n route.matcher = (url, group) => routerUtils.fullPathMatcher(url, group, route, path);\r\n if (gaSection) {\r\n route.data = route.data || {};\r\n route.data.gaSection = route.data.gaSection || gaSection;\r\n }\r\n }\r\n }\r\n};\r\n"], "mappings": "AAEO,IAAMA,EAAc,CAEvBC,gBAAgBC,EAAwBC,EAA+BC,EAAcC,EAAiB,CAClG,IAAMC,EAAQD,EAAUE,MAAM,GAAG,EAMjC,GAJID,EAAME,OAASL,EAAaD,SAASM,QAIrCJ,EAAMK,YAAc,SACnBN,EAAaO,YAAW,GAAMJ,EAAME,OAASN,EAASM,QACvD,OAAO,KAGX,IAAMG,EAAyC,CAAA,EAG/C,QAASC,EAAQ,EAAGA,EAAQN,EAAME,OAAQI,IAAS,CAC/C,IAAMC,EAAOP,EAAMM,CAAK,EAClBE,EAAUX,EAAaD,SAASU,CAAK,EAE3C,GADoBC,EAAKE,WAAW,GAAG,EAEnCJ,EAAUE,EAAKG,UAAU,CAAC,CAAC,EAAIF,UACxBD,IAASC,EAAQG,KACxB,OAAO,IAEf,CAEA,MAAO,CAACC,SAAUhB,EAASiB,MAAM,EAAGb,EAAME,MAAM,EAAGG,UAAAA,CAAS,CAChE,EACAS,eAAeC,EAAiBC,EAAkB,CAC9C,QAAWlB,KAASiB,EAAQ,CACxB,IAAMJ,EAAOb,EAAMa,KACnB,OAAOb,EAAMa,KACbb,EAAMmB,QAAU,CAACC,EAAKC,IAAUzB,EAAYC,gBAAgBuB,EAAKC,EAAOrB,EAAOa,CAAI,EAC/EK,IACAlB,EAAMsB,KAAOtB,EAAMsB,MAAQ,CAAA,EAC3BtB,EAAMsB,KAAKJ,UAAYlB,EAAMsB,KAAKJ,WAAaA,EAEvD,CACJ", "names": ["routerUtils", "fullPathMatcher", "segments", "segmentGroup", "route", "routePath", "parts", "split", "length", "pathMatch", "hasChildren", "posParams", "index", "part", "segment", "startsWith", "substring", "path", "consumed", "slice", "matchFullPaths", "routes", "gaSection", "matcher", "url", "group", "data"] }