File tree 2 files changed +5
-5
lines changed
2 files changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ import { collect } from '@daffodil/core';
9
9
* Collects data defined in the entire tree of routes.
10
10
* Shallow merges data, preferring fields of more deeply nested routes.
11
11
*/
12
- export const daffRouterDataCollect = ( route : ActivatedRouteSnapshot ) : Route [ 'data' ] => {
12
+ export const daffRouterDataCollect = < T extends Route [ 'data' ] = Route [ 'data' ] > ( route : ActivatedRouteSnapshot ) : T => {
13
13
const ary = collect ( route , ( r ) => r . children ) ;
14
14
const ret = ary . reduce (
15
15
( acc , r ) => r . data
@@ -18,7 +18,7 @@ export const daffRouterDataCollect = (route: ActivatedRouteSnapshot): Route['dat
18
18
...r . data ,
19
19
}
20
20
: acc ,
21
- { } ,
21
+ < T > { } ,
22
22
) ;
23
23
return ret ;
24
24
} ;
Original file line number Diff line number Diff line change @@ -17,12 +17,12 @@ import { daffRouterDataCollect } from '../helpers/collect-data';
17
17
@Injectable ( {
18
18
providedIn : 'root' ,
19
19
} )
20
- export class DaffRouterDataService {
20
+ export class DaffRouterDataService < T extends Route [ 'data' ] = Route [ 'data' ] > {
21
21
/**
22
22
* A collection of all the route data defined in any part of the currently activated route's tree.
23
23
* Child route's data takes precendence over parent data.
24
24
*/
25
- public data$ : Observable < Route [ 'data' ] > ;
25
+ public data$ : Observable < T > ;
26
26
27
27
constructor (
28
28
private route : ActivatedRoute ,
@@ -46,7 +46,7 @@ export class DaffRouterDataService {
46
46
this . route . url ,
47
47
) . pipe (
48
48
map ( ( ) => this . route . snapshot ) ,
49
- map ( daffRouterDataCollect ) ,
49
+ map ( daffRouterDataCollect < T > ) ,
50
50
) ;
51
51
}
52
52
}
You can’t perform that action at this time.
0 commit comments