hk-bus-eta
Version:
Query the ETA (Estimated Time of Arrival) of HK Bus/Minibus/MTR/Lightrail
48 lines • 1.92 kB
JavaScript
import { isSafari } from "./utils";
export default function fetchEtas({ stopId, nlbId, language, }) {
return fetch(`https://rt.data.gov.hk/v2/transport/nlb/stop.php?action=estimatedArrivals&routeId=${nlbId}&stopId=${stopId}&language=${language}`, {
cache: isSafari ? "default" : "no-store",
})
.then((response) => response.json())
.then(({ estimatedArrivals, message }) => {
const outputs = (estimatedArrivals !== null && estimatedArrivals !== void 0 ? estimatedArrivals : [])
.filter((eta) => eta.estimatedArrivalTime)
.map((e) => {
const isScheduled = e.departed !== "1" || e.noGPS === "1";
return {
eta: e.estimatedArrivalTime.replace(" ", "T") + ".000+08:00",
remark: {
zh: isScheduled ? "預定班次" : "",
en: isScheduled ? "Scheduled" : "",
},
dest: {
// e.g. 經: 梅窩舊墟
// e.g. Via: Mui Wo Old Town
zh: language === "zh" ? e.routeVariantName : "",
en: language === "en" ? e.routeVariantName : "",
},
co: "nlb",
};
});
if (outputs.length === 0) {
if (message && typeof message === "string") {
return [
{
eta: "",
remark: {
zh: language === "zh" ? message : "",
en: language === "en" ? message : "",
},
dest: {
zh: "",
en: "",
},
co: "nlb",
},
];
}
}
return outputs;
});
}
//# sourceMappingURL=nlb.js.map