Skip to content

Commit 961512d

Browse files
authored
fix(external-router): extract daff paths ignoring full path (#2955)
1 parent 16b6000 commit 961512d

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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+
});

libs/external-router/src/util/extract-daff-path-data.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ import {
88
* RouteSnapshot.
99
*/
1010
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('/');
1212
return snapshot.data?.daffPaths?.[pathFromRoot]?.[key] ?? null;
1313
};

0 commit comments

Comments
 (0)