scandit-react-native-datacapture-id 6.28.0 → 6.28.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/id.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"id.js","sources":["../../../shared/jsmobile/scandit-datacapture-frameworks-id/dist/index.js"],"sourcesContent":["import { Quadrilateral, FactoryMaker, Feedback, CameraSettings, Color, BaseController, CameraController, nameForSerialization, DefaultSerializeable, ignoreFromSerialization, Brush } from 'scandit-datacapture-frameworks-core';\n\nvar ComparisonCheckResult;\n(function (ComparisonCheckResult) {\n ComparisonCheckResult[\"Passed\"] = \"passed\";\n ComparisonCheckResult[\"Skipped\"] = \"skipped\";\n ComparisonCheckResult[\"Failed\"] = \"failed\";\n})(ComparisonCheckResult || (ComparisonCheckResult = {}));\n\nclass DateResult {\n get day() { return this.json.day; }\n get month() { return this.json.month; }\n get year() { return this.json.year; }\n get localDate() {\n return new Date(this.json.year, this.json.month ? this.json.month - 1 : 1, this.json.day || 1);\n }\n get utcDate() {\n return new Date(Date.UTC(this.json.year, this.json.month ? this.json.month - 1 : 1, this.json.day || 1));\n }\n static fromJSON(json) {\n if (json === null) {\n return null;\n }\n const dateResult = new DateResult();\n dateResult.json = json;\n return dateResult;\n }\n}\n\nclass DateComparisonCheck {\n get vizValue() {\n return DateResult.fromJSON(this.json.vizValue);\n }\n get aamvaBarcodeValue() {\n return DateResult.fromJSON(this.json.aamvaBarcodeValue);\n }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new DateComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nvar IdAnonymizationMode;\n(function (IdAnonymizationMode) {\n IdAnonymizationMode[\"None\"] = \"none\";\n IdAnonymizationMode[\"FieldsOnly\"] = \"fieldsOnly\";\n IdAnonymizationMode[\"ImagesOnly\"] = \"imagesOnly\";\n IdAnonymizationMode[\"FieldsAndImages\"] = \"fieldsAndImages\";\n})(IdAnonymizationMode || (IdAnonymizationMode = {}));\n\nvar IdDocumentType;\n(function (IdDocumentType) {\n IdDocumentType[\"AAMVABarcode\"] = \"aamvaBarcode\";\n IdDocumentType[\"ArgentinaIdBarcode\"] = \"argentinaIdBarcode\";\n IdDocumentType[\"ColombiaIdBarcode\"] = \"colombiaIdBarcode\";\n IdDocumentType[\"ColombiaDlBarcode\"] = \"colombiaDlBarcode\";\n IdDocumentType[\"CommonAccessCardBarcode\"] = \"commonAccessCardBarcode\";\n IdDocumentType[\"DLVIZ\"] = \"dlViz\";\n IdDocumentType[\"IdCardMRZ\"] = \"idCardMrz\";\n IdDocumentType[\"IdCardVIZ\"] = \"idCardViz\";\n IdDocumentType[\"PassportMRZ\"] = \"passportMrz\";\n IdDocumentType[\"PassportVIZ\"] = \"passportViz\";\n IdDocumentType[\"SouthAfricaDlBarcode\"] = \"southAfricaDlBarcode\";\n IdDocumentType[\"SouthAfricaIdBarcode\"] = \"southAfricaIdBarcode\";\n IdDocumentType[\"SwissDLMRZ\"] = \"swissDlMrz\";\n IdDocumentType[\"USUSIdBarcode\"] = \"usUsIdBarcode\";\n IdDocumentType[\"VisaMRZ\"] = \"visaMrz\";\n IdDocumentType[\"ChinaMainlandTravelPermitMRZ\"] = \"chinaMainlandTravelPermitMrz\";\n IdDocumentType[\"ChinaExitEntryPermitMRZ\"] = \"chinaExitEntryPermitMrz\";\n IdDocumentType[\"ChinaOneWayPermitBackMRZ\"] = \"chinaOneWayPermitBackMrz\";\n IdDocumentType[\"ChinaOneWayPermitFrontMRZ\"] = \"chinaOneWayPermitFrontMrz\";\n IdDocumentType[\"ApecBusinessTravelCardMRZ\"] = \"apecBusinessTravelCardMrz\";\n})(IdDocumentType || (IdDocumentType = {}));\n\nvar IdImageType;\n(function (IdImageType) {\n IdImageType[\"Face\"] = \"face\";\n IdImageType[\"IdFront\"] = \"idFront\";\n IdImageType[\"IdBack\"] = \"idBack\";\n})(IdImageType || (IdImageType = {}));\n\nclass LocalizedOnlyId {\n get location() {\n return this._location;\n }\n static fromJSON(json) {\n const result = new LocalizedOnlyId();\n result._location = Quadrilateral.fromJSON(json.location);\n return result;\n }\n}\n\nclass RejectedId {\n get location() {\n return this._location;\n }\n get rejectionReason() {\n return this._rejectionReason;\n }\n static fromJSON(json) {\n const result = new RejectedId();\n result._location = Quadrilateral.fromJSON(json.location);\n result._rejectionReason = json.rejectionReason;\n return result;\n }\n}\n\nclass StringComparisonCheck {\n get vizValue() { return this.json.vizValue; }\n get aamvaBarcodeValue() { return this.json.aamvaBarcodeValue; }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new StringComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nvar SupportedSides;\n(function (SupportedSides) {\n SupportedSides[\"FrontOnly\"] = \"frontOnly\";\n SupportedSides[\"FrontAndBack\"] = \"frontAndBack\";\n})(SupportedSides || (SupportedSides = {}));\n\nvar TextHintPosition;\n(function (TextHintPosition) {\n TextHintPosition[\"AboveViewfinder\"] = \"aboveViewfinder\";\n TextHintPosition[\"BelowViewfinder\"] = \"belowViewfinder\";\n})(TextHintPosition || (TextHintPosition = {}));\n\nvar VizMrzComparisonCheckResult;\n(function (VizMrzComparisonCheckResult) {\n VizMrzComparisonCheckResult[\"Passed\"] = \"passed\";\n VizMrzComparisonCheckResult[\"Skipped\"] = \"skipped\";\n VizMrzComparisonCheckResult[\"Failed\"] = \"failed\";\n})(VizMrzComparisonCheckResult || (VizMrzComparisonCheckResult = {}));\n\nclass VizMrzDateComparisonCheck {\n get vizValue() {\n return DateResult.fromJSON(this.json.vizValue);\n }\n get mrzValue() {\n return DateResult.fromJSON(this.json.mrzValue);\n }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new VizMrzDateComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nclass VizMrzStringComparisonCheck {\n get vizValue() { return this.json.vizValue; }\n get mrzValue() { return this.json.mrzValue; }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new VizMrzStringComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nvar RejectionReason;\n(function (RejectionReason) {\n RejectionReason[\"DocumentTypeNotEnabled\"] = \"documentTypeNotEnabled\";\n RejectionReason[\"IncorrectBarcodeFormat\"] = \"incorrectBarcodeFormat\";\n RejectionReason[\"DocumentVoided\"] = \"documentVoided\";\n})(RejectionReason || (RejectionReason = {}));\n\nfunction getIdDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n}\nfunction parseIdDefaults(jsonDefaults) {\n const idDefaults = {\n IdCapture: {\n Feedback: {\n idCaptured: Feedback.fromJSON(JSON.parse(jsonDefaults.IdCaptureFeedback).idCaptured),\n idRejected: Feedback.fromJSON(JSON.parse(jsonDefaults.IdCaptureFeedback).idRejected),\n idCaptureTimeout: Feedback.fromJSON(JSON.parse(jsonDefaults.IdCaptureFeedback).idCaptureTimeout),\n },\n RecommendedCameraSettings: CameraSettings\n .fromJSON(jsonDefaults.RecommendedCameraSettings),\n IdCaptureOverlayDefaults: {\n defaultCapturedBrush: {\n fillColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultCapturedBrush.fillColor),\n strokeColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultCapturedBrush.strokeColor),\n strokeWidth: jsonDefaults.IdCaptureOverlay.DefaultCapturedBrush.strokeWidth,\n },\n defaultLocalizedBrush: {\n fillColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultLocalizedBrush.fillColor),\n strokeColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultLocalizedBrush.strokeColor),\n strokeWidth: jsonDefaults.IdCaptureOverlay.DefaultLocalizedBrush.strokeWidth,\n },\n defaultRejectedBrush: {\n fillColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultRejectedBrush.fillColor),\n strokeColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultRejectedBrush.strokeColor),\n strokeWidth: jsonDefaults.IdCaptureOverlay.DefaultRejectedBrush.strokeWidth,\n },\n },\n IdCaptureSettings: {\n anonymizationMode: jsonDefaults.IdCaptureSettings.anonymizationMode,\n rejectVoidedIds: jsonDefaults.IdCaptureSettings.rejectVoidedIds,\n },\n },\n };\n return idDefaults;\n}\n\nfunction loadIdDefaults(jsonDefaults) {\n const idDefaults = parseIdDefaults(jsonDefaults);\n FactoryMaker.bindInstanceIfNotExists('IdDefaults', idDefaults);\n}\n\nclass AAMVABarcodeResult {\n get aamvaVersion() { return this.json.aamvaVersion; }\n get aliasFamilyName() { return this.json.aliasFamilyName; }\n get aliasGivenName() { return this.json.aliasGivenName; }\n get aliasSuffixName() { return this.json.aliasSuffixName; }\n get isRealId() { return this.json.isRealId; }\n get driverNamePrefix() { return this.json.driverNamePrefix; }\n get driverNameSuffix() { return this.json.driverNameSuffix; }\n get endorsementsCode() { return this.json.endorsementsCode; }\n get eyeColor() { return this.json.eyeColor; }\n get firstNameWithoutMiddleName() { return this.json.firstNameWithoutMiddleName; }\n get firstNameTruncation() { return this.json.firstNameTruncation; }\n get hairColor() { return this.json.hairColor; }\n get heightCm() { return this.json.heightCm; }\n get heightInch() { return this.json.heightInch; }\n get iIN() { return this.json.iin; }\n get issuingJurisdiction() { return this.json.issuingJurisdiction; }\n get issuingJurisdictionIso() { return this.json.issuingJurisdictionIso; }\n get jurisdictionVersion() { return this.json.jurisdictionVersion; }\n get lastNameTruncation() { return this.json.lastNameTruncation; }\n get middleName() { return this.json.middleName; }\n get middleNameTruncation() { return this.json.middleNameTruncation; }\n get placeOfBirth() { return this.json.placeOfBirth; }\n get race() { return this.json.race; }\n get restrictionsCode() { return this.json.restrictionsCode; }\n get vehicleClass() { return this.json.vehicleClass; }\n get weightKg() { return this.json.weightKg; }\n get weightLbs() { return this.json.weightLbs; }\n get cardRevisionDate() {\n return DateResult.fromJSON(this.json.cardRevisionDate);\n }\n get documentDiscriminatorNumber() { return this.json.documentDiscriminatorNumber; }\n get barcodeDataElements() { return this.json.barcodeDataElements; }\n static fromJSON(json) {\n const result = new AAMVABarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nvar AamvaBarcodeVerificationStatus;\n(function (AamvaBarcodeVerificationStatus) {\n AamvaBarcodeVerificationStatus[\"Authentic\"] = \"authentic\";\n AamvaBarcodeVerificationStatus[\"LikelyForged\"] = \"maybeForged\";\n AamvaBarcodeVerificationStatus[\"Forged\"] = \"forged\";\n})(AamvaBarcodeVerificationStatus || (AamvaBarcodeVerificationStatus = {}));\n\nclass AamvaBarcodeVerificationResult {\n /**\n * @deprecated\n */\n get allChecksPassed() { return this.json.allChecksPassed; }\n get status() {\n return this._status;\n }\n static fromJSON(json) {\n const result = new AamvaBarcodeVerificationResult();\n result.json = json;\n switch (result.json.verificationStatus) {\n case \"authentic\":\n result._status = AamvaBarcodeVerificationStatus.Authentic;\n break;\n case \"maybeForged\":\n result._status = AamvaBarcodeVerificationStatus.LikelyForged;\n break;\n case \"forged\":\n result._status = AamvaBarcodeVerificationStatus.Forged;\n break;\n }\n return result;\n }\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nclass IdCaptureController extends BaseController {\n static forIdCapture(idCapture) {\n const controller = new IdCaptureController();\n controller.idCapture = idCapture;\n return controller;\n }\n constructor() {\n super('IdCaptureProxy');\n }\n reset() {\n return this._proxy.resetMode();\n }\n verifyCapturedId(capturedId) {\n return this._proxy.verifyCapturedId(capturedId);\n }\n createContextForBarcodeVerification(context) {\n return this._proxy.createContextForBarcodeVerification(JSON.stringify(context.toJSON()));\n }\n verifyCapturedIdAsync(capturedId) {\n return this._proxy.verifyCapturedIdAsync(capturedId);\n }\n verifyVizMrz(capturedId) {\n return this._proxy.verifyVizMrz(capturedId);\n }\n setModeEnabledState(enabled) {\n this._proxy.setModeEnabledState(enabled);\n }\n updateIdCaptureMode() {\n return this._proxy.updateIdCaptureMode(JSON.stringify(this.idCapture.toJSON()));\n }\n applyIdCaptureModeSettings(newSettings) {\n return this._proxy.applyIdCaptureModeSettings(JSON.stringify(newSettings.toJSON()));\n }\n updateIdCaptureOverlay(overlay) {\n return this._proxy.updateIdCaptureOverlay(JSON.stringify(overlay.toJSON()));\n }\n updateFeedback(feedback) {\n return this._proxy.updateFeedback(JSON.stringify(feedback.toJSON()));\n }\n}\n\nclass ApecBusinessTravelCardMrzResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n get passportIssuerIso() { return this.json.passportIssuerIso; }\n get passportNumber() { return this.json.passportNumber; }\n get passportDateOfExpiry() {\n return DateResult.fromJSON(this.json.passportDateOfExpiry);\n }\n static fromJSON(json) {\n const result = new ApecBusinessTravelCardMrzResult();\n result.json = json;\n return result;\n }\n}\n\nclass ArgentinaIdBarcodeResult {\n get personalIdNumber() { return this.json.personalIdNumber; }\n get documentCopy() { return this.json.documentCopy; }\n static fromJSON(json) {\n const result = new ArgentinaIdBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaExitEntryPermitMRZResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n static fromJSON(json) {\n const result = new ChinaExitEntryPermitMRZResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaMainlandTravelPermitMRZResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n get renewalTimes() { return this.json.renewalTimes; }\n get fullNameSimplifiedChinese() { return this.json.fullNameSimplifiedChinese; }\n get omittedCharacterCountInGBKName() { return this.json.omittedCharacterCountInGBKName; }\n get omittedNameCount() { return this.json.omittedNameCount; }\n get issuingAuthorityCode() { return this.json.issuingAuthorityCode; }\n static fromJSON(json) {\n const result = new ChinaMainlandTravelPermitMRZResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaOneWayPermitBackMrzResult {\n get documentCode() { return this.json.documentCode; }\n get namesAreTruncated() { return this.json.namesAreTruncated; }\n get capturedMrz() { return this.json.capturedMrz; }\n static fromJSON(json) {\n const result = new ChinaOneWayPermitBackMrzResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaOneWayPermitFrontMrzResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n get fullNameSimplifiedChinese() { return this.json.fullNameSimplifiedChinese; }\n static fromJSON(json) {\n const result = new ChinaOneWayPermitFrontMrzResult();\n result.json = json;\n return result;\n }\n}\n\nclass ColombiaDlBarcodeResult {\n get categories() { return this.json.categories; }\n get identificationType() { return this.json.identificationType; }\n static fromJSON(json) {\n const result = new ColombiaDlBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass ColombiaIdBarcodeResult {\n get bloodType() { return this.json.bloodType; }\n static fromJSON(json) {\n const result = new ColombiaIdBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass MRZResult {\n get documentCode() { return this.json.documentCode; }\n get namesAreTruncated() { return this.json.namesAreTruncated; }\n get optional() { return this.json.optional; }\n get optional1() { return this.json.optional1; }\n get capturedMrz() { return this.json.capturedMrz; }\n static fromJSON(json) {\n const result = new MRZResult();\n result.json = json;\n return result;\n }\n}\n\nclass ProfessionalDrivingPermit {\n get dateOfExpiry() { return DateResult.fromJSON(this.json.dateOfExpiry); }\n get codes() { return this.json.codes; }\n static fromJSON(json) {\n if (json === null) {\n return null;\n }\n const object = new ProfessionalDrivingPermit();\n object.json = json;\n return object;\n }\n}\n\nclass VehicleRestriction {\n get vehicleCode() { return this.json.vehicleCode; }\n get vehicleRestriction() { return this.json.vehicleRestriction; }\n get dateOfIssue() { return DateResult.fromJSON(this.json.dateOfIssue); }\n static fromJSON(json) {\n if (json === null) {\n return null;\n }\n const object = new VehicleRestriction();\n object.json = json;\n return object;\n }\n}\n\nclass SouthAfricaDlBarcodeResult {\n get version() { return this.json.version; }\n get licenseCountryOfIssue() { return this.json.licenseCountryOfIssue; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n get personalIdNumberType() { return this.json.personalIdNumberType; }\n get documentCopy() { return this.json.documentCopy; }\n get driverRestrictionCodes() { return this.json.driverRestrictionCodes; }\n get professionalDrivingPermit() {\n return ProfessionalDrivingPermit.fromJSON(this.json.professionalDrivingPermit);\n }\n get vehicleRestrictions() {\n return this.json.vehicleRestrictions.map(json => VehicleRestriction.fromJSON(json));\n }\n static fromJSON(json) {\n const result = new SouthAfricaDlBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass SouthAfricaIdBarcodeResult {\n get countryOfBirth() { return this.json.countryOfBirth; }\n get countryOfBirthIso() { return this.json.countryOfBirthIso; }\n get citizenshipStatus() { return this.json.citizenshipStatus; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n static fromJSON(json) {\n const result = new SouthAfricaIdBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass USUniformedServicesBarcodeResult {\n get bloodType() { return this.json.bloodType; }\n get branchOfService() { return this.json.branchOfService; }\n get champusEffectiveDate() {\n return DateResult.fromJSON(this.json.champusEffectiveDate);\n }\n get champusExpiryDate() {\n return DateResult.fromJSON(this.json.champusExpiryDate);\n }\n get civilianHealthCareFlagCode() { return this.json.civilianHealthCareFlagCode; }\n get civilianHealthCareFlagDescription() { return this.json.civilianHealthCareFlagDescription; }\n get commissaryFlagCode() { return this.json.commissaryFlagCode; }\n get commissaryFlagDescription() { return this.json.commissaryFlagDescription; }\n get deersDependentSuffixCode() { return this.json.deersDependentSuffixCode; }\n get deersDependentSuffixDescription() { return this.json.deersDependentSuffixDescription; }\n get directCareFlagCode() { return this.json.directCareFlagCode; }\n get directCareFlagDescription() { return this.json.directCareFlagDescription; }\n get exchangeFlagCode() { return this.json.exchangeFlagCode; }\n get exchangeFlagDescription() { return this.json.exchangeFlagDescription; }\n get eyeColor() { return this.json.eyeColor; }\n get familySequenceNumber() { return this.json.familySequenceNumber; }\n get formNumber() { return this.json.formNumber; }\n get genevaConventionCategory() { return this.json.genevaConventionCategory; }\n get hairColor() { return this.json.hairColor; }\n get height() { return this.json.height; }\n get jpegData() { return this.json.jpegData; }\n get mwrFlagCode() { return this.json.mwrFlagCode; }\n get mwrFlagDescription() { return this.json.mwrFlagDescription; }\n get payGrade() { return this.json.payGrade; }\n get personDesignatorDocument() { return this.json.personDesignatorDocument; }\n get rank() { return this.json.rank; }\n get relationshipCode() { return this.json.relationshipCode; }\n get relationshipDescription() { return this.json.relationshipDescription; }\n get securityCode() { return this.json.securityCode; }\n get serviceCode() { return this.json.serviceCode; }\n get sponsorFlag() { return this.json.sponsorFlag; }\n get sponsorName() { return this.json.sponsorName; }\n get sponsorPersonDesignatorIdentifier() {\n return this.json.sponsorPersonDesignatorIdentifier;\n }\n get statusCode() { return this.json.statusCode; }\n get statusCodeDescription() { return this.json.statusCodeDescription; }\n get version() { return this.json.version; }\n get weight() { return this.json.weight; }\n static fromJSON(json) {\n const result = new USUniformedServicesBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass USVisaVIZResult {\n get visaNumber() { return this.json.visaNumber; }\n get passportNumber() { return this.json.passportNumber; }\n static fromJSON(json) {\n const result = new USVisaVIZResult();\n result.json = json;\n return result;\n }\n}\n\nclass CommonCapturedIdFields {\n get firstName() { return this.json.firstName; }\n get lastName() { return this.json.lastName; }\n get fullName() { return this.json.fullName; }\n get secondaryLastName() { return this.json.secondaryLastName; }\n get sex() { return this.json.sex; }\n get dateOfBirth() {\n return DateResult.fromJSON(this.json.dateOfBirth);\n }\n get age() { return this.json.age; }\n get isExpired() { return this.json.isExpired; }\n get nationality() { return this.json.nationality; }\n get address() { return this.json.address; }\n get documentAdditionalNumber() { return this.json.documentAdditionalNumber; }\n get documentType() { return this.json.documentType; }\n get documentNumber() { return this.json.documentNumber; }\n get issuingCountry() { return this.json.issuingCountry; }\n get issuingCountryIso() { return this.json.issuingCountryIso; }\n get dateOfExpiry() {\n return DateResult.fromJSON(this.json.dateOfExpiry);\n }\n get dateOfIssue() {\n return DateResult.fromJSON(this.json.dateOfIssue);\n }\n static fromJSON(json, existingInstance) {\n if (json === null) {\n return null;\n }\n const firstName = json.firstName;\n const lastName = json.lastName;\n const fullName = json.fullName;\n const secondaryLastName = json.secondaryLastName;\n const sex = json.sex;\n const dateOfBirth = DateResult.fromJSON(json.dateOfBirth);\n const age = json.age;\n const isExpired = json.isExpired;\n const nationality = json.nationality;\n const address = json.address;\n const documentType = json.documentType;\n const documentNumber = json.documentNumber;\n const issuingCountry = json.issuingCountry;\n const issuingCountryIso = json.issuingCountryIso;\n const dateOfExpiry = DateResult.fromJSON(json.dateOfExpiry);\n const dateOfIssue = DateResult.fromJSON(json.dateOfIssue);\n if (existingInstance) {\n if (!existingInstance.firstName) {\n json.firstName = firstName;\n }\n if (!existingInstance.lastName) {\n json.lastName = lastName;\n }\n if (!existingInstance.fullName) {\n json.fullName = fullName;\n }\n if (!existingInstance.secondaryLastName) {\n json.secondaryLastName = secondaryLastName;\n }\n if (!existingInstance.sex) {\n json.sex = sex;\n }\n if (!existingInstance.dateOfBirth) {\n json.dateOfBirth = dateOfBirth;\n }\n if (!existingInstance.age) {\n json.age = age;\n }\n if (!existingInstance.isExpired) {\n json.isExpired = isExpired;\n }\n if (!existingInstance.nationality) {\n json.nationality = nationality;\n }\n if (!existingInstance.address) {\n json.address = address;\n }\n if (!existingInstance.documentType) {\n json.documentType = documentType;\n }\n if (!existingInstance.documentNumber) {\n json.documentNumber = documentNumber;\n }\n if (!existingInstance.issuingCountry) {\n json.issuingCountry = issuingCountry;\n }\n if (!existingInstance.issuingCountryIso) {\n json.issuingCountryIso = issuingCountryIso;\n }\n if (!existingInstance.dateOfExpiry) {\n json.dateOfExpiry = dateOfExpiry;\n }\n if (!existingInstance.dateOfIssue) {\n json.dateOfIssue = dateOfIssue;\n }\n }\n const object = new CommonCapturedIdFields();\n object.json = json;\n return object;\n }\n}\n\nclass VIZResult {\n get additionalAddressInformation() { return this.json.additionalAddressInformation; }\n get additionalNameInformation() { return this.json.additionalNameInformation; }\n get documentAdditionalNumber() { return this.json.documentAdditionalNumber; }\n get employer() { return this.json.employer; }\n get issuingAuthority() { return this.json.issuingAuthority; }\n get issuingJurisdiction() { return this.json.issuingJurisdiction; }\n get issuingJurisdictionIso() { return this.json.issuingJurisdictionIso; }\n get maritalStatus() { return this.json.maritalStatus; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n get placeOfBirth() { return this.json.placeOfBirth; }\n get profession() { return this.json.profession; }\n get race() { return this.json.race; }\n get religion() { return this.json.religion; }\n get residentialStatus() { return this.json.residentialStatus; }\n get capturedSides() { return this.json.capturedSides; }\n get isBackSideCaptureSupported() { return this.json.isBackSideCaptureSupported; }\n get bloodType() { return this.json.bloodType; }\n get sponsor() { return this.json.sponsor; }\n get mothersName() { return this.json.mothersName; }\n get fathersName() { return this.json.fathersName; }\n static fromJSON(json) {\n const result = new VIZResult();\n result.json = json;\n return result;\n }\n}\n\nclass CommonAccessCardBarcodeResult {\n get version() { return this.json.version; }\n get personDesignatorDocument() { return this.json.personDesignatorDocument; }\n get personDesignatorTypeCode() { return this.json.personDesignatorTypeCode; }\n get ediPersonIdentifier() { return this.json.ediPersonIdentifier; }\n get personnelCategoryCode() { return this.json.personnelCategoryCode; }\n get branchOfService() { return this.json.branchOfService; }\n get personnelEntitlementConditionType() { return this.json.personnelEntitlementConditionType; }\n get rank() { return this.json.rank; }\n get payPlanCode() { return this.json.payPlanCode; }\n get payPlanGradeCode() { return this.json.payPlanGradeCode; }\n get cardInstanceIdentifier() { return this.json.cardInstanceIdentifier; }\n get personMiddleInitial() { return this.json.personMiddleInitial; }\n static fromJSON(json) {\n const result = new CommonAccessCardBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass CapturedId {\n get firstName() { return this.commonCapturedFields.firstName; }\n get lastName() { return this.commonCapturedFields.lastName; }\n get fullName() { return this.commonCapturedFields.fullName; }\n get secondaryLastName() { return this.commonCapturedFields.secondaryLastName; }\n get sex() { return this.commonCapturedFields.sex; }\n get dateOfBirth() {\n return DateResult.fromJSON(this.commonCapturedFields.dateOfBirth);\n }\n get age() { return this.json.age; }\n get isExpired() { return this.json.isExpired; }\n get nationality() { return this.commonCapturedFields.nationality; }\n get address() { return this.commonCapturedFields.address; }\n get capturedResultType() { return this.json.capturedResultType; }\n get capturedResultTypes() {\n return this.json.capturedResultTypes;\n }\n get documentType() { return this.commonCapturedFields.documentType; }\n get issuingCountryIso() { return this.commonCapturedFields.issuingCountryIso; }\n get issuingCountry() { return this.commonCapturedFields.issuingCountry; }\n get documentAdditionalNumber() { return this.commonCapturedFields.documentAdditionalNumber; }\n get documentNumber() { return this.commonCapturedFields.documentNumber; }\n get dateOfExpiry() {\n return DateResult.fromJSON(this.commonCapturedFields.dateOfExpiry);\n }\n get dateOfIssue() {\n return DateResult.fromJSON(this.commonCapturedFields.dateOfIssue);\n }\n get aamvaBarcodeResult() {\n if (this._aamvaBarcodeResult == null && this.json.aamvaBarcodeResult != null) {\n this._aamvaBarcodeResult = AAMVABarcodeResult.\n fromJSON(this.json.aamvaBarcodeResult);\n }\n return this._aamvaBarcodeResult;\n }\n get argentinaIdBarcodeResult() {\n if (this._argentinaIdBarcodeResult == null && this.json.argentinaIdBarcodeResult != null) {\n this._argentinaIdBarcodeResult = ArgentinaIdBarcodeResult.\n fromJSON(this.json.argentinaIdBarcodeResult);\n }\n return this._argentinaIdBarcodeResult;\n }\n get colombiaIdBarcodeResult() {\n if (this._colombiaIdBarcodeResult == null && this.json.colombiaIdBarcodeResult != null) {\n this._colombiaIdBarcodeResult = ColombiaIdBarcodeResult.\n fromJSON(this.json.colombiaIdBarcodeResult);\n }\n return this._colombiaIdBarcodeResult;\n }\n get colombiaDlBarcodeResult() {\n if (this._colombiaDlBarcodeResult == null && this.json.colombiaDlBarcodeResult != null) {\n this._colombiaDlBarcodeResult = ColombiaDlBarcodeResult.\n fromJSON(this.json.colombiaDlBarcodeResult);\n }\n return this._colombiaDlBarcodeResult;\n }\n get mrzResult() {\n if (this._mrzResult == null && this.json.mrzResult != null) {\n this._mrzResult = MRZResult.fromJSON(this.json.mrzResult);\n }\n return this._mrzResult;\n }\n get southAfricaIdBarcodeResult() {\n if (this._southAfricaIdBarcodeResult == null && this.json.southAfricaIdBarcodeResult != null) {\n this._southAfricaIdBarcodeResult = SouthAfricaIdBarcodeResult.\n fromJSON(this.json.southAfricaIdBarcodeResult);\n }\n return this._southAfricaIdBarcodeResult;\n }\n get southAfricaDlBarcodeResult() {\n if (this._southAfricaDlBarcodeResult == null && this.json.southAfricaDlBarcodeResult != null) {\n this._southAfricaDlBarcodeResult = SouthAfricaDlBarcodeResult.\n fromJSON(this.json.southAfricaDlBarcodeResult);\n }\n return this._southAfricaDlBarcodeResult;\n }\n get commonAccessCardBarcodeResult() {\n if (this._commonAccessBarcodeResult == null && this.json.commonAccessCardBarcodeResult != null) {\n this._commonAccessBarcodeResult = CommonAccessCardBarcodeResult.\n fromJSON(this.json.commonAccessCardBarcodeResult);\n }\n return this._commonAccessBarcodeResult;\n }\n get usUniformedServicesBarcodeResult() {\n if (this._usUniformedServicesBarcodeResult == null && this.json.usUniformedServicesBarcodeResult != null) {\n const fromJSON = USUniformedServicesBarcodeResult.fromJSON;\n this._usUniformedServicesBarcodeResult = fromJSON(this.json.usUniformedServicesBarcodeResult);\n }\n return this._usUniformedServicesBarcodeResult;\n }\n get usVisaViz() {\n if (this._usVisaVizResult == null && this.json.usVisaVizResult != null) {\n const fromJSON = USVisaVIZResult.fromJSON;\n this._usVisaVizResult = fromJSON(this.json.usVisaVizResult);\n }\n return this._usVisaVizResult;\n }\n get vizResult() {\n if (this._vizResult == null && this.json.vizResult != null) {\n this._vizResult = VIZResult.fromJSON(this.json.vizResult);\n }\n return this._vizResult;\n }\n get chinaMainlandTravelPermitMRZResult() {\n if (this._chinaMainlandTravelPermitMRZResult == null && this.json.chinaMainlandTravelPermitMrzResult != null) {\n this._chinaMainlandTravelPermitMRZResult =\n ChinaMainlandTravelPermitMRZResult\n .fromJSON(this.json.chinaMainlandTravelPermitMrzResult);\n }\n return this._chinaMainlandTravelPermitMRZResult;\n }\n get chinaExitEntryPermitMRZResult() {\n if (this._chinaExitEntryPermitMRZResult == null && this.json.chinaExitEntryPermitMrzResult != null) {\n this._chinaExitEntryPermitMRZResult =\n ChinaExitEntryPermitMRZResult\n .fromJSON(this.json.chinaExitEntryPermitMrzResult);\n }\n return this._chinaExitEntryPermitMRZResult;\n }\n get chinaOneWayPermitBackMrzResult() {\n if (this._chinaOneWayPermitBackMrzResult == null && this.json.chinaOneWayPermitBackMrzResult != null) {\n this._chinaOneWayPermitBackMrzResult =\n ChinaOneWayPermitBackMrzResult\n .fromJSON(this.json.chinaOneWayPermitBackMrzResult);\n }\n return this._chinaOneWayPermitBackMrzResult;\n }\n get chinaOneWayPermitFrontMrzResult() {\n if (this._chinaOneWayPermitFrontMrzResult == null && this.json.chinaOneWayPermitFrontMrzResult != null) {\n this._chinaOneWayPermitFrontMrzResult =\n ChinaOneWayPermitFrontMrzResult\n .fromJSON(this.json.chinaOneWayPermitFrontMrzResult);\n }\n return this._chinaOneWayPermitFrontMrzResult;\n }\n get apecBusinessTravelCardMrzResult() {\n if (this._apecBusinessTravelCardMrzResult == null && this.json.apecBusinessTravelCardMrzResult != null) {\n this._apecBusinessTravelCardMrzResult =\n ApecBusinessTravelCardMrzResult\n .fromJSON(this.json.apecBusinessTravelCardMrzResult);\n }\n return this._apecBusinessTravelCardMrzResult;\n }\n static fromJSON(json) {\n const result = new CapturedId();\n result.json = json;\n if (json.aamvaBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.aamvaBarcodeResult, result.commonCapturedFields);\n }\n if (json.argentinaIdBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.argentinaIdBarcodeResult, result.commonCapturedFields);\n }\n if (json.colombiaIdBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.colombiaIdBarcodeResult, result.commonCapturedFields);\n }\n if (json.colombiaDlBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.colombiaDlBarcodeResult, result.commonCapturedFields);\n }\n if (json.mrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.mrzResult, result.commonCapturedFields);\n }\n if (json.southAfricaIdBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.southAfricaIdBarcodeResult, result.commonCapturedFields);\n }\n if (json.southAfricaDlBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.southAfricaDlBarcodeResult, result.commonCapturedFields);\n }\n if (json.commonAccessCardBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.commonAccessCardBarcodeResult, result.commonCapturedFields);\n }\n if (json.usUniformedServicesBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.usUniformedServicesBarcodeResult, result.commonCapturedFields);\n }\n if (json.usVisaVizResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.usVisaVizResult, result.commonCapturedFields);\n }\n if (json.vizResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.vizResult, result.commonCapturedFields);\n }\n if (json.chinaMainlandTravelPermitMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaMainlandTravelPermitMrzResult, result.commonCapturedFields);\n }\n if (json.chinaExitEntryPermitMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaExitEntryPermitMrzResult, result.commonCapturedFields);\n }\n if (json.chinaOneWayPermitBackMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaOneWayPermitBackMrzResult, result.commonCapturedFields);\n }\n if (json.chinaOneWayPermitFrontMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaOneWayPermitFrontMrzResult, result.commonCapturedFields);\n }\n if (json.apecBusinessTravelCardMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.apecBusinessTravelCardMrzResult, result.commonCapturedFields);\n }\n return result;\n }\n idImageOfType(type) {\n if (this.json.imageInfo === null) {\n return null;\n }\n return this.json.imageInfo[type];\n }\n}\n\nclass IdCaptureError {\n get type() {\n return this._type;\n }\n get message() {\n return this._message;\n }\n static fromJSON(json) {\n const error = new IdCaptureError();\n error._type = json.type;\n error._message = json.message;\n return error;\n }\n}\n\nclass IdCaptureSession {\n get newlyCapturedId() {\n return this._newlyCapturedId;\n }\n get frameSequenceId() {\n return this._frameSequenceId;\n }\n get localizedOnlyId() {\n return this._localizedOnlyId;\n }\n get newlyRejectedId() {\n return this._newlyRejectedId;\n }\n static fromJSON(json) {\n const session = new IdCaptureSession();\n if (json.newlyCapturedId) {\n session._newlyCapturedId = CapturedId.fromJSON(json.newlyCapturedId);\n }\n if (json.localizedOnlyId) {\n session._localizedOnlyId = LocalizedOnlyId.fromJSON(json.localizedOnlyId);\n }\n if (json.newlyRejectedId) {\n session._newlyRejectedId = LocalizedOnlyId.fromJSON(json.newlyRejectedId);\n }\n session._frameSequenceId = json.frameSequenceId;\n session._error = json.error ? IdCaptureError.fromJSON(json.error) : null;\n return session;\n }\n}\n\nvar IdCaptureListenerEvents;\n(function (IdCaptureListenerEvents) {\n IdCaptureListenerEvents[\"inCallback\"] = \"IdCaptureListener.inCallback\";\n IdCaptureListenerEvents[\"didCapture\"] = \"IdCaptureListener.didCaptureId\";\n IdCaptureListenerEvents[\"didLocalize\"] = \"IdCaptureListener.didLocalizeId\";\n IdCaptureListenerEvents[\"didReject\"] = \"IdCaptureListener.didRejectId\";\n IdCaptureListenerEvents[\"didTimeOut\"] = \"IdCaptureListener.didTimeout\";\n})(IdCaptureListenerEvents || (IdCaptureListenerEvents = {}));\n\nclass IdCaptureListenerController {\n get _proxy() {\n return FactoryMaker.getInstance('IdCaptureListenerProxy');\n }\n static forIdCapture(idCapture) {\n const controller = new IdCaptureListenerController();\n controller.idCapture = idCapture;\n controller._proxy.isModeEnabled = () => idCapture.isEnabled;\n return controller;\n }\n constructor() {\n this.eventEmitter = FactoryMaker.getInstance('EventEmitter');\n }\n subscribeListener() {\n this._proxy.subscribeDidCaptureListener();\n this._proxy.subscribeDidLocalizeListener();\n this._proxy.subscribeDidRejectListener();\n this._proxy.subscribeDidTimeOutListener();\n this.eventEmitter.on(IdCaptureListenerEvents.inCallback, (value) => {\n this.idCapture.isInListenerCallback = value;\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didCapture, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidCapture(session);\n this._proxy.finishDidCaptureCallback(this.idCapture.isEnabled);\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didLocalize, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidLocalize(session);\n this._proxy.finishDidLocalizeCallback(this.idCapture.isEnabled);\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didReject, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidReject(session);\n this._proxy.finishDidRejectCallback(this.idCapture.isEnabled);\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didTimeOut, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidTimeOut(session);\n this._proxy.finishDidTimeOutCallback(this.idCapture.isEnabled);\n });\n }\n unsubscribeListener() {\n this._proxy.unregisterListenerForEvents();\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.inCallback);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didCapture);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didLocalize);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didReject);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didTimeOut);\n }\n notifyListenersOfDidCapture(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didCaptureId) {\n listener.didCaptureId(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n notifyListenersOfDidLocalize(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didLocalizeId) {\n listener.didLocalizeId(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n notifyListenersOfDidReject(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didRejectId) {\n listener.didRejectId(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n notifyListenersOfDidTimeOut(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didTimeoutInSession) {\n listener.didTimeoutInSession(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n}\n\nclass IdCaptureFeedback extends DefaultSerializeable {\n static get defaultFeedback() {\n return new IdCaptureFeedback(IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptured, IdCaptureFeedback.idDefaults.IdCapture.Feedback.idRejected, IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptureTimeout);\n }\n get idCaptured() {\n return this._idCaptured;\n }\n set idCaptured(idCaptured) {\n this._idCaptured = idCaptured;\n this.updateFeedback();\n }\n get idRejected() {\n return this._idRejected;\n }\n set idRejected(idRejected) {\n this._idRejected = idRejected;\n this.updateFeedback();\n }\n get idCaptureTimeout() {\n return this._idCaptureTimeout;\n }\n set idCaptureTimeout(idCaptureTimeout) {\n this._idCaptureTimeout = idCaptureTimeout;\n this.updateFeedback();\n }\n static fromJSON(json) {\n const idCaptured = Feedback.fromJSON(json.idCaptured);\n const idRejected = Feedback.fromJSON(json.idRejected);\n const idCaptureTimeout = Feedback.fromJSON(json.idCaptureTimeout);\n return new IdCaptureFeedback(idCaptured, idRejected, idCaptureTimeout);\n }\n static get idDefaults() {\n return getIdDefaults();\n }\n updateFeedback() {\n var _a;\n (_a = this.controller) === null || _a === void 0 ? void 0 : _a.updateFeedback(this);\n }\n constructor(idCaptured, idRejected, idCaptureTimeout) {\n super();\n this.controller = null;\n this._idCaptured = IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptured;\n this._idRejected = IdCaptureFeedback.idDefaults.IdCapture.Feedback.idRejected;\n this._idCaptureTimeout = IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptureTimeout;\n this.idCaptured = idCaptured;\n this.idRejected = idRejected;\n this.idCaptureTimeout = idCaptureTimeout;\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCaptureFeedback.prototype, \"controller\", void 0);\n__decorate([\n nameForSerialization('idCaptured')\n], IdCaptureFeedback.prototype, \"_idCaptured\", void 0);\n__decorate([\n nameForSerialization('idRejected')\n], IdCaptureFeedback.prototype, \"_idRejected\", void 0);\n__decorate([\n nameForSerialization('idCaptureTimeout')\n], IdCaptureFeedback.prototype, \"_idCaptureTimeout\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCaptureFeedback, \"idDefaults\", null);\n\nclass IdCapture extends DefaultSerializeable {\n get isEnabled() {\n return this._isEnabled;\n }\n set isEnabled(isEnabled) {\n this._isEnabled = isEnabled;\n this.controller.setModeEnabledState(isEnabled);\n }\n get context() {\n return this._context;\n }\n get feedback() {\n return this._feedback;\n }\n set feedback(feedback) {\n this._feedback = feedback;\n this._feedback.controller = this.controller;\n this.controller.updateFeedback(feedback);\n }\n static get recommendedCameraSettings() {\n return new CameraSettings(IdCapture.idCaptureDefaults.IdCapture.RecommendedCameraSettings);\n }\n get _context() {\n return this.privateContext;\n }\n set _context(newContext) {\n if (newContext == null) {\n this.listenerController.unsubscribeListener();\n }\n else if (this.privateContext == null) {\n this.listenerController.subscribeListener();\n }\n this.privateContext = newContext;\n }\n static get idCaptureDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n }\n static forContext(context, settings) {\n const idCapture = new IdCapture();\n idCapture.settings = settings;\n if (context) {\n context.addMode(idCapture);\n }\n return idCapture;\n }\n constructor() {\n super();\n this.type = 'idCapture';\n this._isEnabled = true;\n this._feedback = IdCaptureFeedback.defaultFeedback;\n this.privateContext = null;\n this.listeners = [];\n this.isInListenerCallback = false;\n this.controller = IdCaptureController.forIdCapture(this);\n this.listenerController = IdCaptureListenerController.forIdCapture(this);\n this.feedback.controller = this.controller;\n }\n applySettings(settings) {\n this.settings = settings;\n return this.controller.applyIdCaptureModeSettings(settings);\n }\n addListener(listener) {\n if (this.listeners.includes(listener)) {\n return;\n }\n this.listeners.push(listener);\n }\n removeListener(listener) {\n if (!this.listeners.includes(listener)) {\n return;\n }\n this.listeners.splice(this.listeners.indexOf(listener), 1);\n }\n reset() {\n return this.controller.reset();\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"_isEnabled\", void 0);\n__decorate([\n nameForSerialization('feedback')\n], IdCapture.prototype, \"_feedback\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"privateContext\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"listeners\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"controller\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"listenerController\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"isInListenerCallback\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture, \"idCaptureDefaults\", null);\n\nvar IdLayoutLineStyle;\n(function (IdLayoutLineStyle) {\n IdLayoutLineStyle[\"Light\"] = \"light\";\n IdLayoutLineStyle[\"Bold\"] = \"bold\";\n})(IdLayoutLineStyle || (IdLayoutLineStyle = {}));\n\nvar IdLayout;\n(function (IdLayout) {\n IdLayout[\"TD1\"] = \"td1\";\n IdLayout[\"TD2\"] = \"td2\";\n IdLayout[\"TD3\"] = \"td3\";\n IdLayout[\"MRVa\"] = \"mrvA\";\n IdLayout[\"VIZ\"] = \"viz\";\n IdLayout[\"PDF417\"] = \"pdf417\";\n IdLayout[\"Auto\"] = \"auto\";\n IdLayout[\"None\"] = \"none\";\n})(IdLayout || (IdLayout = {}));\n\nvar IdLayoutStyle;\n(function (IdLayoutStyle) {\n IdLayoutStyle[\"Rounded\"] = \"rounded\";\n IdLayoutStyle[\"Square\"] = \"square\";\n})(IdLayoutStyle || (IdLayoutStyle = {}));\n\nclass IdCaptureOverlay extends DefaultSerializeable {\n static get idCaptureDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n }\n static withIdCapture(idCapture) {\n return IdCaptureOverlay.withIdCaptureForView(idCapture, null);\n }\n static withIdCaptureForView(idCapture, view) {\n const overlay = new IdCaptureOverlay();\n overlay.idCapture = idCapture;\n if (view) {\n view.addOverlay(overlay);\n }\n return overlay;\n }\n constructor() {\n super();\n this.type = 'idCapture';\n this._idLayout = IdLayout.Auto;\n this._idLayoutStyle = IdLayoutStyle.Rounded;\n this._idLayoutLineStyle = IdLayoutLineStyle.Light;\n this._textHintPosition = TextHintPosition.AboveViewfinder;\n this._showTextHints = true;\n this._defaultCapturedBrush = new Brush(IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultCapturedBrush.fillColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultCapturedBrush.strokeColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultCapturedBrush.strokeWidth);\n this._defaultLocalizedBrush = new Brush(IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultLocalizedBrush.fillColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultLocalizedBrush.strokeColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultLocalizedBrush.strokeWidth);\n this._defaultRejectedBrush = new Brush(IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultRejectedBrush.fillColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultRejectedBrush.strokeColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultRejectedBrush.strokeWidth);\n this._capturedBrush = this._defaultCapturedBrush;\n this._localizedBrush = this._defaultLocalizedBrush;\n this._rejectedBrush = this._defaultRejectedBrush;\n this._frontSideTextHint = null;\n this._backSideTextHint = null;\n }\n setIdLayout(idLayout) {\n this._idLayout = idLayout;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n setFrontSideTextHint(text) {\n this._frontSideTextHint = text;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n setBackSideTextHint(text) {\n this._backSideTextHint = text;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get idLayoutStyle() {\n return this._idLayoutStyle;\n }\n set idLayoutStyle(style) {\n this._idLayoutStyle = style;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get idLayoutLineStyle() {\n return this._idLayoutLineStyle;\n }\n set idLayoutLineStyle(lineStyle) {\n this._idLayoutLineStyle = lineStyle;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get capturedBrush() {\n return this._capturedBrush;\n }\n set capturedBrush(brush) {\n this._capturedBrush = brush;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get localizedBrush() {\n return this._localizedBrush;\n }\n set localizedBrush(brush) {\n this._localizedBrush = brush;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get rejectedBrush() {\n return this._rejectedBrush;\n }\n set rejectedBrush(brush) {\n this._rejectedBrush = brush;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get defaultCapturedBrush() {\n return this._defaultCapturedBrush;\n }\n get defaultLocalizedBrush() {\n return this._defaultLocalizedBrush;\n }\n get defaultRejectedBrush() {\n return this._defaultRejectedBrush;\n }\n get textHintPosition() {\n return this._textHintPosition;\n }\n set textHintPosition(position) {\n this._textHintPosition = position;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get showTextHints() {\n return this._showTextHints;\n }\n set showTextHints(enabled) {\n this._showTextHints = enabled;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCaptureOverlay.prototype, \"idCapture\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCaptureOverlay.prototype, \"view\", void 0);\n__decorate([\n nameForSerialization('idLayout')\n], IdCaptureOverlay.prototype, \"_idLayout\", void 0);\n__decorate([\n nameForSerialization('idLayoutStyle')\n], IdCaptureOverlay.prototype, \"_idLayoutStyle\", void 0);\n__decorate([\n nameForSerialization('idLayoutLineStyle')\n], IdCaptureOverlay.prototype, \"_idLayoutLineStyle\", void 0);\n__decorate([\n nameForSerialization('textHintPosition')\n], IdCaptureOverlay.prototype, \"_textHintPosition\", void 0);\n__decorate([\n nameForSerialization('showTextHints')\n], IdCaptureOverlay.prototype, \"_showTextHints\", void 0);\n__decorate([\n nameForSerialization('capturedBrush')\n], IdCaptureOverlay.prototype, \"_capturedBrush\", void 0);\n__decorate([\n nameForSerialization('localizedBrush')\n], IdCaptureOverlay.prototype, \"_localizedBrush\", void 0);\n__decorate([\n nameForSerialization('rejectedBrush')\n], IdCaptureOverlay.prototype, \"_rejectedBrush\", void 0);\n__decorate([\n nameForSerialization('frontSideTextHint')\n], IdCaptureOverlay.prototype, \"_frontSideTextHint\", void 0);\n__decorate([\n nameForSerialization('backSideTextHint')\n], IdCaptureOverlay.prototype, \"_backSideTextHint\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCaptureOverlay, \"idCaptureDefaults\", null);\n\nclass IdCaptureSettings extends DefaultSerializeable {\n constructor() {\n super();\n this.properties = {};\n this.imageToResult = {};\n this.supportedDocuments = [];\n this.supportedSides = SupportedSides.FrontOnly;\n this.anonymizationMode = IdCaptureSettings.idCaptureDefaults.IdCapture.IdCaptureSettings.anonymizationMode;\n this.rejectVoidedIds = IdCaptureSettings.idCaptureDefaults.IdCapture.IdCaptureSettings.rejectVoidedIds;\n }\n static get idCaptureDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n }\n setProperty(name, value) {\n this.properties[name] = value;\n }\n getProperty(name) {\n return this.properties[name];\n }\n setShouldPassImageTypeToResult(type, shouldPass) {\n this.imageToResult[type] = shouldPass;\n }\n getShouldPassImageTypeToResult(type) {\n return this.imageToResult[type] || false;\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCaptureSettings, \"idCaptureDefaults\", null);\n\nclass AamvaBarcodeVerifier {\n constructor() {\n this.controller = new IdCaptureController();\n }\n static create(context) {\n const verifier = new AamvaBarcodeVerifier();\n return new Promise((resolve, reject) => {\n verifier\n .controller\n .createContextForBarcodeVerification(context)\n .then(() => {\n verifier.context = context;\n resolve(verifier);\n }, reject);\n });\n }\n verify(capturedId) {\n // Necessary for not exposing internal API on CapturedId, while only passing the private \"json\" property\n // to native iOS and Android.\n const capturedIdAsString = JSON.stringify(capturedId);\n const capturedIdJsonData = JSON.parse(capturedIdAsString).json;\n return new Promise((resolve, reject) => {\n this.controller\n .verifyCapturedIdAsync(JSON.stringify(capturedIdJsonData))\n .then((json) => {\n if (!json) {\n resolve(AamvaBarcodeVerificationResult\n .fromJSON(JSON.parse('{}')));\n }\n else {\n resolve(AamvaBarcodeVerificationResult\n .fromJSON(JSON.parse(json)));\n }\n }, reject);\n });\n }\n}\n__decorate([\n ignoreFromSerialization\n], AamvaBarcodeVerifier.prototype, \"controller\", void 0);\n\nclass AamvaVizBarcodeComparisonResult {\n get checksPassed() { return this.json.checksPassed; }\n get resultDescription() { return this.json.resultDescription; }\n get issuingCountryIsoMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.issuingCountryIsoMatch);\n }\n get issuingJurisdictionIsoMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.issuingJurisdictionIsoMatch);\n }\n get documentNumbersMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.documentNumbersMatch);\n }\n get fullNamesMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.fullNamesMatch);\n }\n get datesOfBirthMatch() {\n return DateComparisonCheck\n .fromJSON(this.json.datesOfBirthMatch);\n }\n get datesOfExpiryMatch() {\n return DateComparisonCheck\n .fromJSON(this.json.datesOfExpiryMatch);\n }\n get datesOfIssueMatch() {\n return DateComparisonCheck\n .fromJSON(this.json.datesOfIssueMatch);\n }\n get frontMismatchImage() {\n return this.json.frontMismatchImage;\n }\n static fromJSON(json) {\n const result = new AamvaVizBarcodeComparisonResult();\n result.json = json;\n return result;\n }\n}\n\nclass AamvaVizBarcodeComparisonVerifier {\n constructor() {\n this.controller = new IdCaptureController();\n }\n static create() {\n return new AamvaVizBarcodeComparisonVerifier();\n }\n verify(capturedId) {\n // Necessary for not exposing internal API on CapturedId, while only passing the private \"json\" property\n // to native iOS and Android.\n const capturedIdAsString = JSON.stringify(capturedId);\n const capturedIdJsonData = JSON.parse(capturedIdAsString).json;\n return new Promise((resolve, reject) => {\n this.controller\n .verifyCapturedId(JSON.stringify(capturedIdJsonData))\n .then((json) => {\n if (!json) {\n resolve(AamvaVizBarcodeComparisonResult\n .fromJSON(JSON.parse('{}')));\n }\n else {\n resolve(AamvaVizBarcodeComparisonResult\n .fromJSON(JSON.parse(json)));\n }\n }, reject);\n });\n }\n}\n__decorate([\n ignoreFromSerialization\n], AamvaVizBarcodeComparisonVerifier.prototype, \"controller\", void 0);\n\nvar CapturedResultType;\n(function (CapturedResultType) {\n CapturedResultType[\"AAMVABarcodeResult\"] = \"aamvaBarcodeResult\";\n CapturedResultType[\"ArgentinaIdBarcodeResult\"] = \"argentinaIdBarcodeResult\";\n CapturedResultType[\"ColombiaIdBarcodeResult\"] = \"colombiaIdBarcodeResult\";\n CapturedResultType[\"ColombiaDlBarcodeResult\"] = \"colombiaDlBarcodeResult\";\n CapturedResultType[\"MRZResult\"] = \"mrzResult\";\n CapturedResultType[\"SouthAfricaDlBarcodeResult\"] = \"southAfricaDlBarcodeResult\";\n CapturedResultType[\"SouthAfricaIdBarcodeResult\"] = \"southAfricaIdBarcodeResult\";\n CapturedResultType[\"CommonAccessCardBarcodeResult\"] = \"commonAccessCardBarcodeResult\";\n CapturedResultType[\"USUniformedServicesBarcodeResult\"] = \"usUniformedServicesBarcodeResult\";\n CapturedResultType[\"USVisaVIZResult\"] = \"usVisaVizResult\";\n CapturedResultType[\"VIZResult\"] = \"vizResult\";\n CapturedResultType[\"ChinaMainlandTravelPermitMRZResult\"] = \"chinaMainlandTravelPermitMrzResult\";\n CapturedResultType[\"ChinaExitEntryPermitMRZResult\"] = \"chinaExitEntryPermitMrzResult\";\n CapturedResultType[\"ChinaOneWayPermitBackMrzResult\"] = \"chinaOneWayPermitBackMrzResult\";\n CapturedResultType[\"ChinaOneWayPermitFrontMrzResult\"] = \"chinaOneWayPermitFrontMrzResult\";\n CapturedResultType[\"ApecBusinessTravelCardMrzResult\"] = \"apecBusinessTravelCardMrzResult\";\n})(CapturedResultType || (CapturedResultType = {}));\n\nvar DocumentType;\n(function (DocumentType) {\n DocumentType[\"None\"] = \"none\";\n DocumentType[\"ConsularId\"] = \"consularId\";\n DocumentType[\"DrivingLicense\"] = \"drivingLicense\";\n DocumentType[\"DrivingLicensePublicServicesCard\"] = \"drivingLicensePublicServicesCard\";\n DocumentType[\"EmploymentPass\"] = \"employmentPass\";\n DocumentType[\"FinCard\"] = \"finCard\";\n DocumentType[\"Id\"] = \"id\";\n DocumentType[\"MultipurposeId\"] = \"multipurposeId\";\n DocumentType[\"MyKad\"] = \"myKad\";\n DocumentType[\"MyKid\"] = \"myKid\";\n DocumentType[\"MyPR\"] = \"myPr\";\n DocumentType[\"MyTentera\"] = \"myTentera\";\n DocumentType[\"PanCard\"] = \"panCard\";\n DocumentType[\"ProfessionalId\"] = \"professionalId\";\n DocumentType[\"PublicServicesCard\"] = \"publicServicesCard\";\n DocumentType[\"ResidencePermit\"] = \"residencePermit\";\n DocumentType[\"ResidentId\"] = \"residentId\";\n DocumentType[\"TemporaryResidencePermit\"] = \"temporaryResidencePermit\";\n DocumentType[\"VoterId\"] = \"voterId\";\n DocumentType[\"WorkPermit\"] = \"workPermit\";\n DocumentType[\"IKad\"] = \"iKad\";\n DocumentType[\"MilitaryId\"] = \"militaryId\";\n DocumentType[\"MyKas\"] = \"myKas\";\n DocumentType[\"SocialSecurityCard\"] = \"socialSecurityCard\";\n DocumentType[\"HealthInsuranceCard\"] = \"healthInsuranceCard\";\n DocumentType[\"Passport\"] = \"passport\";\n DocumentType[\"DiplomaticPassport\"] = \"diplomaticPassport\";\n DocumentType[\"ServicePassport\"] = \"servicePassport\";\n DocumentType[\"TemporaryPassport\"] = \"temporaryPassport\";\n DocumentType[\"Visa\"] = \"visa\";\n DocumentType[\"SPass\"] = \"sPass\";\n DocumentType[\"AddressCard\"] = \"addressCard\";\n DocumentType[\"AlienId\"] = \"alienId\";\n DocumentType[\"AlienPassport\"] = \"alienPassport\";\n DocumentType[\"GreenCard\"] = \"greenCard\";\n DocumentType[\"MinorsId\"] = \"minorsId\";\n DocumentType[\"PostalId\"] = \"postalId\";\n DocumentType[\"ProfessionalDl\"] = \"professionalDl\";\n DocumentType[\"TaxId\"] = \"taxId\";\n DocumentType[\"WeaponPermit\"] = \"weaponPermit\";\n DocumentType[\"BorderCrossingCard\"] = \"borderCrossingCard\";\n DocumentType[\"DriverCard\"] = \"driverCard\";\n DocumentType[\"GlobalEntryCard\"] = \"globalEntryCard\";\n DocumentType[\"MyPolis\"] = \"myPolis\";\n DocumentType[\"NexusCard\"] = \"nexusCard\";\n DocumentType[\"PassportCard\"] = \"passportCard\";\n DocumentType[\"ProofOfAgeCard\"] = \"proofOfAgeCard\";\n DocumentType[\"RefugeeId\"] = \"refugeeId\";\n DocumentType[\"TribalId\"] = \"tribalId\";\n DocumentType[\"VeteranId\"] = \"veteranId\";\n DocumentType[\"CitizenshipCertificate\"] = \"citizenshipCertificate\";\n DocumentType[\"MyNumberCard\"] = \"myNumberCard\";\n DocumentType[\"MinorsPassport\"] = \"minorsPassport\";\n DocumentType[\"MinorsPublicServicesCard\"] = \"minorsPublicServicesCard\";\n DocumentType[\"AsylumRequest\"] = \"asylumRequest\";\n DocumentType[\"DriverQualificationCard\"] = \"driverQualificationCard\";\n DocumentType[\"ProvisionalDl\"] = \"provisionalDl\";\n DocumentType[\"RefugeePassport\"] = \"refugeePassport\";\n DocumentType[\"SpecialId\"] = \"specialId\";\n DocumentType[\"UniformedServicesId\"] = \"uniformedServicesId\";\n DocumentType[\"ImmigrantVisa\"] = \"immigrantVisa\";\n DocumentType[\"ConsularVoterId\"] = \"consularVoterId\";\n DocumentType[\"TwicCard\"] = \"twicCard\";\n DocumentType[\"ExitEntryPermit\"] = \"exitEntryPermit\";\n DocumentType[\"MainlandTravelPermitHongKongMacau\"] = \"mainlandTravelPermitHongKongMacau\";\n DocumentType[\"MainlandTravelPermitTaiwan\"] = \"mainlandTravelPermitTaiwan\";\n DocumentType[\"NbiClearance\"] = \"nbiClearance\";\n DocumentType[\"ProofOfRegistration\"] = \"proofOfRegistration\";\n DocumentType[\"TemporaryProtectionPermit\"] = \"temporaryProtectionPermit\";\n DocumentType[\"MunicipalId\"] = \"municipalId\";\n DocumentType[\"AfghanCitizenCard\"] = \"afghanCitizenCard\";\n DocumentType[\"Eid\"] = \"eid\";\n DocumentType[\"Pass\"] = \"pass\";\n DocumentType[\"SisId\"] = \"sisId\";\n DocumentType[\"MedicalMarijuanaCard\"] = \"medicalMarijuanaCard\";\n})(DocumentType || (DocumentType = {}));\n\nclass VizMrzComparisonResult {\n get checksPassed() { return this.json.checksPassed; }\n get resultDescription() { return this.json.resultDescription; }\n get issuingCountryIsoMatch() {\n return VizMrzStringComparisonCheck\n .fromJSON(this.json.issuingCountryIsoMatch);\n }\n get documentNumbersMatch() {\n return VizMrzStringComparisonCheck\n .fromJSON(this.json.documentNumbersMatch);\n }\n get fullNamesMatch() {\n return VizMrzStringComparisonCheck\n .fromJSON(this.json.fullNamesMatch);\n }\n get datesOfBirthMatch() {\n return VizMrzDateComparisonCheck\n .fromJSON(this.json.datesOfBirthMatch);\n }\n get datesOfExpiryMatch() {\n return VizMrzDateComparisonCheck\n .fromJSON(this.json.datesOfExpiryMatch);\n }\n static fromJSON(json) {\n const result = new VizMrzComparisonResult();\n result.json = json;\n return result;\n }\n}\n\nclass VizMrzComparisonVerifier {\n constructor() {\n this.controller = new IdCaptureController();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static create(context) {\n return new VizMrzComparisonVerifier();\n }\n verify(capturedId) {\n // Necessary for not exposing internal API on CapturedId, while only passing the private \"json\" property\n // to native iOS and Android.\n const capturedIdAsString = JSON.stringify(capturedId);\n const capturedIdJsonData = JSON.parse(capturedIdAsString).json;\n return new Promise((resolve, reject) => {\n this.controller\n .verifyVizMrz(JSON.stringify(capturedIdJsonData))\n .then((json) => {\n if (!json) {\n resolve(VizMrzComparisonResult\n .fromJSON(JSON.parse('{}')));\n }\n else {\n resolve(VizMrzComparisonResult\n .fromJSON(JSON.parse(json)));\n }\n }, reject);\n });\n }\n}\n__decorate([\n ignoreFromSerialization\n], VizMrzComparisonVerifier.prototype, \"controller\", void 0);\n\nexport { AAMVABarcodeResult, AamvaBarcodeVerificationResult, AamvaBarcodeVerificationStatus, AamvaBarcodeVerifier, AamvaVizBarcodeComparisonResult, AamvaVizBarcodeComparisonVerifier, ApecBusinessTravelCardMrzResult, ArgentinaIdBarcodeResult, CapturedId, CapturedResultType, ChinaExitEntryPermitMRZResult, ChinaMainlandTravelPermitMRZResult, ChinaOneWayPermitBackMrzResult, ChinaOneWayPermitFrontMrzResult, ColombiaDlBarcodeResult, ColombiaIdBarcodeResult, CommonAccessCardBarcodeResult, CommonCapturedIdFields, ComparisonCheckResult, DateComparisonCheck, DateResult, DocumentType, IdAnonymizationMode, IdCapture, IdCaptureController, IdCaptureError, IdCaptureFeedback, IdCaptureListenerController, IdCaptureListenerEvents, IdCaptureOverlay, IdCaptureSession, IdCaptureSettings, IdDocumentType, IdImageType, IdLayout, IdLayoutLineStyle, IdLayoutStyle, LocalizedOnlyId, MRZResult, ProfessionalDrivingPermit, RejectedId, RejectionReason, SouthAfricaDlBarcodeResult, SouthAfricaIdBarcodeResult, StringComparisonCheck, SupportedSides, TextHintPosition, USUniformedServicesBarcodeResult, USVisaVIZResult, VIZResult, VehicleRestriction, VizMrzComparisonCheckResult, VizMrzComparisonResult, VizMrzComparisonVerifier, VizMrzDateComparisonCheck, VizMrzStringComparisonCheck, getIdDefaults, loadIdDefaults, parseIdDefaults };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"id.js","sources":["../../../shared/jsmobile/scandit-datacapture-frameworks-id/dist/index.js"],"sourcesContent":["import { Quadrilateral, FactoryMaker, Feedback, CameraSettings, Color, BaseController, CameraController, nameForSerialization, DefaultSerializeable, ignoreFromSerialization, Brush } from 'scandit-datacapture-frameworks-core';\n\nvar ComparisonCheckResult;\n(function (ComparisonCheckResult) {\n ComparisonCheckResult[\"Passed\"] = \"passed\";\n ComparisonCheckResult[\"Skipped\"] = \"skipped\";\n ComparisonCheckResult[\"Failed\"] = \"failed\";\n})(ComparisonCheckResult || (ComparisonCheckResult = {}));\n\nclass DateResult {\n get day() { return this.json.day; }\n get month() { return this.json.month; }\n get year() { return this.json.year; }\n get localDate() {\n return new Date(this.json.year, this.json.month ? this.json.month - 1 : 1, this.json.day || 1);\n }\n get utcDate() {\n return new Date(Date.UTC(this.json.year, this.json.month ? this.json.month - 1 : 1, this.json.day || 1));\n }\n static fromJSON(json) {\n if (json === null) {\n return null;\n }\n const dateResult = new DateResult();\n dateResult.json = json;\n return dateResult;\n }\n}\n\nclass DateComparisonCheck {\n get vizValue() {\n return DateResult.fromJSON(this.json.vizValue);\n }\n get aamvaBarcodeValue() {\n return DateResult.fromJSON(this.json.aamvaBarcodeValue);\n }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new DateComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nvar IdAnonymizationMode;\n(function (IdAnonymizationMode) {\n IdAnonymizationMode[\"None\"] = \"none\";\n IdAnonymizationMode[\"FieldsOnly\"] = \"fieldsOnly\";\n IdAnonymizationMode[\"ImagesOnly\"] = \"imagesOnly\";\n IdAnonymizationMode[\"FieldsAndImages\"] = \"fieldsAndImages\";\n})(IdAnonymizationMode || (IdAnonymizationMode = {}));\n\nvar IdDocumentType;\n(function (IdDocumentType) {\n IdDocumentType[\"AAMVABarcode\"] = \"aamvaBarcode\";\n IdDocumentType[\"ArgentinaIdBarcode\"] = \"argentinaIdBarcode\";\n IdDocumentType[\"ColombiaIdBarcode\"] = \"colombiaIdBarcode\";\n IdDocumentType[\"ColombiaDlBarcode\"] = \"colombiaDlBarcode\";\n IdDocumentType[\"CommonAccessCardBarcode\"] = \"commonAccessCardBarcode\";\n IdDocumentType[\"DLVIZ\"] = \"dlViz\";\n IdDocumentType[\"IdCardMRZ\"] = \"idCardMrz\";\n IdDocumentType[\"IdCardVIZ\"] = \"idCardViz\";\n IdDocumentType[\"PassportMRZ\"] = \"passportMrz\";\n IdDocumentType[\"PassportVIZ\"] = \"passportViz\";\n IdDocumentType[\"SouthAfricaDlBarcode\"] = \"southAfricaDlBarcode\";\n IdDocumentType[\"SouthAfricaIdBarcode\"] = \"southAfricaIdBarcode\";\n IdDocumentType[\"SwissDLMRZ\"] = \"swissDlMrz\";\n IdDocumentType[\"USUSIdBarcode\"] = \"usUsIdBarcode\";\n IdDocumentType[\"VisaMRZ\"] = \"visaMrz\";\n IdDocumentType[\"ChinaMainlandTravelPermitMRZ\"] = \"chinaMainlandTravelPermitMrz\";\n IdDocumentType[\"ChinaExitEntryPermitMRZ\"] = \"chinaExitEntryPermitMrz\";\n IdDocumentType[\"ChinaOneWayPermitBackMRZ\"] = \"chinaOneWayPermitBackMrz\";\n IdDocumentType[\"ChinaOneWayPermitFrontMRZ\"] = \"chinaOneWayPermitFrontMrz\";\n IdDocumentType[\"ApecBusinessTravelCardMRZ\"] = \"apecBusinessTravelCardMrz\";\n})(IdDocumentType || (IdDocumentType = {}));\n\nvar IdImageType;\n(function (IdImageType) {\n IdImageType[\"Face\"] = \"face\";\n IdImageType[\"IdFront\"] = \"idFront\";\n IdImageType[\"IdBack\"] = \"idBack\";\n})(IdImageType || (IdImageType = {}));\n\nclass LocalizedOnlyId {\n get location() {\n return this._location;\n }\n static fromJSON(json) {\n const result = new LocalizedOnlyId();\n result._location = Quadrilateral.fromJSON(json.location);\n return result;\n }\n}\n\nclass RejectedId {\n get location() {\n return this._location;\n }\n get rejectionReason() {\n return this._rejectionReason;\n }\n static fromJSON(json) {\n const result = new RejectedId();\n result._location = Quadrilateral.fromJSON(json.location);\n result._rejectionReason = json.rejectionReason;\n return result;\n }\n}\n\nclass StringComparisonCheck {\n get vizValue() { return this.json.vizValue; }\n get aamvaBarcodeValue() { return this.json.aamvaBarcodeValue; }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new StringComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nvar SupportedSides;\n(function (SupportedSides) {\n SupportedSides[\"FrontOnly\"] = \"frontOnly\";\n SupportedSides[\"FrontAndBack\"] = \"frontAndBack\";\n})(SupportedSides || (SupportedSides = {}));\n\nvar TextHintPosition;\n(function (TextHintPosition) {\n TextHintPosition[\"AboveViewfinder\"] = \"aboveViewfinder\";\n TextHintPosition[\"BelowViewfinder\"] = \"belowViewfinder\";\n})(TextHintPosition || (TextHintPosition = {}));\n\nvar VizMrzComparisonCheckResult;\n(function (VizMrzComparisonCheckResult) {\n VizMrzComparisonCheckResult[\"Passed\"] = \"passed\";\n VizMrzComparisonCheckResult[\"Skipped\"] = \"skipped\";\n VizMrzComparisonCheckResult[\"Failed\"] = \"failed\";\n})(VizMrzComparisonCheckResult || (VizMrzComparisonCheckResult = {}));\n\nclass VizMrzDateComparisonCheck {\n get vizValue() {\n return DateResult.fromJSON(this.json.vizValue);\n }\n get mrzValue() {\n return DateResult.fromJSON(this.json.mrzValue);\n }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new VizMrzDateComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nclass VizMrzStringComparisonCheck {\n get vizValue() { return this.json.vizValue; }\n get mrzValue() { return this.json.mrzValue; }\n get checkResult() { return this.json.checkResult; }\n get resultDescription() { return this.json.resultDescription; }\n static fromJSON(json) {\n const result = new VizMrzStringComparisonCheck();\n result.json = json;\n return result;\n }\n}\n\nvar RejectionReason;\n(function (RejectionReason) {\n RejectionReason[\"DocumentTypeNotEnabled\"] = \"documentTypeNotEnabled\";\n RejectionReason[\"IncorrectBarcodeFormat\"] = \"incorrectBarcodeFormat\";\n RejectionReason[\"DocumentVoided\"] = \"documentVoided\";\n})(RejectionReason || (RejectionReason = {}));\n\nfunction getIdDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n}\nfunction parseIdDefaults(jsonDefaults) {\n const idDefaults = {\n IdCapture: {\n Feedback: {\n idCaptured: Feedback.fromJSON(JSON.parse(jsonDefaults.IdCaptureFeedback).idCaptured),\n idRejected: Feedback.fromJSON(JSON.parse(jsonDefaults.IdCaptureFeedback).idRejected),\n idCaptureTimeout: Feedback.fromJSON(JSON.parse(jsonDefaults.IdCaptureFeedback).idCaptureTimeout),\n },\n RecommendedCameraSettings: CameraSettings\n .fromJSON(jsonDefaults.RecommendedCameraSettings),\n IdCaptureOverlayDefaults: {\n defaultCapturedBrush: {\n fillColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultCapturedBrush.fillColor),\n strokeColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultCapturedBrush.strokeColor),\n strokeWidth: jsonDefaults.IdCaptureOverlay.DefaultCapturedBrush.strokeWidth,\n },\n defaultLocalizedBrush: {\n fillColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultLocalizedBrush.fillColor),\n strokeColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultLocalizedBrush.strokeColor),\n strokeWidth: jsonDefaults.IdCaptureOverlay.DefaultLocalizedBrush.strokeWidth,\n },\n defaultRejectedBrush: {\n fillColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultRejectedBrush.fillColor),\n strokeColor: Color\n .fromJSON(jsonDefaults.IdCaptureOverlay.DefaultRejectedBrush.strokeColor),\n strokeWidth: jsonDefaults.IdCaptureOverlay.DefaultRejectedBrush.strokeWidth,\n },\n },\n IdCaptureSettings: {\n anonymizationMode: jsonDefaults.IdCaptureSettings.anonymizationMode,\n rejectVoidedIds: jsonDefaults.IdCaptureSettings.rejectVoidedIds,\n },\n },\n };\n return idDefaults;\n}\n\nfunction loadIdDefaults(jsonDefaults) {\n const idDefaults = parseIdDefaults(jsonDefaults);\n FactoryMaker.bindInstanceIfNotExists('IdDefaults', idDefaults);\n}\n\nclass AAMVABarcodeResult {\n get aamvaVersion() { return this.json.aamvaVersion; }\n get aliasFamilyName() { return this.json.aliasFamilyName; }\n get aliasGivenName() { return this.json.aliasGivenName; }\n get aliasSuffixName() { return this.json.aliasSuffixName; }\n get isRealId() { return this.json.isRealId; }\n get driverNamePrefix() { return this.json.driverNamePrefix; }\n get driverNameSuffix() { return this.json.driverNameSuffix; }\n get endorsementsCode() { return this.json.endorsementsCode; }\n get eyeColor() { return this.json.eyeColor; }\n get firstNameWithoutMiddleName() { return this.json.firstNameWithoutMiddleName; }\n get firstNameTruncation() { return this.json.firstNameTruncation; }\n get hairColor() { return this.json.hairColor; }\n get heightCm() { return this.json.heightCm; }\n get heightInch() { return this.json.heightInch; }\n get iIN() { return this.json.iin; }\n get issuingJurisdiction() { return this.json.issuingJurisdiction; }\n get issuingJurisdictionIso() { return this.json.issuingJurisdictionIso; }\n get jurisdictionVersion() { return this.json.jurisdictionVersion; }\n get lastNameTruncation() { return this.json.lastNameTruncation; }\n get middleName() { return this.json.middleName; }\n get middleNameTruncation() { return this.json.middleNameTruncation; }\n get placeOfBirth() { return this.json.placeOfBirth; }\n get race() { return this.json.race; }\n get restrictionsCode() { return this.json.restrictionsCode; }\n get vehicleClass() { return this.json.vehicleClass; }\n get weightKg() { return this.json.weightKg; }\n get weightLbs() { return this.json.weightLbs; }\n get cardRevisionDate() {\n return DateResult.fromJSON(this.json.cardRevisionDate);\n }\n get documentDiscriminatorNumber() { return this.json.documentDiscriminatorNumber; }\n get barcodeDataElements() { return this.json.barcodeDataElements; }\n static fromJSON(json) {\n const result = new AAMVABarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nvar AamvaBarcodeVerificationStatus;\n(function (AamvaBarcodeVerificationStatus) {\n AamvaBarcodeVerificationStatus[\"Authentic\"] = \"authentic\";\n AamvaBarcodeVerificationStatus[\"LikelyForged\"] = \"maybeForged\";\n AamvaBarcodeVerificationStatus[\"Forged\"] = \"forged\";\n})(AamvaBarcodeVerificationStatus || (AamvaBarcodeVerificationStatus = {}));\n\nclass AamvaBarcodeVerificationResult {\n /**\n * @deprecated\n */\n get allChecksPassed() { return this.json.allChecksPassed; }\n get status() {\n return this._status;\n }\n static fromJSON(json) {\n const result = new AamvaBarcodeVerificationResult();\n result.json = json;\n switch (result.json.verificationStatus) {\n case \"authentic\":\n result._status = AamvaBarcodeVerificationStatus.Authentic;\n break;\n case \"maybeForged\":\n result._status = AamvaBarcodeVerificationStatus.LikelyForged;\n break;\n case \"forged\":\n result._status = AamvaBarcodeVerificationStatus.Forged;\n break;\n }\n return result;\n }\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nclass IdCaptureController extends BaseController {\n static forIdCapture(idCapture) {\n const controller = new IdCaptureController();\n controller.idCapture = idCapture;\n return controller;\n }\n constructor() {\n super('IdCaptureProxy');\n }\n reset() {\n return this._proxy.resetMode();\n }\n verifyCapturedId(capturedId) {\n return this._proxy.verifyCapturedId(capturedId);\n }\n createContextForBarcodeVerification(context) {\n return this._proxy.createContextForBarcodeVerification(JSON.stringify(context.toJSON()));\n }\n verifyCapturedIdAsync(capturedId) {\n return this._proxy.verifyCapturedIdAsync(capturedId);\n }\n verifyVizMrz(capturedId) {\n return this._proxy.verifyVizMrz(capturedId);\n }\n setModeEnabledState(enabled) {\n this._proxy.setModeEnabledState(enabled);\n }\n updateIdCaptureMode() {\n return this._proxy.updateIdCaptureMode(JSON.stringify(this.idCapture.toJSON()));\n }\n applyIdCaptureModeSettings(newSettings) {\n return this._proxy.applyIdCaptureModeSettings(JSON.stringify(newSettings.toJSON()));\n }\n updateIdCaptureOverlay(overlay) {\n return this._proxy.updateIdCaptureOverlay(JSON.stringify(overlay.toJSON()));\n }\n updateFeedback(feedback) {\n return this._proxy.updateFeedback(JSON.stringify(feedback.toJSON()));\n }\n}\n\nclass ApecBusinessTravelCardMrzResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n get passportIssuerIso() { return this.json.passportIssuerIso; }\n get passportNumber() { return this.json.passportNumber; }\n get passportDateOfExpiry() {\n return DateResult.fromJSON(this.json.passportDateOfExpiry);\n }\n static fromJSON(json) {\n const result = new ApecBusinessTravelCardMrzResult();\n result.json = json;\n return result;\n }\n}\n\nclass ArgentinaIdBarcodeResult {\n get personalIdNumber() { return this.json.personalIdNumber; }\n get documentCopy() { return this.json.documentCopy; }\n static fromJSON(json) {\n const result = new ArgentinaIdBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaExitEntryPermitMRZResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n static fromJSON(json) {\n const result = new ChinaExitEntryPermitMRZResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaMainlandTravelPermitMRZResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n get renewalTimes() { return this.json.renewalTimes; }\n get fullNameSimplifiedChinese() { return this.json.fullNameSimplifiedChinese; }\n get omittedCharacterCountInGBKName() { return this.json.omittedCharacterCountInGBKName; }\n get omittedNameCount() { return this.json.omittedNameCount; }\n get issuingAuthorityCode() { return this.json.issuingAuthorityCode; }\n static fromJSON(json) {\n const result = new ChinaMainlandTravelPermitMRZResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaOneWayPermitBackMrzResult {\n get documentCode() { return this.json.documentCode; }\n get namesAreTruncated() { return this.json.namesAreTruncated; }\n get capturedMrz() { return this.json.capturedMrz; }\n static fromJSON(json) {\n const result = new ChinaOneWayPermitBackMrzResult();\n result.json = json;\n return result;\n }\n}\n\nclass ChinaOneWayPermitFrontMrzResult {\n get documentCode() { return this.json.documentCode; }\n get capturedMrz() { return this.json.capturedMrz; }\n get fullNameSimplifiedChinese() { return this.json.fullNameSimplifiedChinese; }\n static fromJSON(json) {\n const result = new ChinaOneWayPermitFrontMrzResult();\n result.json = json;\n return result;\n }\n}\n\nclass ColombiaDlBarcodeResult {\n get categories() { return this.json.categories; }\n get identificationType() { return this.json.identificationType; }\n static fromJSON(json) {\n const result = new ColombiaDlBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass ColombiaIdBarcodeResult {\n get bloodType() { return this.json.bloodType; }\n static fromJSON(json) {\n const result = new ColombiaIdBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass MRZResult {\n get documentCode() { return this.json.documentCode; }\n get namesAreTruncated() { return this.json.namesAreTruncated; }\n get optional() { return this.json.optional; }\n get optional1() { return this.json.optional1; }\n get capturedMrz() { return this.json.capturedMrz; }\n static fromJSON(json) {\n const result = new MRZResult();\n result.json = json;\n return result;\n }\n}\n\nclass ProfessionalDrivingPermit {\n get dateOfExpiry() { return DateResult.fromJSON(this.json.dateOfExpiry); }\n get codes() { return this.json.codes; }\n static fromJSON(json) {\n if (json === null) {\n return null;\n }\n const object = new ProfessionalDrivingPermit();\n object.json = json;\n return object;\n }\n}\n\nclass VehicleRestriction {\n get vehicleCode() { return this.json.vehicleCode; }\n get vehicleRestriction() { return this.json.vehicleRestriction; }\n get dateOfIssue() { return DateResult.fromJSON(this.json.dateOfIssue); }\n static fromJSON(json) {\n if (json === null) {\n return null;\n }\n const object = new VehicleRestriction();\n object.json = json;\n return object;\n }\n}\n\nclass SouthAfricaDlBarcodeResult {\n get version() { return this.json.version; }\n get licenseCountryOfIssue() { return this.json.licenseCountryOfIssue; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n get personalIdNumberType() { return this.json.personalIdNumberType; }\n get documentCopy() { return this.json.documentCopy; }\n get driverRestrictionCodes() { return this.json.driverRestrictionCodes; }\n get professionalDrivingPermit() {\n return ProfessionalDrivingPermit.fromJSON(this.json.professionalDrivingPermit);\n }\n get vehicleRestrictions() {\n return this.json.vehicleRestrictions.map(json => VehicleRestriction.fromJSON(json));\n }\n static fromJSON(json) {\n const result = new SouthAfricaDlBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass SouthAfricaIdBarcodeResult {\n get countryOfBirth() { return this.json.countryOfBirth; }\n get countryOfBirthIso() { return this.json.countryOfBirthIso; }\n get citizenshipStatus() { return this.json.citizenshipStatus; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n static fromJSON(json) {\n const result = new SouthAfricaIdBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass USUniformedServicesBarcodeResult {\n get bloodType() { return this.json.bloodType; }\n get branchOfService() { return this.json.branchOfService; }\n get champusEffectiveDate() {\n return DateResult.fromJSON(this.json.champusEffectiveDate);\n }\n get champusExpiryDate() {\n return DateResult.fromJSON(this.json.champusExpiryDate);\n }\n get civilianHealthCareFlagCode() { return this.json.civilianHealthCareFlagCode; }\n get civilianHealthCareFlagDescription() { return this.json.civilianHealthCareFlagDescription; }\n get commissaryFlagCode() { return this.json.commissaryFlagCode; }\n get commissaryFlagDescription() { return this.json.commissaryFlagDescription; }\n get deersDependentSuffixCode() { return this.json.deersDependentSuffixCode; }\n get deersDependentSuffixDescription() { return this.json.deersDependentSuffixDescription; }\n get directCareFlagCode() { return this.json.directCareFlagCode; }\n get directCareFlagDescription() { return this.json.directCareFlagDescription; }\n get exchangeFlagCode() { return this.json.exchangeFlagCode; }\n get exchangeFlagDescription() { return this.json.exchangeFlagDescription; }\n get eyeColor() { return this.json.eyeColor; }\n get familySequenceNumber() { return this.json.familySequenceNumber; }\n get formNumber() { return this.json.formNumber; }\n get genevaConventionCategory() { return this.json.genevaConventionCategory; }\n get hairColor() { return this.json.hairColor; }\n get height() { return this.json.height; }\n get jpegData() { return this.json.jpegData; }\n get mwrFlagCode() { return this.json.mwrFlagCode; }\n get mwrFlagDescription() { return this.json.mwrFlagDescription; }\n get payGrade() { return this.json.payGrade; }\n get personDesignatorDocument() { return this.json.personDesignatorDocument; }\n get rank() { return this.json.rank; }\n get relationshipCode() { return this.json.relationshipCode; }\n get relationshipDescription() { return this.json.relationshipDescription; }\n get securityCode() { return this.json.securityCode; }\n get serviceCode() { return this.json.serviceCode; }\n get sponsorFlag() { return this.json.sponsorFlag; }\n get sponsorName() { return this.json.sponsorName; }\n get sponsorPersonDesignatorIdentifier() {\n return this.json.sponsorPersonDesignatorIdentifier;\n }\n get statusCode() { return this.json.statusCode; }\n get statusCodeDescription() { return this.json.statusCodeDescription; }\n get version() { return this.json.version; }\n get weight() { return this.json.weight; }\n static fromJSON(json) {\n const result = new USUniformedServicesBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass USVisaVIZResult {\n get visaNumber() { return this.json.visaNumber; }\n get passportNumber() { return this.json.passportNumber; }\n static fromJSON(json) {\n const result = new USVisaVIZResult();\n result.json = json;\n return result;\n }\n}\n\nclass CommonCapturedIdFields {\n get firstName() { return this.json.firstName; }\n get lastName() { return this.json.lastName; }\n get fullName() { return this.json.fullName; }\n get secondaryLastName() { return this.json.secondaryLastName; }\n get sex() { return this.json.sex; }\n get dateOfBirth() {\n return DateResult.fromJSON(this.json.dateOfBirth);\n }\n get age() { return this.json.age; }\n get isExpired() { return this.json.isExpired; }\n get nationality() { return this.json.nationality; }\n get address() { return this.json.address; }\n get documentAdditionalNumber() { return this.json.documentAdditionalNumber; }\n get documentType() { return this.json.documentType; }\n get documentNumber() { return this.json.documentNumber; }\n get issuingCountry() { return this.json.issuingCountry; }\n get issuingCountryIso() { return this.json.issuingCountryIso; }\n get dateOfExpiry() {\n return DateResult.fromJSON(this.json.dateOfExpiry);\n }\n get dateOfIssue() {\n return DateResult.fromJSON(this.json.dateOfIssue);\n }\n static fromJSON(json, existingInstance) {\n if (json === null) {\n return null;\n }\n const firstName = json.firstName;\n const lastName = json.lastName;\n const fullName = json.fullName;\n const secondaryLastName = json.secondaryLastName;\n const sex = json.sex;\n const dateOfBirth = DateResult.fromJSON(json.dateOfBirth);\n const age = json.age;\n const isExpired = json.isExpired;\n const nationality = json.nationality;\n const address = json.address;\n const documentType = json.documentType;\n const documentNumber = json.documentNumber;\n const issuingCountry = json.issuingCountry;\n const issuingCountryIso = json.issuingCountryIso;\n const dateOfExpiry = DateResult.fromJSON(json.dateOfExpiry);\n const dateOfIssue = DateResult.fromJSON(json.dateOfIssue);\n if (existingInstance) {\n if (!existingInstance.firstName) {\n json.firstName = firstName;\n }\n if (!existingInstance.lastName) {\n json.lastName = lastName;\n }\n if (!existingInstance.fullName) {\n json.fullName = fullName;\n }\n if (!existingInstance.secondaryLastName) {\n json.secondaryLastName = secondaryLastName;\n }\n if (!existingInstance.sex) {\n json.sex = sex;\n }\n if (!existingInstance.dateOfBirth) {\n json.dateOfBirth = dateOfBirth;\n }\n if (!existingInstance.age) {\n json.age = age;\n }\n if (!existingInstance.isExpired) {\n json.isExpired = isExpired;\n }\n if (!existingInstance.nationality) {\n json.nationality = nationality;\n }\n if (!existingInstance.address) {\n json.address = address;\n }\n if (!existingInstance.documentType) {\n json.documentType = documentType;\n }\n if (!existingInstance.documentNumber) {\n json.documentNumber = documentNumber;\n }\n if (!existingInstance.issuingCountry) {\n json.issuingCountry = issuingCountry;\n }\n if (!existingInstance.issuingCountryIso) {\n json.issuingCountryIso = issuingCountryIso;\n }\n if (!existingInstance.dateOfExpiry) {\n json.dateOfExpiry = dateOfExpiry;\n }\n if (!existingInstance.dateOfIssue) {\n json.dateOfIssue = dateOfIssue;\n }\n }\n const object = new CommonCapturedIdFields();\n object.json = json;\n return object;\n }\n}\n\nclass VIZResult {\n get additionalAddressInformation() { return this.json.additionalAddressInformation; }\n get additionalNameInformation() { return this.json.additionalNameInformation; }\n get documentAdditionalNumber() { return this.json.documentAdditionalNumber; }\n get employer() { return this.json.employer; }\n get issuingAuthority() { return this.json.issuingAuthority; }\n get issuingJurisdiction() { return this.json.issuingJurisdiction; }\n get issuingJurisdictionIso() { return this.json.issuingJurisdictionIso; }\n get maritalStatus() { return this.json.maritalStatus; }\n get personalIdNumber() { return this.json.personalIdNumber; }\n get placeOfBirth() { return this.json.placeOfBirth; }\n get profession() { return this.json.profession; }\n get race() { return this.json.race; }\n get religion() { return this.json.religion; }\n get residentialStatus() { return this.json.residentialStatus; }\n get capturedSides() { return this.json.capturedSides; }\n get isBackSideCaptureSupported() { return this.json.isBackSideCaptureSupported; }\n get bloodType() { return this.json.bloodType; }\n get sponsor() { return this.json.sponsor; }\n get mothersName() { return this.json.mothersName; }\n get fathersName() { return this.json.fathersName; }\n static fromJSON(json) {\n const result = new VIZResult();\n result.json = json;\n return result;\n }\n}\n\nclass CommonAccessCardBarcodeResult {\n get version() { return this.json.version; }\n get personDesignatorDocument() { return this.json.personDesignatorDocument; }\n get personDesignatorTypeCode() { return this.json.personDesignatorTypeCode; }\n get ediPersonIdentifier() { return this.json.ediPersonIdentifier; }\n get personnelCategoryCode() { return this.json.personnelCategoryCode; }\n get branchOfService() { return this.json.branchOfService; }\n get personnelEntitlementConditionType() { return this.json.personnelEntitlementConditionType; }\n get rank() { return this.json.rank; }\n get payPlanCode() { return this.json.payPlanCode; }\n get payPlanGradeCode() { return this.json.payPlanGradeCode; }\n get cardInstanceIdentifier() { return this.json.cardInstanceIdentifier; }\n get personMiddleInitial() { return this.json.personMiddleInitial; }\n static fromJSON(json) {\n const result = new CommonAccessCardBarcodeResult();\n result.json = json;\n return result;\n }\n}\n\nclass CapturedId {\n get firstName() { return this.commonCapturedFields.firstName; }\n get lastName() { return this.commonCapturedFields.lastName; }\n get fullName() { return this.commonCapturedFields.fullName; }\n get secondaryLastName() { return this.commonCapturedFields.secondaryLastName; }\n get sex() { return this.commonCapturedFields.sex; }\n get dateOfBirth() {\n return DateResult.fromJSON(this.commonCapturedFields.dateOfBirth);\n }\n get age() { return this.json.age; }\n get isExpired() { return this.json.isExpired; }\n get nationality() { return this.commonCapturedFields.nationality; }\n get address() { return this.commonCapturedFields.address; }\n get capturedResultType() { return this.json.capturedResultType; }\n get capturedResultTypes() {\n return this.json.capturedResultTypes;\n }\n get documentType() { return this.commonCapturedFields.documentType; }\n get issuingCountryIso() { return this.commonCapturedFields.issuingCountryIso; }\n get issuingCountry() { return this.commonCapturedFields.issuingCountry; }\n get documentAdditionalNumber() { return this.commonCapturedFields.documentAdditionalNumber; }\n get documentNumber() { return this.commonCapturedFields.documentNumber; }\n get dateOfExpiry() {\n return DateResult.fromJSON(this.commonCapturedFields.dateOfExpiry);\n }\n get dateOfIssue() {\n return DateResult.fromJSON(this.commonCapturedFields.dateOfIssue);\n }\n get aamvaBarcodeResult() {\n if (this._aamvaBarcodeResult == null && this.json.aamvaBarcodeResult != null) {\n this._aamvaBarcodeResult = AAMVABarcodeResult.\n fromJSON(this.json.aamvaBarcodeResult);\n }\n return this._aamvaBarcodeResult;\n }\n get argentinaIdBarcodeResult() {\n if (this._argentinaIdBarcodeResult == null && this.json.argentinaIdBarcodeResult != null) {\n this._argentinaIdBarcodeResult = ArgentinaIdBarcodeResult.\n fromJSON(this.json.argentinaIdBarcodeResult);\n }\n return this._argentinaIdBarcodeResult;\n }\n get colombiaIdBarcodeResult() {\n if (this._colombiaIdBarcodeResult == null && this.json.colombiaIdBarcodeResult != null) {\n this._colombiaIdBarcodeResult = ColombiaIdBarcodeResult.\n fromJSON(this.json.colombiaIdBarcodeResult);\n }\n return this._colombiaIdBarcodeResult;\n }\n get colombiaDlBarcodeResult() {\n if (this._colombiaDlBarcodeResult == null && this.json.colombiaDlBarcodeResult != null) {\n this._colombiaDlBarcodeResult = ColombiaDlBarcodeResult.\n fromJSON(this.json.colombiaDlBarcodeResult);\n }\n return this._colombiaDlBarcodeResult;\n }\n get mrzResult() {\n if (this._mrzResult == null && this.json.mrzResult != null) {\n this._mrzResult = MRZResult.fromJSON(this.json.mrzResult);\n }\n return this._mrzResult;\n }\n get southAfricaIdBarcodeResult() {\n if (this._southAfricaIdBarcodeResult == null && this.json.southAfricaIdBarcodeResult != null) {\n this._southAfricaIdBarcodeResult = SouthAfricaIdBarcodeResult.\n fromJSON(this.json.southAfricaIdBarcodeResult);\n }\n return this._southAfricaIdBarcodeResult;\n }\n get southAfricaDlBarcodeResult() {\n if (this._southAfricaDlBarcodeResult == null && this.json.southAfricaDlBarcodeResult != null) {\n this._southAfricaDlBarcodeResult = SouthAfricaDlBarcodeResult.\n fromJSON(this.json.southAfricaDlBarcodeResult);\n }\n return this._southAfricaDlBarcodeResult;\n }\n get commonAccessCardBarcodeResult() {\n if (this._commonAccessBarcodeResult == null && this.json.commonAccessCardBarcodeResult != null) {\n this._commonAccessBarcodeResult = CommonAccessCardBarcodeResult.\n fromJSON(this.json.commonAccessCardBarcodeResult);\n }\n return this._commonAccessBarcodeResult;\n }\n get usUniformedServicesBarcodeResult() {\n if (this._usUniformedServicesBarcodeResult == null && this.json.usUniformedServicesBarcodeResult != null) {\n const fromJSON = USUniformedServicesBarcodeResult.fromJSON;\n this._usUniformedServicesBarcodeResult = fromJSON(this.json.usUniformedServicesBarcodeResult);\n }\n return this._usUniformedServicesBarcodeResult;\n }\n get usVisaViz() {\n if (this._usVisaVizResult == null && this.json.usVisaVizResult != null) {\n const fromJSON = USVisaVIZResult.fromJSON;\n this._usVisaVizResult = fromJSON(this.json.usVisaVizResult);\n }\n return this._usVisaVizResult;\n }\n get vizResult() {\n if (this._vizResult == null && this.json.vizResult != null) {\n this._vizResult = VIZResult.fromJSON(this.json.vizResult);\n }\n return this._vizResult;\n }\n get chinaMainlandTravelPermitMRZResult() {\n if (this._chinaMainlandTravelPermitMRZResult == null && this.json.chinaMainlandTravelPermitMrzResult != null) {\n this._chinaMainlandTravelPermitMRZResult =\n ChinaMainlandTravelPermitMRZResult\n .fromJSON(this.json.chinaMainlandTravelPermitMrzResult);\n }\n return this._chinaMainlandTravelPermitMRZResult;\n }\n get chinaExitEntryPermitMRZResult() {\n if (this._chinaExitEntryPermitMRZResult == null && this.json.chinaExitEntryPermitMrzResult != null) {\n this._chinaExitEntryPermitMRZResult =\n ChinaExitEntryPermitMRZResult\n .fromJSON(this.json.chinaExitEntryPermitMrzResult);\n }\n return this._chinaExitEntryPermitMRZResult;\n }\n get chinaOneWayPermitBackMrzResult() {\n if (this._chinaOneWayPermitBackMrzResult == null && this.json.chinaOneWayPermitBackMrzResult != null) {\n this._chinaOneWayPermitBackMrzResult =\n ChinaOneWayPermitBackMrzResult\n .fromJSON(this.json.chinaOneWayPermitBackMrzResult);\n }\n return this._chinaOneWayPermitBackMrzResult;\n }\n get chinaOneWayPermitFrontMrzResult() {\n if (this._chinaOneWayPermitFrontMrzResult == null && this.json.chinaOneWayPermitFrontMrzResult != null) {\n this._chinaOneWayPermitFrontMrzResult =\n ChinaOneWayPermitFrontMrzResult\n .fromJSON(this.json.chinaOneWayPermitFrontMrzResult);\n }\n return this._chinaOneWayPermitFrontMrzResult;\n }\n get apecBusinessTravelCardMrzResult() {\n if (this._apecBusinessTravelCardMrzResult == null && this.json.apecBusinessTravelCardMrzResult != null) {\n this._apecBusinessTravelCardMrzResult =\n ApecBusinessTravelCardMrzResult\n .fromJSON(this.json.apecBusinessTravelCardMrzResult);\n }\n return this._apecBusinessTravelCardMrzResult;\n }\n static fromJSON(json) {\n const result = new CapturedId();\n result.json = json;\n if (json.aamvaBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.aamvaBarcodeResult, result.commonCapturedFields);\n }\n if (json.argentinaIdBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.argentinaIdBarcodeResult, result.commonCapturedFields);\n }\n if (json.colombiaIdBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.colombiaIdBarcodeResult, result.commonCapturedFields);\n }\n if (json.colombiaDlBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.colombiaDlBarcodeResult, result.commonCapturedFields);\n }\n if (json.mrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.mrzResult, result.commonCapturedFields);\n }\n if (json.southAfricaIdBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.southAfricaIdBarcodeResult, result.commonCapturedFields);\n }\n if (json.southAfricaDlBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.southAfricaDlBarcodeResult, result.commonCapturedFields);\n }\n if (json.commonAccessCardBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.commonAccessCardBarcodeResult, result.commonCapturedFields);\n }\n if (json.usUniformedServicesBarcodeResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.usUniformedServicesBarcodeResult, result.commonCapturedFields);\n }\n if (json.usVisaVizResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.usVisaVizResult, result.commonCapturedFields);\n }\n if (json.vizResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.vizResult, result.commonCapturedFields);\n }\n if (json.chinaMainlandTravelPermitMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaMainlandTravelPermitMrzResult, result.commonCapturedFields);\n }\n if (json.chinaExitEntryPermitMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaExitEntryPermitMrzResult, result.commonCapturedFields);\n }\n if (json.chinaOneWayPermitBackMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaOneWayPermitBackMrzResult, result.commonCapturedFields);\n }\n if (json.chinaOneWayPermitFrontMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.chinaOneWayPermitFrontMrzResult, result.commonCapturedFields);\n }\n if (json.apecBusinessTravelCardMrzResult) {\n result.commonCapturedFields = CommonCapturedIdFields.fromJSON(json.apecBusinessTravelCardMrzResult, result.commonCapturedFields);\n }\n return result;\n }\n idImageOfType(type) {\n if (this.json.imageInfo === null) {\n return null;\n }\n return this.json.imageInfo[type];\n }\n}\n\nclass IdCaptureError {\n get type() {\n return this._type;\n }\n get message() {\n return this._message;\n }\n static fromJSON(json) {\n const error = new IdCaptureError();\n error._type = json.type;\n error._message = json.message;\n return error;\n }\n}\n\nclass IdCaptureSession {\n get newlyCapturedId() {\n return this._newlyCapturedId;\n }\n get frameSequenceId() {\n return this._frameSequenceId;\n }\n get localizedOnlyId() {\n return this._localizedOnlyId;\n }\n get newlyRejectedId() {\n return this._newlyRejectedId;\n }\n static fromJSON(json) {\n const session = new IdCaptureSession();\n if (json.newlyCapturedId) {\n session._newlyCapturedId = CapturedId.fromJSON(json.newlyCapturedId);\n }\n if (json.localizedOnlyId) {\n session._localizedOnlyId = LocalizedOnlyId.fromJSON(json.localizedOnlyId);\n }\n if (json.newlyRejectedId) {\n session._newlyRejectedId = LocalizedOnlyId.fromJSON(json.newlyRejectedId);\n }\n session._frameSequenceId = json.frameSequenceId;\n session._error = json.error ? IdCaptureError.fromJSON(json.error) : null;\n return session;\n }\n}\n\nvar IdCaptureListenerEvents;\n(function (IdCaptureListenerEvents) {\n IdCaptureListenerEvents[\"inCallback\"] = \"IdCaptureListener.inCallback\";\n IdCaptureListenerEvents[\"didCapture\"] = \"IdCaptureListener.didCaptureId\";\n IdCaptureListenerEvents[\"didLocalize\"] = \"IdCaptureListener.didLocalizeId\";\n IdCaptureListenerEvents[\"didReject\"] = \"IdCaptureListener.didRejectId\";\n IdCaptureListenerEvents[\"didTimeOut\"] = \"IdCaptureListener.didTimeout\";\n})(IdCaptureListenerEvents || (IdCaptureListenerEvents = {}));\n\nclass IdCaptureListenerController {\n get _proxy() {\n return FactoryMaker.getInstance('IdCaptureListenerProxy');\n }\n static forIdCapture(idCapture) {\n const controller = new IdCaptureListenerController();\n controller.idCapture = idCapture;\n controller._proxy.isModeEnabled = () => idCapture.isEnabled;\n return controller;\n }\n constructor() {\n this.eventEmitter = FactoryMaker.getInstance('EventEmitter');\n }\n subscribeListener() {\n this._proxy.subscribeDidCaptureListener();\n this._proxy.subscribeDidLocalizeListener();\n this._proxy.subscribeDidRejectListener();\n this._proxy.subscribeDidTimeOutListener();\n this.eventEmitter.on(IdCaptureListenerEvents.inCallback, (value) => {\n this.idCapture.isInListenerCallback = value;\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didCapture, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidCapture(session);\n this._proxy.finishDidCaptureCallback(this.idCapture.isEnabled);\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didLocalize, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidLocalize(session);\n this._proxy.finishDidLocalizeCallback(this.idCapture.isEnabled);\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didReject, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidReject(session);\n this._proxy.finishDidRejectCallback(this.idCapture.isEnabled);\n });\n this.eventEmitter.on(IdCaptureListenerEvents.didTimeOut, (body) => {\n const payload = JSON.parse(body);\n const session = IdCaptureSession.fromJSON(JSON.parse(payload.session));\n this.notifyListenersOfDidTimeOut(session);\n this._proxy.finishDidTimeOutCallback(this.idCapture.isEnabled);\n });\n }\n unsubscribeListener() {\n this._proxy.unregisterListenerForEvents();\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.inCallback);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didCapture);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didLocalize);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didReject);\n this.eventEmitter.removeAllListeners(IdCaptureListenerEvents.didTimeOut);\n }\n notifyListenersOfDidCapture(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didCaptureId) {\n listener.didCaptureId(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n notifyListenersOfDidLocalize(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didLocalizeId) {\n listener.didLocalizeId(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n notifyListenersOfDidReject(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didRejectId) {\n listener.didRejectId(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n notifyListenersOfDidTimeOut(session) {\n const mode = this.idCapture;\n mode.isInListenerCallback = true;\n mode.listeners.forEach(listener => {\n if (listener.didTimeoutInSession) {\n listener.didTimeoutInSession(this.idCapture, session, CameraController.getLastFrame);\n }\n });\n mode.isInListenerCallback = false;\n }\n}\n\nclass IdCaptureFeedback extends DefaultSerializeable {\n static get defaultFeedback() {\n return new IdCaptureFeedback(IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptured, IdCaptureFeedback.idDefaults.IdCapture.Feedback.idRejected, IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptureTimeout);\n }\n get idCaptured() {\n return this._idCaptured;\n }\n set idCaptured(idCaptured) {\n this._idCaptured = idCaptured;\n this.updateFeedback();\n }\n get idRejected() {\n return this._idRejected;\n }\n set idRejected(idRejected) {\n this._idRejected = idRejected;\n this.updateFeedback();\n }\n get idCaptureTimeout() {\n return this._idCaptureTimeout;\n }\n set idCaptureTimeout(idCaptureTimeout) {\n this._idCaptureTimeout = idCaptureTimeout;\n this.updateFeedback();\n }\n static fromJSON(json) {\n const idCaptured = Feedback.fromJSON(json.idCaptured);\n const idRejected = Feedback.fromJSON(json.idRejected);\n const idCaptureTimeout = Feedback.fromJSON(json.idCaptureTimeout);\n return new IdCaptureFeedback(idCaptured, idRejected, idCaptureTimeout);\n }\n static get idDefaults() {\n return getIdDefaults();\n }\n updateFeedback() {\n var _a;\n (_a = this.controller) === null || _a === void 0 ? void 0 : _a.updateFeedback(this);\n }\n constructor(idCaptured, idRejected, idCaptureTimeout) {\n super();\n this.controller = null;\n this._idCaptured = IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptured;\n this._idRejected = IdCaptureFeedback.idDefaults.IdCapture.Feedback.idRejected;\n this._idCaptureTimeout = IdCaptureFeedback.idDefaults.IdCapture.Feedback.idCaptureTimeout;\n this.idCaptured = idCaptured;\n this.idRejected = idRejected;\n this.idCaptureTimeout = idCaptureTimeout;\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCaptureFeedback.prototype, \"controller\", void 0);\n__decorate([\n nameForSerialization('idCaptured')\n], IdCaptureFeedback.prototype, \"_idCaptured\", void 0);\n__decorate([\n nameForSerialization('idRejected')\n], IdCaptureFeedback.prototype, \"_idRejected\", void 0);\n__decorate([\n nameForSerialization('idCaptureTimeout')\n], IdCaptureFeedback.prototype, \"_idCaptureTimeout\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCaptureFeedback, \"idDefaults\", null);\n\nclass IdCapture extends DefaultSerializeable {\n get isEnabled() {\n return this._isEnabled;\n }\n set isEnabled(isEnabled) {\n this._isEnabled = isEnabled;\n this.controller.setModeEnabledState(isEnabled);\n }\n get context() {\n return this._context;\n }\n get feedback() {\n return this._feedback;\n }\n set feedback(feedback) {\n this._feedback = feedback;\n this._feedback.controller = this.controller;\n this.controller.updateFeedback(feedback);\n }\n static get recommendedCameraSettings() {\n return new CameraSettings(IdCapture.idCaptureDefaults.IdCapture.RecommendedCameraSettings);\n }\n get _context() {\n return this.privateContext;\n }\n set _context(newContext) {\n if (newContext == null) {\n this.listenerController.unsubscribeListener();\n }\n else if (this.privateContext == null) {\n this.listenerController.subscribeListener();\n }\n this.privateContext = newContext;\n }\n static get idCaptureDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n }\n static forContext(context, settings) {\n const idCapture = new IdCapture();\n idCapture.settings = settings;\n if (context) {\n context.addMode(idCapture);\n }\n return idCapture;\n }\n constructor() {\n super();\n this.type = 'idCapture';\n this._isEnabled = true;\n this._feedback = IdCaptureFeedback.defaultFeedback;\n this.privateContext = null;\n this.listeners = [];\n this.isInListenerCallback = false;\n this.controller = IdCaptureController.forIdCapture(this);\n this.listenerController = IdCaptureListenerController.forIdCapture(this);\n this.feedback.controller = this.controller;\n }\n applySettings(settings) {\n this.settings = settings;\n return this.controller.applyIdCaptureModeSettings(settings);\n }\n addListener(listener) {\n if (this.listeners.includes(listener)) {\n return;\n }\n this.listeners.push(listener);\n }\n removeListener(listener) {\n if (!this.listeners.includes(listener)) {\n return;\n }\n this.listeners.splice(this.listeners.indexOf(listener), 1);\n }\n reset() {\n return this.controller.reset();\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"_isEnabled\", void 0);\n__decorate([\n nameForSerialization('feedback')\n], IdCapture.prototype, \"_feedback\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"privateContext\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"listeners\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"controller\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"listenerController\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture.prototype, \"isInListenerCallback\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCapture, \"idCaptureDefaults\", null);\n\nvar IdLayoutLineStyle;\n(function (IdLayoutLineStyle) {\n IdLayoutLineStyle[\"Light\"] = \"light\";\n IdLayoutLineStyle[\"Bold\"] = \"bold\";\n})(IdLayoutLineStyle || (IdLayoutLineStyle = {}));\n\nvar IdLayout;\n(function (IdLayout) {\n IdLayout[\"TD1\"] = \"td1\";\n IdLayout[\"TD2\"] = \"td2\";\n IdLayout[\"TD3\"] = \"td3\";\n IdLayout[\"MRVa\"] = \"mrvA\";\n IdLayout[\"VIZ\"] = \"viz\";\n IdLayout[\"PDF417\"] = \"pdf417\";\n IdLayout[\"Auto\"] = \"auto\";\n IdLayout[\"None\"] = \"none\";\n})(IdLayout || (IdLayout = {}));\n\nvar IdLayoutStyle;\n(function (IdLayoutStyle) {\n IdLayoutStyle[\"Rounded\"] = \"rounded\";\n IdLayoutStyle[\"Square\"] = \"square\";\n})(IdLayoutStyle || (IdLayoutStyle = {}));\n\nclass IdCaptureOverlay extends DefaultSerializeable {\n static get idCaptureDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n }\n static withIdCapture(idCapture) {\n return IdCaptureOverlay.withIdCaptureForView(idCapture, null);\n }\n static withIdCaptureForView(idCapture, view) {\n const overlay = new IdCaptureOverlay();\n overlay.idCapture = idCapture;\n if (view) {\n view.addOverlay(overlay);\n }\n return overlay;\n }\n constructor() {\n super();\n this.type = 'idCapture';\n this._idLayout = IdLayout.Auto;\n this._idLayoutStyle = IdLayoutStyle.Rounded;\n this._idLayoutLineStyle = IdLayoutLineStyle.Light;\n this._textHintPosition = TextHintPosition.AboveViewfinder;\n this._showTextHints = true;\n this._defaultCapturedBrush = new Brush(IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultCapturedBrush.fillColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultCapturedBrush.strokeColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultCapturedBrush.strokeWidth);\n this._defaultLocalizedBrush = new Brush(IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultLocalizedBrush.fillColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultLocalizedBrush.strokeColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultLocalizedBrush.strokeWidth);\n this._defaultRejectedBrush = new Brush(IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultRejectedBrush.fillColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultRejectedBrush.strokeColor, IdCaptureOverlay.idCaptureDefaults.IdCapture.IdCaptureOverlayDefaults.defaultRejectedBrush.strokeWidth);\n this._capturedBrush = this._defaultCapturedBrush;\n this._localizedBrush = this._defaultLocalizedBrush;\n this._rejectedBrush = this._defaultRejectedBrush;\n this._frontSideTextHint = null;\n this._backSideTextHint = null;\n }\n setIdLayout(idLayout) {\n this._idLayout = idLayout;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n setFrontSideTextHint(text) {\n this._frontSideTextHint = text;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n setBackSideTextHint(text) {\n this._backSideTextHint = text;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get idLayoutStyle() {\n return this._idLayoutStyle;\n }\n set idLayoutStyle(style) {\n this._idLayoutStyle = style;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get idLayoutLineStyle() {\n return this._idLayoutLineStyle;\n }\n set idLayoutLineStyle(lineStyle) {\n this._idLayoutLineStyle = lineStyle;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get capturedBrush() {\n return this._capturedBrush;\n }\n set capturedBrush(brush) {\n this._capturedBrush = brush;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get localizedBrush() {\n return this._localizedBrush;\n }\n set localizedBrush(brush) {\n this._localizedBrush = brush;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get rejectedBrush() {\n return this._rejectedBrush;\n }\n set rejectedBrush(brush) {\n this._rejectedBrush = brush;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get defaultCapturedBrush() {\n return this._defaultCapturedBrush;\n }\n get defaultLocalizedBrush() {\n return this._defaultLocalizedBrush;\n }\n get defaultRejectedBrush() {\n return this._defaultRejectedBrush;\n }\n get textHintPosition() {\n return this._textHintPosition;\n }\n set textHintPosition(position) {\n this._textHintPosition = position;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n get showTextHints() {\n return this._showTextHints;\n }\n set showTextHints(enabled) {\n this._showTextHints = enabled;\n this.idCapture.controller.updateIdCaptureOverlay(this);\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCaptureOverlay.prototype, \"idCapture\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCaptureOverlay.prototype, \"view\", void 0);\n__decorate([\n nameForSerialization('idLayout')\n], IdCaptureOverlay.prototype, \"_idLayout\", void 0);\n__decorate([\n nameForSerialization('idLayoutStyle')\n], IdCaptureOverlay.prototype, \"_idLayoutStyle\", void 0);\n__decorate([\n nameForSerialization('idLayoutLineStyle')\n], IdCaptureOverlay.prototype, \"_idLayoutLineStyle\", void 0);\n__decorate([\n nameForSerialization('textHintPosition')\n], IdCaptureOverlay.prototype, \"_textHintPosition\", void 0);\n__decorate([\n nameForSerialization('showTextHints')\n], IdCaptureOverlay.prototype, \"_showTextHints\", void 0);\n__decorate([\n nameForSerialization('capturedBrush')\n], IdCaptureOverlay.prototype, \"_capturedBrush\", void 0);\n__decorate([\n nameForSerialization('localizedBrush')\n], IdCaptureOverlay.prototype, \"_localizedBrush\", void 0);\n__decorate([\n nameForSerialization('rejectedBrush')\n], IdCaptureOverlay.prototype, \"_rejectedBrush\", void 0);\n__decorate([\n nameForSerialization('frontSideTextHint')\n], IdCaptureOverlay.prototype, \"_frontSideTextHint\", void 0);\n__decorate([\n nameForSerialization('backSideTextHint')\n], IdCaptureOverlay.prototype, \"_backSideTextHint\", void 0);\n__decorate([\n ignoreFromSerialization\n], IdCaptureOverlay, \"idCaptureDefaults\", null);\n\nclass IdCaptureSettings extends DefaultSerializeable {\n constructor() {\n super();\n this.properties = {};\n this.imageToResult = {};\n this.supportedDocuments = [];\n this.supportedSides = SupportedSides.FrontOnly;\n this.anonymizationMode = IdCaptureSettings.idCaptureDefaults.IdCapture.IdCaptureSettings.anonymizationMode;\n this.rejectVoidedIds = IdCaptureSettings.idCaptureDefaults.IdCapture.IdCaptureSettings.rejectVoidedIds;\n }\n static get idCaptureDefaults() {\n return FactoryMaker.getInstance('IdDefaults');\n }\n setProperty(name, value) {\n this.properties[name] = value;\n }\n getProperty(name) {\n return this.properties[name];\n }\n setShouldPassImageTypeToResult(type, shouldPass) {\n this.imageToResult[type] = shouldPass;\n }\n getShouldPassImageTypeToResult(type) {\n return this.imageToResult[type] || false;\n }\n}\n__decorate([\n ignoreFromSerialization\n], IdCaptureSettings, \"idCaptureDefaults\", null);\n\nclass AamvaBarcodeVerifier {\n constructor() {\n this.controller = new IdCaptureController();\n }\n static create(context) {\n const verifier = new AamvaBarcodeVerifier();\n return new Promise((resolve, reject) => {\n verifier\n .controller\n .createContextForBarcodeVerification(context)\n .then(() => {\n verifier.context = context;\n resolve(verifier);\n }, reject);\n });\n }\n verify(capturedId) {\n // Necessary for not exposing internal API on CapturedId, while only passing the private \"json\" property\n // to native iOS and Android.\n const capturedIdAsString = JSON.stringify(capturedId);\n const capturedIdJsonData = JSON.parse(capturedIdAsString).json;\n return new Promise((resolve, reject) => {\n this.controller\n .verifyCapturedIdAsync(JSON.stringify(capturedIdJsonData))\n .then((json) => {\n if (!json) {\n resolve(AamvaBarcodeVerificationResult\n .fromJSON(JSON.parse('{}')));\n }\n else {\n resolve(AamvaBarcodeVerificationResult\n .fromJSON(JSON.parse(json)));\n }\n }, reject);\n });\n }\n}\n__decorate([\n ignoreFromSerialization\n], AamvaBarcodeVerifier.prototype, \"controller\", void 0);\n\nclass AamvaVizBarcodeComparisonResult {\n get checksPassed() { return this.json.checksPassed; }\n get resultDescription() { return this.json.resultDescription; }\n get issuingCountryIsoMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.issuingCountryIsoMatch);\n }\n get issuingJurisdictionIsoMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.issuingJurisdictionIsoMatch);\n }\n get documentNumbersMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.documentNumbersMatch);\n }\n get fullNamesMatch() {\n return StringComparisonCheck\n .fromJSON(this.json.fullNamesMatch);\n }\n get datesOfBirthMatch() {\n return DateComparisonCheck\n .fromJSON(this.json.datesOfBirthMatch);\n }\n get datesOfExpiryMatch() {\n return DateComparisonCheck\n .fromJSON(this.json.datesOfExpiryMatch);\n }\n get datesOfIssueMatch() {\n return DateComparisonCheck\n .fromJSON(this.json.datesOfIssueMatch);\n }\n get frontMismatchImage() {\n return this.json.frontMismatchImage;\n }\n static fromJSON(json) {\n const result = new AamvaVizBarcodeComparisonResult();\n result.json = json;\n return result;\n }\n}\n\nclass AamvaVizBarcodeComparisonVerifier {\n constructor() {\n this.controller = new IdCaptureController();\n }\n static create() {\n return new AamvaVizBarcodeComparisonVerifier();\n }\n verify(capturedId) {\n // Necessary for not exposing internal API on CapturedId, while only passing the private \"json\" property\n // to native iOS and Android.\n const capturedIdAsString = JSON.stringify(capturedId);\n const capturedIdJsonData = JSON.parse(capturedIdAsString).json;\n return new Promise((resolve, reject) => {\n this.controller\n .verifyCapturedId(JSON.stringify(capturedIdJsonData))\n .then((json) => {\n if (!json) {\n resolve(AamvaVizBarcodeComparisonResult\n .fromJSON(JSON.parse('{}')));\n }\n else {\n resolve(AamvaVizBarcodeComparisonResult\n .fromJSON(JSON.parse(json)));\n }\n }, reject);\n });\n }\n}\n__decorate([\n ignoreFromSerialization\n], AamvaVizBarcodeComparisonVerifier.prototype, \"controller\", void 0);\n\nvar CapturedResultType;\n(function (CapturedResultType) {\n CapturedResultType[\"AAMVABarcodeResult\"] = \"aamvaBarcodeResult\";\n CapturedResultType[\"ArgentinaIdBarcodeResult\"] = \"argentinaIdBarcodeResult\";\n CapturedResultType[\"ColombiaIdBarcodeResult\"] = \"colombiaIdBarcodeResult\";\n CapturedResultType[\"ColombiaDlBarcodeResult\"] = \"colombiaDlBarcodeResult\";\n CapturedResultType[\"MRZResult\"] = \"mrzResult\";\n CapturedResultType[\"SouthAfricaDlBarcodeResult\"] = \"southAfricaDlBarcodeResult\";\n CapturedResultType[\"SouthAfricaIdBarcodeResult\"] = \"southAfricaIdBarcodeResult\";\n CapturedResultType[\"CommonAccessCardBarcodeResult\"] = \"commonAccessCardBarcodeResult\";\n CapturedResultType[\"USUniformedServicesBarcodeResult\"] = \"usUniformedServicesBarcodeResult\";\n CapturedResultType[\"USVisaVIZResult\"] = \"usVisaVizResult\";\n CapturedResultType[\"VIZResult\"] = \"vizResult\";\n CapturedResultType[\"ChinaMainlandTravelPermitMRZResult\"] = \"chinaMainlandTravelPermitMrzResult\";\n CapturedResultType[\"ChinaExitEntryPermitMRZResult\"] = \"chinaExitEntryPermitMrzResult\";\n CapturedResultType[\"ChinaOneWayPermitBackMrzResult\"] = \"chinaOneWayPermitBackMrzResult\";\n CapturedResultType[\"ChinaOneWayPermitFrontMrzResult\"] = \"chinaOneWayPermitFrontMrzResult\";\n CapturedResultType[\"ApecBusinessTravelCardMrzResult\"] = \"apecBusinessTravelCardMrzResult\";\n})(CapturedResultType || (CapturedResultType = {}));\n\nvar DocumentType;\n(function (DocumentType) {\n DocumentType[\"None\"] = \"none\";\n DocumentType[\"ConsularId\"] = \"consularId\";\n DocumentType[\"DrivingLicense\"] = \"drivingLicense\";\n DocumentType[\"DrivingLicensePublicServicesCard\"] = \"drivingLicensePublicServicesCard\";\n DocumentType[\"EmploymentPass\"] = \"employmentPass\";\n DocumentType[\"FinCard\"] = \"finCard\";\n DocumentType[\"Id\"] = \"id\";\n DocumentType[\"MultipurposeId\"] = \"multipurposeId\";\n DocumentType[\"MyKad\"] = \"myKad\";\n DocumentType[\"MyKid\"] = \"myKid\";\n DocumentType[\"MyPR\"] = \"myPr\";\n DocumentType[\"MyTentera\"] = \"myTentera\";\n DocumentType[\"PanCard\"] = \"panCard\";\n DocumentType[\"ProfessionalId\"] = \"professionalId\";\n DocumentType[\"PublicServicesCard\"] = \"publicServicesCard\";\n DocumentType[\"ResidencePermit\"] = \"residencePermit\";\n DocumentType[\"ResidentId\"] = \"residentId\";\n DocumentType[\"TemporaryResidencePermit\"] = \"temporaryResidencePermit\";\n DocumentType[\"VoterId\"] = \"voterId\";\n DocumentType[\"WorkPermit\"] = \"workPermit\";\n DocumentType[\"IKad\"] = \"iKad\";\n DocumentType[\"MilitaryId\"] = \"militaryId\";\n DocumentType[\"MyKas\"] = \"myKas\";\n DocumentType[\"SocialSecurityCard\"] = \"socialSecurityCard\";\n DocumentType[\"HealthInsuranceCard\"] = \"healthInsuranceCard\";\n DocumentType[\"Passport\"] = \"passport\";\n DocumentType[\"DiplomaticPassport\"] = \"diplomaticPassport\";\n DocumentType[\"ServicePassport\"] = \"servicePassport\";\n DocumentType[\"TemporaryPassport\"] = \"temporaryPassport\";\n DocumentType[\"Visa\"] = \"visa\";\n DocumentType[\"SPass\"] = \"sPass\";\n DocumentType[\"AddressCard\"] = \"addressCard\";\n DocumentType[\"AlienId\"] = \"alienId\";\n DocumentType[\"AlienPassport\"] = \"alienPassport\";\n DocumentType[\"GreenCard\"] = \"greenCard\";\n DocumentType[\"MinorsId\"] = \"minorsId\";\n DocumentType[\"PostalId\"] = \"postalId\";\n DocumentType[\"ProfessionalDl\"] = \"professionalDl\";\n DocumentType[\"TaxId\"] = \"taxId\";\n DocumentType[\"WeaponPermit\"] = \"weaponPermit\";\n DocumentType[\"BorderCrossingCard\"] = \"borderCrossingCard\";\n DocumentType[\"DriverCard\"] = \"driverCard\";\n DocumentType[\"GlobalEntryCard\"] = \"globalEntryCard\";\n DocumentType[\"MyPolis\"] = \"myPolis\";\n DocumentType[\"NexusCard\"] = \"nexusCard\";\n DocumentType[\"PassportCard\"] = \"passportCard\";\n DocumentType[\"ProofOfAgeCard\"] = \"proofOfAgeCard\";\n DocumentType[\"RefugeeId\"] = \"refugeeId\";\n DocumentType[\"TribalId\"] = \"tribalId\";\n DocumentType[\"VeteranId\"] = \"veteranId\";\n DocumentType[\"CitizenshipCertificate\"] = \"citizenshipCertificate\";\n DocumentType[\"MyNumberCard\"] = \"myNumberCard\";\n DocumentType[\"MinorsPassport\"] = \"minorsPassport\";\n DocumentType[\"MinorsPublicServicesCard\"] = \"minorsPublicServicesCard\";\n DocumentType[\"AsylumRequest\"] = \"asylumRequest\";\n DocumentType[\"DriverQualificationCard\"] = \"driverQualificationCard\";\n DocumentType[\"ProvisionalDl\"] = \"provisionalDl\";\n DocumentType[\"RefugeePassport\"] = \"refugeePassport\";\n DocumentType[\"SpecialId\"] = \"specialId\";\n DocumentType[\"UniformedServicesId\"] = \"uniformedServicesId\";\n DocumentType[\"ImmigrantVisa\"] = \"immigrantVisa\";\n DocumentType[\"ConsularVoterId\"] = \"consularVoterId\";\n DocumentType[\"TwicCard\"] = \"twicCard\";\n DocumentType[\"ExitEntryPermit\"] = \"exitEntryPermit\";\n DocumentType[\"MainlandTravelPermitHongKongMacau\"] = \"mainlandTravelPermitHongKongMacau\";\n DocumentType[\"MainlandTravelPermitTaiwan\"] = \"mainlandTravelPermitTaiwan\";\n DocumentType[\"NbiClearance\"] = \"nbiClearance\";\n DocumentType[\"ProofOfRegistration\"] = \"proofOfRegistration\";\n DocumentType[\"TemporaryProtectionPermit\"] = \"temporaryProtectionPermit\";\n DocumentType[\"MunicipalId\"] = \"municipalId\";\n DocumentType[\"AfghanCitizenCard\"] = \"afghanCitizenCard\";\n DocumentType[\"Eid\"] = \"eid\";\n DocumentType[\"Pass\"] = \"pass\";\n DocumentType[\"SisId\"] = \"sisId\";\n DocumentType[\"MedicalMarijuanaCard\"] = \"medicalMarijuanaCard\";\n DocumentType[\"AsicCard\"] = \"asicCard\";\n DocumentType[\"BidoonCard\"] = \"bidoonCard\";\n DocumentType[\"InterimHealthInsuranceCard\"] = \"interimHealthInsuranceCard\";\n DocumentType[\"NonVoterId\"] = \"nonVoterId\";\n DocumentType[\"ReciprocalHealthInsuranceCard\"] = \"reciprocalHealthInsuranceCard\";\n DocumentType[\"VehicleRegistration\"] = \"vehicleRegistration\";\n})(DocumentType || (DocumentType = {}));\n\nclass VizMrzComparisonResult {\n get checksPassed() { return this.json.checksPassed; }\n get resultDescription() { return this.json.resultDescription; }\n get issuingCountryIsoMatch() {\n return VizMrzStringComparisonCheck\n .fromJSON(this.json.issuingCountryIsoMatch);\n }\n get documentNumbersMatch() {\n return VizMrzStringComparisonCheck\n .fromJSON(this.json.documentNumbersMatch);\n }\n get fullNamesMatch() {\n return VizMrzStringComparisonCheck\n .fromJSON(this.json.fullNamesMatch);\n }\n get datesOfBirthMatch() {\n return VizMrzDateComparisonCheck\n .fromJSON(this.json.datesOfBirthMatch);\n }\n get datesOfExpiryMatch() {\n return VizMrzDateComparisonCheck\n .fromJSON(this.json.datesOfExpiryMatch);\n }\n static fromJSON(json) {\n const result = new VizMrzComparisonResult();\n result.json = json;\n return result;\n }\n}\n\nclass VizMrzComparisonVerifier {\n constructor() {\n this.controller = new IdCaptureController();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static create(context) {\n return new VizMrzComparisonVerifier();\n }\n verify(capturedId) {\n // Necessary for not exposing internal API on CapturedId, while only passing the private \"json\" property\n // to native iOS and Android.\n const capturedIdAsString = JSON.stringify(capturedId);\n const capturedIdJsonData = JSON.parse(capturedIdAsString).json;\n return new Promise((resolve, reject) => {\n this.controller\n .verifyVizMrz(JSON.stringify(capturedIdJsonData))\n .then((json) => {\n if (!json) {\n resolve(VizMrzComparisonResult\n .fromJSON(JSON.parse('{}')));\n }\n else {\n resolve(VizMrzComparisonResult\n .fromJSON(JSON.parse(json)));\n }\n }, reject);\n });\n }\n}\n__decorate([\n ignoreFromSerialization\n], VizMrzComparisonVerifier.prototype, \"controller\", void 0);\n\nexport { AAMVABarcodeResult, AamvaBarcodeVerificationResult, AamvaBarcodeVerificationStatus, AamvaBarcodeVerifier, AamvaVizBarcodeComparisonResult, AamvaVizBarcodeComparisonVerifier, ApecBusinessTravelCardMrzResult, ArgentinaIdBarcodeResult, CapturedId, CapturedResultType, ChinaExitEntryPermitMRZResult, ChinaMainlandTravelPermitMRZResult, ChinaOneWayPermitBackMrzResult, ChinaOneWayPermitFrontMrzResult, ColombiaDlBarcodeResult, ColombiaIdBarcodeResult, CommonAccessCardBarcodeResult, CommonCapturedIdFields, ComparisonCheckResult, DateComparisonCheck, DateResult, DocumentType, IdAnonymizationMode, IdCapture, IdCaptureController, IdCaptureError, IdCaptureFeedback, IdCaptureListenerController, IdCaptureListenerEvents, IdCaptureOverlay, IdCaptureSession, IdCaptureSettings, IdDocumentType, IdImageType, IdLayout, IdLayoutLineStyle, IdLayoutStyle, LocalizedOnlyId, MRZResult, ProfessionalDrivingPermit, RejectedId, RejectionReason, SouthAfricaDlBarcodeResult, SouthAfricaIdBarcodeResult, StringComparisonCheck, SupportedSides, TextHintPosition, USUniformedServicesBarcodeResult, USVisaVIZResult, VIZResult, VehicleRestriction, VizMrzComparisonCheckResult, VizMrzComparisonResult, VizMrzComparisonVerifier, VizMrzDateComparisonCheck, VizMrzStringComparisonCheck, getIdDefaults, loadIdDefaults, parseIdDefaults };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":"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"}