feat(core): initial implementation of syncing (#17814)

This commit is contained in:
James Long
2026-03-25 10:47:40 -04:00
committed by GitHub
parent 0c0c6f3bdb
commit b0017bf1b9
32 changed files with 4403 additions and 1760 deletions

View File

@@ -0,0 +1,13 @@
import z from "zod"
export function updateSchema<T extends z.ZodRawShape>(schema: z.ZodObject<T>) {
const next = {} as {
[K in keyof T]: z.ZodOptional<z.ZodNullable<T[K]>>
}
for (const [k, v] of Object.entries(schema.required().shape) as [keyof T & string, z.ZodTypeAny][]) {
next[k] = v.nullable() as unknown as (typeof next)[typeof k]
}
return z.object(next)
}