yylib-quick-mobile
Version:
yylib-quick-mobile
102 lines (95 loc) • 3.72 kB
JavaScript
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;
;