feat(ocr): add type guard for OcrProvider

Add isOcrProvider type guard function to validate unknown inputs against OcrProviderSchema
This commit is contained in:
icarus 2025-10-20 02:11:29 +08:00
parent beb44eea61
commit b310ea1407

View File

@ -100,14 +100,20 @@ export type OcrProvider = z.infer<typeof OcrProviderSchema> & {
config?: OcrProviderBaseConfig config?: OcrProviderBaseConfig
} }
export const isOcrProvider = (p: unknown): p is OcrProvider => {
return OcrProviderSchema.safeParse(p).success
}
export type OcrApiProviderConfig = OcrProviderBaseConfig & { export type OcrApiProviderConfig = OcrProviderBaseConfig & {
api: OcrProviderApiConfig api: OcrProviderApiConfig
} }
/** This type is not being used. */
export type OcrApiProvider = OcrProvider & { export type OcrApiProvider = OcrProvider & {
config: OcrApiProviderConfig config: OcrApiProviderConfig
} }
/** This function is not being used. */
export const isOcrApiProvider = (p: OcrProvider): p is OcrApiProvider => { export const isOcrApiProvider = (p: OcrProvider): p is OcrApiProvider => {
return !!(p.config && p.config.api && isOcrProviderApiConfig(p.config.api)) return !!(p.config && p.config.api && isOcrProviderApiConfig(p.config.api))
} }