Comparing version 4.1.0 to 4.2.0
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export const formats = { | ||
@@ -3,0 +2,0 @@ TD1: 'TD1', |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
const states = { | ||
@@ -3,0 +2,0 @@ "AFG": "Afghanistan", |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { formats } from './formats'; | ||
@@ -3,0 +2,0 @@ import states from './generated/states'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { fieldTypes } from './createFieldParser'; | ||
@@ -3,0 +2,0 @@ const numberToLetterMismatches = { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export function checkLines(lines) { | ||
@@ -3,0 +2,0 @@ if (typeof lines === 'string') { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { ParseTextError } from '../parsers/parseText'; | ||
@@ -3,0 +2,0 @@ import { autoCorrection } from './autoCorrection'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import parseCompositeCheckDigit from '../parsers/parseCompositeCheckDigit'; | ||
@@ -3,0 +2,0 @@ import parseDate from '../parsers/parseDate'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -3,0 +2,0 @@ import frenchDrivingLicenceFields from './frenchDrivingLicenceFields'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/frenchDrivingLicence/parseDocumentCode'; | ||
@@ -3,0 +2,0 @@ import { parseAlpha } from '../parsers/parseAlpha'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -3,0 +2,0 @@ import frenchNationalIdFields from './frenchNationalIdFields'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { parseAlpha } from '../parsers/parseAlpha'; | ||
@@ -3,0 +2,0 @@ import parseDocumentCode from '../parsers/parseDocumentCodeId'; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
import { getDocumentNumber } from './getDocumentNumber'; | ||
function getDetails(lines, fieldParsers, autocorrectArray) { | ||
@@ -48,2 +48,3 @@ const details = []; | ||
fields: fields.fields, | ||
documentNumber: getDocumentNumber(format, fields.fields), | ||
valid: fields.allValid, | ||
@@ -50,0 +51,0 @@ }; |
@@ -0,6 +1,7 @@ | ||
import { ParseResult } from '../types'; | ||
export interface ParseMRZOptions { | ||
autocorrect?: boolean; | ||
} | ||
declare function parseMRZ(inputLines: string | string[], options?: ParseMRZOptions): import("..").ParseResult; | ||
declare function parseMRZ(inputLines: string | string[], options?: ParseMRZOptions): ParseResult; | ||
export default parseMRZ; | ||
//# sourceMappingURL=parse.d.ts.map |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { checkLines } from './checkLines'; | ||
@@ -3,0 +2,0 @@ import { parsers } from './parsers'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import parseFrenchDrivingLicense from './frenchDrivingLicence'; | ||
@@ -3,0 +2,0 @@ import parseFrenchNationalId from './frenchNationalId'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -3,0 +2,0 @@ import { getResult } from './getResult'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { parseNumber } from '../parsers/parseNumber'; | ||
@@ -3,0 +2,0 @@ import { checkSeparator } from '../parsers/swissDrivingLicense/checkSeparator'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -3,0 +2,0 @@ import { getResult } from './getResult'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/parseDocumentCodeId'; | ||
@@ -3,0 +2,0 @@ import { parseDocumentNumberOptional } from '../parsers/parseDocumentNumberOptional'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -3,0 +2,0 @@ import { getResult } from './getResult'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/parseDocumentCodeId'; | ||
@@ -3,0 +2,0 @@ import { parseOptional } from '../parsers/parseOptional'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -3,0 +2,0 @@ import { getResult } from './getResult'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/parseDocumentCodePassport'; | ||
@@ -3,0 +2,0 @@ import { parsePersonalNumber } from '../parsers/parsePersonalNumber'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export function check(string, value) { | ||
@@ -3,0 +2,0 @@ let code = 0; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export function cleanText(string) { | ||
@@ -3,0 +2,0 @@ return string.replace(/<+$/g, '').replace(/</g, ' '); |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
/** | ||
@@ -3,0 +2,0 @@ * D1 seems to be the most common, |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { cleanText } from './cleanText'; | ||
@@ -3,0 +2,0 @@ export function parseAlpha(source) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -3,0 +2,0 @@ export default function parseCompositeCheckDigit(checkDigit, ...sources) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export default function parseDate(value) { | ||
@@ -3,0 +2,0 @@ if (!value.match(/^[0-9<]{4,6}$/)) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -3,0 +2,0 @@ export default function parseCheckDigit(checkDigit, value) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export default function parseDocumentCodeId(source) { | ||
@@ -3,0 +2,0 @@ const first = source.charAt(0); |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export default function parseDocumentCodePassport(source) { | ||
@@ -3,0 +2,0 @@ const first = source.charAt(0); |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { cleanText } from './cleanText'; | ||
@@ -3,0 +2,0 @@ export default function parseDocumentNumber(source, checkDigit, optional) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -3,0 +2,0 @@ export default function parseDocumentNumberCheckDigit(checkDigit, source, optional) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -3,0 +2,0 @@ export function parseDocumentNumberOptional(optional, checkDigit) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -3,0 +2,0 @@ export default function parseFirstName(source) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -3,0 +2,0 @@ export default function parseLastName(source) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export function parseNumber(source) { | ||
@@ -3,0 +2,0 @@ if (!source.match(/^[0-9]+$/)) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -3,0 +2,0 @@ export function parseOptional(source) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -3,0 +2,0 @@ export function parsePersonalNumber(source) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -3,0 +2,0 @@ import { cleanText } from './cleanText'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export default function parseSex(source) { | ||
@@ -3,0 +2,0 @@ switch (source) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import STATES from '../generated/states'; | ||
@@ -3,0 +2,0 @@ import { cleanText } from './cleanText'; |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import { cleanText } from './cleanText'; | ||
@@ -3,0 +2,0 @@ export function parseText(source, initialStart, regexp = /^[0-9A-Z<]+$/) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export function checkSeparator(source) { | ||
@@ -3,0 +2,0 @@ if (!source.match(/^<*$/)) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export default function parseDocumentCode(source) { | ||
@@ -3,0 +2,0 @@ if (source !== 'FA') { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
import parseLanguageCode from './parseLanguageCode'; | ||
@@ -3,0 +2,0 @@ export default function parseDocumentNumber(source) { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export default function parseIssuingState(source) { | ||
@@ -3,0 +2,0 @@ if (source !== 'CHE' && source !== 'LIE') { |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
export default function parseLanguageCode(languageCode) { | ||
@@ -3,0 +2,0 @@ switch (languageCode) { |
@@ -28,2 +28,3 @@ export interface Autocorrect { | ||
fields: FieldRecords; | ||
documentNumber: string | null; | ||
details: Details[]; | ||
@@ -30,0 +31,0 @@ } |
@@ -1,3 +0,2 @@ | ||
'use strict'; | ||
export {}; | ||
//# sourceMappingURL=types.js.map |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.formats = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const states = { |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
@@ -3,0 +3,0 @@ if (k2 === undefined) k2 = k; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.autoCorrection = exports.numberToLetter = exports.letterToNumber = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.checkLines = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.fieldTypes = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,4 +0,5 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getResult = void 0; | ||
const getDocumentNumber_1 = require("./getDocumentNumber"); | ||
function getDetails(lines, fieldParsers, autocorrectArray) { | ||
@@ -50,2 +51,3 @@ const details = []; | ||
fields: fields.fields, | ||
documentNumber: (0, getDocumentNumber_1.getDocumentNumber)(format, fields.fields), | ||
valid: fields.allValid, | ||
@@ -52,0 +54,0 @@ }; |
@@ -0,6 +1,7 @@ | ||
import { ParseResult } from '../types'; | ||
export interface ParseMRZOptions { | ||
autocorrect?: boolean; | ||
} | ||
declare function parseMRZ(inputLines: string | string[], options?: ParseMRZOptions): import("..").ParseResult; | ||
declare function parseMRZ(inputLines: string | string[], options?: ParseMRZOptions): ParseResult; | ||
export default parseMRZ; | ||
//# sourceMappingURL=parse.d.ts.map |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const checkLines_1 = require("./checkLines"); |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
@@ -3,0 +3,0 @@ if (k2 === undefined) k2 = k; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.check = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.cleanText = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.parseAlpha = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const check_1 = require("./check"); |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ function parseDate(value) { |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const check_1 = require("./check"); |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ function parseDocumentCodeId(source) { |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ function parseDocumentCodePassport(source) { |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const cleanText_1 = require("./cleanText"); |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const check_1 = require("./check"); |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.parseDocumentNumberOptional = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const parseText_1 = require("./parseText"); |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ const parseText_1 = require("./parseText"); |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.parseNumber = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.parseOptional = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.parsePersonalNumber = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.parsePersonalNumberCheckDigit = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ function parseSex(source) { |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.ParseTextError = exports.parseText = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ exports.checkSeparator = void 0; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ function parseDocumentCode(source) { |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -3,0 +3,0 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ function parseIssuingState(source) { |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -3,0 +3,0 @@ function parseLanguageCode(languageCode) { |
@@ -28,2 +28,3 @@ export interface Autocorrect { | ||
fields: FieldRecords; | ||
documentNumber: string | null; | ||
details: Details[]; | ||
@@ -30,0 +31,0 @@ } |
@@ -1,3 +0,3 @@ | ||
'use strict'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=types.js.map |
{ | ||
"name": "mrz", | ||
"version": "4.1.0", | ||
"version": "4.2.0", | ||
"description": "Parse MRZ (Machine Readable Zone) from identity documents", | ||
@@ -50,13 +50,13 @@ "main": "./lib/index.js", | ||
"devDependencies": { | ||
"@babel/plugin-transform-modules-commonjs": "^7.23.0", | ||
"@babel/preset-typescript": "^7.23.2", | ||
"@types/jest": "^29.5.6", | ||
"@babel/plugin-transform-modules-commonjs": "^7.24.6", | ||
"@babel/preset-typescript": "^7.24.6", | ||
"@types/jest": "^29.5.12", | ||
"cheminfo-build": "^1.2.0", | ||
"eslint": "^8.52.0", | ||
"eslint-config-cheminfo-typescript": "^12.0.4", | ||
"eslint-config-cheminfo-typescript": "^12.4.0", | ||
"jest": "^29.7.0", | ||
"prettier": "^3.0.3", | ||
"rimraf": "^5.0.5", | ||
"typescript": "^5.2.2" | ||
"prettier": "^3.2.5", | ||
"rimraf": "^5.0.7", | ||
"typescript": "^5.4.5" | ||
} | ||
} |
@@ -84,2 +84,8 @@ # mrz | ||
##### result.documentNumber | ||
The document number, as can be found in the visual elements of the document, outside the MRZ. For some documents, it may | ||
be composed of multiple parsed fields. It may also not include the MRZ field named `documentNumber`. If any of the used | ||
fields is invalid, this field will be set to `null`. | ||
##### result.details | ||
@@ -117,7 +123,7 @@ | ||
http://www.astra2.admin.ch/media/pdfpub/2003-10-15_2262_f.pdf | ||
https://www.astra.admin.ch/dam/astra/fr/dokumente/dokumente-strassenverkehr/kreisschreiben/ch-fak.pdf.download.pdf/Le%20permis%20de%20conduire%20suisse%20format%20carte%20de%20cr%C3%A9dit%20(PCC).pdf | ||
### French national id | ||
https://fr.wikipedia.org/wiki/Carte_nationale_d%27identit%C3%A9_en_France#Codage_Bande_MRZ_(lecture_optique) | ||
https://fr.wikipedia.org/wiki/Carte_nationale_d%27identit%C3%A9_en_France#Codage_bande_%C3%A0_lecture_optique | ||
@@ -124,0 +130,0 @@ ## License |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export type FormatType = keyof typeof formats; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import states from '../states'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,2 +0,1 @@ | ||
'use strict'; | ||
const states = { | ||
@@ -3,0 +2,0 @@ "AFG": "Afghanistan", |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { formats } from './formats'; | ||
@@ -4,0 +2,0 @@ import states from './generated/states'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parse from '../parse'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parse from '../parse'; | ||
@@ -11,5 +9,8 @@ | ||
expect(result.format).toBe('FRENCH_DRIVING_LICENSE'); | ||
expect(result.valid).toBe(true); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(0); | ||
expect(result).toMatchObject({ | ||
format: 'FRENCH_DRIVING_LICENSE', | ||
valid: true, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -24,2 +25,4 @@ documentCode: 'D1', | ||
}); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(0); | ||
}); | ||
@@ -26,0 +29,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parse from '../parse'; | ||
@@ -13,5 +11,9 @@ | ||
const result = parse(MRZ); | ||
expect(result.format).toBe('FRENCH_NATIONAL_ID'); | ||
// expect(result.valid).toStrictEqual(true); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(0); | ||
expect(result).toMatchObject({ | ||
format: 'FRENCH_NATIONAL_ID', | ||
valid: true, | ||
documentNumber: '1710GVA12345', | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -32,3 +34,39 @@ documentCode: 'ID', | ||
}); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(0); | ||
}); | ||
it('invalid MRZ', () => { | ||
const MRZ = [ | ||
'IDFRATEST<NAME<<<<<<<<<<<<<<<<0CHE02', | ||
'1710GV?123451ROBERTA<<<<<<<9112311F2', | ||
]; | ||
const result = parse(MRZ); | ||
expect(result).toMatchObject({ | ||
format: 'FRENCH_NATIONAL_ID', | ||
valid: false, | ||
documentNumber: null, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
documentCode: 'ID', | ||
issuingState: 'FRA', | ||
lastName: 'TEST NAME', | ||
administrativeCode: '0CHE02', | ||
issueDate: '1710', | ||
administrativeCode2: null, | ||
documentNumber: '12345', | ||
documentNumberCheckDigit: null, | ||
firstName: 'ROBERTA', | ||
birthDate: '911231', | ||
birthDateCheckDigit: '1', | ||
sex: 'female', | ||
compositeCheckDigit: null, | ||
}); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(3); | ||
}); | ||
it('Use autocorrect', () => { | ||
@@ -39,2 +77,5 @@ const MRZ = [ | ||
]; | ||
const reference = parse(MRZ); | ||
const falseMRZ = [ | ||
@@ -45,6 +86,5 @@ '1DFRATE5T<NAME<<<<<<<<<<<<<<<<0CHE02', | ||
const result = parse(MRZ); | ||
const correctedResult = parse(falseMRZ, { autocorrect: true }); | ||
expect(correctedResult.fields).toStrictEqual(reference.fields); | ||
expect(result.fields).toStrictEqual(correctedResult.fields); | ||
expect( | ||
@@ -51,0 +91,0 @@ correctedResult.details.map(({ autocorrect }) => autocorrect), |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parse from '../parse'; | ||
@@ -14,4 +12,21 @@ | ||
const result = parse(MRZ); | ||
expect(result.format).toBe('SWISS_DRIVING_LICENSE'); | ||
expect(result.valid).toBe(true); | ||
expect(result).toMatchObject({ | ||
format: 'SWISS_DRIVING_LICENSE', | ||
valid: true, | ||
documentNumber: '305142128097', | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
documentNumber: 'AAA001D', | ||
languageCode: 'D', | ||
documentCode: 'FA', | ||
issuingState: 'CHE', | ||
pinCode: '305142128', | ||
versionNumber: '097', | ||
birthDate: '800126', | ||
firstName: 'FABIENNE', | ||
lastName: 'MARCHAND', | ||
}); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(0); | ||
@@ -47,2 +62,19 @@ expect(result.details[0]).toStrictEqual({ | ||
}); | ||
}); | ||
it('invalid text', () => { | ||
const MRZ = [ | ||
'AAA001D<<', | ||
'FACHE305142128?97<<800126<<<<<', | ||
'M4RCHAND<<FABI3NNE<<<<<<<<<<<<', | ||
]; | ||
const result = parse(MRZ); | ||
expect(result).toMatchObject({ | ||
format: 'SWISS_DRIVING_LICENSE', | ||
valid: false, | ||
documentNumber: null, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -54,19 +86,9 @@ documentNumber: 'AAA001D', | ||
pinCode: '305142128', | ||
versionNumber: '097', | ||
versionNumber: null, | ||
birthDate: '800126', | ||
firstName: 'FABIENNE', | ||
lastName: 'MARCHAND', | ||
firstName: null, | ||
lastName: null, | ||
}); | ||
}); | ||
it('invalid text', () => { | ||
const MRZ = [ | ||
'AAA001D<<', | ||
'FACHE305142128097<<800126<<<<<', | ||
'M4RCHAND<<FABI3NNE<<<<<<<<<<<<', | ||
]; | ||
const result = parse(MRZ); | ||
expect(result.format).toBe('SWISS_DRIVING_LICENSE'); | ||
expect(result.valid).toBe(false); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(2); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(3); | ||
expect(result.details[0]).toStrictEqual({ | ||
@@ -111,13 +133,2 @@ label: 'Document number', | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
documentNumber: 'AAA001D', | ||
languageCode: 'D', | ||
documentCode: 'FA', | ||
issuingState: 'CHE', | ||
pinCode: '305142128', | ||
versionNumber: '097', | ||
birthDate: '800126', | ||
firstName: null, | ||
lastName: null, | ||
}); | ||
}); | ||
@@ -130,2 +141,5 @@ it('Use autocorrect', () => { | ||
]; | ||
const reference = parse(MRZ); | ||
const falseMRZ = [ | ||
@@ -137,6 +151,5 @@ 'AAA001D<<', | ||
const result = parse(MRZ); | ||
const correctedResult = parse(falseMRZ, { autocorrect: true }); | ||
expect(result.fields).toStrictEqual(correctedResult.fields); | ||
expect(correctedResult.fields).toStrictEqual(reference.fields); | ||
expect( | ||
@@ -143,0 +156,0 @@ correctedResult.details.map(({ autocorrect }) => autocorrect), |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parse from '../parse'; | ||
@@ -7,3 +5,3 @@ | ||
it('swiss ID - valid', () => { | ||
const data = [ | ||
const MRZ = [ | ||
'IDCHEA1234567<6<<<<<<<<<<<<<<<', | ||
@@ -14,7 +12,10 @@ '7510256M2009018CHE<<<<<<<<<<<8', | ||
const result = parse(data); | ||
const result = parse(MRZ); | ||
expect(result).toMatchObject({ | ||
format: 'TD1', | ||
valid: true, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -57,3 +58,9 @@ documentCode: 'ID', | ||
const result = parse(MRZ); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(2); | ||
expect(result).toMatchObject({ | ||
format: 'TD1', | ||
valid: false, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -76,3 +83,4 @@ firstName: 'ANNA MARIA', | ||
}); | ||
expect(result.valid).toBe(false); | ||
expect(result.details.filter((a) => !a.valid)).toHaveLength(2); | ||
expect(result.details.find((a) => a.field === 'issuingState')?.valid).toBe( | ||
@@ -105,4 +113,11 @@ false, | ||
]; | ||
const result = parse(MRZ); | ||
expect(result.valid).toBe(false); | ||
expect(result).toMatchObject({ | ||
format: 'TD1', | ||
valid: false, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.details.filter((f) => !f.valid)).toHaveLength(2); | ||
@@ -149,8 +164,15 @@ const documentNumberDetails = result.details.find( | ||
const result = parse(MRZ); | ||
expect(result.valid).toBe(true); | ||
expect(result).toMatchObject({ | ||
format: 'TD1', | ||
valid: true, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields.lastName).toBe(''); | ||
expect(result.fields.firstName).toBe('ANNA MARIA'); | ||
}); | ||
it('Use autocorrection', () => { | ||
const data = [ | ||
const MRZ = [ | ||
'IDCHEA1234567<6<<<<<<<<<<<<<<<', | ||
@@ -161,3 +183,5 @@ '7510256M2009018CHE<<<<<<<<<<<8', | ||
const falseData = [ | ||
const reference = parse(MRZ); | ||
const falseMRZ = [ | ||
'IDCHEA1234567<6<<<<<<<<<<<<<<<', | ||
@@ -168,5 +192,6 @@ '7SIOZSGMZOO90IBCHE<<<<<<<<<<<B', | ||
const result = parse(data); | ||
const correctedResult = parse(falseData, { autocorrect: true }); | ||
expect(result.fields).toStrictEqual(correctedResult.fields); | ||
const correctedResult = parse(falseMRZ, { autocorrect: true }); | ||
expect(correctedResult.fields).toStrictEqual(reference.fields); | ||
expect( | ||
@@ -173,0 +198,0 @@ correctedResult.details.map(({ autocorrect }) => autocorrect), |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parse from '../parse'; | ||
@@ -13,8 +11,9 @@ | ||
const result = parse(MRZ); | ||
const failed = result.details.filter((a) => !a.valid); | ||
expect(result).toMatchObject({ | ||
format: 'TD2', | ||
valid: false, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(failed).toHaveLength(2); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -36,4 +35,7 @@ firstName: 'ANNA MARIA', | ||
}); | ||
expect(result.valid).toBe(false); | ||
const failed = result.details.filter((a) => !a.valid); | ||
expect(failed).toHaveLength(2); | ||
}); | ||
it('Use autocorrect', () => { | ||
@@ -44,2 +46,5 @@ const MRZ = [ | ||
]; | ||
const reference = parse(MRZ); | ||
const falseMRZ = [ | ||
@@ -50,6 +55,6 @@ 'I<UTOERIK55ON<<ANNA<MAR1A<<<<<<<<<<<', | ||
const result = parse(MRZ); | ||
const correctedResult = parse(falseMRZ, { autocorrect: true }); | ||
expect(result.fields).toStrictEqual(correctedResult.fields); | ||
expect(correctedResult.fields).toStrictEqual(reference.fields); | ||
expect( | ||
@@ -56,0 +61,0 @@ correctedResult.details.map(({ autocorrect }) => autocorrect), |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parse from '../parse'; | ||
@@ -13,9 +11,9 @@ | ||
const result = parse(MRZ); | ||
expect(result).toMatchObject({ | ||
format: 'TD3', | ||
valid: false, | ||
format: 'TD3', | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.valid).toBe(false); | ||
const errors = result.details.filter((a) => !a.valid); | ||
expect(errors).toHaveLength(2); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -39,2 +37,5 @@ documentCode: 'P', | ||
const errors = result.details.filter((a) => !a.valid); | ||
expect(errors).toHaveLength(2); | ||
const personalNumberDetails = result.details.find( | ||
@@ -76,3 +77,9 @@ (d) => d.field === 'personalNumber', | ||
const result = parse(MRZ); | ||
expect(result.valid).toBe(true); | ||
expect(result).toMatchObject({ | ||
format: 'TD3', | ||
valid: true, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -102,4 +109,11 @@ documentCode: 'P', | ||
]; | ||
const result = parse(MRZ); | ||
expect(result.valid).toBe(true); | ||
expect(result).toMatchObject({ | ||
format: 'TD3', | ||
valid: true, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -130,5 +144,11 @@ documentCode: 'P', | ||
]; | ||
const result = parse(MRZ); | ||
expect(result.valid).toBe(true); | ||
expect(result).toMatchObject({ | ||
format: 'TD3', | ||
valid: true, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -159,4 +179,11 @@ documentCode: 'PO', | ||
]; | ||
const result = parse(MRZ); | ||
expect(result.valid).toBe(true); | ||
expect(result).toMatchObject({ | ||
format: 'TD3', | ||
valid: true, | ||
documentNumber: result.fields.documentNumber, | ||
}); | ||
expect(result.fields).toStrictEqual({ | ||
@@ -186,2 +213,5 @@ documentCode: 'PT', | ||
]; | ||
const reference = parse(MRZ); | ||
const falseMRZ = [ | ||
@@ -192,6 +222,6 @@ 'P<UT0ERIK55ON<<ANNA<MAR1A<<<<<<<<<<<<<<<<<<<', | ||
const result = parse(MRZ); | ||
const correctedResult = parse(falseMRZ, { autocorrect: true }); | ||
expect(result.fields).toStrictEqual(correctedResult.fields); | ||
expect(correctedResult.fields).toStrictEqual(reference.fields); | ||
expect( | ||
@@ -198,0 +228,0 @@ correctedResult.details.map(({ autocorrect }) => autocorrect), |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { Autocorrect } from '../types'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export function checkLines(lines: string | string[]) { | ||
@@ -4,0 +2,0 @@ if (typeof lines === 'string') { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { ParseTextError } from '../parsers/parseText'; | ||
@@ -4,0 +2,0 @@ import { Autocorrect, Details, FieldName, Range } from '../types'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parseCompositeCheckDigit from '../parsers/parseCompositeCheckDigit'; | ||
@@ -4,0 +2,0 @@ import parseDate from '../parsers/parseDate'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/frenchDrivingLicence/parseDocumentCode'; | ||
@@ -4,0 +2,0 @@ import { parseAlpha } from '../parsers/parseAlpha'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { parseAlpha } from '../parsers/parseAlpha'; | ||
@@ -4,0 +2,0 @@ import parseDocumentCode from '../parsers/parseDocumentCodeId'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { FormatType } from '../formats'; | ||
@@ -7,2 +5,3 @@ import { Autocorrect, Details, FieldRecords, ParseResult } from '../types'; | ||
import { CreateFieldParserResult } from './createFieldParser'; | ||
import { getDocumentNumber } from './getDocumentNumber'; | ||
import { ParseMRZOptions } from './parse'; | ||
@@ -77,4 +76,5 @@ | ||
fields: fields.fields, | ||
documentNumber: getDocumentNumber(format, fields.fields), | ||
valid: fields.allValid, | ||
}; | ||
} |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
import { ParseResult } from '../types'; | ||
@@ -9,6 +9,7 @@ import { checkLines } from './checkLines'; | ||
} | ||
function parseMRZ( | ||
inputLines: string | string[], | ||
options: ParseMRZOptions = {}, | ||
) { | ||
): ParseResult { | ||
const lines = checkLines(inputLines); | ||
@@ -15,0 +16,0 @@ switch (lines.length) { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parseFrenchDrivingLicense from './frenchDrivingLicence'; | ||
@@ -4,0 +2,0 @@ import parseFrenchNationalId from './frenchNationalId'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { parseNumber } from '../parsers/parseNumber'; | ||
@@ -4,0 +2,0 @@ import { checkSeparator } from '../parsers/swissDrivingLicense/checkSeparator'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/parseDocumentCodeId'; | ||
@@ -4,0 +2,0 @@ import { parseDocumentNumberOptional } from '../parsers/parseDocumentNumberOptional'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/parseDocumentCodeId'; | ||
@@ -4,0 +2,0 @@ import { parseOptional } from '../parsers/parseOptional'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { formats } from '../formats'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parseDocumentCode from '../parsers/parseDocumentCodePassport'; | ||
@@ -4,0 +2,0 @@ import { parsePersonalNumber } from '../parsers/parsePersonalNumber'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { check } from '../check'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export function check(string: string, value: string | number) { | ||
@@ -4,0 +2,0 @@ let code = 0; |
@@ -1,5 +0,3 @@ | ||
'use strict'; | ||
export function cleanText(string: string) { | ||
return string.replace(/<+$/g, '').replace(/</g, ' '); | ||
} |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
/** | ||
@@ -4,0 +2,0 @@ * D1 seems to be the most common, |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { cleanText } from './cleanText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export default function parseDate(value: string) { | ||
@@ -4,0 +2,0 @@ if (!value.match(/^[0-9<]{4,6}$/)) { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export default function parseDocumentCodeId(source: string) { | ||
@@ -4,0 +2,0 @@ const first = source.charAt(0); |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export default function parseDocumentCodePassport(source: string) { | ||
@@ -4,0 +2,0 @@ const first = source.charAt(0); |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { cleanText } from './cleanText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export function parseNumber(source: string) { | ||
@@ -4,0 +2,0 @@ if (!source.match(/^[0-9]+$/)) { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { parseText } from './parseText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { check } from './check'; | ||
@@ -4,0 +2,0 @@ import { cleanText } from './cleanText'; |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export default function parseSex(source: string) { | ||
@@ -4,0 +2,0 @@ switch (source) { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import STATES from '../generated/states'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import { cleanText } from './cleanText'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export function checkSeparator(source: string) { | ||
@@ -4,0 +2,0 @@ if (!source.match(/^<*$/)) { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export default function parseDocumentCode(source: string) { | ||
@@ -4,0 +2,0 @@ if (source !== 'FA') { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
import parseLanguageCode from './parseLanguageCode'; | ||
@@ -4,0 +2,0 @@ |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export default function parseIssuingState(source: string) { | ||
@@ -4,0 +2,0 @@ if (source !== 'CHE' && source !== 'LIE') { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export default function parseLanguageCode(languageCode: string) { | ||
@@ -4,0 +2,0 @@ switch (languageCode) { |
@@ -1,3 +0,1 @@ | ||
'use strict'; | ||
export interface Autocorrect { | ||
@@ -33,2 +31,3 @@ line: number; | ||
fields: FieldRecords; | ||
documentNumber: string | null; | ||
details: Details[]; | ||
@@ -35,0 +34,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
379289
462
7719
138