import { CreditCardScannerConfiguration, CreditCardScannerScreenConfiguration, CreditCardScannerUiResult, CreditCardScanningResult, handleImageInput, ImageInput, mapRTUUIResult, ResultWrapper, withSBErrorHandling, } from '../types'; import { isIOS, ScanbotSDKNativeModule, ScanbotSDKUINativeModule } from './ScanbotSDKModule'; /** * @internal * @hidden */ export const ScanbotCreditCardImpl = { async scanFromImage(params: { image: ImageInput; configuration: CreditCardScannerConfiguration; }): Promise { return withSBErrorHandling( async () => new CreditCardScanningResult( await ScanbotSDKNativeModule.scanCreditCardFromImage({ configuration: params.configuration, image: handleImageInput(params.image), }) ) ); }, async startScanner( configuration: CreditCardScannerScreenConfiguration ): Promise> { return withSBErrorHandling(async () => mapRTUUIResult( await ScanbotSDKUINativeModule.startCreditCardScanner( isIOS ? JSON.stringify(configuration) : configuration ), CreditCardScannerUiResult ) ); }, };