minotor
Version:
A lightweight client-side transit routing library.
34 lines (33 loc) • 1.16 kB
TypeScript
import { StopsIndex } from '../stops/stopsIndex.js';
import { RouteType, Timetable } from '../timetable/timetable.js';
import { TransferGenerator } from '../transfers/generator.js';
import { Maybe } from './utils.js';
export type GtfsProfile = {
routeTypeParser: (routeType: number) => Maybe<RouteType>;
/**
* Derive fallback transfers between active stops that share a parent station.
*
* @default true
*/
deriveSiblingTransfers?: boolean;
};
export declare class GtfsParser {
private path;
private profile;
private transferGenerator?;
constructor(path: string, profile?: GtfsProfile, transferGenerator?: TransferGenerator);
/**
* Parses a GTFS feed to extract all the data relevant to a given day in a transit-planner friendly format.
*
* @param date The active date.
* @returns The parsed timetable.
*/
parseTimetable(date: Date): Promise<Timetable>;
/**
* Parses a GTFS feed to extract all stops.
*
* @param activeStops The set of active stop IDs to include in the index.
* @returns An index of stops.
*/
parseStops(): Promise<StopsIndex>;
}