UNPKG

@golemio/pid

Version:
26 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DepartureCalculator = void 0; class DepartureCalculator { } exports.DepartureCalculator = DepartureCalculator; /** * Calculates the predicted departure time based on the scheduled departure time, arrival time and delay. **/ DepartureCalculator.getPredictedDepartureTime = (departureTime, arrivalTime, delayInSeconds) => { let delayInSecondsWithDefault = delayInSeconds ?? 0; let adjustedDepartureTime = new Date(departureTime.getTime() + delayInSecondsWithDefault * 1000); if (arrivalTime && delayInSecondsWithDefault > 0) { const dwellInSeconds = (departureTime.getTime() - arrivalTime.getTime()) / 1000; const minDwellInSeconds = Math.min(delayInSecondsWithDefault, dwellInSeconds); adjustedDepartureTime.setTime(adjustedDepartureTime.getTime() - minDwellInSeconds * 1000); } return adjustedDepartureTime; }; /** * Calculates the number of minutes until the predicted departure time. **/ DepartureCalculator.getDepartureMinutes = (predictedDepartureTime) => { return Math.round((predictedDepartureTime.getTime() - new Date().getTime()) / (60 * 1000)); }; //# sourceMappingURL=DepartureCalculator.js.map