verificator
Version:
Client and server-side validation JavaScript library
26 lines (25 loc) • 649 B
JavaScript
import { SET_DATA } from '../constants/types';
import isPlainObject from '../utils/isPlainObject';
import set from '../utils/set';
const normalizeData = (data) => {
if (!isPlainObject(data) && !Array.isArray(data)) {
return data;
}
let newData;
if (Array.isArray(data)) {
newData = data.map(normalizeData);
}
else {
newData = {};
Object.keys(data).forEach(key => {
set(newData, key, normalizeData(data[key]));
});
}
return newData;
};
export const setData = (data) => {
return {
type: SET_DATA,
payload: { data: normalizeData(data) },
};
};