UNPKG

@microblink/blinkid-in-browser-sdk

Version:

A simple ID scanning library for WebAssembly-enabled browsers.

172 lines (171 loc) 6.4 kB
/** * 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>&lt;</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>&lt;</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; }