TimetableAPI-Upgrade #64
@ -1,36 +1,46 @@
|
||||
import type {Service, OB_TrainTT_service, OB_Pis_SimpleObject, OB_TrainTT_stopDetail, Stop} from "@owlboard/ts-types"
|
||||
import type {
|
||||
Service,
|
||||
OB_TrainTT_service,
|
||||
OB_Pis_SimpleObject,
|
||||
OB_TrainTT_stopDetail,
|
||||
Stop,
|
||||
} from "@owlboard/ts-types";
|
||||
import { logger } from "../../logger.utils";
|
||||
|
||||
export function formatTimetableDetail(service: Service, pis: OB_Pis_SimpleObject | null): OB_TrainTT_service {
|
||||
const formattedService: OB_TrainTT_service = {
|
||||
stpIndicator: service.stpIndicator,
|
||||
operator: service.operator,
|
||||
trainUid: service.trainUid,
|
||||
headcode: service.headcode,
|
||||
powerType: service.powerType,
|
||||
planSpeed: convertStringToNumber(service.planSpeed),
|
||||
scheduleStart: service.scheduleStartDate,
|
||||
scheduleEnd: service.scheduleEndDate,
|
||||
daysRun: service.daysRun,
|
||||
stops: formatStops(service.stops),
|
||||
vstp: service.vstp,
|
||||
}
|
||||
export function formatTimetableDetail(
|
||||
service: Service,
|
||||
pis: OB_Pis_SimpleObject | null
|
||||
): OB_TrainTT_service {
|
||||
const formattedService: OB_TrainTT_service = {
|
||||
stpIndicator: service.stpIndicator,
|
||||
operator: service.operator,
|
||||
trainUid: service.trainUid,
|
||||
headcode: service.headcode,
|
||||
powerType: service.powerType,
|
||||
planSpeed: convertStringToNumber(service.planSpeed),
|
||||
scheduleStart: service.scheduleStartDate,
|
||||
scheduleEnd: service.scheduleEndDate,
|
||||
daysRun: service.daysRun,
|
||||
stops: formatStops(service.stops),
|
||||
vstp: service.vstp,
|
||||
};
|
||||
|
||||
if (pis) {
|
||||
formattedService.pis = pis;
|
||||
}
|
||||
if (pis) {
|
||||
formattedService.pis = pis;
|
||||
}
|
||||
|
||||
return formattedService
|
||||
return formattedService;
|
||||
}
|
||||
|
||||
function formatStops(stops: Stop[]): OB_TrainTT_stopDetail[] {
|
||||
// Cleanly coerce Stop[] to OB_TrainTT_stopDetail[]
|
||||
const formattedStops: OB_TrainTT_stopDetail[] = []
|
||||
const formattedStops: OB_TrainTT_stopDetail[] = [];
|
||||
|
||||
for (const stop of stops) {
|
||||
formattedStops.push(formatStopTimes(stop))
|
||||
formattedStops.push(formatStopTimes(stop));
|
||||
}
|
||||
|
||||
return formattedStops
|
||||
return formattedStops;
|
||||
}
|
||||
|
||||
function formatStopTimes(stop: Stop): OB_TrainTT_stopDetail {
|
||||
@ -38,7 +48,7 @@ function formatStopTimes(stop: Stop): OB_TrainTT_stopDetail {
|
||||
let formattedStop: OB_TrainTT_stopDetail = {
|
||||
tiploc: stop.tiploc,
|
||||
isPublic: false,
|
||||
}
|
||||
};
|
||||
if (stop.publicArrival) {
|
||||
formattedStop.publicArrival = stop.publicArrival;
|
||||
formattedStop.isPublic = true;
|
||||
@ -53,14 +63,14 @@ function formatStopTimes(stop: Stop): OB_TrainTT_stopDetail {
|
||||
if (stop.wttDeparture) {
|
||||
formattedStop.wttDeparture = stop.wttDeparture;
|
||||
}
|
||||
return formattedStop
|
||||
return formattedStop;
|
||||
}
|
||||
|
||||
function convertStringToNumber(str: string): number {
|
||||
const number = parseFloat(str)
|
||||
const number = parseFloat(str);
|
||||
if (isNaN(number)) {
|
||||
return 0;
|
||||
} else {
|
||||
return number
|
||||
return number;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user