fix: add macOS availability checks in MacSysOcrProvider and OcrProviderFactory
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { isMac } from '@main/constant'
|
||||
import { FileSource, isLocalFile, LocalFileSource, OcrProvider } from '@types'
|
||||
import Logger from 'electron-log'
|
||||
import * as fs from 'fs'
|
||||
@@ -14,6 +15,9 @@ export default class MacSysOcrProvider extends BaseOcrProvider {
|
||||
private MacOCR: any
|
||||
|
||||
private async initMacOCR() {
|
||||
if (!isMac) {
|
||||
throw new Error('MacSysOcrProvider is only available on macOS')
|
||||
}
|
||||
if (!this.MacOCR) {
|
||||
try {
|
||||
const module = await import('@cherrystudio/mac-system-ocr')
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { isMac } from '@main/constant'
|
||||
import { OcrProvider } from '@types'
|
||||
import Logger from 'electron-log'
|
||||
|
||||
import BaseOcrProvider from './BaseOcrProvider'
|
||||
import DefaultOcrProvider from './DefaultOcrProvider'
|
||||
@@ -13,6 +15,9 @@ export default class OcrProviderFactory {
|
||||
case 'mistral':
|
||||
return new MistralOcrProvider(provider)
|
||||
case 'system':
|
||||
if (!isMac) {
|
||||
Logger.warn('[OCR] System OCR provider is only available on macOS')
|
||||
}
|
||||
return new MacSysOcrProvider(provider)
|
||||
default:
|
||||
return new DefaultOcrProvider(provider)
|
||||
|
||||
Reference in New Issue
Block a user