!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VueJsonp={})}(this,(function(e){"use strict";function t(e,o,n){void 0===n&&(n="[]"),e=e.replace(/=/g,"");var r=[];if(null==o)return r;switch(o.constructor){case String:case Number:case Boolean:r.push(encodeURIComponent(e)+"="+encodeURIComponent(o));break;case Array:o.forEach((function(o){r=r.concat(t(""+e+n+"=",o,n))}));break;case Object:Object.keys(o).forEach((function(a){var c=o[a];r=r.concat(t(e+"["+a+"]",c,n))}))}return r}function o(e){var t=[];return e.forEach((function(e){"string"==typeof e?t.push(e):t=t.concat(o(e))})),t} /** * Vue Jsonp. * # Carry Your World # * * @author: LancerComet * @license: MIT */var n={install:function(e){e.prototype.$jsonp=r}};function r(e,n,r){var a;if(void 0===n&&(n={}),"string"!=typeof e)throw new Error('[Vue-jsonp] Type of param "url" is not string.');if("object"!=typeof n||!n)throw new Error("[Vue-jsonp] Invalid params, should be an object.");var c="number"==typeof r?r:null!==(a=null==r?void 0:r.timeout)&&void 0!==a?a:5e3,i="[]";if("object"==typeof r){var u=r.arrayIndicator;"string"==typeof u&&(i=u)}return new Promise((function(r,a){var u="string"==typeof n.callbackQuery?n.callbackQuery:"callback",s="string"==typeof n.callbackName?n.callbackName:"jsonp_"+(Math.floor(1e5*Math.random())*Date.now()).toString(16);n[u]=s,delete n.callbackQuery,delete n.callbackName;var f=[];Object.keys(n).forEach((function(e){f=f.concat(t(e,n[e],i))}));var l=o(f).join("&"),d=function(){p(),clearTimeout(m),a({status:400,statusText:"Bad Request"})},p=function(){y.removeEventListener("error",d)},b=function(){document.body.removeChild(y),delete window[s]},m=null;c>-1&&(m=setTimeout((function(){p(),b(),a({statusText:"Request Timeout",status:408})}),c)),window[s]=function(e){clearTimeout(m),p(),b(),r(e)};var y=document.createElement("script");y.addEventListener("error",d),y.src=e+(/\?/.test(e)?"&":"?")+l,document.body.appendChild(y)}))}e.VueJsonp=n,e.jsonp=r,Object.defineProperty(e,"__esModule",{value:!0})}));