export const mapCamelCaseToUnderscore = (obj) => { return Object.keys(obj).reduce((acc, curr) => { const newKey = curr.replace(/\.?([A-Z])/g, function (x,y) { return "_" + y.toLowerCase(); }).replace(/^_/, ""); acc[newKey] = obj[curr]; return acc; }, {}); }; export const stringifyArrayParams = (obj) => { return Object.keys(obj).reduce((acc, curr) => { if (obj[curr] instanceof Array) { acc[curr] = obj[curr].join(" "); } else { acc[curr] = obj[curr]; } return acc; }, {}); }; export const formatQueryString = (queryObject) => { return Object.keys(queryObject) .map(q => `${q}=${encodeURIComponent(queryObject[q])}`) .join("&"); }; export default { mapCamelCaseToUnderscore, stringifyArrayParams, formatQueryString };