UNPKG

ember-changeset-validations

Version:
53 lines (50 loc) 1.41 kB
import { get } from '@ember/object'; import { assert } from '@ember/debug'; import { getOwnConfig } from '@embroider/macros'; import { getMessages } from './messages.js'; /** * For code taken from ember-cp-validations * Copyright 2016, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ function buildMessage(key, result) { let returnsRaw = getOwnConfig()?.rawOutput || false; let messages = getMessages(); let description = messages.getDescriptionFor(key); if (result.message) { return result.message; } let { type, value, context = {} } = result; let message = get(messages, type); if (returnsRaw) { context = Object.assign({}, context, { description }); return { value, type, message, context }; } if (context.message) { let message = context.message; if (typeof message === 'function') { let builtMessage = message(key, type, value, context); assert('Custom message function must return a string', typeof builtMessage === 'string'); return builtMessage; } return messages.formatMessage(message, Object.assign({ description }, context)); } return messages.formatMessage(message, Object.assign({ description }, context)); } export { buildMessage as default }; //# sourceMappingURL=validation-errors.js.map