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
This commit is contained in:
icarus 2025-10-20 00:31:24 +08:00
parent 5c049911ee
commit dedc591e1c

View File

@ -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<typeof OcrProviderCapabilitySchema>
export const isOcrProviderCapability = (cap: string): cap is OcrProviderCapability => {
return Object.hasOwn(OcrProviderCapabilities, cap)
return OcrProviderCapabilitySchema.safeParse(cap).success
}
export type OcrProviderCapabilityRecord = Partial<Record<OcrProviderCapability, boolean>>