UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

102 lines (95 loc) 3.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) { return typeof obj === "undefined" ? "undefined" : _typeof2(obj); } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); }; var UrlUtils = { isString: function isString(params) { return typeof params === "string"; }, isObject: function isObject(params) { return typeof params === "obejct"; }, isFunction: function isFunction(params) { return typeof params === "function"; }, isEmpty: function isEmpty(params) { if ((typeof params === "undefined" ? "undefined" : _typeof2(params)) == "object" && Object.keys(params).length > 0) { return false; } return true; }, isPlainObject: function isPlainObject(params) { return params && params.constructor == Object; }, forIn: function forIn(params, callback) { for (var item in params) { callback(params[item], item); } }, fillUrlParams: function fillUrlParams(url, params) { if (this.isString(url) && this.isObject(params)) { var _ret = function () { var retUrl = url; this.forIn(params, function (value, key) { retUrl = retUrl.replace(new RegExp('{' + escape(key) + '}', 'gm'), escape(value)); }); return { v: retUrl }; }(); if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; } return url; }, appendToUrl: function appendToUrl(url, params) { var _url = url; var isFirstParam = true; if (_url.indexOf("?") === -1) { _url += "?"; } else { isFirstParam = false; } var _params = this.getParams(params); if (this.isPlainObject(_params) && !this.isEmpty(_params)) { this.forIn(_params, function (val, key) { var _val = val === undefined ? '' : val; if (isFirstParam) { isFirstParam = false; _url += key + "=" + _val; } else { var _matchReg = new RegExp("[?|&]" + key + "=[^&]*"); var _replaceReg = new RegExp(key + "=[^&]*"); if (_url.match(_matchReg)) { _url = _url.replace(_replaceReg, key + "=" + _val); } else { _url += "&" + key + "=" + _val; } } }); } return _url; }, getParams: function getParams(param) { var _otherParam = {}; if (this.isFunction(param)) { return param.call(); } else if (this.isPlainObject(param)) { this.forIn(param, function (propValue, propName) { if (this.isFunction(propValue)) { _otherParam[propName] = propValue.call(); } else { _otherParam[propName] = propValue; } }); return _otherParam; } return {}; } }; exports.default = UrlUtils;