mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-25 03:10:08 +08:00
24 lines
710 B
TypeScript
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)
|
|
}
|
|
}
|
|
}
|