From dedc591e1cdc00884a13aaa58a966b5cf3df3034 Mon Sep 17 00:00:00 2001 From: icarus Date: Mon, 20 Oct 2025 00:31:24 +0800 Subject: [PATCH] refactor(ocr): replace manual capability check with zod schema Use zod schema validation for OCR provider capabilities instead of manual object property check for better type safety and maintainability --- src/renderer/src/types/ocr.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/types/ocr.ts b/src/renderer/src/types/ocr.ts index 44a27f9de8..edaf72b287 100644 --- a/src/renderer/src/types/ocr.ts +++ b/src/renderer/src/types/ocr.ts @@ -25,10 +25,12 @@ export const OcrProviderCapabilities = { // pdf: 'pdf' } as const -export type OcrProviderCapability = keyof typeof OcrProviderCapabilities +export const OcrProviderCapabilitySchema = z.enum(['image']) + +export type OcrProviderCapability = z.infer export const isOcrProviderCapability = (cap: string): cap is OcrProviderCapability => { - return Object.hasOwn(OcrProviderCapabilities, cap) + return OcrProviderCapabilitySchema.safeParse(cap).success } export type OcrProviderCapabilityRecord = Partial>