UNPKG

@tmlmobilidade/types

Version:
116 lines (115 loc) 4.81 kB
import { type GTFS_Binary, type GTFS_PickupDropoffType } from './common.js'; /** * Represents the type of vehicle or service provided by a GTFS Route. * This type is used to categorize the route based on the mode of transportation it represents. * Each route type corresponds to a specific mode of transit, such as bus, subway, ferry, etc. * The values are defined according to the GTFS specification. */ export type GTFS_RouteType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12; /** * Validates and transforms a value into a GTFS Route Type. * It accepts numeric or string representations of route types. * @param value The value to validate and transform. * @returns A GTFS Route Type value (0-12). * @throws Error if the value is not a valid GTFS Route type representation. */ export declare function validateGtfsRouteType(value: number | string): GTFS_RouteType; /** * Represents a route in the GTFS (General Transit Feed Specification) format. * A route is a group of trips that operate on a specific path or service, * typically identified by a unique route ID. Each route can have various attributes * such as agency ID, route color, long name, short name, and type of service. */ export interface GTFS_Route { agency_id: string; continuous_drop_off?: GTFS_PickupDropoffType; continuous_pickup?: GTFS_PickupDropoffType; route_color: string; route_desc?: string; route_id: string; route_long_name: string; route_short_name: string; route_sort_order?: number; route_text_color: string; route_type: GTFS_RouteType; route_url?: string; } /** * Represents a raw route in the GTFS format. * This interface is used to parse raw data from GTFS files, where fields may be optional * or represented as strings. It is typically used for data ingestion before validation * and transformation into the `GTFS_Route` format. */ export interface GTFS_Route_Raw { agency_id?: string; continuous_drop_off?: string; continuous_pickup?: string; route_color?: string; route_desc?: string; route_id?: string; route_long_name?: string; route_short_name?: string; route_sort_order?: string; route_text_color?: string; route_type?: string; route_url?: string; } /** * Validates and transforms raw GTFS trip data into a structured GTFS_Route object. * This function checks the types of fields, converts boolean strings to boolean values, * and ensures that required fields are present. * @param rawData The raw trip data to validate and transform. * @returns A validated GTFS_Route object. */ export declare function validateGtfsRoute(rawData: GTFS_Route_Raw): GTFS_Route; /** * Represents the type of path for a GTFS route. * This type is used to indicate whether the path is a base path, a partial path, * or a variant path. It is used in the GTFS-TML (Transporte Metropolitano de Lisboa) standard * to differentiate between different types of paths for a route. */ export type GTFS_PathType = 1 | 2 | 3; /** * Validates and transforms a value into a GTFS Path Type. * It accepts numeric or string representations of path types. * @param value The value to validate and transform. * @returns A GTFS Path Type value (1, 2, or 3). * @throws Error if the value is not a valid GTFS Path Type representation. */ export declare function validateGTFSPathType(value?: number | string): GTFS_PathType; /** * Extended version of the GTFS_Route interface that * should be used for working with the GTFS-TML standard. */ export interface GTFS_Route_Extended extends GTFS_Route { circular?: GTFS_Binary; line_id: string; line_long_name: string; line_short_name: string; path_type?: GTFS_PathType; route_remarks?: string; school?: GTFS_Binary; } /** * Represents a raw trip in the GTFS-TML format. * This interface is used to parse raw data from GTFS-TML files, where fields may be optional * or represented as strings. It is typically used for data ingestion before validation * and transformation into the `GTFS_Route_Extended` format. */ export interface GTFS_Route_Extended_Raw extends GTFS_Route_Raw { circular?: string; line_id?: string; line_long_name?: string; line_short_name?: string; path_type?: string; route_remarks?: string; school?: string; } /** * Validates and transforms raw GTFS-TML route data into a structured GTFS_Route_Extended object. * This function checks the types of fields, converts boolean strings to boolean values, * and ensures that required fields are present, including the pattern_id. * @param rawData he raw route data to validate and transform. * @returns A validated GTFS_Route_Extended object. */ export declare function validateGtfsRouteExtended(rawData: GTFS_Route_Extended_Raw): GTFS_Route_Extended;