From 01d57ce0ced05567e39b15a3ea40ee8663124520 Mon Sep 17 00:00:00 2001 From: codeit-ninja Date: Sun, 7 Sep 2025 15:55:39 +0200 Subject: [PATCH] Make errors object typed --- src/lib/validated.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/lib/validated.ts b/src/lib/validated.ts index 1ac8c86..81872c0 100644 --- a/src/lib/validated.ts +++ b/src/lib/validated.ts @@ -6,10 +6,10 @@ type MaybePromise = T | Promise type InferSchemaOutput = T extends StandardSchemaV1 ? O : never type FormFunction = (fn: (data: FormData) => MaybePromise) => RemoteForm -export type ValidationError = { +export type ValidationError> = { success: false - errors: Record - data: unknown + errors: Partial> + data: O } /** @@ -28,10 +28,9 @@ export function createValidated(form: FormFunction) { return function validated( schema: Schema, handler: (data: InferSchemaOutput) => MaybePromise - ): RemoteForm { - return form(async (formData) => { + ): RemoteForm> { + return form>(async (formData) => { const data = Object.fromEntries(formData.entries()) - const result = await schema['~standard'].validate(data) if (result.issues) { @@ -55,7 +54,7 @@ export function createValidated(form: FormFunction) { success: false, errors, data - } as ValidationError + } as ValidationError } return handler(result.value as InferSchemaOutput)