export function validateAndSetDefaultStatesConfigurator()

in modules/manifold/src/utils/utils.js [551:573]


export function validateAndSetDefaultStatesConfigurator(
  fieldChain,
  validateFuncs,
  setDefaultFuncs
) {
  return state => {
    return fieldChain.reduce((acc, field) => {
      const validateFunc = validateFuncs[field];
      const setDefaultFunc = setDefaultFuncs[field];
      assert(
        typeof validateFunc === 'function' &&
          typeof setDefaultFunc === 'function',
        `both validateFuncs[${field}] and setDefaultFuncs[${field}] need to be functions`
      );
      return validateAndSetDefaultStateSingle(
        acc,
        field,
        validateFunc,
        setDefaultFunc
      );
    }, state);
  };
}