zmp-sdk
Version:
Zalo Mini App SDK
2 lines (1 loc) • 1.34 kB
JavaScript
import e from"./query-string.js";var t={},n=function(e,n,r){var o=n||"default";return function(){return(o in t?t[o](e,r):e).apply(this,arguments)}};n.setWrapper=function(e){t[arguments.length<=1||void 0===arguments[1]?"default":arguments[1]]=e};var r={error:{code:1,error_subcode:1357046,message:"Received Invalid JSON reply.",type:"http"}};function o(e){try{return null===e?r:JSON.parse(e)}catch(e){return r}}var u={execute:function(t,r,u,s){u.suppress_http_code=1;var a=e.encode(u);"post"!=r&&(t=e.appendToUrl(t,a),a="");var i=function(e,t){if(!self.XMLHttpRequest)return null;var r=new XMLHttpRequest,o=function(){};if(!("withCredentials"in r))return null;r.open(e,t,!0),r.setRequestHeader("Content-type","application/x-www-form-urlencoded");var u={send:function(e){r.send(e)}},s=n((function(){s=o,"onload"in u&&u.onload(r)}),"entry","XMLHttpRequest:load"),a=n((function(){a=o,"onerror"in u&&u.onerror(r)}),"entry","XMLHttpRequest:error");return r.onload=function(){s()},r.onerror=function(){a()},r.onreadystatechange=function(){4==r.readyState&&(200==r.status?s():a())},u}(r,t);return!!i&&(i.onload=function(e){s(o(e.responseText))},i.onerror=function(e){e.responseText?s(o(e.responseText)):s({error:{code:1,error_subcode:1357045,message:"unknown error (empty response)",status:e.status,type:"http"}})},i.send(a),!0)}};export{u as default};