cherry-studio/src/main/knowledge/ocr/OcrProviderFactory.ts
2025-07-21 18:11:27 +08:00

24 lines
710 B
TypeScript

import { loggerService } from '@logger'
import { isMac } from '@main/constant'
import { OcrProvider } from '@types'
import BaseOcrProvider from './BaseOcrProvider'
import DefaultOcrProvider from './DefaultOcrProvider'
import MacSysOcrProvider from './MacSysOcrProvider'
const logger = loggerService.withContext('OcrProviderFactory')
export default class OcrProviderFactory {
static create(provider: OcrProvider): BaseOcrProvider {
switch (provider.id) {
case 'system':
if (!isMac) {
logger.warn('System OCR provider is only available on macOS')
}
return new MacSysOcrProvider(provider)
default:
return new DefaultOcrProvider(provider)
}
}
}