@snipsonian/core
Version:
Core/base reusable javascript code snippets
20 lines (19 loc) • 603 B
JavaScript
import isString from '../is/isString';
import replacePlaceholders from '../string/replacePlaceholders';
export default function replacePathParams({ url, params = {}, }) {
return replacePlaceholders({
msg: url,
placeholders: encodeStringParams(params),
});
}
function encodeStringParams(params) {
if (!params) {
return params;
}
return Object.keys(params)
.reduce((paramAccumulator, key) => {
const val = params[key];
paramAccumulator[key] = isString(val) ? encodeURIComponent(val) : val;
return paramAccumulator;
}, {});
}