import { handleImageInput, ImageInput, mapRTUUIResult, MrzScannerConfiguration, MrzScannerResult, MrzScannerScreenConfiguration, MrzScannerUiResult, ResultWrapper, withSBErrorHandling, } from '../types'; import { isIOS, ScanbotSDKNativeModule, ScanbotSDKUINativeModule } from './ScanbotSDKModule'; /** * @internal * @hidden */ export const ScanbotMrzImpl = { async scanFromImage(params: { image: ImageInput; configuration: MrzScannerConfiguration; }): Promise { return withSBErrorHandling( async () => new MrzScannerResult( await ScanbotSDKNativeModule.scanMrzFromImage({ configuration: params.configuration, image: handleImageInput(params.image), }) ) ); }, async startScanner( configuration: MrzScannerScreenConfiguration ): Promise> { return withSBErrorHandling(async () => mapRTUUIResult( await ScanbotSDKUINativeModule.startMrzScanner( isIOS ? JSON.stringify(configuration) : configuration ), MrzScannerUiResult ) ); }, };