@onesy/utils
Version:
28 lines (27 loc) • 1.36 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const is_1 = __importDefault(require("./is"));
const isEnvironment_1 = __importDefault(require("./isEnvironment"));
const getQueryParams_1 = __importDefault(require("./getQueryParams"));
const updateQueryParams = (value = {}, override = true) => {
if ((0, isEnvironment_1.default)('browser')) {
const queryParams = (0, getQueryParams_1.default)();
if ((0, is_1.default)('object', value))
Object.keys(value).forEach(key => {
const newParamValue = value[key];
if ((!queryParams.hasOwnProperty(key) || override) &&
newParamValue !== undefined)
queryParams[key] = encodeURIComponent(newParamValue);
if (override &&
queryParams.hasOwnProperty(key) &&
newParamValue === undefined)
delete queryParams[key];
});
const queryParamsString = Object.keys(queryParams).map(key => `${encodeURIComponent(key)}=${queryParams[key]}`).join('&');
window.history.replaceState(null, null, `?${queryParamsString}`);
}
};
exports.default = updateQueryParams;
;