multiplanner
Version:
Tool om polydestinale reizen te plannen over het Nederlandse spoornet.
28 lines (24 loc) • 1.23 kB
JavaScript
import {
maakTabel,
formateerTijdsduurMinuten,
formatteerTijd,
vertaalZijde,
formatteerDatum
} from "#f/formatters.js";
export default (reis) => {
const infoTabel = maakTabel([
["Prijs", `€${(reis.prijs / 100).toFixed(2)}`],
["Vertrekdatum", formatteerDatum(reis.reis[0].vertrektijd)],
["Wachttijd", formateerTijdsduurMinuten(reis.stationstijd)],
["Rijtijd", formateerTijdsduurMinuten(reis.treintijd)],
["Totale reistijd", formateerTijdsduurMinuten(reis.reistijd)],
["Hemelsbrede afstand", `${Math.round(reis.hemelsbredeafstand)} kilometer`],
["Afgelegde afstand", `${Math.round(reis.afstand)} kilometer`]
]);
const resultaatString = maakTabel([[["Tijd", "Na", "Actie"]].concat(...reis.reis.map((rit) => {
const zijdeDeel = rit.uitstapzijde ? ` ${vertaalZijde(rit.uitstapzijde).toLowerCase()}` : '';
return [[formatteerTijd(rit.vertrektijd), rit.overstaptijd, `Neem de ${rit.categorie} richting ${rit.richting} op spoor ${rit.vertrekspoor}.`],
[formatteerTijd(rit.aankomsttijd), rit.ritduur, `Stap${zijdeDeel} uit in ${rit.aankomststationnaam}.`]];
}))][0]);
return `${infoTabel}\n${resultaatString}`;
};