refactor(ocr): add BuiltinOcrProviderIds constant for provider ids

Use objectValues utility to create a frozen array of provider ids for better maintainability and type safety
This commit is contained in:
icarus 2025-10-20 07:47:11 +08:00
parent 1423163b3a
commit 7ea7e7134d

View File

@ -2,7 +2,7 @@ import type Tesseract from 'tesseract.js'
import * as z from 'zod'
import type { FileMetadata, ImageFileMetadata, TranslateLanguageCode } from '.'
import { isImageFileMetadata, TranslateLanguageCodeSchema } from '.'
import { isImageFileMetadata, objectValues, TranslateLanguageCodeSchema } from '.'
export const BuiltinOcrProviderIdMap = {
tesseract: 'tesseract',
@ -11,6 +11,8 @@ export const BuiltinOcrProviderIdMap = {
ovocr: 'ovocr'
} as const satisfies Record<string, BuiltinOcrProviderId>
export const BuiltinOcrProviderIds = Object.freeze(objectValues(BuiltinOcrProviderIdMap))
export const BuiltinOcrProviderIdSchema = z.enum(['tesseract', 'system', 'paddleocr', 'ovocr'])
export type BuiltinOcrProviderId = z.infer<typeof BuiltinOcrProviderIdSchema>