http-svc
Version:
A HTTP request service for browser and node.js
6 lines (5 loc) • 26 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const G=require("@http-svc/middleware"),$e=require("qs"),Ue=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},Le=Ue($e);function ne(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function Be(t){if(Array.isArray(t))return t}function Ge(t){if(Array.isArray(t))return ne(t)}function Ye(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ce(t,r,e,n,a,i,u){try{var o=t[i](u),s=o.value}catch(f){return void e(f)}o.done?r(s):Promise.resolve(s).then(n,a)}function A(t){return function(){var r=this,e=arguments;return new Promise(function(n,a){var i=t.apply(r,e);function u(s){ce(i,n,a,u,o,"next",s)}function o(s){ce(i,n,a,u,o,"throw",s)}u(void 0)})}}function F(t,r,e){return r=Z(r),Ke(t,me()?Reflect.construct(r,e||[],Z(t).constructor):r.apply(t,e))}function R(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function de(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,ge(n.key),n)}}function E(t,r,e){return r&&de(t.prototype,r),e&&de(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function Ne(t,r){var e=typeof Symbol!="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=oe(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,a=function(){};return{s:a,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(s){throw s},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,u=!0,o=!1;return{s:function(){e=e.call(t)},n:function(){var s=e.next();return u=s.done,s},e:function(s){o=!0,i=s},f:function(){try{u||e.return==null||e.return()}finally{if(o)throw i}}}}function y(t,r,e){return(r=ge(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function Z(t){return Z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Z(t)}function _(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&ae(t,r)}function me(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(r){}return(me=function(){return!!t})()}function Xe(t){if(typeof Symbol!="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Je(t,r){var e=t==null?null:typeof Symbol!="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(e!=null){var n,a,i,u,o=[],s=!0,f=!1;try{if(i=(e=e.call(t)).next,r===0){if(Object(e)!==e)return;s=!1}else for(;!(s=(n=i.call(e)).done)&&(o.push(n.value),o.length!==r);s=!0);}catch(p){f=!0,a=p}finally{try{if(!s&&e.return!=null&&(u=e.return(),Object(u)!==u))return}finally{if(f)throw a}}return o}}function We(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ze(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pe(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),e.push.apply(e,n)}return e}function N(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?pe(Object(e),!0).forEach(function(n){y(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):pe(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Ke(t,r){if(r&&(typeof r=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ye(t)}function m(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,r,e=typeof Symbol=="function"?Symbol:{},n=e.iterator||"@@iterator",a=e.toStringTag||"@@toStringTag";function i(d,h,S,g){var v=h&&h.prototype instanceof o?h:o,k=Object.create(v.prototype);return P(k,"_invoke",function(j,L,M){var C,b,q,$=0,B=M||[],w=!1,T={p:0,n:0,v:t,a:K,f:K.bind(t,4),d:function(I,D){return C=I,b=0,q=t,T.n=D,u}};function K(I,D){for(b=I,q=D,r=0;!w&&$&&!Y&&r<B.length;r++){var Y,H=B[r],re=T.p,V=H[2];I>3?(Y=V===D)&&(q=H[(b=H[4])?5:(b=3,3)],H[4]=H[5]=t):H[0]<=re&&((Y=I<2&&re<H[1])?(b=0,T.v=D,T.n=H[1]):re<V&&(Y=I<3||H[0]>D||D>V)&&(H[4]=I,H[5]=D,T.n=V,b=0))}if(Y||I>1)return u;throw w=!0,D}return function(I,D,Y){if($>1)throw TypeError("Generator is already running");for(w&&D===1&&K(D,Y),b=D,q=Y;(r=b<2?t:q)||!w;){C||(b?b<3?(b>1&&(T.n=-1),K(b,q)):T.n=q:T.v=q);try{if($=2,C){if(b||(I="next"),r=C[I]){if(!(r=r.call(C,q)))throw TypeError("iterator result is not an object");if(!r.done)return r;q=r.value,b<2&&(b=0)}else b===1&&(r=C.return)&&r.call(C),b<2&&(q=TypeError("The iterator does not provide a '"+I+"' method"),b=1);C=t}else if((r=(w=T.n<0)?q:j.call(L,T))!==u)break}catch(H){C=t,b=1,q=H}finally{$=1}}return{value:r,done:w}}}(d,S,g),!0),k}var u={};function o(){}function s(){}function f(){}r=Object.getPrototypeOf;var p=[][n]?r(r([][n]())):(P(r={},n,function(){return this}),r),l=f.prototype=o.prototype=Object.create(p);function c(d){return Object.setPrototypeOf?Object.setPrototypeOf(d,f):(d.__proto__=f,P(d,a,"GeneratorFunction")),d.prototype=Object.create(l),d}return s.prototype=f,P(l,"constructor",f),P(f,"constructor",s),s.displayName="GeneratorFunction",P(f,a,"GeneratorFunction"),P(l),P(l,a,"Generator"),P(l,n,function(){return this}),P(l,"toString",function(){return"[object Generator]"}),(m=function(){return{w:i,m:c}})()}function P(t,r,e,n){var a=Object.defineProperty;try{a({},"",{})}catch(i){a=0}P=function(i,u,o,s){function f(p,l){P(i,p,function(c){return this._invoke(p,l,c)})}u?a?a(i,u,{value:o,enumerable:!s,configurable:!s,writable:!s}):i[u]=o:(f("next",0),f("throw",1),f("return",2))},P(t,r,e,n)}function ae(t,r){return ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},ae(t,r)}function ie(t,r){return Be(t)||Je(t,r)||oe(t,r)||We()}function we(t){return Ge(t)||Xe(t)||oe(t)||ze()}function Ve(t,r){if(typeof t!="object"||!t)return t;var e=t[Symbol.toPrimitive];if(e!==void 0){var n=e.call(t,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(t)}function ge(t){var r=Ve(t,"string");return typeof r=="symbol"?r:r+""}function W(t){return W=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},W(t)}function oe(t,r){if(t){if(typeof t=="string")return ne(t,r);var e={}.toString.call(t).slice(8,-1);return e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set"?Array.from(t):e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?ne(t,r):void 0}}var O=function(r){return"BUILT_IN_".concat(r)},ue=function(r){return!!(r.name&&r.handler)},ve=function(r,e){var n,a=(n=r.response)===null||n===void 0?void 0:n.status,i="Request Error",u="";return e?u=e:typeof a=="number"?u="".concat(i,": ").concat(a):u=i,new Error(u)},J=function(r,e){var n,a;typeof e=="undefined"?a=ve(r):e instanceof Error?a=e:a=ve(r,typeof e=="string"?e:e==null?void 0:e.message);var i=(n=r.response)===null||n===void 0?void 0:n.status;return r.request?a.config={url:r.request.url,method:r.request.method,params:r.request.params,data:r.request.data,headers:r.request.headers}:a.config=r.config,r.response&&(a.response=r.response,!r.response.ok&&i&&(a.status=i)),a},x=typeof window=="undefined",Qe=function(r){return r!==null&&W(r)==="object"},Se=function(r){return Object.prototype.toString.call(r)==="[object Object]"},Ze=function(r){return typeof FormData!="undefined"&&r instanceof FormData},Oe=function(r,e){return Le.default.stringify(r,e||{encode:!0,arrayFormat:"brackets"})},xe=function(r,e,n){var a="";if(Object.keys(e).length===0)return r;if(typeof n=="function")a=n(e);else{var i={encode:!0,arrayFormat:"brackets"};n&&W(n)==="object"&&Object.assign(i,n),a=Oe(e,i)}if(a){var u=r.indexOf("#");u!==-1&&(r=r.slice(0,u)),r+=(r.indexOf("?")===-1?"?":"&")+a}return r},er=function(r){var e=r.split("?"),n=ie(e,2),a=n[0],i=n[1];if(i){var u=i.split("&");if(u.length){var o={},s=Ne(u),f;try{for(s.s();!(f=s.n()).done;){var p=f.value,l=p.split("="),c=ie(l,2),d=c[0],h=c[1];d&&typeof h!="undefined"&&(o[d]=h)}}catch(S){s.e(S)}finally{s.f()}return{url:a,params:o}}}return{url:r}},qe="Content-Type",X=function(t){return t.JSON="application/json",t.Form="application/x-www-form-urlencoded",t.FormData="multipart/form-data",t}(X||{}),te=function(r,e){return e?e.indexOf(r)>-1:!1},rr=function(r){return(r==null?void 0:r[qe])||(r==null?void 0:r["content-type"])},he=function(r,e){!e||(r[qe]=e)},ye=function(r,e){e||(e={});for(var n=e.decode===!1,a=e.template||document.cookie,i=n?a:decodeURIComponent(a),u=i.split(";"),o=0;o<u.length;o++){for(var s=u[o];s.charAt(0)===" ";)s=s.substring(1);var f=s.split("="),p=f[0],l=f[1];if(r===p)return l}return""},z=function(r,e,n,a){if(Array.isArray(e))for(var i=we(e);i.length;){if(i.length===1){z(r,i[0],n);break}var u=i.shift();if(!Se(r))if(typeof r[u]=="undefined"&&a)r[u]={};else{console.warn('The value of "'.concat(u,'" is not a record object!'));break}r=r[u]}else{var o=e;r[o]=n}},Ce=function(){var t=A(m().m(function r(e,n){var a,i,u,o,s,f,p,l,c,d,h,S,g;return m().w(function(v){for(;;)switch(v.n){case 0:if(e.request){v.n=1;break}return v.a(2,n());case 1:return a=e.config,i=a.baseURL,u=a.headers,o=a.params,s=a.data,f=a.credentials,p=f===void 0?"include":f,l=e.config.url,c=er(l),d=c.url,h=c.params,h?(l=e.request.url=d,e.request.params=N(N({},h),o||{})):(e.request.url=l,e.request.params=N({},o||{})),i&&/^(https?:)?\/\//.test(l)===!1&&(e.request.url="".concat(i).concat(l)),e.request.headers=N({},u||{}),s&&(W(s)==="object"?typeof FormData!="undefined"&&s instanceof FormData?(S=new FormData,g=Array.from(s.entries()),g.forEach(function(k){var j=ie(k,2),L=j[0],M=j[1];S.append(L,M)}),e.request.data=S):Object.keys(s)&&(e.request.data=JSON.parse(JSON.stringify(s))):e.request.data=s),e.request.credentials=p,v.n=2,n();case 2:return v.a(2,v.v)}},r)}));return function(e,n){return t.apply(this,arguments)}}(),Te=function(t){function r(){var e;R(this,r);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return e=F(this,r,[].concat(a)),y(e,"handler",Ce),y(e,"name",O("INIT_CTX")),e}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(Te,"handler",Ce);var je=function(){var t=A(m().m(function r(e,n){var a,i;return m().w(function(u){for(;;)switch(u.n){case 0:if(a=e.config.timeout,typeof e.config.timeout!="number"&&(a=x?350:1e4),!(!e.abortController&&a)){u.n=2;break}return i=new AbortController,e.abortController=i,e.timeoutId=setTimeout(function(){i.abort()},a),u.n=1,n();case 1:clearTimeout(e.timeoutId),u.n=3;break;case 2:return u.n=3,n();case 3:return u.a(2)}},r)}));return function(e,n){return t.apply(this,arguments)}}(),Re=function(t){function r(){var e;return R(this,r),e=F(this,r,[je]),y(e,"name",O("TIMEOUT")),e}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(Re,"handler",je);var Ee=function(){var t=A(m().m(function r(e,n,a){var i,u,o,s,f,p,l,c;return m().w(function(d){for(;;)switch(d.n){case 0:if(e.request){d.n=1;break}return d.a(2,n());case 1:if(i=(a==null?void 0:a.payload)||{token:"xsrf_token"},u=i.token,o=i.params,s=i.data,f=i.headers,o||s||f)try{x?p=ye(u,{template:((l=e.request.headers)===null||l===void 0?void 0:l.cookie)||((c=e.request.headers)===null||c===void 0?void 0:c.Cookie)||"_",decode:!1}):p=ye(u,{decode:!1})}catch(h){x||console.warn(h)}return p&&(o&&z(e.request,["params",o],p,!0),s&&(typeof e.request.data=="undefined"?z(e.request,["data",s],p,!0):Qe(e.request.data)&&(Se(e.request.data)?z(e.request,["data",s],p,!0):Ze(e.request.data)&&e.request.data.append(s,p))),f&&z(e.request,["headers",f],p,!0)),d.n=2,n();case 2:return d.a(2,d.v)}},r)}));return function(e,n,a){return t.apply(this,arguments)}}(),ke=function(t){function r(e){var n;return R(this,r),n=F(this,r,[{handler:Ee,payload:e}]),y(n,"name",O("XSRF")),n}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(ke,"handler",Ee);var be=function(r,e,n){if(!!r.request)if(r.request.data=JSON.stringify(e),r.request.headers)n||he(r.request.headers,X.JSON);else{var a={};he(a,X.JSON),r.request.headers=a}},Ae=function(){var t=A(m().m(function r(e,n,a){var i,u,o,s,f,p,l,c,d,h,S;return m().w(function(g){for(;;)switch(g.n){case 0:if(e.request){g.n=1;break}return g.a(2,n());case 1:if(u=e.request,o=u.params,s=u.headers,f=a==null||(i=a.payload)===null||i===void 0?void 0:i.paramsSerializer,e.request.url=xe(e.request.url,o||{},f),!e.request.data){g.n=4;break}if(p=Object.prototype.toString.call(e.request.data)!=="[object Object]",p){g.n=4;break}if(c=rr(s),d=e.request.data,!(a!=null&&(l=a.payload)!==null&&l!==void 0&&l.stringify)){g.n=3;break}return be(e,d,c),g.n=2,n();case 2:return g.a(2,g.v);case 3:te(X.Form,c)&&(typeof f=="function"?e.request.data=f(d):(h={encode:!0,arrayFormat:"brackets"},f&&W(f)==="object"&&Object.assign(h,f),e.request.data=Oe(d,h))),te(X.JSON,c||X.JSON)&&be(e,d,c),te(X.FormData,c)&&(S=Object.keys(d),S.length&&(e.request.data=S.reduce(function(v,k){var j=d[k];return j instanceof Blob||typeof j=="string"?v.append(k,j):v.append(k,String(j)),v},new FormData)));case 4:return g.n=5,n();case 5:return g.a(2,g.v)}},r)}));return function(e,n,a){return t.apply(this,arguments)}}(),De=function(t){function r(){var e;return R(this,r),e=F(this,r,[Ae]),y(e,"name",O("BODY")),e}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(De,"handler",Ae);var He=function(){var t=A(m().m(function r(e,n){var a,i,u,o,s,f,p,l;return m().w(function(c){for(;;)switch(c.n){case 0:if(!x){c.n=1;break}throw new Error("When you are in a Node environment, please use server-side fetch middleware.");case 1:if(window.fetch){c.n=2;break}throw new Error("When you are in a non-modern browser, please manually polyfill fetch.");case 2:if(e.request){c.n=4;break}return c.n=3,n();case 3:return c.a(2,c.v);case 4:if(!e.response){c.n=6;break}return c.n=5,n();case 5:return c.a(2,c.v);case 6:return i=e.request,u=i.url,o=i.method,s=i.headers,f=i.credentials,p=e.request.data,l={method:o},s!==void 0&&(l.headers=s),f!==void 0&&(l.credentials=f),p!==void 0&&(l.body=p),((a=e.abortController)===null||a===void 0?void 0:a.signal)!==void 0&&(l.signal=e.abortController.signal),c.n=7,window.fetch(u,l);case 7:return e.response=c.v,c.n=8,n();case 8:return c.a(2,c.v)}},r)}));return function(e,n){return t.apply(this,arguments)}}(),Q=function(t){function r(){var e;R(this,r);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return e=F(this,r,[].concat(a)),y(e,"handler",He),y(e,"name",O("FETCH")),e}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(Q,"handler",He);var Pe=function(){var t=A(m().m(function r(e,n,a){var i,u,o,s;return m().w(function(f){for(;;)switch(f.p=f.n){case 0:return f.n=1,n();case 1:if(!((i=e.response)!==null&&i!==void 0&&i.ok)){f.n=5;break}if(typeof e.response.data!="undefined"){f.n=5;break}return f.p=2,o=(a==null||(u=a.payload)===null||u===void 0?void 0:u.type)||"json",f.n=3,e.response[o]();case 3:e.response.data=f.v,f.n=5;break;case 4:f.p=4,s=f.v,console.warn(s);case 5:return f.a(2)}},r,null,[[2,4]])}));return function(e,n,a){return t.apply(this,arguments)}}(),Ie=function(t){function r(){var e;return R(this,r),e=F(this,r,[Pe]),y(e,"name",O("RES_DATA")),e}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(Ie,"handler",Pe);var tr=function(){var t=A(m().m(function r(e,n){return m().w(function(a){for(;;)switch(a.n){case 0:return a.n=1,n();case 1:return a.a(2)}},r)}));return function(e,n){return t.apply(this,arguments)}}(),ee=function(t){function r(e,n){var a;return R(this,r),a=F(this,r),y(a,"name",O("SPRAY")),a.handler=function(){var i=A(m().m(function u(o,s){return m().w(function(f){for(;;)switch(f.n){case 0:return f.n=1,e(o,s,{payload:n});case 1:return f.a(2,f.v)}},u)}));return function(u,o){return i.apply(this,arguments)}}(),a}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(ee,"handler",tr);var Fe=function(){var t=A(m().m(function r(e,n,a){var i,u,o,s,f,p,l,c,d,h,S,g;return m().w(function(v){for(;;)switch(v.p=v.n){case 0:return u=(i=e.request)===null||i===void 0?void 0:i.function,o=(a==null?void 0:a.payload)||{times:0},s=o.times,f=o.condition,p=o.onRetry,l=o.enhanceError,c=function(){return!s||e.retry===s},d=function(){var k=A(m().m(function j(L){var M,C,b,q,$,B;return m().w(function(w){for(;;)switch(w.p=w.n){case 0:if(u){w.n=2;break}if(C=J(e,"Missing request function"),!l){w.n=1;break}throw l(C,e.response);case 1:throw C;case 2:if(!(c()&&!(a!=null&&(M=a.payload)!==null&&M!==void 0&&M.runtimeShortCircuit))){w.n=4;break}if(b=J(e),!l){w.n=3;break}throw l(b,e.response);case 3:throw b;case 4:if(e.retry=e.retry?e.retry+1:1,w.p=5,!p){w.n=7;break}return w.n=6,p(e.config,L);case 6:q=w.v,q&&(e.config=q);case 7:return e.response&&delete e.response,w.n=8,u(e);case 8:w.n=11;break;case 9:if(w.p=9,B=w.v,$=J(e,B),!l){w.n=10;break}throw l($,e.response);case 10:throw $;case 11:return w.a(2)}},j,null,[[5,9]])}));return function(L){return k.apply(this,arguments)}}(),v.p=1,v.n=2,n();case 2:v.n=7;break;case 3:if(v.p=3,g=v.v,!c()){v.n=5;break}if(h=J(e,g),!l){v.n=4;break}throw l(h,e.response);case 4:throw h;case 5:return v.n=6,d();case 6:return v.a(2);case 7:if(!f){v.n=10;break}return v.n=8,f(e.response);case 8:if(S=v.v,!S){v.n=10;break}return v.n=9,d(S);case 9:return v.a(2);case 10:if(!(!e.response||!e.response.ok)){v.n=11;break}return v.n=11,d();case 11:return v.a(2)}},r,null,[[1,3]])}));return function(e,n,a){return t.apply(this,arguments)}}(),fe=function(t){function r(){var e;R(this,r);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return e=F(this,r,[].concat(a)),y(e,"name",O("RETRY")),y(e,"handler",Fe),e}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(fe,"handler",Fe);var nr=function(r,e){return Object.keys(e).sort().reduce(function(n,a){return n+="_".concat(a,":").concat(e[a]),n},"api:".concat(r))},_e=function(){var t=A(m().m(function r(e,n,a){var i,u,o,s,f,p;return m().w(function(l){for(;;)switch(l.n){case 0:if(!(!e.request||e.request.method!=="GET")){l.n=2;break}return l.n=1,n();case 1:return l.a(2,l.v);case 2:if(a!=null&&a.payload){l.n=4;break}return l.n=3,n();case 3:return l.a(2,l.v);case 4:if(i=a.payload,u=i.store,o=i.extra,s=a.payload.key,!(!s||!u)){l.n=6;break}return l.n=5,n();case 5:return l.a(2,l.v);case 6:if(typeof s!="string"&&(s=nr(e.request.url,s)),f=u.get(s,o),!f){l.n=8;break}return e.response=new Response(JSON.stringify(f),{status:200,statusText:"Cache:".concat(s)}),l.n=7,n();case 7:l.n=10;break;case 8:return l.n=9,n();case 9:(p=e.response)!==null&&p!==void 0&&p.data&&u.set(s,e.response.data,o);case 10:return l.a(2)}},r)}));return function(e,n,a){return t.apply(this,arguments)}}(),Me=function(t){function r(e){var n;return R(this,r),n=F(this,r,[{handler:_e,payload:{store:e}}]),y(n,"name",O("CACHE")),n}return _(r,t),E(r)}(G.HttpSvcMiddleware);y(Me,"handler",_e);var le=E(function t(r){R(this,t),this.httpSvc=r}),ar=function(t){function r(){return R(this,r),F(this,r,arguments)}return _(r,t),E(r,[{key:"provide",value:function(){var n=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i={inject:function(o,s){return n.inject(a,o,s),i},disable:function(o){return n.disable(a,o),i},get:function(){return a}};return i}},{key:"inject",value:function(n,a,i){n[a]=i}},{key:"disable",value:function(n,a){n[a]=N(N({},n[a]||{}),{},{disabled:!0})}},{key:"get",value:function(n,a){return n[a]||{}}}])}(le),U={INIT_CTX:O("INIT_CTX"),TIMEOUT:O("TIMEOUT"),BODY:O("BODY"),XSRF:O("XSRF"),FETCH:O("FETCH"),RETRY:O("RETRY"),SPRAY:O("SPRAY"),RES_DATA:O("RES_DATA"),RES_EXTRACT:O("RES_EXTRACT"),LOG:O("LOG"),CACHE:O("CACHE")},se="$ORDER_",ir=function(){function t(r){R(this,t),y(this,"middlewares",[]),y(this,"middlewareConfigCtxProvider",void 0),this.control=r,this.middlewareConfigCtxProvider=this.control.httpSvc.configCtrl.provide()}return E(t,[{key:"with",value:function(e,n){return e?(typeof e=="string"?(this.middlewares.push({name:"".concat(se).concat(e),handler:ee.handler}),n&&this.inject(e,n)):typeof e=="function"?this.middlewares.push(new ee(e,n)):ue(e)&&(this.middlewares.push(e),n&&this.inject(e.name,n)),this):this}},{key:"inject",value:function(e,n){return this.middlewareConfigCtxProvider.inject(e,{payload:n}),this}},{key:"disable",value:function(e){return this.middlewareConfigCtxProvider.disable(e),this}},{key:"request",value:function(e){var n=this.control.compose(this.middlewares);return this.control.httpSvc.requestCtrl.request(e,this.middlewareConfigCtxProvider.get(),n)}}])}(),ur=function(t){function r(){var e;R(this,r);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return e=F(this,r,[].concat(a)),y(e,"middlewares",[]),e}return _(r,t),E(r,[{key:"alreadyExistsIdx",value:function(n){return this.middlewares.findIndex(function(a){return a.name===n})}},{key:"register",value:function(n){var a=this;if(Array.isArray(n)){var i=!1;n.forEach(function(u){if(ue(u)){i=!0;var o=a.alreadyExistsIdx(u.name);o>-1?a.middlewares[o]=u:a.middlewares.push(u)}}),i&&this.httpSvc.requestCtrl.reset()}}},{key:"setup",value:function(){return new ir(this)}},{key:"disable",value:function(n){return this.setup().disable(n)}},{key:"with",value:function(n,a){return this.setup().with(n,a)}},{key:"compose",value:function(n){var a=this,i=we(this.middlewares),u=[],o=y(y(y(y({},U.RETRY,null),U.BODY,null),U.RES_DATA,null),U.TIMEOUT,null),s=Object.keys(o),f={};(n||[]).forEach(function(c){if(ue(c)){var d=c.name;if(s.includes(d))o[d]||(o[d]=c);else if(d.startsWith(se)){if(d=d.substring(se.length),!f[d]&&!(d in o)){var h=i.findIndex(function(g){return g.name===d});if(h>-1){var S=i[h];i.splice(h,1),f[d]=S,u.push(S)}}}else U.SPRAY===d?u.push(c):f[d]||(f[d]=c,u.push(c))}});var p=[];i.forEach(function(c){s.includes(c.name)?o[c.name]||(o[c.name]=c):f[c.name]||p.push(c)}),p.push.apply(p,u);var l=[o[U.RETRY]||new fe,new Te].concat(p,[o[U.RES_DATA]||new Ie,o[U.BODY]||new De,o[U.TIMEOUT]||new Re,this.httpSvc.fetch]);return function(){var c=A(m().m(function d(h){var S,g,v,k,j,L,M,C;return m().w(function(b){for(;;)switch(b.n){case 0:return C=function(){return C=A(m().m(function $(B){var w;return m().w(function(T){for(;;)switch(T.n){case 0:if(B!==l.length){T.n=1;break}return T.a(2);case 1:if(!(B<=g)){T.n=2;break}throw J(h,"The next() called multiple times");case 2:if(g=B,w=l[g],w){T.n=3;break}throw J(h,"Middleware is not exist");case 3:return T.n=4,w.handler(h,M.bind(null,B+1),v.get(h.middleware,w.name));case 4:return T.a(2)}},$)})),C.apply(this,arguments)},M=function($){return C.apply(this,arguments)},g=-1,v=a.httpSvc.configCtrl,k=v.get(h.middleware,"DEBUG").payload,b.n=1,M(0);case 1:if(!k){b.n=2;break}return b.a(2,h);case 2:if(j=v.get(h.middleware,U.RES_EXTRACT).disabled,!(!j&&(S=h.response)!==null&&S!==void 0&&S.ok)){b.n=3;break}return b.a(2,((L=h.response)===null||L===void 0?void 0:L.data)||null);case 3:return b.a(2,h.response)}},d)}));return function(d){return c.apply(this,arguments)}}()}}])}(le),sr=function(t){function r(){var e;R(this,r);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return e=F(this,r,[].concat(a)),y(e,"fn",null),e}return _(r,t),E(r,[{key:"request",value:function(){var e=A(m().m(function a(i){var u,o,s=arguments;return m().w(function(f){for(;;)switch(f.n){case 0:return u=s.length>1&&s[1]!==void 0?s[1]:{},o=s.length>2?s[2]:void 0,o||(this.fn||this.generateRequestFunction(),o=this.fn),f.n=1,o(this.createContext(i,u,o));case 1:return f.a(2,f.v)}},a,this)}));function n(a){return e.apply(this,arguments)}return n}()},{key:"generateRequestFunction",value:function(){this.fn=this.httpSvc.assembleCtrl.compose()}},{key:"reset",value:function(){this.fn=null}},{key:"useAsyncRequest",get:function(){var n=this;return function(a,i){var u=n.httpSvc.create(i);a(u.request.bind(u))}}},{key:"createContext",value:function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0,u=n.url,o=n.method,s={config:N({baseURL:this.httpSvc.baseURL},n),useAsyncRequest:this.useAsyncRequest,middleware:a,request:{url:u,method:(o||"get").toUpperCase(),function:i||function(){return Promise.resolve()}}};return s}}])}(le),or=function(){function t(r){if(R(this,t),y(this,"fetch",void 0),y(this,"assembleCtrl",new ur(this)),y(this,"configCtrl",new ar(this)),y(this,"requestCtrl",new sr(this)),y(this,"baseURL","//api.domain.com"),r)if(Array.isArray(r))this.fetch=new Q,this.register(r);else{var e=r.middlewares,n=r.fetch,a=r.baseURL;this.fetch=n||new Q,this.register(e||[]),a&&(this.baseURL=a)}else this.fetch=new Q,this.register([])}return E(t,[{key:"register",value:function(e){this.assembleCtrl.register(e)}},{key:"request",value:function(e){return this.requestCtrl.request(e)}},{key:"disable",value:function(e){return this.assembleCtrl.disable(e)}},{key:"with",value:function(e,n){return this.assembleCtrl.with(e,n)}},{key:"setFetch",value:function(e){this.fetch=e,this.requestCtrl.reset()}},{key:"create",value:function(e){var n=N({},e||{});return this.fetch&&(n.fetch=this.fetch),new t(n)}}])}();exports.BUILT_IN_MIDDLEWARE=U;exports.HttpService=or;exports.HttpSvcCache=Me;exports.HttpSvcRetry=fe;exports.HttpSvcSprayMiddleware=ee;exports.HttpSvcXsrf=ke;
//# sourceMappingURL=index.legacy.js.map