@snipsonian/core
Version:
Core/base reusable javascript code snippets
23 lines (22 loc) • 746 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const isString_1 = require("../is/isString");
const replacePlaceholders_1 = require("../string/replacePlaceholders");
function replacePathParams({ url, params = {}, }) {
return (0, replacePlaceholders_1.default)({
msg: url,
placeholders: encodeStringParams(params),
});
}
exports.default = replacePathParams;
function encodeStringParams(params) {
if (!params) {
return params;
}
return Object.keys(params)
.reduce((paramAccumulator, key) => {
const val = params[key];
paramAccumulator[key] = (0, isString_1.default)(val) ? encodeURIComponent(val) : val;
return paramAccumulator;
}, {});
}