UNPKG

weex-nuke

Version:

基于 Rax 、Weex 的高性能组件体系 ~~

54 lines (43 loc) 1.88 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _qs = require('qs'); var _qs2 = _interopRequireDefault(_qs); var _uri = require('./uri.js'); var _uri2 = _interopRequireDefault(_uri); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { urlParse: function urlParse(url) { if (typeof url !== 'string') return; // add qap:// & qap:/// support var reg = /(qap:\/{2,3})/g; url = url.replace(reg, 'qap:///'); var obj = {}; var uri = new _uri2.default(url); obj.protocol = uri.protocol() + ':'; obj.hostname = uri.host(); obj.port = uri.port(); obj.host = obj.hostname + (obj.port ? ':' + obj.port : ''); obj.origin = obj.protocol + '//' + obj.host; obj.pathname = uri.path(); obj.search = uri.query(); obj.hash = uri.anchor() ? '#' + uri.anchor() : ''; return obj; }, getSearchParameter: function getSearchParameter(search, paramName) { var res = _qs2.default.parse(search, { ignoreQueryPrefix: true, plainObjects: true }); return res[paramName]; }, setSearchParameter: function setSearchParameter(search, params) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var defaultOptions = _extends({ addQueryPrefix: true }, options); var origin = options.keepOrigin ? _qs2.default.parse(search, { ignoreQueryPrefix: true, plainObjects: true }) : {}; return _qs2.default.stringify(_extends({}, origin, params), defaultOptions); } }; module.exports = exports['default'];