@lancercomet/utils
Version:
My personal utils lib.
52 lines (51 loc) • 1.34 kB
JavaScript
import * as qs from 'qs';
import { isString } from './types';
/**
* 从 Url 中获取全部 QueryString.
*/
function getAllQueryStringValues() {
return qs.parse(window.location.search.replace('?', ''));
}
/**
* 从 Url 中获取目标查询字符串的值.
*
* @param {string} key
*/
function getTargetQueryStringValue(key) {
var queryStrings = getAllQueryStringValues();
var matchedValues = Object
.keys(queryStrings)
.filter(function (item) { return item === key; })
.map(function (key) { return queryStrings[key]; });
return matchedValues.length
? matchedValues[0]
: undefined;
}
/**
* 将对象格式化为查询字符串.
*
* @export
* @param {*} data
* @param {qs.IStringifyOptions} option
* @returns {string}
*/
function stringify(data, option) {
return qs.stringify(data, option);
}
/**
* 从 URL 中移除所有查询字符串.
*
* @param {string} url
* @returns {string}
*/
function removeAllQueriesFromUrl(url) {
if (!isString(url)) {
return url;
}
var queryIndex = url.indexOf('?');
if (queryIndex > -1) {
url = url.substring(0, queryIndex);
}
return url;
}
export { getTargetQueryStringValue, getAllQueryStringValues, stringify, removeAllQueriesFromUrl };