refactor(ocr): convert OcrProviderBaseConfig to zod schema

Use zod schema for type validation and inference to improve type safety
This commit is contained in:
icarus 2025-10-20 00:35:26 +08:00
parent ed791a3bb3
commit 2e400d3f1c

View File

@ -71,14 +71,16 @@ export const isOcrProviderApiConfig = (config: unknown): config is OcrProviderAp
*
* Extend this type to define provider-specific config types.
*/
export type OcrProviderBaseConfig = {
export const OcrProviderBaseConfigSchema = z.object({
/** Not used for now. Could safely remove. */
api?: OcrProviderApiConfig
api: OcrProviderApiConfigSchema.optional(),
/** Not used for now. Could safely remove. */
models?: OcrModel[]
models: z.array(OcrModelSchema).optional(),
/** Not used for now. Could safely remove. */
enabled?: boolean
}
enabled: z.boolean().optional()
})
export type OcrProviderBaseConfig = z.infer<typeof OcrProviderBaseConfigSchema>
export type OcrProviderConfig = OcrApiProviderConfig | OcrTesseractConfig | OcrSystemConfig | OcrPpocrConfig