(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i{ url: 'https://tomflidr.github.io/ajax.js/books.json', method: 'POST', // GET|POST|OPTION|HEAD... data: { anything: ["to", "serialize"] }, success: (data?: any, statusCode?: number, xhr?: XMLHttpRequest|null, requestId?: number, url?: string, type?: string) => {}, type: 'json', // json|jsonp|xml|html|text error: (responseText?: string, statusCode?: number, xhr?: XMLHttpRequest|null, errorObj?: Error|null, errorEvent?: Event|null, requestId?: number, url?: string, type?: string) => {}, headers: {}, cache: false, async: true }); */ (function(p){p.Ajax=p.Ajax||function(){function e(){}e.handlers={before:[],success:[],abort:[],error:[]};e.defaultHeaders={"X-Requested-With":"XmlHttpRequest","Content-Type":"application/x-www-form-urlencoded"};e.jsonpCallbackParam="callback";e.cacheBusterParamName="_";e.aa="JsonpCallback";e.J=0;e.beforeLoad=function(a){e.handlers.before.push(a);return e};e.onSuccess=function(a){e.handlers.success.push(a);return e};e.onAbort=function(a){e.handlers.abort.push(a);return e};e.onError=function(a){e.handlers.error.push(a); return e};e.get=function(){var a=new e;return a.o.apply(a,[].slice.apply(arguments)).s()};e.post=function(){var a=new e;return a.o.apply(a,[].slice.apply(arguments)).s("post")};e.load=function(a){return(new e).o(a.url,a.data,a.success,a.type,a.error,a.headers,a.cache,a.async).s(a.method)};e.prototype={toString:function(){return"[object Ajax]"},o:function(a,b,d,c,f,h,g,k){function l(){}this.url=a||"";this.data=b||{};this.b=d||l;this.type=(void 0===c?"":c).toLowerCase()||"auto";this.error=f||l;this.headers= h||{};this.cache=null==g?!1:g;this.async=null==k?!0:k;this.result={b:!1,data:{}};this.f=this.c=null;return this},s:function(a){this.g=!!document.all;return"jsonp"==this.type?this.S():this.T(a).a},S:function(){var a=this,b=document.createElement("script"),d=a.N();a.h=b;a.requestId=e.J++;a.j=e.aa+a.requestId;e[a.j]=function(c){a.P(c)};a.D("get",!0);b.setAttribute("src",a.url);a.v();a.g?(b.attachEvent("onreadystatechange",a.l()),b=d.insertAdjacentElement("beforeEnd",b)):(b.setAttribute("async","async"), b.addEventListener("error",a.l(),!0),b=d.appendChild(b));return{url:a.url,id:a.requestId,abort:function(){a.m();a.u()}}},P:function(a){this.result.b=!0;this.m();this.result.data=a;this.b(a,200,null,this.requestId,this.url,this.type);this.B()},l:function(){var a=this,b=a.h;return a.g?function(d){d=d||window.event;"loaded"!=b.readyState||a.result.b||a.G(d)}:function(d){a.G(d)}},G:function(a){var b=this.l();this.g?this.h.detachEvent("onreadystatechange",b):this.h.removeEventListener("error",b,!0);this.m(); this.c=a;this.H();this.error("",0,null,null,a,this.requestId,this.url,this.type);this.A()},m:function(){this.h.parentNode.removeChild(this.h);this.g?e[this.j]=void 0:delete e[this.j]},T:function(a){a=(void 0===a?"get":a).toLowerCase();var b=this.D(a,!1);this.requestId=e.J++;this.a=this.K();this.U();this.a.open(a,this.url,this.async);this.ba();this.v();this.V(a,b);return this},U:function(){function a(c){4==d.readyState&&b.R(c)}var b=this,d=b.a;b.g?b.a.attachEvent("onreadystatechange",a):b.a.addEventListener("readystatechange", a)},R:function(a){a=a||window.event;var b=this.a.status;199b?(this.W(),this.I()):0===b?this.u():(this.result.b=!1,this.c=a,this.f=Error("Http Status Code: "+b),this.I())},V:function(a,b){var d=this.a;"get"==a?d.send():"post"==a&&d.send(b)},I:function(){var a=this.a;this.result.b?(a=[this.result.data,a.status,a,this.requestId,this.url,this.type],this.b.apply(null,a),this.B()):(a=[a.responseText,a.status,a,this.c,this.f,this.requestId,this.url,this.type],this.error.apply(null,a),this.A(),this.H())}, W:function(){"auto"==this.type&&this.Y();this.X()},X:function(){var a=this.a;"json"==this.type?this.Z():"xml"==this.type||"html"==this.type?this.$():"text"==this.type&&(this.result.data=a.responseText,this.result.b=!0)},Y:function(){var a=this.O();this.type="text";-1c?"0"+c:c}function b(c,f){var h;var g=/["\\\x00-\x1f\x7f-\x9f]/g;var k;switch(typeof c){case "string":return g.test(c)?'"'+c.replace(g,function(q){var n=d[q];if(n)return n;n=q.charCodeAt(); return"\\u00"+Math.floor(n/16).toString(16)+(n%16).toString(16)})+'"':'"'+c+'"';case "number":return isFinite(c)?String(c):"null";case "boolean":case "null":return String(c);case "object":if(!c)return"null";if("function"===typeof c.toJSON)return b(c.toJSON());g=[];if("number"===typeof c.length&&!c.propertyIsEnumerable("length")){var l=c.length;for(h=0;h