// composables/useSafeQuery.ts import { useRoute } from 'vue-router' export const useSafeQuery = () => { const route = useRoute() const getNumber = (key: string): number | undefined => { const value = route.query[key] if (typeof value === 'string') { const parsed = Number(value) return isNaN(parsed) ? undefined : parsed } return undefined } const getArray = (key: string): string[] => { const value = route.query[key] if (Array.isArray(value)) { return value.map(String) } if (typeof value === 'string') { return [value] } return [] } const getString = (key: string): string | undefined => { const value = route.query[key] return typeof value === 'string' ? value : undefined } return { getNumber, getArray, getString, } }