MCPcopy Index your code
hub / github.com/angular/angular / processSegment

Method processSegment

packages/router/src/recognize.ts:235–268  ·  view source on GitHub ↗
(
    injector: EnvironmentInjector,
    routes: Route[],
    segmentGroup: UrlSegmentGroup,
    segments: UrlSegment[],
    outlet: string,
    allowRedirects: boolean,
    parentRoute: ActivatedRouteSnapshot,
  )

Source from the content-addressed store, hash-verified

233 }
234
235 async processSegment(
236 injector: EnvironmentInjector,
237 routes: Route[],
238 segmentGroup: UrlSegmentGroup,
239 segments: UrlSegment[],
240 outlet: string,
241 allowRedirects: boolean,
242 parentRoute: ActivatedRouteSnapshot,
243 ): Promise<TreeNode<ActivatedRouteSnapshot> | NoLeftoversInUrl> {
244 for (const r of routes) {
245 try {
246 return await this.processSegmentAgainstRoute(
247 r._injector ?? injector,
248 routes,
249 r,
250 segmentGroup,
251 segments,
252 outlet,
253 allowRedirects,
254 parentRoute,
255 );
256 } catch (e: any) {
257 if (e instanceof NoMatch || isEmptyError(e)) {
258 continue;
259 }
260 throw e;
261 }
262 }
263
264 if (noLeftoversInUrl(segmentGroup, segments, outlet)) {
265 return new NoLeftoversInUrl();
266 }
267 throw new NoMatch(segmentGroup);
268 }
269
270 async processSegmentAgainstRoute(
271 injector: EnvironmentInjector,

Calls 3

isEmptyErrorFunction · 0.90
noLeftoversInUrlFunction · 0.90

Tested by

no test coverage detected