@pigjs/browser-utils
Advanced tools
| /** | ||
| * 获取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; |
+16
-10
@@ -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; |
+23
-28
@@ -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)); | ||
| } |
+2
-2
| { | ||
| "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 @@ }, |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
13056
32.28%325
12.85%2
100%Updated