@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
56 lines (55 loc) • 1.59 kB
JavaScript
;
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