UNPKG

radi-fetch

Version:

`radi-fetch` is the official HTTP client for [Radi.js](https://radi.js.org). It deeply integrates with Radi for seamless application building.

17 lines (16 loc) 6.98 kB
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.objectCreate=$jscomp.ASSUME_ES5||"function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};$jscomp.underscoreProtoCanBeSet=function(){var a={a:!0},b={};try{return b.__proto__=a,b.a}catch(c){}return!1}; $jscomp.setPrototypeOf="function"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null; $jscomp.inherits=function(a,b){a.prototype=$jscomp.objectCreate(b.prototype);a.prototype.constructor=a;if($jscomp.setPrototypeOf){var c=$jscomp.setPrototypeOf;c(a,b)}else for(c in b)if("prototype"!=c)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,c);e&&Object.defineProperty(a,c,e)}else a[c]=b[c];a.superClass_=b.prototype}; $jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)}; $jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}();$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}}; $jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();var b=a[Symbol.iterator];return b?b.call(a):$jscomp.arrayIterator(a)}; $jscomp.arrayFromIterator=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c};$jscomp.arrayFromIterable=function(a){return a instanceof Array?a:$jscomp.arrayFromIterator($jscomp.makeIterator(a))};$jscomp.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};$jscomp.assign="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var e=arguments[c];if(e)for(var g in e)$jscomp.owns(e,g)&&(a[g]=e[g])}return a}; $jscomp.polyfill=function(a,b,c,e){if(b){c=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var g=a[e];g in c||(c[g]={});c=c[g]}a=a[a.length-1];e=c[a];b=b(e);b!=e&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}};$jscomp.polyfill("Object.assign",function(a){return a||$jscomp.assign},"es6","es3"); (function(a,b){"object"===typeof exports&&"undefined"!==typeof module?b(exports):"function"===typeof define&&define.amd?define(["exports"],b):b(a["radi-fetch"]={})})(this,function(a){a.version="0.3.23";a.default=function(a,c){var b=a.headless,g=a.Component;c=void 0===c?{}:c;var p=(c.baseUrl||"").replace(/\/$/,""),q=c.dummy,m=c.dummyData||{},r=function(a,b,l){setTimeout(function(){l(m[a]&&m[a][b]||null)},c.dummyTimeout||100)},h=function(a,b,l,e,n){var d=this;this.localDummy=c.dummy;this.url=b;this.id= b+"";this.type=a;this.start=function(){return n.start(d.id)};this.end=function(){return n.end(d.id)};this.http=new XMLHttpRequest;this.headers=Object.assign(c.headers||{},e||{});this.params=JSON.stringify(l);this.resolve=function(){d.end()};this.reject=function(a){console.error("[Radi Fetch] WARN: Request caught an error.\n",a);d.end()};e=b.split("?").length-1;if("get"===a)for(var f in l)b=b.concat((e?"\x26":"?")+f+"\x3d"+l[f]),e+=1;this.http.open(a,p+b,!0);for(var g in this.headers)this.http.setRequestHeader(g, this.headers[g]);this.abort=function(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c];return d.http.abort.apply(d.http,[].concat($jscomp.arrayFromIterable(b)))};this.tag=function(a){return d.id=a,d}};h.prototype.dummy=function(a){this.localDummy=void 0===a?!0:a;return this};h.prototype.catch=function(a){var b=this;"function"===typeof a&&(this.reject=function(c){for(var d=[],f=0;f<arguments.length;++f)d[f-0]=arguments[f];a.apply(null,[].concat($jscomp.arrayFromIterable(d)));b.end()}); return this};h.prototype.then=function(a,b){var c=this;this.start();"function"===typeof a&&(this.resolve=function(b){for(var d=[],f=0;f<arguments.length;++f)d[f-0]=arguments[f];a.apply(null,[].concat($jscomp.arrayFromIterable(d)));c.end()});"function"===typeof b&&(this.reject=function(a){for(var d=[],f=0;f<arguments.length;++f)d[f-0]=arguments[f];b.apply(null,[].concat($jscomp.arrayFromIterable(d)));c.end()});if(this.localDummy||q)return r(this.type,this.url,function(a){c.resolve({headers:"",status:"dummy", response:JSON.stringify(a),text:function(){return JSON.stringify(a)},json:function(){return a}})}),this;var d=this;this.http.onreadystatechange=function(a){var b=this;b.readyState===XMLHttpRequest.DONE&&(a={headers:d.http.getAllResponseHeaders(),status:b.status,response:b.response},200===b.status?(a.text=function(){return b.responseText},a.json=function(){try{return JSON.parse(this.text())}catch(t){return console.error("[Radi Fetch] WARN: Response is not JSON, using fallback to empty JSON.\n",t), {}}},d.resolve(a)):d.reject(a))};this.http.send(this.params);return this};a=function(a){return g.apply(this,arguments)||this};$jscomp.inherits(a,g);a.prototype.get=function(a,b,c){return new h("get",a,b,c,this.$loading)};a.prototype.post=function(a,b,c){return new h("post",a,b,c,this.$loading)};a.prototype.put=function(a,b,c){return new h("put",a,b,c,this.$loading)};a.prototype.delete=function(a,b,c){return new h("delete",a,b,c,this.$loading)};a.prototype.options=function(a,b,c){return new h("options", a,b,c,this.$loading)};a.prototype.head=function(a,b,c){return new h("head",a,b,c,this.$loading)};var k=function(a){return g.apply(this,arguments)||this};$jscomp.inherits(k,g);k.prototype.state=function(){return{$any:!1,$count:0}};k.prototype.start=function(a){if(this.state[a])return!1;var b={};this.setState((b[a]=!0,b.$count=this.state.$count+1,b.$any=!!(this.state.$count+1),b))};k.prototype.end=function(a){var b={};this.setState((b[a]=!1,b.$count=this.state.$count-1,b.$any=!!(this.state.$count-1), b))};k.prototype.run=function(a,b){var c=this;if(this.state[a])return!1;this.start(a);b(function(b){"function"===typeof b&&b();c.end(a)})};b("loading",k);b("fetch",a);return{config:c,Fetch:a}};Object.defineProperty(a,"__esModule",{value:!0})});