ws-dottie
Version:
Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration
148 lines (142 loc) • 4.63 kB
TypeScript
import { z } from 'zod';
/**
* @fileoverview WSDOT Travel Times API Input Schemas
*
* This module provides Zod schemas for validating input parameters for the WSDOT
* Travel Times API endpoints.
*/
/**
* Schema for GetTravelTimeById input parameters
*
* Provides current travel times for many popular travel routes around Washington State. Coverage Area: Seattle, Tacoma, and Snoqualmie Pass areas.
*/
declare const travelTimeByIdInputSchema: z.ZodObject<{
TravelTimeID: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
TravelTimeID: number;
}, {
TravelTimeID: number;
}>;
type TravelTimeByIdInput = z.infer<typeof travelTimeByIdInputSchema>;
/**
* Schema for GetTravelTimes input parameters
*
* Provides current travel times for many popular travel routes around Washington State. Coverage Area: Seattle, Tacoma, and Snoqualmie Pass areas.
*/
declare const travelTimesInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
type TravelTimesInput = z.infer<typeof travelTimesInputSchema>;
/**
* @fileoverview WSDOT Travel Times API Output Schemas
*
* This module provides Zod schemas for validating responses from the WSDOT
* Travel Times API, which provides current travel times for covered routes
* in Seattle, Tacoma, and Snoqualmie Pass areas.
*/
/**
* Schema for TravelTimeRoute - represents a travel time route
*
* Provides current travel times for many popular travel routes around Washington State. Coverage Area: Seattle, Tacoma, and Snoqualmie Pass areas.
*/
declare const travelTimeRouteSchema: z.ZodObject<{
AverageTime: z.ZodNumber;
CurrentTime: z.ZodNumber;
Description: z.ZodNullable<z.ZodString>;
Distance: z.ZodNumber;
EndPoint: z.ZodNullable<z.ZodObject<{
Description: z.ZodNullable<z.ZodString>;
Direction: z.ZodNullable<z.ZodString>;
Latitude: z.ZodNumber;
Longitude: z.ZodNumber;
MilePost: z.ZodNumber;
RoadName: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
}, {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
}>>;
Name: z.ZodNullable<z.ZodString>;
StartPoint: z.ZodNullable<z.ZodObject<{
Description: z.ZodNullable<z.ZodString>;
Direction: z.ZodNullable<z.ZodString>;
Latitude: z.ZodNumber;
Longitude: z.ZodNumber;
MilePost: z.ZodNumber;
RoadName: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
}, {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
}>>;
TimeUpdated: z.ZodDate;
TravelTimeID: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
Description: string | null;
TimeUpdated: Date;
TravelTimeID: number;
AverageTime: number;
CurrentTime: number;
Distance: number;
EndPoint: {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
} | null;
Name: string | null;
StartPoint: {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
} | null;
}, {
Description: string | null;
TimeUpdated: Date;
TravelTimeID: number;
AverageTime: number;
CurrentTime: number;
Distance: number;
EndPoint: {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
} | null;
Name: string | null;
StartPoint: {
Description: string | null;
Direction: string | null;
Latitude: number;
Longitude: number;
MilePost: number;
RoadName: string | null;
} | null;
}>;
type TravelTimeRoute = z.infer<typeof travelTimeRouteSchema>;
export { type TravelTimeByIdInput, type TravelTimeRoute, type TravelTimesInput, travelTimeByIdInputSchema, travelTimeRouteSchema, travelTimesInputSchema };