mirror of
https://github.com/HSLdevcom/digitransit-ui
synced 2025-07-05 16:30:37 +02:00
33 lines
814 B
JavaScript
33 lines
814 B
JavaScript
const VEHICLE_ARRIVING = 'arriving';
|
|
const VEHICLE_ARRIVED = 'arrived';
|
|
const VEHICLE_DEPARTED = 'departed';
|
|
|
|
export default function getVehicleState(
|
|
distanceToStop,
|
|
maxDistance,
|
|
vehicleTime,
|
|
arrivalTimeToStop,
|
|
departureTimeFromStop,
|
|
first,
|
|
last,
|
|
) {
|
|
let vehicleState;
|
|
if (
|
|
distanceToStop > maxDistance &&
|
|
vehicleTime < arrivalTimeToStop &&
|
|
!first
|
|
) {
|
|
vehicleState = VEHICLE_ARRIVING;
|
|
} else if (
|
|
(vehicleTime >= arrivalTimeToStop && vehicleTime < departureTimeFromStop) ||
|
|
(first && vehicleTime < arrivalTimeToStop) ||
|
|
(last && vehicleTime >= departureTimeFromStop) ||
|
|
distanceToStop <= maxDistance
|
|
) {
|
|
vehicleState = VEHICLE_ARRIVED;
|
|
}
|
|
if (vehicleTime >= departureTimeFromStop && !last) {
|
|
return VEHICLE_DEPARTED;
|
|
}
|
|
return vehicleState;
|
|
}
|