UNPKG

ttc-api

Version:

A fully typed Tbilisi Transport Company API Wrapper

105 lines (103 loc) 2.16 kB
type LatLng = number[]; type Locale = "ka" | "en"; type BusMode = "BUS"; type VehicleMode = "BUS" | "GONDOLA" | "SUBWAY"; type BusColor = "0033B4" | "00B38B"; interface BusStop { id: string; code: null | string; name: string; lat: number; lon: number; vehicleMode: VehicleMode; } interface BusArrival { shortName: string; color: string; headsign: string; realtime: boolean; realtimeArrivalMinutes: number; scheduledArrivalMinutes: number; } interface Bus { id: string; shortName: string; longName: string; color: BusColor; mode: BusMode; } interface BusRouteFull { id: string; shortName: string; longName: string; color: string; mode: string; circular: boolean; longNames: { forwardLongName: string; backwardLongName: string; }; } interface BusLocation { lat: number; lon: number; heading: number; nextStopId?: string; } interface BusPlan { from: From; to: From; itineraries: Itinerary[]; } interface From { lat: number; lon: number; name: string; } interface Itinerary { startTime: Date; endTime: Date; duration: number; walkTime: number; walkDistance: number; legs: Leg[]; } interface Leg { from: From; to: From; startTime: Date; endTime: Date; duration: number; legPolyline: LegPolyline; mode: Mode; steps: Step[]; intermediateStops: IntermediateStop[] | null; route: Bus | null; realTime: boolean; arrivalDelay: number; distance: number; } interface IntermediateStop { id: string; code: string; name: string; lat: number; lon: number; vehicleMode: Mode; } declare enum Mode { Bus = "BUS", Walk = "WALK" } interface LegPolyline { encodedValue: string; color: null; } interface Step { relativeDirection: string; distance: number; streetName: string; lat: number; lon: number; } export { Bus, BusArrival, BusColor, BusLocation, BusMode, BusPlan, BusRouteFull, BusStop, From, IntermediateStop, Itinerary, LatLng, Leg, LegPolyline, Locale, Mode, Step, VehicleMode };