@microblink/blinkid-in-browser-sdk
Version:
A simple ID scanning library for WebAssembly-enabled browsers.
172 lines (171 loc) • 6.4 kB
TypeScript
/**
* Copyright (c) Microblink Ltd. All rights reserved.
*/
import { MBDate } from "../../../MicroblinkSDK/DataStructures";
/**
* Supported MRTD document types
*/
export declare enum MrtdDocumentType {
MRTD_TYPE_UNKNOWN = 0,
/** Identity card */
MRTD_TYPE_IDENITY_CARD = 1,
/** Passport */
MRTD_TYPE_PASSPORT = 2,
/** Visa */
MRTD_TYPE_VISA = 3,
/** US Green Card */
MRTD_TYPE_GREEN_CARD = 4,
/** Malaysian PASS type IMM13P */
MRTD_TYPE_MYS_PASS_IMM13P = 5,
/** Driver's license */
MRTD_TYPE_DL = 6,
/** Internal travel document */
MRTD_TYPE_INTERNAL_TRAVEL_DOCUMENT = 7,
/** Border crossing card */
MRTD_TYPE_BORDER_CROSSING_CARD = 8,
/** Number of elements in this enum */
MRTD_TYPE_COUNT = 9
}
/**
* Represents data extracted from MRZ (Machine Readable Zone) of Machine Readable Travel Document (MRTD).
*/
export interface MrzResult {
/**
* The alien number. Contains empty string if not available.
* Exists only on US Green Cards. To see which document was scanned use {@link documentType}.
*/
readonly alienNumber: string;
/**
* The application receipt number. Contains empty string if not available.
* Exists only on US Green Cards. To see which document was scanned use {@link documentType}.
*/
readonly applicationReceiptNumber: string;
/**
* The holder's date of birth
*/
readonly dateOfBirth: MBDate;
/**
* The date of expiry
*/
readonly dateOfExpiry: MBDate;
/**
* The document code. Document code contains two characters. For MRTD the first character shall
* be A, C or I. The second character shall be discretion of the issuing State or organization except
* that V shall not be used, and `C` shall not be used after `A` except in the crew member certificate.
* On machine-readable passports (MRP) first character shall be `P` to designate an MRP. One additional
* letter may be used, at the discretion of the issuing State or organization, to designate a particular
* MRP. If the second character position is not used for this purpose, it shall be filled by the filter
* character <code><</code>.
*/
readonly documentCode: string;
/**
* The document number. Document number contains up to 9 characters.
* Element does not exist on US Green Card. To see which document was scanned use {@link documentType}.
*/
readonly documentNumber: string;
/**
* The MRTD document type of recognized document.
*/
readonly documentType: MrtdDocumentType;
/**
* The gender of the card holder. Gender is specified by use of the single initial, capital letter F for female,
* M for male or <code><</code> for unspecified.
*/
readonly gender: string;
/**
* The immigrant case number. Contains empty string if not available.
* Exists only on US Green Cards. To see which document was scanned use {@link #documentType}.
*/
readonly immigrantCaseNumber: string;
/**
* The three-letter or two-letter code which indicate the issuing State. Three-letter codes are based
* on Aplha-3 codes for entities specified in ISO 3166-1, with extensions for certain States. Two-letter
* codes are based on Aplha-2 codes for entities specified in ISO 3166-1, with extensions for certain States.
*/
readonly issuer: string;
/**
* The full issuer name that is expanded from the three-letter or two-letter code which indicate
* the issuing State.
*/
readonly issuerName: string;
/**
* Returns nationality of the holder represented by a three-letter or two-letter code. Three-letter
* codes are based on Alpha-3 codes for entities specified in ISO 3166-1, with extensions for certain
* States. Two-letter codes are based on Aplha-2 codes for entities specified in ISO 3166-1, with
* extensions for certain States.
*/
readonly nationality: string;
/**
* Full nationality of the holder, which is expanded from the three-letter or two-letter
* nationality code.
*/
readonly nationalityName: string;
/**
* The first optional data. Contains empty string if not available.
* Element does not exist on US Green Card. To see which document was scanned use {@link #documentType}.
*/
readonly opt1: string;
/**
* The second optional data. Contains empty string if not available.
* Element does not exist on Passports and Visas. To see which document was scanned use {@link #documentType}.
*/
readonly opt2: string;
/**
* true if Machine Readable Zone has been parsed, false otherwise.
*/
readonly parsed: boolean;
/**
* The primary indentifier. If there is more than one component, they are separated with space.
*/
readonly primaryID: string;
/**
* The entire Machine Readable Zone text from ID. This text is usually used for parsing
* other elements.
* NOTE: This string is available only if OCR result was parsed successfully.
*/
readonly rawMRZString: string;
/**
* The document code, but without additional '<' characters if they exist.
*
* @see #documentCode
*/
readonly sanitizedDocumentCode: string;
/**
* The document number, but without additional '<' characters if they exist.
*
* @see #documentNumber
*/
readonly sanitizedDocumentNumber: string;
/**
* The issuer, but without additional '<' characters if they exist.
*
* @see #issuer
*/
readonly sanitizedIssuer: string;
/**
* The nationality, but without additional '<' characters if they exist.
*
* @see #nationality
*/
readonly sanitizedNationality: string;
/**
* The opt1 field, but without additional '<' characters if they exist.
*
* @see #opt1
*/
readonly sanitizedOpt1: string;
/**
* The opt2 field, but without additional '<' characters if they exist.
*
* @see #opt2
*/
readonly sanitizedOpt2: string;
/**
* The secondary identifier. If there is more than one component, they are separated with space.
*/
readonly secondaryID: string;
/**
* True if all check digits inside MRZ are correct, false otherwise.
*/
readonly verified: boolean;
}