http-svc
Version:
A HTTP request service for browser and node.js
1,326 lines (1,325 loc) • 41.4 kB
JavaScript
import { HttpSvcMiddleware as Y } from "@http-svc/middleware";
import _e from "qs";
function te(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 $e(t) {
if (Array.isArray(t))
return t;
}
function Ue(t) {
if (Array.isArray(t))
return te(t);
}
function Be(t) {
if (t === void 0)
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return t;
}
function le(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) {
le(i, n, a, u, o, "next", s);
}
function o(s) {
le(i, n, a, u, o, "throw", s);
}
u(void 0);
});
};
}
function H(t, r, e) {
return r = Z(r), Xe(t, be() ? 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 ce(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, we(n.key), n);
}
}
function E(t, r, e) {
return r && ce(t.prototype, r), e && ce(t, e), Object.defineProperty(t, "prototype", {
writable: !1
}), t;
}
function Le(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 = we(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 && ne(t, r);
}
function be() {
try {
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
}));
} catch (r) {
}
return (be = function() {
return !!t;
})();
}
function Ge(t) {
if (typeof Symbol != "undefined" && t[Symbol.iterator] != null || t["@@iterator"] != null)
return Array.from(t);
}
function Ye(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 (d) {
f = !0, a = d;
} finally {
try {
if (!s && e.return != null && (u = e.return(), Object(u) !== u))
return;
} finally {
if (f)
throw a;
}
}
return o;
}
}
function Me() {
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 Ne() {
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 he(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 ? he(Object(e), !0).forEach(function(n) {
y(t, n, e[n]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(e)) : he(Object(e)).forEach(function(n) {
Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(e, n));
});
}
return t;
}
function Xe(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 Be(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(h, v, S, g) {
var p = v && v.prototype instanceof o ? v : o, k = Object.create(p.prototype);
return I(k, "_invoke", function(j, B, $) {
var C, b, q, U = 0, L = $ || [], w = !1, T = {
p: 0,
n: 0,
v: t,
a: K,
f: K.bind(t, 4),
d: function(F, D) {
return C = F, b = 0, q = t, T.n = D, u;
}
};
function K(F, D) {
for (b = F, q = D, r = 0; !w && U && !M && r < L.length; r++) {
var M, P = L[r], ee = T.p, V = P[2];
F > 3 ? (M = V === D) && (q = P[(b = P[4]) ? 5 : (b = 3, 3)], P[4] = P[5] = t) : P[0] <= ee && ((M = F < 2 && ee < P[1]) ? (b = 0, T.v = D, T.n = P[1]) : ee < V && (M = F < 3 || P[0] > D || D > V) && (P[4] = F, P[5] = D, T.n = V, b = 0));
}
if (M || F > 1)
return u;
throw w = !0, D;
}
return function(F, D, M) {
if (U > 1)
throw TypeError("Generator is already running");
for (w && D === 1 && K(D, M), b = D, q = M; (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 (U = 2, C) {
if (b || (F = "next"), r = C[F]) {
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 '" + F + "' method"), b = 1);
C = t;
} else if ((r = (w = T.n < 0) ? q : j.call(B, T)) !== u)
break;
} catch (P) {
C = t, b = 1, q = P;
} finally {
U = 1;
}
}
return {
value: r,
done: w
};
};
}(h, S, g), !0), k;
}
var u = {};
function o() {
}
function s() {
}
function f() {
}
r = Object.getPrototypeOf;
var d = [][n] ? r(r([][n]())) : (I(r = {}, n, function() {
return this;
}), r), l = f.prototype = o.prototype = Object.create(d);
function c(h) {
return Object.setPrototypeOf ? Object.setPrototypeOf(h, f) : (h.__proto__ = f, I(h, a, "GeneratorFunction")), h.prototype = Object.create(l), h;
}
return s.prototype = f, I(l, "constructor", f), I(f, "constructor", s), s.displayName = "GeneratorFunction", I(f, a, "GeneratorFunction"), I(l), I(l, a, "Generator"), I(l, n, function() {
return this;
}), I(l, "toString", function() {
return "[object Generator]";
}), (m = function() {
return {
w: i,
m: c
};
})();
}
function I(t, r, e, n) {
var a = Object.defineProperty;
try {
a({}, "", {});
} catch (i) {
a = 0;
}
I = function(i, u, o, s) {
function f(d, l) {
I(i, d, function(c) {
return this._invoke(d, 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));
}, I(t, r, e, n);
}
function ne(t, r) {
return ne = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, n) {
return e.__proto__ = n, e;
}, ne(t, r);
}
function ae(t, r) {
return $e(t) || Ye(t, r) || oe(t, r) || Me();
}
function me(t) {
return Ue(t) || Ge(t) || oe(t) || Ne();
}
function Je(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 we(t) {
var r = Je(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 te(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) ? te(t, r) : void 0;
}
}
var O = function(r) {
return "BUILT_IN_".concat(r);
}, ie = function(r) {
return !!(r.name && r.handler);
}, de = 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 = de(r) : e instanceof Error ? a = e : a = de(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", We = function(r) {
return r !== null && W(r) === "object";
}, ge = function(r) {
return Object.prototype.toString.call(r) === "[object Object]";
}, ze = function(r) {
return typeof FormData != "undefined" && r instanceof FormData;
}, Se = function(r, e) {
return _e.stringify(r, e || {
encode: !0,
arrayFormat: "brackets"
});
}, Ke = 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 = Se(e, i);
}
if (a) {
var u = r.indexOf("#");
u !== -1 && (r = r.slice(0, u)), r += (r.indexOf("?") === -1 ? "?" : "&") + a;
}
return r;
}, Ve = function(r) {
var e = r.split("?"), n = ae(e, 2), a = n[0], i = n[1];
if (i) {
var u = i.split("&");
if (u.length) {
var o = {}, s = Le(u), f;
try {
for (s.s(); !(f = s.n()).done; ) {
var d = f.value, l = d.split("="), c = ae(l, 2), h = c[0], v = c[1];
h && typeof v != "undefined" && (o[h] = v);
}
} catch (S) {
s.e(S);
} finally {
s.f();
}
return {
url: a,
params: o
};
}
}
return {
url: r
};
}, Oe = "Content-Type", X = /* @__PURE__ */ function(t) {
return t.JSON = "application/json", t.Form = "application/x-www-form-urlencoded", t.FormData = "multipart/form-data", t;
}(X || {}), re = function(r, e) {
return e ? e.indexOf(r) > -1 : !1;
}, Qe = function(r) {
return (r == null ? void 0 : r[Oe]) || (r == null ? void 0 : r["content-type"]);
}, pe = function(r, e) {
!e || (r[Oe] = e);
}, ve = 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("="), d = f[0], l = f[1];
if (r === d)
return l;
}
return "";
}, z = function(r, e, n, a) {
if (Array.isArray(e))
for (var i = me(e); i.length; ) {
if (i.length === 1) {
z(r, i[0], n);
break;
}
var u = i.shift();
if (!ge(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;
}
}, qe = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ m().m(function r(e, n) {
var a, i, u, o, s, f, d, l, c, h, v, S, g;
return m().w(function(p) {
for (; ; )
switch (p.n) {
case 0:
if (e.request) {
p.n = 1;
break;
}
return p.a(2, n());
case 1:
return a = e.config, i = a.baseURL, u = a.headers, o = a.params, s = a.data, f = a.credentials, d = f === void 0 ? "include" : f, l = e.config.url, c = Ve(l), h = c.url, v = c.params, v ? (l = e.request.url = h, e.request.params = N(N({}, v), 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 = ae(k, 2), B = j[0], $ = j[1];
S.append(B, $);
}), e.request.data = S) : Object.keys(s) && (e.request.data = JSON.parse(JSON.stringify(s))) : e.request.data = s), e.request.credentials = d, p.n = 2, n();
case 2:
return p.a(2, p.v);
}
}, r);
}));
return function(e, n) {
return t.apply(this, arguments);
};
}(), Ce = /* @__PURE__ */ 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 = H(this, r, [].concat(a)), y(e, "handler", qe), y(e, "name", O("INIT_CTX")), e;
}
return _(r, t), E(r);
}(Y);
y(Ce, "handler", qe);
var Te = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ 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);
};
}(), je = /* @__PURE__ */ function(t) {
function r() {
var e;
return R(this, r), e = H(this, r, [Te]), y(e, "name", O("TIMEOUT")), e;
}
return _(r, t), E(r);
}(Y);
y(je, "handler", Te);
var Re = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ m().m(function r(e, n, a) {
var i, u, o, s, f, d, l, c;
return m().w(function(h) {
for (; ; )
switch (h.n) {
case 0:
if (e.request) {
h.n = 1;
break;
}
return h.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 ? d = ve(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
}) : d = ve(u, {
decode: !1
});
} catch (v) {
x || console.warn(v);
}
return d && (o && z(e.request, ["params", o], d, !0), s && (typeof e.request.data == "undefined" ? z(e.request, ["data", s], d, !0) : We(e.request.data) && (ge(e.request.data) ? z(e.request, ["data", s], d, !0) : ze(e.request.data) && e.request.data.append(s, d))), f && z(e.request, ["headers", f], d, !0)), h.n = 2, n();
case 2:
return h.a(2, h.v);
}
}, r);
}));
return function(e, n, a) {
return t.apply(this, arguments);
};
}(), Ze = /* @__PURE__ */ function(t) {
function r(e) {
var n;
return R(this, r), n = H(this, r, [{
handler: Re,
payload: e
}]), y(n, "name", O("XSRF")), n;
}
return _(r, t), E(r);
}(Y);
y(Ze, "handler", Re);
var ye = function(r, e, n) {
if (!!r.request)
if (r.request.data = JSON.stringify(e), r.request.headers)
n || pe(r.request.headers, X.JSON);
else {
var a = {};
pe(a, X.JSON), r.request.headers = a;
}
}, Ee = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ m().m(function r(e, n, a) {
var i, u, o, s, f, d, l, c, h, v, 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 = Ke(e.request.url, o || {}, f), !e.request.data) {
g.n = 4;
break;
}
if (d = Object.prototype.toString.call(e.request.data) !== "[object Object]", d) {
g.n = 4;
break;
}
if (c = Qe(s), h = e.request.data, !(a != null && (l = a.payload) !== null && l !== void 0 && l.stringify)) {
g.n = 3;
break;
}
return ye(e, h, c), g.n = 2, n();
case 2:
return g.a(2, g.v);
case 3:
re(X.Form, c) && (typeof f == "function" ? e.request.data = f(h) : (v = {
encode: !0,
arrayFormat: "brackets"
}, f && W(f) === "object" && Object.assign(v, f), e.request.data = Se(h, v))), re(X.JSON, c || X.JSON) && ye(e, h, c), re(X.FormData, c) && (S = Object.keys(h), S.length && (e.request.data = S.reduce(function(p, k) {
var j = h[k];
return j instanceof Blob || typeof j == "string" ? p.append(k, j) : p.append(k, String(j)), p;
}, 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);
};
}(), ke = /* @__PURE__ */ function(t) {
function r() {
var e;
return R(this, r), e = H(this, r, [Ee]), y(e, "name", O("BODY")), e;
}
return _(r, t), E(r);
}(Y);
y(ke, "handler", Ee);
var Ae = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ m().m(function r(e, n) {
var a, i, u, o, s, f, d, 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, d = e.request.data, l = {
method: o
}, s !== void 0 && (l.headers = s), f !== void 0 && (l.credentials = f), d !== void 0 && (l.body = d), ((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 = /* @__PURE__ */ 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 = H(this, r, [].concat(a)), y(e, "handler", Ae), y(e, "name", O("FETCH")), e;
}
return _(r, t), E(r);
}(Y);
y(Q, "handler", Ae);
var De = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ 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);
};
}(), Pe = /* @__PURE__ */ function(t) {
function r() {
var e;
return R(this, r), e = H(this, r, [De]), y(e, "name", O("RES_DATA")), e;
}
return _(r, t), E(r);
}(Y);
y(Pe, "handler", De);
var xe = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ 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);
};
}(), ue = /* @__PURE__ */ function(t) {
function r(e, n) {
var a;
return R(this, r), a = H(this, r), y(a, "name", O("SPRAY")), a.handler = /* @__PURE__ */ function() {
var i = A(/* @__PURE__ */ 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);
}(Y);
y(ue, "handler", xe);
var Ie = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ m().m(function r(e, n, a) {
var i, u, o, s, f, d, l, c, h, v, S, g;
return m().w(function(p) {
for (; ; )
switch (p.p = p.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, d = o.onRetry, l = o.enhanceError, c = function() {
return !s || e.retry === s;
}, h = /* @__PURE__ */ function() {
var k = A(/* @__PURE__ */ m().m(function j(B) {
var $, C, b, q, U, L;
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 && ($ = a.payload) !== null && $ !== void 0 && $.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, !d) {
w.n = 7;
break;
}
return w.n = 6, d(e.config, B);
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, L = w.v, U = J(e, L), !l) {
w.n = 10;
break;
}
throw l(U, e.response);
case 10:
throw U;
case 11:
return w.a(2);
}
}, j, null, [[5, 9]]);
}));
return function(B) {
return k.apply(this, arguments);
};
}(), p.p = 1, p.n = 2, n();
case 2:
p.n = 7;
break;
case 3:
if (p.p = 3, g = p.v, !c()) {
p.n = 5;
break;
}
if (v = J(e, g), !l) {
p.n = 4;
break;
}
throw l(v, e.response);
case 4:
throw v;
case 5:
return p.n = 6, h();
case 6:
return p.a(2);
case 7:
if (!f) {
p.n = 10;
break;
}
return p.n = 8, f(e.response);
case 8:
if (S = p.v, !S) {
p.n = 10;
break;
}
return p.n = 9, h(S);
case 9:
return p.a(2);
case 10:
if (!(!e.response || !e.response.ok)) {
p.n = 11;
break;
}
return p.n = 11, h();
case 11:
return p.a(2);
}
}, r, null, [[1, 3]]);
}));
return function(e, n, a) {
return t.apply(this, arguments);
};
}(), Fe = /* @__PURE__ */ 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 = H(this, r, [].concat(a)), y(e, "name", O("RETRY")), y(e, "handler", Ie), e;
}
return _(r, t), E(r);
}(Y);
y(Fe, "handler", Ie);
var er = function(r, e) {
return Object.keys(e).sort().reduce(function(n, a) {
return n += "_".concat(a, ":").concat(e[a]), n;
}, "api:".concat(r));
}, He = /* @__PURE__ */ function() {
var t = A(/* @__PURE__ */ m().m(function r(e, n, a) {
var i, u, o, s, f, d;
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 = er(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:
(d = e.response) !== null && d !== void 0 && d.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);
};
}(), rr = /* @__PURE__ */ function(t) {
function r(e) {
var n;
return R(this, r), n = H(this, r, [{
handler: He,
payload: {
store: e
}
}]), y(n, "name", O("CACHE")), n;
}
return _(r, t), E(r);
}(Y);
y(rr, "handler", He);
var fe = /* @__PURE__ */ E(function t(r) {
R(this, t), this.httpSvc = r;
}), tr = /* @__PURE__ */ function(t) {
function r() {
return R(this, r), H(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] || {};
}
}]);
}(fe), G = {
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_", nr = /* @__PURE__ */ 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: ue.handler
}), n && this.inject(e, n)) : typeof e == "function" ? this.middlewares.push(new ue(e, n)) : ie(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);
}
}]);
}(), ar = /* @__PURE__ */ 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 = H(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 (ie(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 nr(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 = me(this.middlewares), u = [], o = y(y(y(y({}, G.RETRY, null), G.BODY, null), G.RES_DATA, null), G.TIMEOUT, null), s = Object.keys(o), f = {};
(n || []).forEach(function(c) {
if (ie(c)) {
var h = c.name;
if (s.includes(h))
o[h] || (o[h] = c);
else if (h.startsWith(se)) {
if (h = h.substring(se.length), !f[h] && !(h in o)) {
var v = i.findIndex(function(g) {
return g.name === h;
});
if (v > -1) {
var S = i[v];
i.splice(v, 1), f[h] = S, u.push(S);
}
}
} else
G.SPRAY === h ? u.push(c) : f[h] || (f[h] = c, u.push(c));
}
});
var d = [];
i.forEach(function(c) {
s.includes(c.name) ? o[c.name] || (o[c.name] = c) : f[c.name] || d.push(c);
}), d.push.apply(d, u);
var l = [o[G.RETRY] || new Fe(), new Ce()].concat(d, [o[G.RES_DATA] || new Pe(), o[G.BODY] || new ke(), o[G.TIMEOUT] || new je(), this.httpSvc.fetch]);
return /* @__PURE__ */ function() {
var c = A(/* @__PURE__ */ m().m(function h(v) {
var S, g, p, k, j, B, $, C;
return m().w(function(b) {
for (; ; )
switch (b.n) {
case 0:
return C = function() {
return C = A(/* @__PURE__ */ m().m(function U(L) {
var w;
return m().w(function(T) {
for (; ; )
switch (T.n) {
case 0:
if (L !== l.length) {
T.n = 1;
break;
}
return T.a(2);
case 1:
if (!(L <= g)) {
T.n = 2;
break;
}
throw J(v, "The next() called multiple times");
case 2:
if (g = L, w = l[g], w) {
T.n = 3;
break;
}
throw J(v, "Middleware is not exist");
case 3:
return T.n = 4, w.handler(v, $.bind(null, L + 1), p.get(v.middleware, w.name));
case 4:
return T.a(2);
}
}, U);
})), C.apply(this, arguments);
}, $ = function(U) {
return C.apply(this, arguments);
}, g = -1, p = a.httpSvc.configCtrl, k = p.get(v.middleware, "DEBUG").payload, b.n = 1, $(0);
case 1:
if (!k) {
b.n = 2;
break;
}
return b.a(2, v);
case 2:
if (j = p.get(v.middleware, G.RES_EXTRACT).disabled, !(!j && (S = v.response) !== null && S !== void 0 && S.ok)) {
b.n = 3;
break;
}
return b.a(2, ((B = v.response) === null || B === void 0 ? void 0 : B.data) || null);
case 3:
return b.a(2, v.response);
}
}, h);
}));
return function(h) {
return c.apply(this, arguments);
};
}();
}
}]);
}(fe), ir = /* @__PURE__ */ 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 = H(this, r, [].concat(a)), y(e, "fn", null), e;
}
return _(r, t), E(r, [{
key: "request",
value: function() {
var e = A(/* @__PURE__ */ 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;
}
}]);
}(fe), or = /* @__PURE__ */ function() {
function t(r) {
if (R(this, t), y(this, "fetch", void 0), y(this, "assembleCtrl", new ar(this)), y(this, "configCtrl", new tr(this)), y(this, "requestCtrl", new ir(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);
}
}]);
}();
export {
G as BUILT_IN_MIDDLEWARE,
or as HttpService,
rr as HttpSvcCache,
Fe as HttpSvcRetry,
ue as HttpSvcSprayMiddleware,
Ze as HttpSvcXsrf
};
//# sourceMappingURL=index.legacy.esm.js.map