@amaui/utils
Version:
26 lines (25 loc) • 1.21 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const is_1 = __importDefault(require("./is"));
const isEnvironment_1 = __importDefault(require("./isEnvironment"));
const castParam_1 = __importDefault(require("./castParam"));
const optionsDefault = {
castParam: true,
};
const getQueryParams = (value_ = (0, isEnvironment_1.default)('browser') && window.location.search, paramName, options_ = {}) => {
const options = Object.assign(Object.assign({}, optionsDefault), options_);
if ((0, is_1.default)('string', value_)) {
const result = {};
const paramPairs = value_.replace(/^\?/, '').split('&').filter(Boolean);
paramPairs.forEach(param => {
const [key, value] = param.split('=').filter(Boolean).map(item => options.castParam ? (0, castParam_1.default)(decodeURIComponent(item)) : decodeURIComponent(item));
if (!!key)
result[key] = value;
});
return paramName !== undefined ? result[paramName] : result;
}
};
exports.default = getQueryParams;