New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@pigjs/browser-utils

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pigjs/browser-utils - npm Package Compare versions

Comparing version
1.0.5
to
1.1.0
+7
-3
es/getUrlParam/index.d.ts
/**
* 获取url参数
* 获取 URL 参数
*
* @param {string} name 要从 URL 中获取的参数名称
* @param {string|undefined} url 可选参数,要解析的 URL 字符串
*
* @example
*
* getUrlParam('id'); //=> id
* getUrlParam('name'); //=> null
* getUrlParam('name'); //=> ''
* getUrlParam('page', 'https://example.com/?page=2'); //=> '2'
*/
export declare function getUrlParam(name: string): null | string;
export declare function getUrlParam(name: string, url?: string): string;

@@ -1,18 +0,24 @@

import { isNull } from '@pigjs/type-utils';
/**
* 获取url参数
* 获取 URL 参数
*
* @param {string} name 要从 URL 中获取的参数名称
* @param {string|undefined} url 可选参数,要解析的 URL 字符串
*
* @example
*
* getUrlParam('id'); //=> id
* getUrlParam('name'); //=> null
* getUrlParam('name'); //=> ''
* getUrlParam('page', 'https://example.com/?page=2'); //=> '2'
*/
export function getUrlParam(name) {
var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)"));
var r = window.location.search.substr(1).match(reg) || window.location.hash.substring(window.location.hash.search(/\?/) + 1).match(reg);
if (!isNull(r)) {
return decodeURIComponent(r[2]);
export function getUrlParam(name, url) {
var _ref;
if (!(name !== null && name !== void 0 && name.trim())) {
return '';
}
return null;
var targetUrl = new URL(url !== null && url !== void 0 ? url : window.location.href);
var searchParams = new URLSearchParams(targetUrl.search);
var hashParams = new URLSearchParams(targetUrl.hash.substring(targetUrl.hash.search(/\?/) + 1));
var searchValue = searchParams.get(name);
var hashValue = hashParams.get(name);
return (_ref = searchValue !== null && searchValue !== void 0 ? searchValue : hashValue) !== null && _ref !== void 0 ? _ref : '';
}
/**
* 获取url所有参数
* 获取 URL 中所有参数,并返回一个对象
*
* @example
*
* getUrlParams(); //=> {[key]:value}
* getUrlParams(); //=> {key: value}
* getUrlParams('https://example.com/?id=123&name=foo'); //=> {id: '123', name: 'foo'}
*/
export declare function getUrlParams<T extends Record<any, string>>(): T;
export declare function getUrlParams(url?: string): Record<string, string>;

@@ -0,19 +1,30 @@

import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
/**
* 获取url所有参数
* 获取 URL 中所有参数,并返回一个对象
*
* @example
*
* getUrlParams(); //=> {[key]:value}
* getUrlParams(); //=> {key: value}
* getUrlParams('https://example.com/?id=123&name=foo'); //=> {id: '123', name: 'foo'}
*/
export function getUrlParams() {
var url = location.search || location.hash.substring(location.hash.search(/\?/) + 1); // 获取url中"?"符后的字串
export function getUrlParams(url) {
var str = new URL(url !== null && url !== void 0 ? url : location.href).search || new URL(url !== null && url !== void 0 ? url : location.href).hash.substring(location.hash.search(/\?/) + 1);
var urlSearchParams = new URLSearchParams(str);
var params = {};
var str = url.indexOf('?') !== -1 ? url.substr(1) : url;
var strs = str.split('&');
for (var i = 0; i < strs.length; i++) {
if (strs[i].split('=')[1]) {
params[strs[i].split('=')[0]] = decodeURIComponent(strs[i].split('=')[1]);
var _iterator = _createForOfIteratorHelper(urlSearchParams.entries()),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _step$value = _slicedToArray(_step.value, 2),
key = _step$value[0],
value = _step$value[1];
params[key] = value;
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return params;
}

@@ -11,2 +11,2 @@ /**

*/
export declare function setUrlParams(data?: Record<string, any>, filter?: (params: Record<any, any>) => Record<any, any>): void;
export declare function setUrlParams(data?: Record<string, any>, filter?: (params: Record<any, any>) => Record<any, any>, url?: string): void;

@@ -0,3 +1,3 @@

import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";

@@ -21,29 +21,24 @@ import { isEmptyString, isNull, isUndefined } from '@pigjs/type-utils';

var filter = arguments.length > 1 ? arguments[1] : undefined;
var params = getUrlParams();
params = _objectSpread(_objectSpread({}, params), data);
if (filter) {
params = filter(params);
} else {
params = Object.keys(params).filter(function (key) {
var value = params[key];
if (isEmptyString(value)) {
return false;
}
if (isNull(value)) {
return false;
}
if (isUndefined(value)) {
return false;
}
return true;
}).reduce(function (data, key) {
return _objectSpread(_objectSpread({}, data), {}, _defineProperty({}, key, params[key]));
}, {});
}
var paramsStr = qs.stringify(params);
var pathname = location.hash || location.pathname;
var _pathname$split = pathname.split('?'),
_pathname$split2 = _slicedToArray(_pathname$split, 1),
url = _pathname$split2[0];
history.replaceState(null, '', "".concat(url, "?").concat(paramsStr));
var url = arguments.length > 2 ? arguments[2] : undefined;
var _url = new URL(url !== null && url !== void 0 ? url : location.href);
var params = _objectSpread(_objectSpread({}, getUrlParams(url)), data);
var filteredParams = filter ? filter(params) : Object.entries(params)
// eslint-disable-next-line @typescript-eslint/no-unused-vars
.filter(function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
_ = _ref2[0],
value = _ref2[1];
return !(isEmptyString(value) || isNull(value) || isUndefined(value));
}).reduce(function (obj, _ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
key = _ref4[0],
value = _ref4[1];
return _objectSpread(_objectSpread({}, obj), {}, _defineProperty({}, key, value));
}, {});
var paramsStr = qs.stringify(filteredParams);
var currentUrl = _url.hash || _url.pathname;
var _currentUrl$split = currentUrl.split('?'),
_currentUrl$split2 = _slicedToArray(_currentUrl$split, 1),
baseUrl = _currentUrl$split2[0];
history.replaceState(null, '', "".concat(baseUrl, "?").concat(paramsStr));
}
/**
* 获取url参数
* 获取 URL 参数
*
* @param {string} name 要从 URL 中获取的参数名称
* @param {string|undefined} url 可选参数,要解析的 URL 字符串
*
* @example
*
* getUrlParam('id'); //=> id
* getUrlParam('name'); //=> null
* getUrlParam('name'); //=> ''
* getUrlParam('page', 'https://example.com/?page=2'); //=> '2'
*/
export declare function getUrlParam(name: string): null | string;
export declare function getUrlParam(name: string, url?: string): string;

@@ -7,18 +7,25 @@ "use strict";

exports.getUrlParam = getUrlParam;
var _typeUtils = require("@pigjs/type-utils");
/**
* 获取url参数
* 获取 URL 参数
*
* @param {string} name 要从 URL 中获取的参数名称
* @param {string|undefined} url 可选参数,要解析的 URL 字符串
*
* @example
*
* getUrlParam('id'); //=> id
* getUrlParam('name'); //=> null
* getUrlParam('name'); //=> ''
* getUrlParam('page', 'https://example.com/?page=2'); //=> '2'
*/
function getUrlParam(name) {
var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)"));
var r = window.location.search.substr(1).match(reg) || window.location.hash.substring(window.location.hash.search(/\?/) + 1).match(reg);
if (!(0, _typeUtils.isNull)(r)) {
return decodeURIComponent(r[2]);
function getUrlParam(name, url) {
var _ref;
if (!(name !== null && name !== void 0 && name.trim())) {
return '';
}
return null;
var targetUrl = new URL(url !== null && url !== void 0 ? url : window.location.href);
var searchParams = new URLSearchParams(targetUrl.search);
var hashParams = new URLSearchParams(targetUrl.hash.substring(targetUrl.hash.search(/\?/) + 1));
var searchValue = searchParams.get(name);
var hashValue = hashParams.get(name);
return (_ref = searchValue !== null && searchValue !== void 0 ? searchValue : hashValue) !== null && _ref !== void 0 ? _ref : '';
}
/**
* 获取url所有参数
* 获取 URL 中所有参数,并返回一个对象
*
* @example
*
* getUrlParams(); //=> {[key]:value}
* getUrlParams(); //=> {key: value}
* getUrlParams('https://example.com/?id=123&name=foo'); //=> {id: '123', name: 'foo'}
*/
export declare function getUrlParams<T extends Record<any, string>>(): T;
export declare function getUrlParams(url?: string): Record<string, string>;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {

@@ -7,20 +8,31 @@ value: true

exports.getUrlParams = getUrlParams;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
/**
* 获取url所有参数
* 获取 URL 中所有参数,并返回一个对象
*
* @example
*
* getUrlParams(); //=> {[key]:value}
* getUrlParams(); //=> {key: value}
* getUrlParams('https://example.com/?id=123&name=foo'); //=> {id: '123', name: 'foo'}
*/
function getUrlParams() {
var url = location.search || location.hash.substring(location.hash.search(/\?/) + 1); // 获取url中"?"符后的字串
function getUrlParams(url) {
var str = new URL(url !== null && url !== void 0 ? url : location.href).search || new URL(url !== null && url !== void 0 ? url : location.href).hash.substring(location.hash.search(/\?/) + 1);
var urlSearchParams = new URLSearchParams(str);
var params = {};
var str = url.indexOf('?') !== -1 ? url.substr(1) : url;
var strs = str.split('&');
for (var i = 0; i < strs.length; i++) {
if (strs[i].split('=')[1]) {
params[strs[i].split('=')[0]] = decodeURIComponent(strs[i].split('=')[1]);
var _iterator = (0, _createForOfIteratorHelper2.default)(urlSearchParams.entries()),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
key = _step$value[0],
value = _step$value[1];
params[key] = value;
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return params;
}

@@ -11,2 +11,2 @@ /**

*/
export declare function setUrlParams(data?: Record<string, any>, filter?: (params: Record<any, any>) => Record<any, any>): void;
export declare function setUrlParams(data?: Record<string, any>, filter?: (params: Record<any, any>) => Record<any, any>, url?: string): void;

@@ -8,4 +8,4 @@ "use strict";

exports.setUrlParams = setUrlParams;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));

@@ -28,29 +28,24 @@ var _typeUtils = require("@pigjs/type-utils");

var filter = arguments.length > 1 ? arguments[1] : undefined;
var params = (0, _getUrlParams.getUrlParams)();
params = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, params), data);
if (filter) {
params = filter(params);
} else {
params = Object.keys(params).filter(function (key) {
var value = params[key];
if ((0, _typeUtils.isEmptyString)(value)) {
return false;
}
if ((0, _typeUtils.isNull)(value)) {
return false;
}
if ((0, _typeUtils.isUndefined)(value)) {
return false;
}
return true;
}).reduce(function (data, key) {
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, data), {}, (0, _defineProperty2.default)({}, key, params[key]));
}, {});
}
var paramsStr = _qs.default.stringify(params);
var pathname = location.hash || location.pathname;
var _pathname$split = pathname.split('?'),
_pathname$split2 = (0, _slicedToArray2.default)(_pathname$split, 1),
url = _pathname$split2[0];
history.replaceState(null, '', "".concat(url, "?").concat(paramsStr));
var url = arguments.length > 2 ? arguments[2] : undefined;
var _url = new URL(url !== null && url !== void 0 ? url : location.href);
var params = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, (0, _getUrlParams.getUrlParams)(url)), data);
var filteredParams = filter ? filter(params) : Object.entries(params)
// eslint-disable-next-line @typescript-eslint/no-unused-vars
.filter(function (_ref) {
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
_ = _ref2[0],
value = _ref2[1];
return !((0, _typeUtils.isEmptyString)(value) || (0, _typeUtils.isNull)(value) || (0, _typeUtils.isUndefined)(value));
}).reduce(function (obj, _ref3) {
var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
key = _ref4[0],
value = _ref4[1];
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, obj), {}, (0, _defineProperty2.default)({}, key, value));
}, {});
var paramsStr = _qs.default.stringify(filteredParams);
var currentUrl = _url.hash || _url.pathname;
var _currentUrl$split = currentUrl.split('?'),
_currentUrl$split2 = (0, _slicedToArray2.default)(_currentUrl$split, 1),
baseUrl = _currentUrl$split2[0];
history.replaceState(null, '', "".concat(baseUrl, "?").concat(paramsStr));
}
{
"name": "@pigjs/browser-utils",
"version": "1.0.5",
"version": "1.1.0",
"description": "Browser utility method",

@@ -20,3 +20,3 @@ "keywords": [

"@babel/runtime": "^7.20.13",
"@pigjs/type-utils": "^1.0.5",
"@pigjs/type-utils": "^1.1.0",
"qs": "^6.11.0"

@@ -23,0 +23,0 @@ },