|
@@ -0,0 +1,52 @@
|
|
|
|
|
+/**
|
|
|
|
|
+ * @preserve jquery-param (c) 2015 KNOWLEDGECODE | MIT
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+export function toUrlParams(a) {
|
|
|
|
|
+ let s = [];
|
|
|
|
|
+ let rbracket = /\[\]$/;
|
|
|
|
|
+
|
|
|
|
|
+ let isArray = function(obj) {
|
|
|
|
|
+ return Object.prototype.toString.call(obj) === '[object Array]';
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ let add = function(k, v) {
|
|
|
|
|
+ v = typeof v === 'function' ? v() : v === null ? '' : v === undefined ? '' : v;
|
|
|
|
|
+ s[s.length] = encodeURIComponent(k) + '=' + encodeURIComponent(v);
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ let buildParams = function(prefix, obj) {
|
|
|
|
|
+ var i, len, key;
|
|
|
|
|
+
|
|
|
|
|
+ if (prefix) {
|
|
|
|
|
+ if (isArray(obj)) {
|
|
|
|
|
+ for (i = 0, len = obj.length; i < len; i++) {
|
|
|
|
|
+ if (rbracket.test(prefix)) {
|
|
|
|
|
+ add(prefix, obj[i]);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ buildParams(prefix, obj[i]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (obj && String(obj) === '[object Object]') {
|
|
|
|
|
+ for (key in obj) {
|
|
|
|
|
+ buildParams(prefix + '[' + key + ']', obj[key]);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ add(prefix, obj);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (isArray(obj)) {
|
|
|
|
|
+ for (i = 0, len = obj.length; i < len; i++) {
|
|
|
|
|
+ add(obj[i].name, obj[i].value);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ for (key in obj) {
|
|
|
|
|
+ buildParams(key, obj[key]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return s;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ return buildParams('', a)
|
|
|
|
|
+ .join('&')
|
|
|
|
|
+ .replace(/%20/g, '+');
|
|
|
|
|
+}
|