UNPKG

hk-bus-eta-skpracta

Version:

Query the ETA (Estimated Time of Arrival) of HK Bus/Minibus/MTR/Lightrail (skpracta flavored)

89 lines (77 loc) 1.56 kB
export type Company = | "kmb" | "nlb" | "ctb" | "lrtfeeder" | "gmb" | "lightRail" | "mtr" | "gmbHki" | "gmbKln" | "gmbNt"; export type Terminal = { en: string; zh: string; }; export type Freq = { [key in string]: { [startTime: string]: [string, string] | null; }; }; export type RouteListEntry = { readonly route: string; readonly co: Company[]; readonly orig: Terminal; readonly dest: Terminal; readonly fares: string[] | null; readonly faresHoliday: string[] | null; readonly freq: Freq | null; readonly jt: string | null; readonly seq: number; readonly serviceType: string; readonly stops: { [co in Company]: string[]; }; readonly bound: { [co in Company]: "O" | "I" | "OI" | "IO"; }; readonly gtfsId: string; readonly nlbId: string; }; export type Location = { lat: number; lng: number; }; export type StopListEntry = { readonly location: Location; readonly name: { en: string; zh: string; }; }; export type StopTuple = [Company, string]; export type RouteList = Record<string, RouteListEntry>; export type StopList = Record<string, StopListEntry>; export type StopMap = Record<string, StopTuple[]>; export type EtaDb = { holidays: string[]; routeList: RouteList; stopList: StopList; stopMap: StopMap; serviceDayMap: Record< string, [0 | 1, 0 | 1, 0 | 1, 0 | 1, 0 | 1, 0 | 1, 0 | 1] >; }; export type Eta = { eta: string; remark: { zh: string; en: string; }; dest: { zh: string; en: string; }; co: Company; };