export enum URLParams { saveState = 'saveState', impersonateID = 'impersonateID', } export function getParam(param: URLParams) { const query = new URLSearchParams(window.location.search); return query.get(param); } export function setParam(param: URLParams, value: string | undefined) { const query = new URLSearchParams(window.location.search); if (!value) { deleteParam(param); } else { query.set(param, value); history.pushState(null, '', '?' + query.toString()); } } export function deleteParam(param: URLParams) { const query = new URLSearchParams(window.location.search); query.delete(param); history.pushState(null, '', '?' + query.toString()); }