libre-routing
Version:
This library was generated with [Nx](https://nx.dev).
30 lines • 1.45 kB
JavaScript
export function selectRouteByStrategy(summaryRoutes, strategy) {
if (strategy === 'fastest') {
const fastest = summaryRoutes.reduce(function (prev, current) {
return (prev === null || prev === void 0 ? void 0 : prev.arriveTime.valueOf()) < (current === null || current === void 0 ? void 0 : current.arriveTime.valueOf())
? prev
: current;
});
return fastest === null || fastest === void 0 ? void 0 : fastest.id;
}
else if (strategy === 'shortest') {
const shortest = summaryRoutes.reduce(function (prev, current) {
return (prev === null || prev === void 0 ? void 0 : prev.distance) < (current === null || current === void 0 ? void 0 : current.distance) ? prev : current;
});
return shortest === null || shortest === void 0 ? void 0 : shortest.id;
}
else if (strategy === 'cheapest') {
const cheapest = summaryRoutes
.filter((s) => s.cost != null)
.reduce(function (prev, current) {
//@ts-ignore
return (prev === null || prev === void 0 ? void 0 : prev.cost) < (current === null || current === void 0 ? void 0 : current.cost) ? prev : current;
});
return cheapest === null || cheapest === void 0 ? void 0 : cheapest.id;
}
else if (strategy === 'none') {
return null;
}
return 0;
}
//# sourceMappingURL=select-route-strategy.js.map