UNPKG

@tmlmobilidade/types

Version:
30 lines (29 loc) 909 B
/* * */ import { z } from 'zod'; /* * */ export const StopIdSchema = z .number() .min(100_000) .max(999_999); /** * Validates the structure of a Stop ID. * @param value The value to validate as a Stop ID. * @returns The validated Stop ID if valid, or false if invalid. */ export function validateStopIdStructure(value) { // Return false if no value is provided if (!value) return false; // Transform the value into a number if it's a string if (typeof value === 'string') value = parseInt(value, 10); // Return false if the value is not a number or is NaN if (typeof value !== 'number' || isNaN(value)) return false; // Return false if the value is outside the valid range for Stop IDs if (value < 100_000 || value > 999_999) return false; // Return the value as a Stop ID // if it passes all checks. return value; }