spacedrive/interface/hooks/useZodRouteParams.ts
Vítor Vasconcellos bffa22681d
Revert some schema changes from #992 (#1003)
- Revert useExplorerSearchParams removal
 - Move schemas to a rout-schemas file
 - Formatting
2023-06-23 05:57:19 +00:00

10 lines
335 B
TypeScript

import { useMemo } from 'react';
import { useParams } from 'react-router';
import type { z } from 'zod';
export function useZodRouteParams<Z extends z.AnyZodObject>(schema: Z): z.infer<Z> {
// eslint-disable-next-line no-restricted-syntax
const params = useParams();
return useMemo(() => schema.parse(params), [params, schema]);
}