UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

90 lines (89 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.errorChanged = errorChanged; exports.extendErrorMessagesWithTranslationMessages = extendErrorMessagesWithTranslationMessages; exports.getTranslationKeyFromValidationRule = getTranslationKeyFromValidationRule; const ajvErrorKeywordsTranslationTable = [{ ajvKey: 'required', translationKey: 'Field.errorRequired' }, { ajvKey: 'pattern', translationKey: 'Field.errorPattern' }, { ajvKey: 'minLength', translationKey: 'StringField.errorMinLength' }, { ajvKey: 'maxLength', translationKey: 'StringField.errorMaxLength' }, { ajvKey: 'minimum', translationKey: 'NumberField.errorMinimum' }, { ajvKey: 'maximum', translationKey: 'NumberField.errorMaximum' }, { ajvKey: 'minItems', translationKey: 'IterateArray.errorMinItems' }, { ajvKey: 'maxItems', translationKey: 'IterateArray.errorMaxItems' }, { ajvKey: 'exclusiveMinimum', translationKey: 'NumberField.errorExclusiveMinimum' }, { ajvKey: 'exclusiveMaximum', translationKey: 'NumberField.errorExclusiveMaximum' }, { ajvKey: 'multipleOf', translationKey: 'NumberField.errorMultipleOf' }]; function extendErrorMessagesWithTranslationMessages(messages, translation) { messages = { ...messages }; ajvErrorKeywordsTranslationTable.forEach(({ ajvKey, translationKey }) => { if (!messages[ajvKey]) { var _messages$translation, _translation$keys$; const keys = translationKey.split('.'); messages[translationKey] = (_messages$translation = messages[translationKey]) !== null && _messages$translation !== void 0 ? _messages$translation : (_translation$keys$ = translation[keys[0]]) === null || _translation$keys$ === void 0 ? void 0 : _translation$keys$[keys[1]]; } }); return messages; } function getTranslationKeyFromValidationRule(validationRule) { const item = ajvErrorKeywordsTranslationTable.find(({ ajvKey }) => ajvKey === validationRule); return item === null || item === void 0 ? void 0 : item.translationKey; } function errorChanged(error1, error2) { if (error1 === undefined && error2 instanceof Error || error1 instanceof Error && error2 === undefined) { return true; } if (error1 && error2) { if (error1.message !== error2.message) { return true; } const errors1 = error1.errors; const errors2 = error2.errors; if (Array.isArray(errors1)) { if (errors1.length !== (errors2 === null || errors2 === void 0 ? void 0 : errors2.length)) { return true; } if (errors1.length && errors1.some(({ message }, i) => { return (errors2 === null || errors2 === void 0 ? void 0 : errors2[i].message) !== message; })) { return true; } } } return false; } //# sourceMappingURL=errors.js.map