Socket
Socket
Sign inDemoInstall

@livechat/url-utils

Package Overview
Dependencies
Maintainers
9
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@livechat/url-utils - npm Package Compare versions

Comparing version 0.1.6 to 0.2.0

types/removeQueryParams.d.ts

51

dist/url-utils.cjs.js

@@ -14,6 +14,8 @@ 'use strict';

var decodeQueryString = function decodeQueryString(query) {
var pairs = query.split('&').map(function (pair) {
var pairs = query.split('&').filter(Boolean).map(function (pair) {
return pair.split('=').map(function (value) {
return decodeURIComponent(value.replace('+', '%20'));
});
}).map(function (pair) {
return pair.length === 2 ? pair : [pair[0], ''];
});

@@ -48,5 +50,9 @@ var decoded = dataUtils.fromPairs(pairs);

var getQueryParams = function getQueryParams(url) {
var search = trimSearch(getSearch(url));
return decodeQueryString(search ? search : url);
var getQueryParams = function getQueryParams(urlOrSearch) {
if (getOrigin(urlOrSearch) === null) {
return decodeQueryString(trimSearch(urlOrSearch));
}
var search = trimSearch(getSearch(urlOrSearch));
return search ? decodeQueryString(search) : {};
};

@@ -122,7 +128,41 @@

var urlOrigin = getOrigin(url);
var urlPath = getPathname(url);
var originalParams = getSearch(url) ? getQueryParams(url) : {};
var extendParams = buildQueryString(_extends({}, originalParams, params));
return urlOrigin + "?" + extendParams;
return "" + urlOrigin + urlPath + "?" + extendParams;
};
var removeQueryParams = function removeQueryParams(url, paramsToRemove) {
if (url.indexOf('?') === -1) {
return url;
}
var params = getQueryParams(url);
if (dataUtils.isEmpty(params)) {
return url;
}
if (Object.keys(params).every(function (paramKey) {
return !paramsToRemove.includes(paramKey);
})) {
return url;
}
paramsToRemove.forEach(function (param) {
return delete params[param];
});
var _url$split = url.split('?'),
querylessURL = _url$split[0];
var extendedURL = extendURLByQueryParams(querylessURL, params);
if (url.indexOf('#') > -1) {
return extendedURL + "#" + url.split('#')[1];
}
return extendedURL;
};
exports.buildQueryString = buildQueryString;

@@ -140,2 +180,3 @@ exports.decodeQueryString = decodeQueryString;

exports.removeProtocol = removeProtocol;
exports.removeQueryParams = removeQueryParams;
exports.trimSearch = trimSearch;

@@ -1,2 +0,2 @@

import { toPairs, fromPairs } from '@livechat/data-utils';
import { toPairs, fromPairs, isEmpty } from '@livechat/data-utils';

@@ -10,6 +10,8 @@ var buildQueryString = function buildQueryString(obj) {

var decodeQueryString = function decodeQueryString(query) {
var pairs = query.split('&').map(function (pair) {
var pairs = query.split('&').filter(Boolean).map(function (pair) {
return pair.split('=').map(function (value) {
return decodeURIComponent(value.replace('+', '%20'));
});
}).map(function (pair) {
return pair.length === 2 ? pair : [pair[0], ''];
});

@@ -44,5 +46,9 @@ var decoded = fromPairs(pairs);

var getQueryParams = function getQueryParams(url) {
var search = trimSearch(getSearch(url));
return decodeQueryString(search ? search : url);
var getQueryParams = function getQueryParams(urlOrSearch) {
if (getOrigin(urlOrSearch) === null) {
return decodeQueryString(trimSearch(urlOrSearch));
}
var search = trimSearch(getSearch(urlOrSearch));
return search ? decodeQueryString(search) : {};
};

@@ -118,7 +124,41 @@

var urlOrigin = getOrigin(url);
var urlPath = getPathname(url);
var originalParams = getSearch(url) ? getQueryParams(url) : {};
var extendParams = buildQueryString(_extends({}, originalParams, params));
return urlOrigin + "?" + extendParams;
return "" + urlOrigin + urlPath + "?" + extendParams;
};
export { buildQueryString, decodeQueryString, extendURLByQueryParams, getHostname, getOrigin, getPathname, getProtocol, getQueryParam, getQueryParams, getSearch, hasUnsafeProtocol, removeProtocol, trimSearch };
var removeQueryParams = function removeQueryParams(url, paramsToRemove) {
if (url.indexOf('?') === -1) {
return url;
}
var params = getQueryParams(url);
if (isEmpty(params)) {
return url;
}
if (Object.keys(params).every(function (paramKey) {
return !paramsToRemove.includes(paramKey);
})) {
return url;
}
paramsToRemove.forEach(function (param) {
return delete params[param];
});
var _url$split = url.split('?'),
querylessURL = _url$split[0];
var extendedURL = extendURLByQueryParams(querylessURL, params);
if (url.indexOf('#') > -1) {
return extendedURL + "#" + url.split('#')[1];
}
return extendedURL;
};
export { buildQueryString, decodeQueryString, extendURLByQueryParams, getHostname, getOrigin, getPathname, getProtocol, getQueryParam, getQueryParams, getSearch, hasUnsafeProtocol, removeProtocol, removeQueryParams, trimSearch };

8

package.json
{
"name": "@livechat/url-utils",
"version": "0.1.6",
"version": "0.2.0",
"description": "URL utility functions",

@@ -23,3 +23,3 @@ "contributors": [

"dependencies": {
"@livechat/data-utils": "^0.2.9"
"@livechat/data-utils": "^0.2.16"
},

@@ -34,4 +34,4 @@ "devDependencies": {

"@rollup/plugin-node-resolve": "^9.0.0",
"babel-jest": "^24.9.0",
"jest": "24.9.0",
"babel-jest": "^26.6.0",
"jest": "26.6.0",
"lerna-alias": "3.0.3-0",

@@ -38,0 +38,0 @@ "rimraf": "^2.6.1",

import { MaybeStringValueObject } from './types';
declare const getQueryParams: <O extends MaybeStringValueObject>(url: string) => O;
declare const getQueryParams: <O extends MaybeStringValueObject>(urlOrSearch: string) => O;
export default getQueryParams;
//# sourceMappingURL=getQueryParams.d.ts.map

@@ -14,2 +14,3 @@ export { default as buildQueryString } from './buildQueryString';

export { default as extendURLByQueryParams } from './extendURLByQueryParams';
export { default as removeQueryParams } from './removeQueryParams';
//# sourceMappingURL=index.d.ts.map
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc