File tree 2 files changed +46
-1
lines changed
libs/external-router/src/util
2 files changed +46
-1
lines changed Original file line number Diff line number Diff line change
1
+ import { ActivatedRouteSnapshot } from '@angular/router' ;
2
+
3
+ import { daffExtractDaffPathData } from './extract-daff-path-data' ;
4
+
5
+ describe ( '@daffodil/external-router | daffExtractDaffPathData' , ( ) => {
6
+ let snapshot : ActivatedRouteSnapshot ;
7
+
8
+ beforeEach ( ( ) => {
9
+ snapshot = < ActivatedRouteSnapshot > < unknown > {
10
+ data : {
11
+ daffPaths : {
12
+ '00/01/02/10/11/12' : {
13
+ test : 'test' ,
14
+ } ,
15
+ } ,
16
+ } ,
17
+ pathFromRoot : [
18
+ {
19
+ url : [ ] ,
20
+ } ,
21
+ {
22
+ url : [
23
+ { path : '00' } ,
24
+ { path : '01' } ,
25
+ { path : '02' } ,
26
+ ] ,
27
+ } ,
28
+ {
29
+ url : [
30
+ { path : '10' } ,
31
+ { path : '11' } ,
32
+ { path : '12' } ,
33
+ ] ,
34
+ } ,
35
+ {
36
+ url : [ ] ,
37
+ } ,
38
+ ] ,
39
+ } ;
40
+ } ) ;
41
+
42
+ it ( 'should return the correct data' , ( ) => {
43
+ expect ( daffExtractDaffPathData ( snapshot , 'test' ) ) . toEqual ( 'test' ) ;
44
+ } ) ;
45
+ } ) ;
Original file line number Diff line number Diff line change 8
8
* RouteSnapshot.
9
9
*/
10
10
export const daffExtractDaffPathData = < T extends Data = Data , K extends keyof T = keyof T > ( snapshot : ActivatedRouteSnapshot , key : K ) : T [ K ] => {
11
- const pathFromRoot = snapshot . pathFromRoot [ snapshot . pathFromRoot . length - 1 ] . url . map ( ( seg ) => seg . path ) . join ( '/' ) ;
11
+ const pathFromRoot = snapshot . pathFromRoot . flatMap ( ( route ) => route . url ) . map ( ( seg ) => seg . path ) . join ( '/' ) ;
12
12
return snapshot . data ?. daffPaths ?. [ pathFromRoot ] ?. [ key ] ?? null ;
13
13
} ;
You can’t perform that action at this time.
0 commit comments