@tmlmobilidade/types
Version:
This package provides shared Zod validation schemas and their corresponding TypeScript types for use across projects. All types are automatically inferred from the schemas to ensure full type safety and reduce maintenance overhead.
46 lines (45 loc) • 1.65 kB
TypeScript
import { type OperationalDate } from '../_common/operational-date.js';
import { type GTFS_Binary } from './common.js';
/**
* Represents a calendar in the GTFS (General Transit Feed Specification) format.
* A calendar defines the days of the week on which a particular service is available,
* along with the start and end dates of the service period.
*/
export interface GTFS_Calendar {
end_date: OperationalDate;
friday: GTFS_Binary;
monday: GTFS_Binary;
saturday: GTFS_Binary;
service_id: string;
start_date: OperationalDate;
sunday: GTFS_Binary;
thursday: GTFS_Binary;
tuesday: GTFS_Binary;
wednesday: GTFS_Binary;
}
/**
* Represents a raw calendar 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_Calendar` format.
*/
export interface GTFS_Calendar_Raw {
end_date?: string;
friday?: string;
monday?: string;
saturday?: string;
service_id?: string;
start_date?: string;
sunday?: string;
thursday?: string;
tuesday?: string;
wednesday?: string;
}
/**
* Validates and transforms a raw GTFS calendar into the GTFS_Calendar format.
* This function checks the types of fields, converts boolean strings to boolean values,
* and ensures that required fields are present.
* @param rawData The raw calendar data to validate and transform.
* @returns A validated GTFS_Calendar object.
*/
export declare function validateGtfsCalendar(rawData: GTFS_Calendar_Raw): GTFS_Calendar;