UNPKG

@fakel/rest-admin

Version:

An application that makes it easier to work with your API

46 lines (38 loc) 1.08 kB
import { FILTER_PARAMS_NAME } from "../constants/url"; export const deleteURLParameter = (url: string, parameter: string) => { const params = getURLParameters(url, parameter); delete params[parameter]; if (!Object.keys(params).length) { return { path: "", params: {}, }; } if (Object.keys(params).length >= 1) { return { path: `?${FILTER_PARAMS_NAME}=${serialize(params)}`, params }; } }; export const getURLParameters = (url: string, paramName: string) => { if (url) { let result = {}; const urlParams = decodeURI(url.split(`?`)[1]); if (urlParams) { const sURLVariables = urlParams.split("&"); sURLVariables.forEach((el) => { let sParameterName = el.split("="); result[sParameterName[0]] = sParameterName[1]; }); } return result; } }; export const serialize = (params) => { var str = []; for (var param in params) if (params.hasOwnProperty(param)) { if (params[param]) { str.push(param + "=" + params[param]); } } return str.join("&"); };