add HEICConversionService to handle both electron and wasm
This commit is contained in:
parent
2096d09e0d
commit
c901fcc14e
24
src/services/heicConversionService.ts
Normal file
24
src/services/heicConversionService.ts
Normal file
|
@ -0,0 +1,24 @@
|
|||
import isElectron from 'is-electron';
|
||||
import { logError } from 'utils/sentry';
|
||||
import WasmHEICConverterService from './wasmHeicConverter/wasmHEICConverterService';
|
||||
import ElectronHEICConvertor from 'services/electron/heicConvertor';
|
||||
|
||||
class HeicConversionService {
|
||||
async convert(heicFileData: Blob): Promise<Blob> {
|
||||
try {
|
||||
if (isElectron() && ElectronHEICConvertor.apiExists()) {
|
||||
try {
|
||||
return ElectronHEICConvertor.convert(heicFileData);
|
||||
} catch (e) {
|
||||
return WasmHEICConverterService.convert(heicFileData);
|
||||
}
|
||||
} else {
|
||||
return WasmHEICConverterService.convert(heicFileData);
|
||||
}
|
||||
} catch (e) {
|
||||
logError(e, 'failed to convert heic file');
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
export default new HeicConversionService();
|
Loading…
Reference in a new issue