UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

56 lines (55 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateDnr = validateDnr; exports.validateDnrAndFnr = validateDnrAndFnr; exports.validateFnr = validateFnr; var _fnrvalidator = require("@navikt/fnrvalidator"); function identificationNumberIsOfLength(identificationNumber, length) { return identificationNumber?.length === length; } function validateFnr(value, { errorFnr, errorFnrLength }) { if (value !== undefined) { if (Number.parseInt(value.substring(0, 1), 10) > 3) { return Error(errorFnr); } const fnrIs11Digits = identificationNumberIsOfLength(value, 11); if (!fnrIs11Digits) { return Error(errorFnrLength); } if (fnrIs11Digits && (0, _fnrvalidator.fnr)(value).status === 'invalid') { return Error(errorFnr); } } return undefined; } function validateDnr(value, { errorDnr, errorDnrLength }) { if (value !== undefined) { if (Number.parseInt(value.substring(0, 1), 10) < 4) { return Error(errorDnr); } const dnrIs11Digits = identificationNumberIsOfLength(value, 11); if (!dnrIs11Digits) { return Error(errorDnrLength); } if (dnrIs11Digits && (0, _fnrvalidator.dnr)(value).status === 'invalid') { return Error(errorDnr); } } return undefined; } function validateDnrAndFnr(value, errorMessages) { const dnrValidationPattern = '^[4-9].*'; if (new RegExp(dnrValidationPattern).test(value)) { return validateDnr(value, errorMessages); } return validateFnr(value, errorMessages); } //# sourceMappingURL=validators.js.map