add HEICConversionService to handle both electron and wasm

This commit is contained in:
Abhinav 2022-10-15 00:42:23 +05:30
parent 2096d09e0d
commit c901fcc14e

View 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();