UNPKG

@snups/rjsf-utils

Version:
26 lines 1.41 kB
import isEmpty from 'lodash-es/isEmpty.js'; import mergeObjects from './mergeObjects.js'; import toErrorList from './toErrorList.js'; /** Merges the errors in `additionalErrorSchema` into the existing `validationData` by combining the hierarchies in the * two `ErrorSchema`s and then appending the error list from the `additionalErrorSchema` obtained by calling * `toErrorList()` on the `errors` in the `validationData`. If no `additionalErrorSchema` is passed, then * `validationData` is returned. * * @param validationData - The current `ValidationData` into which to merge the additional errors * @param [additionalErrorSchema] - The optional additional set of errors in an `ErrorSchema` * @returns - The `validationData` with the additional errors from `additionalErrorSchema` merged into it, if provided. */ export default function validationDataMerge(validationData, additionalErrorSchema) { if (!additionalErrorSchema) { return validationData; } const { errors: oldErrors, errorSchema: oldErrorSchema } = validationData; let errors = toErrorList(additionalErrorSchema); let errorSchema = additionalErrorSchema; if (!isEmpty(oldErrorSchema)) { errorSchema = mergeObjects(oldErrorSchema, additionalErrorSchema, true); errors = [...oldErrors].concat(errors); } return { errorSchema, errors }; } //# sourceMappingURL=validationDataMerge.js.map