UNPKG

846 BJavaScriptView Raw
1import{curry,__}from"ramda";import Future from"fluture";var isSuccess=function(e){return[200,201,202,203,204,205,206].some(function(t){return t===e})},requestComplete=4,handleResponse=function(e,t,r){return function(){try{e.readyState===requestComplete&&(isSuccess(e.status)?r(e.response):t({error:"Your httpRequest failed with an error code of "+e.status}))}catch(e){t({error:"Caught Exception: "+e.description})}}},makeJsonRequest=curry(function(e,t,r){return Future(function(n,s){var o=new XMLHttpRequest;o||n({error:"Unable to create a XMLHttp instance."}),o.onreadystatechange=handleResponse(o,n,s),o.open(e,t),o.responseType="json",r?(o.setRequestHeader("Content-type","application/json; charset=utf-8"),o.send(JSON.stringify(r))):o.send()})}),getJson=makeJsonRequest("GET",__,!1),postJson=makeJsonRequest("POST");export{getJson,postJson};