2 lines
655 B
JavaScript
2 lines
655 B
JavaScript
"use strict";const e=require("../utils.js");function i(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}exports.buildURL=function(r,n,t){if(!n)return r;var c;if(t)c=t(n);else if(e.isURLSearchParams(n))c=n.toString();else{var a=[];e.forEach(n,(function(r,n){null!=r&&(e.isArray(r)?n+="[]":r=[r],e.forEach(r,(function(r){e.isDate(r)?r=r.toISOString():e.isObject(r)&&(r=JSON.stringify(r)),a.push(i(n)+"="+i(r))})))})),c=a.join("&")}if(c){var s=r.indexOf("#");-1!==s&&(r=r.slice(0,s)),r+=(-1===r.indexOf("?")?"?":"&")+c}return r};
|