UNPKG

@tmlmobilidade/types

Version:
38 lines (37 loc) 1.28 kB
/* * */ import { RawVehicleEventBaseSchema } from '../raw-vehicle-event-base.js'; import { GtfsRtOccupancyStatusSchema } from '@tmlmobilidade/go-types-gtfs-rt'; import { z } from 'zod'; /* * */ export const RawVehicleEventCcflV1PayloadSchema = z.object({ header: z.object({ feed_version: z.string().nullish(), gtfs_realtime_version: z.string(), incrementality: z.literal('FULL_DATASET'), timestamp: z.number(), }), vehicle: z.object({ current_status: z.enum(['INCOMING_AT', 'STOPPED_AT', 'IN_TRANSIT_TO']).nullish(), occupancy_status: GtfsRtOccupancyStatusSchema.nullish(), position: z.object({ bearing: z.number().nullish(), latitude: z.number(), longitude: z.number(), speed: z.number().nullish(), }), stop_id: z.string().nullish(), timestamp: z.number().nullish(), trip: z.object({ trip_id: z.string(), }), vehicle: z.object({ id: z.string(), license_plate: z.string().nullish(), }), }), }); /* * */ export const RawVehicleEventCcflV1Schema = RawVehicleEventBaseSchema.extend({ payload: RawVehicleEventCcflV1PayloadSchema, version: z.literal('ccfl-v1'), });