M: Use zod coerce for type conversion

This commit is contained in:
Ivan 2025-01-30 20:06:13 +03:00
parent 728eb61f91
commit 86cda4825a
4 changed files with 11 additions and 14 deletions

View File

@ -1,7 +1,7 @@
import { useQuery, useSuspenseQuery } from '@tanstack/react-query'; import { useQuery, useSuspenseQuery } from '@tanstack/react-query';
import { LibraryItemID, VersionID } from '@/models/library';
import { RSFormLoader } from '@/backend/rsform/RSFormLoader'; import { RSFormLoader } from '@/backend/rsform/RSFormLoader';
import { LibraryItemID, VersionID } from '@/models/library';
import { queryClient } from '../queryClient'; import { queryClient } from '../queryClient';
import { rsformsApi } from './api'; import { rsformsApi } from './api';

View File

@ -1,7 +1,7 @@
import { useQueries } from '@tanstack/react-query'; import { useQueries } from '@tanstack/react-query';
import { LibraryItemID } from '@/models/library';
import { RSFormLoader } from '@/backend/rsform/RSFormLoader'; import { RSFormLoader } from '@/backend/rsform/RSFormLoader';
import { LibraryItemID } from '@/models/library';
import { DELAYS } from '../configuration'; import { DELAYS } from '../configuration';
import { rsformsApi } from './api'; import { rsformsApi } from './api';

View File

@ -17,10 +17,7 @@ import { OssEditState, OssTabID } from './OssEditContext';
import OssTabs from './OssTabs'; import OssTabs from './OssTabs';
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z id: z.coerce.number(),
.string()
.nullish()
.transform(v => (v ? Number(v) : undefined)),
tab: z.preprocess(v => (v ? Number(v) : undefined), z.nativeEnum(OssTabID).default(OssTabID.CARD)) tab: z.preprocess(v => (v ? Number(v) : undefined), z.nativeEnum(OssTabID).default(OssTabID.CARD))
}); });

View File

@ -19,16 +19,16 @@ import { RSEditState, RSTabID } from './RSEditContext';
import RSTabs from './RSTabs'; import RSTabs from './RSTabs';
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z id: z.coerce.number(),
.string() version: z.coerce
.number()
.nullish() .nullish()
.transform(v => (v ? Number(v) : undefined)), .transform(v => v ?? undefined),
version: z
.string()
.nullish()
.transform(v => (v ? Number(v) : undefined)),
tab: z.preprocess(v => (v ? Number(v) : undefined), z.nativeEnum(RSTabID).default(RSTabID.CARD)), tab: z.preprocess(v => (v ? Number(v) : undefined), z.nativeEnum(RSTabID).default(RSTabID.CARD)),
activeID: z.preprocess(v => (v ? Number(v) : undefined), z.number().optional()) activeID: z.coerce
.number()
.nullish()
.transform(v => v ?? undefined)
}); });
export function RSFormPage() { export function RSFormPage() {