@@ -32,31 +32,37 @@ const matchPathStepAndOp = (
32
32
return step . track === op . track && step . offset === op . offsetOnTrack ;
33
33
} ;
34
34
35
+ export const populatePathStepIdInSuggestedOPs = (
36
+ suggestedOPs : SuggestedOP [ ] ,
37
+ pathSteps : PathStep [ ]
38
+ ) : SuggestedOP [ ] =>
39
+ suggestedOPs . map ( ( op ) => ( {
40
+ ...op ,
41
+ pathStepId : pathSteps . find (
42
+ ( pathStep ) => matchPathStepAndOp ( pathStep , op ) // TODO: && op.kp === pathStep.kp
43
+ ) ?. id ,
44
+ } ) ) ;
45
+
35
46
export const formatSuggestedOperationalPoints = (
36
47
operationalPoints : NonNullable < Required < PathProperties [ 'operational_points' ] > > ,
37
48
pathSteps : PathStep [ ] ,
38
49
geometry : GeoJsonLineString ,
39
50
pathLength : number
40
- ) : SuggestedOP [ ] =>
41
- operationalPoints
42
- . map ( ( op ) => ( {
43
- opId : op . id ,
44
- name : op . extensions ?. identifier ?. name ,
45
- uic : op . extensions ?. identifier ?. uic ,
46
- ch : op . extensions ?. sncf ?. ch ,
47
- kp : op . part . extensions ?. sncf ?. kp ,
48
- trigram : op . extensions ?. sncf ?. trigram ,
49
- offsetOnTrack : op . part . position ,
50
- track : op . part . track ,
51
- positionOnPath : op . position ,
52
- coordinates : getPointCoordinates ( geometry , pathLength , op . position ) ,
53
- } ) )
54
- . map ( ( op ) => ( {
55
- ...op ,
56
- pathStepId : pathSteps . find (
57
- ( pathStep ) => matchPathStepAndOp ( pathStep , op ) && op . kp === pathStep . kp
58
- ) ?. id ,
59
- } ) ) ;
51
+ ) : SuggestedOP [ ] => {
52
+ const suggestedOPs = operationalPoints . map ( ( op ) => ( {
53
+ opId : op . id ,
54
+ name : op . extensions ?. identifier ?. name ,
55
+ uic : op . extensions ?. identifier ?. uic ,
56
+ ch : op . extensions ?. sncf ?. ch ,
57
+ kp : op . part . extensions ?. sncf ?. kp ,
58
+ trigram : op . extensions ?. sncf ?. trigram ,
59
+ offsetOnTrack : op . part . position ,
60
+ track : op . part . track ,
61
+ positionOnPath : op . position ,
62
+ coordinates : getPointCoordinates ( geometry , pathLength , op . position ) ,
63
+ } ) ) ;
64
+ return populatePathStepIdInSuggestedOPs ( suggestedOPs , pathSteps ) ;
65
+ } ;
60
66
61
67
export const getPathfindingQuery = ( {
62
68
infraId,
0 commit comments