diff --git a/deno/lib/__tests__/safeparse.test.ts b/deno/lib/__tests__/safeparse.test.ts index d50dd7fe4..fbae3d72b 100644 --- a/deno/lib/__tests__/safeparse.test.ts +++ b/deno/lib/__tests__/safeparse.test.ts @@ -8,13 +8,13 @@ const stringSchema = z.string(); test("safeparse fail", () => { const safe = stringSchema.safeParse(12); expect(safe.success).toEqual(false); - expect((safe as any).error).toBeInstanceOf(z.ZodError); + expect(safe.error).toBeInstanceOf(z.ZodError); }); test("safeparse pass", () => { const safe = stringSchema.safeParse("12"); expect(safe.success).toEqual(true); - expect((safe as any).data).toEqual("12"); + expect(safe.data).toEqual("12"); }); test("safeparse unexpected error", () => { diff --git a/deno/lib/types.ts b/deno/lib/types.ts index 2354a59ee..693af7a5f 100644 --- a/deno/lib/types.ts +++ b/deno/lib/types.ts @@ -144,8 +144,16 @@ function processCreateParams(params: RawCreateParams): ProcessedCreateParams { return { errorMap: customMap, description }; } -export type SafeParseSuccess = { success: true; data: Output }; -export type SafeParseError = { success: false; error: ZodError }; +export type SafeParseSuccess = { + success: true; + data: Output; + error?: never; +}; +export type SafeParseError = { + success: false; + error: ZodError; + data?: never; +}; export type SafeParseReturnType = | SafeParseSuccess diff --git a/src/__tests__/safeparse.test.ts b/src/__tests__/safeparse.test.ts index ef85dd5d1..e381a1fa1 100644 --- a/src/__tests__/safeparse.test.ts +++ b/src/__tests__/safeparse.test.ts @@ -7,13 +7,13 @@ const stringSchema = z.string(); test("safeparse fail", () => { const safe = stringSchema.safeParse(12); expect(safe.success).toEqual(false); - expect((safe as any).error).toBeInstanceOf(z.ZodError); + expect(safe.error).toBeInstanceOf(z.ZodError); }); test("safeparse pass", () => { const safe = stringSchema.safeParse("12"); expect(safe.success).toEqual(true); - expect((safe as any).data).toEqual("12"); + expect(safe.data).toEqual("12"); }); test("safeparse unexpected error", () => { diff --git a/src/types.ts b/src/types.ts index c60be474e..5bd115ce7 100644 --- a/src/types.ts +++ b/src/types.ts @@ -144,8 +144,16 @@ function processCreateParams(params: RawCreateParams): ProcessedCreateParams { return { errorMap: customMap, description }; } -export type SafeParseSuccess = { success: true; data: Output }; -export type SafeParseError = { success: false; error: ZodError }; +export type SafeParseSuccess = { + success: true; + data: Output; + error?: never; +}; +export type SafeParseError = { + success: false; + error: ZodError; + data?: never; +}; export type SafeParseReturnType = | SafeParseSuccess