react-native-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS
66 lines (58 loc) • 2.17 kB
text/typescript
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten.
/// Generated from rtu-ui-v2/schemas/creditcard/CreditCardScannerUIResult.yaml
import { CreditCardScanningStatus } from '../../credit_card/CreditCardTypes';
import { GenericDocument } from '../../documents/GenericDocument';
import { ToJsonConfiguration } from '../../utils/json/JsonSerializationTypes';
import { DeepPartial, PartiallyConstructible } from '../../utils/utils';
/**
Configuration of the credit card scanner RTU UI result.
*/
export class CreditCardScannerUiResult extends PartiallyConstructible {
/**
The status of the credit card recognition step.
*/
public readonly recognitionStatus: CreditCardScanningStatus;
/**
Generic document containing credit card data. Not present, if status is FAIL.
*/
public readonly creditCard: GenericDocument | null;
/** @param source {@displayType `DeepPartial<CreditCardScannerUiResult>`} */
public constructor(source: DeepPartial<CreditCardScannerUiResult> = {}) {
super();
if (source.recognitionStatus !== undefined) {
this.recognitionStatus = source.recognitionStatus;
} else {
throw new Error('recognitionStatus must be present in constructor argument');
}
if (source.creditCard !== undefined) {
this.creditCard = source.creditCard != null ? new GenericDocument(source.creditCard) : null;
} else {
throw new Error('creditCard must be present in constructor argument');
}
}
public async serialize(
config: ToJsonConfiguration = new ToJsonConfiguration()
): Promise<DeepPartial<CreditCardScannerUiResult>> {
return {
recognitionStatus: this.recognitionStatus,
creditCard: this.creditCard != null ? await this.creditCard.serialize(config) : null,
};
}
private _released: Boolean = false;
public release() {
if (this._released) {
return;
}
{
if (this.creditCard != null) {
this.creditCard.release();
}
}
this._released = true;
}
public async encodeImages(): Promise<void> {
if (this.creditCard != null) {
await this.creditCard.encodeImages();
}
}
}