capacitor-plugin-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK for Capacitor
148 lines (143 loc) • 5.39 kB
JavaScript
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten.
/// Generated from core/schemas/CreditCardTypes.yaml
import { GenericDocument } from '../documents/GenericDocument';
import { ResultAccumulationConfiguration } from '../frame_accumulation/FrameAccumulationTypes';
import { ToJsonConfiguration } from '../utils/json/JsonSerializationTypes';
import { PartiallyConstructible } from '../utils/utils';
export const CreditCardScanningStatusValues = [
'SUCCESS',
'ERROR_NOTHING_FOUND',
'INCOMPLETE',
];
/**
Contains the result of running the credit card scanner.
*/
export class CreditCardScanningResult extends PartiallyConstructible {
/** @param source {@displayType `DeepPartial<CreditCardScanningResult>`} */
constructor(source = {}) {
super();
this._released = false;
if (source.detectionStatus !== undefined) {
this.detectionStatus = source.detectionStatus;
}
else {
throw new Error('detectionStatus must be present in constructor argument');
}
if (source.scanningStatus !== undefined) {
this.scanningStatus = source.scanningStatus;
}
else {
throw new Error('scanningStatus 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');
}
if (source.quad !== undefined) {
this.quad = source.quad.map((it) => {
return { x: it.x, y: it.y };
});
}
else {
throw new Error('quad must be present in constructor argument');
}
if (source.quadNormalized !== undefined) {
this.quadNormalized = source.quadNormalized.map((it) => {
return { x: it.x, y: it.y };
});
}
else {
throw new Error('quadNormalized must be present in constructor argument');
}
}
async serialize(config = new ToJsonConfiguration()) {
return {
detectionStatus: this.detectionStatus,
scanningStatus: this.scanningStatus,
creditCard: this.creditCard != null ? await this.creditCard.serialize(config) : null,
quad: this.quad.map((it) => {
return it;
}),
quadNormalized: this.quadNormalized.map((it) => {
return it;
}),
};
}
release() {
if (this._released) {
return;
}
{
if (this.creditCard != null) {
this.creditCard.release();
}
}
this._released = true;
}
async encodeImages() {
if (this.creditCard != null) {
await this.creditCard.encodeImages();
}
}
}
export const CreditCardScanningModeValues = ['LIVE', 'SINGLE_SHOT'];
/**
Configuration for the credit card scanner.
*/
export class CreditCardScannerConfiguration extends PartiallyConstructible {
/** @param source {@displayType `DeepPartial<CreditCardScannerConfiguration>`} */
constructor(source = {}) {
super();
/**
If true, the document detector will be used to find where the credit card is in the input image.
If false, the scanner will assume that the credit card has been pre-cropped and takes the entirety of the input image.
Default is true
*/
this.useDocumentDetector = true;
/**
The scanning mode.
Default is LIVE
*/
this.scanningMode = 'LIVE';
/**
Whether the expiry date is required for a successful scan.
Default is true
*/
this.requireExpiryDate = true;
/**
Whether the cardholder name is required for a successful scan.
Default is true
*/
this.requireCardholderName = true;
/**
Configuration for how to accumulate results.
*/
this.resultAccumulationConfig = new ResultAccumulationConfiguration({});
/**
If true, the credit card image will be returned in creditCard field of CreditCardScanningResult.
Default is false
*/
this.returnCreditCardImage = false;
if (source.useDocumentDetector !== undefined) {
this.useDocumentDetector = source.useDocumentDetector;
}
if (source.scanningMode !== undefined) {
this.scanningMode = source.scanningMode;
}
if (source.requireExpiryDate !== undefined) {
this.requireExpiryDate = source.requireExpiryDate;
}
if (source.requireCardholderName !== undefined) {
this.requireCardholderName = source.requireCardholderName;
}
if (source.resultAccumulationConfig !== undefined) {
this.resultAccumulationConfig = new ResultAccumulationConfiguration(source.resultAccumulationConfig);
}
if (source.returnCreditCardImage !== undefined) {
this.returnCreditCardImage = source.returnCreditCardImage;
}
}
}
//# sourceMappingURL=CreditCardTypes.js.map