UNPKG

http-svc

Version:

A HTTP request service for browser and node.js

1,708 lines 52.8 kB
import { HttpSvcMiddleware as W } from "@http-svc/middleware";
function Me(r, e) {
  var t = r == null ? null : typeof Symbol != "undefined" && r[Symbol.iterator] || r["@@iterator"];
  if (t != null) {
    var n, a, u, f, i = [], s = !0, h = !1;
    try {
      if (u = (t = t.call(r)).next, e === 0) {
        if (Object(t) !== t)
          return;
        s = !1;
      } else
        for (; !(s = (n = u.call(t)).done) && (i.push(n.value), i.length !== e); s = !0)
          ;
    } catch (y) {
      h = !0, a = y;
    } finally {
      try {
        if (!s && t.return != null && (f = t.return(), Object(f) !== f))
          return;
      } finally {
        if (h)
          throw a;
      }
    }
    return i;
  }
}
function me(r, e) {
  var t = Object.keys(r);
  if (Object.getOwnPropertySymbols) {
    var n = Object.getOwnPropertySymbols(r);
    e && (n = n.filter(function(a) {
      return Object.getOwnPropertyDescriptor(r, a).enumerable;
    })), t.push.apply(t, n);
  }
  return t;
}
function _(r) {
  for (var e = 1; e < arguments.length; e++) {
    var t = arguments[e] != null ? arguments[e] : {};
    e % 2 ? me(Object(t), !0).forEach(function(n) {
      g(r, n, t[n]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(t)) : me(Object(t)).forEach(function(n) {
      Object.defineProperty(r, n, Object.getOwnPropertyDescriptor(t, n));
    });
  }
  return r;
}
function O() {
  O = function() {
    return e;
  };
  var r, e = {}, t = Object.prototype, n = t.hasOwnProperty, a = Object.defineProperty || function(c, o, p) {
    c[o] = p.value;
  }, u = typeof Symbol == "function" ? Symbol : {}, f = u.iterator || "@@iterator", i = u.asyncIterator || "@@asyncIterator", s = u.toStringTag || "@@toStringTag";
  function h(c, o, p) {
    return Object.defineProperty(c, o, {
      value: p,
      enumerable: !0,
      configurable: !0,
      writable: !0
    }), c[o];
  }
  try {
    h({}, "");
  } catch (c) {
    h = function(o, p, b) {
      return o[p] = b;
    };
  }
  function y(c, o, p, b) {
    var v = o && o.prototype instanceof F ? o : F, S = Object.create(v.prototype), j = new U(b || []);
    return a(S, "_invoke", {
      value: te(c, p, j)
    }), S;
  }
  function w(c, o, p) {
    try {
      return {
        type: "normal",
        arg: c.call(o, p)
      };
    } catch (b) {
      return {
        type: "throw",
        arg: b
      };
    }
  }
  e.wrap = y;
  var l = "suspendedStart", R = "suspendedYield", d = "executing", m = "completed", E = {};
  function F() {
  }
  function T() {
  }
  function A() {
  }
  var D = {};
  h(D, f, function() {
    return this;
  });
  var M = Object.getPrototypeOf, C = M && M(M(oe([])));
  C && C !== t && n.call(C, f) && (D = C);
  var J = A.prototype = F.prototype = Object.create(D);
  function N(c) {
    ["next", "throw", "return"].forEach(function(o) {
      h(c, o, function(p) {
        return this._invoke(o, p);
      });
    });
  }
  function V(c, o) {
    function p(v, S, j, B) {
      var H = w(c[v], c, S);
      if (H.type !== "throw") {
        var Z = H.arg, ee = Z.value;
        return ee && typeof ee == "object" && n.call(ee, "__await") ? o.resolve(ee.__await).then(function(z) {
          p("next", z, j, B);
        }, function(z) {
          p("throw", z, j, B);
        }) : o.resolve(ee).then(function(z) {
          Z.value = z, j(Z);
        }, function(z) {
          return p("throw", z, j, B);
        });
      }
      B(H.arg);
    }
    var b;
    a(this, "_invoke", {
      value: function(v, S) {
        function j() {
          return new o(function(B, H) {
            p(v, S, B, H);
          });
        }
        return b = b ? b.then(j, j) : j();
      }
    });
  }
  function te(c, o, p) {
    var b = l;
    return function(v, S) {
      if (b === d)
        throw new Error("Generator is already running");
      if (b === m) {
        if (v === "throw")
          throw S;
        return {
          value: r,
          done: !0
        };
      }
      for (p.method = v, p.arg = S; ; ) {
        var j = p.delegate;
        if (j) {
          var B = K(j, p);
          if (B) {
            if (B === E)
              continue;
            return B;
          }
        }
        if (p.method === "next")
          p.sent = p._sent = p.arg;
        else if (p.method === "throw") {
          if (b === l)
            throw b = m, p.arg;
          p.dispatchException(p.arg);
        } else
          p.method === "return" && p.abrupt("return", p.arg);
        b = d;
        var H = w(c, o, p);
        if (H.type === "normal") {
          if (b = p.done ? m : R, H.arg === E)
            continue;
          return {
            value: H.arg,
            done: p.done
          };
        }
        H.type === "throw" && (b = m, p.method = "throw", p.arg = H.arg);
      }
    };
  }
  function K(c, o) {
    var p = o.method, b = c.iterator[p];
    if (b === r)
      return o.delegate = null, p === "throw" && c.iterator.return && (o.method = "return", o.arg = r, K(c, o), o.method === "throw") || p !== "return" && (o.method = "throw", o.arg = new TypeError("The iterator does not provide a '" + p + "' method")), E;
    var v = w(b, c.iterator, o.arg);
    if (v.type === "throw")
      return o.method = "throw", o.arg = v.arg, o.delegate = null, E;
    var S = v.arg;
    return S ? S.done ? (o[c.resultName] = S.value, o.next = c.nextLoc, o.method !== "return" && (o.method = "next", o.arg = r), o.delegate = null, E) : S : (o.method = "throw", o.arg = new TypeError("iterator result is not an object"), o.delegate = null, E);
  }
  function Q(c) {
    var o = {
      tryLoc: c[0]
    };
    1 in c && (o.catchLoc = c[1]), 2 in c && (o.finallyLoc = c[2], o.afterLoc = c[3]), this.tryEntries.push(o);
  }
  function re(c) {
    var o = c.completion || {};
    o.type = "normal", delete o.arg, c.completion = o;
  }
  function U(c) {
    this.tryEntries = [{
      tryLoc: "root"
    }], c.forEach(Q, this), this.reset(!0);
  }
  function oe(c) {
    if (c || c === "") {
      var o = c[f];
      if (o)
        return o.call(c);
      if (typeof c.next == "function")
        return c;
      if (!isNaN(c.length)) {
        var p = -1, b = function v() {
          for (; ++p < c.length; )
            if (n.call(c, p))
              return v.value = c[p], v.done = !1, v;
          return v.value = r, v.done = !0, v;
        };
        return b.next = b;
      }
    }
    throw new TypeError(typeof c + " is not iterable");
  }
  return T.prototype = A, a(J, "constructor", {
    value: A,
    configurable: !0
  }), a(A, "constructor", {
    value: T,
    configurable: !0
  }), T.displayName = h(A, s, "GeneratorFunction"), e.isGeneratorFunction = function(c) {
    var o = typeof c == "function" && c.constructor;
    return !!o && (o === T || (o.displayName || o.name) === "GeneratorFunction");
  }, e.mark = function(c) {
    return Object.setPrototypeOf ? Object.setPrototypeOf(c, A) : (c.__proto__ = A, h(c, s, "GeneratorFunction")), c.prototype = Object.create(J), c;
  }, e.awrap = function(c) {
    return {
      __await: c
    };
  }, N(V.prototype), h(V.prototype, i, function() {
    return this;
  }), e.AsyncIterator = V, e.async = function(c, o, p, b, v) {
    v === void 0 && (v = Promise);
    var S = new V(y(c, o, p, b), v);
    return e.isGeneratorFunction(o) ? S : S.next().then(function(j) {
      return j.done ? j.value : S.next();
    });
  }, N(J), h(J, s, "Generator"), h(J, f, function() {
    return this;
  }), h(J, "toString", function() {
    return "[object Generator]";
  }), e.keys = function(c) {
    var o = Object(c), p = [];
    for (var b in o)
      p.push(b);
    return p.reverse(), function v() {
      for (; p.length; ) {
        var S = p.pop();
        if (S in o)
          return v.value = S, v.done = !1, v;
      }
      return v.done = !0, v;
    };
  }, e.values = oe, U.prototype = {
    constructor: U,
    reset: function(c) {
      if (this.prev = 0, this.next = 0, this.sent = this._sent = r, this.done = !1, this.delegate = null, this.method = "next", this.arg = r, this.tryEntries.forEach(re), !c)
        for (var o in this)
          o.charAt(0) === "t" && n.call(this, o) && !isNaN(+o.slice(1)) && (this[o] = r);
    },
    stop: function() {
      this.done = !0;
      var c = this.tryEntries[0].completion;
      if (c.type === "throw")
        throw c.arg;
      return this.rval;
    },
    dispatchException: function(c) {
      if (this.done)
        throw c;
      var o = this;
      function p(H, Z) {
        return S.type = "throw", S.arg = c, o.next = H, Z && (o.method = "next", o.arg = r), !!Z;
      }
      for (var b = this.tryEntries.length - 1; b >= 0; --b) {
        var v = this.tryEntries[b], S = v.completion;
        if (v.tryLoc === "root")
          return p("end");
        if (v.tryLoc <= this.prev) {
          var j = n.call(v, "catchLoc"), B = n.call(v, "finallyLoc");
          if (j && B) {
            if (this.prev < v.catchLoc)
              return p(v.catchLoc, !0);
            if (this.prev < v.finallyLoc)
              return p(v.finallyLoc);
          } else if (j) {
            if (this.prev < v.catchLoc)
              return p(v.catchLoc, !0);
          } else {
            if (!B)
              throw new Error("try statement without catch or finally");
            if (this.prev < v.finallyLoc)
              return p(v.finallyLoc);
          }
        }
      }
    },
    abrupt: function(c, o) {
      for (var p = this.tryEntries.length - 1; p >= 0; --p) {
        var b = this.tryEntries[p];
        if (b.tryLoc <= this.prev && n.call(b, "finallyLoc") && this.prev < b.finallyLoc) {
          var v = b;
          break;
        }
      }
      v && (c === "break" || c === "continue") && v.tryLoc <= o && o <= v.finallyLoc && (v = null);
      var S = v ? v.completion : {};
      return S.type = c, S.arg = o, v ? (this.method = "next", this.next = v.finallyLoc, E) : this.complete(S);
    },
    complete: function(c, o) {
      if (c.type === "throw")
        throw c.arg;
      return c.type === "break" || c.type === "continue" ? this.next = c.arg : c.type === "return" ? (this.rval = this.arg = c.arg, this.method = "return", this.next = "end") : c.type === "normal" && o && (this.next = o), E;
    },
    finish: function(c) {
      for (var o = this.tryEntries.length - 1; o >= 0; --o) {
        var p = this.tryEntries[o];
        if (p.finallyLoc === c)
          return this.complete(p.completion, p.afterLoc), re(p), E;
      }
    },
    catch: function(c) {
      for (var o = this.tryEntries.length - 1; o >= 0; --o) {
        var p = this.tryEntries[o];
        if (p.tryLoc === c) {
          var b = p.completion;
          if (b.type === "throw") {
            var v = b.arg;
            re(p);
          }
          return v;
        }
      }
      throw new Error("illegal catch attempt");
    },
    delegateYield: function(c, o, p) {
      return this.delegate = {
        iterator: oe(c),
        resultName: o,
        nextLoc: p
      }, this.method === "next" && (this.arg = r), E;
    }
  }, e;
}
function Xe(r, e) {
  if (typeof r != "object" || !r)
    return r;
  var t = r[Symbol.toPrimitive];
  if (t !== void 0) {
    var n = t.call(r, e || "default");
    if (typeof n != "object")
      return n;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (e === "string" ? String : Number)(r);
}
function Ee(r) {
  var e = Xe(r, "string");
  return typeof e == "symbol" ? e : String(e);
}
function ue(r) {
  return ue = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
    return typeof e;
  } : function(e) {
    return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
  }, ue(r);
}
function be(r, e, t, n, a, u, f) {
  try {
    var i = r[u](f), s = i.value;
  } catch (h) {
    t(h);
    return;
  }
  i.done ? e(s) : Promise.resolve(s).then(n, a);
}
function L(r) {
  return function() {
    var e = this, t = arguments;
    return new Promise(function(n, a) {
      var u = r.apply(e, t);
      function f(s) {
        be(u, n, a, f, i, "next", s);
      }
      function i(s) {
        be(u, n, a, f, i, "throw", s);
      }
      f(void 0);
    });
  };
}
function I(r, e) {
  if (!(r instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function ge(r, e) {
  for (var t = 0; t < e.length; t++) {
    var n = e[t];
    n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(r, Ee(n.key), n);
  }
}
function $(r, e, t) {
  return e && ge(r.prototype, e), t && ge(r, t), Object.defineProperty(r, "prototype", {
    writable: !1
  }), r;
}
function g(r, e, t) {
  return e = Ee(e), e in r ? Object.defineProperty(r, e, {
    value: t,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : r[e] = t, r;
}
function Y(r, e) {
  if (typeof e != "function" && e !== null)
    throw new TypeError("Super expression must either be null or a function");
  r.prototype = Object.create(e && e.prototype, {
    constructor: {
      value: r,
      writable: !0,
      configurable: !0
    }
  }), Object.defineProperty(r, "prototype", {
    writable: !1
  }), e && ce(r, e);
}
function q(r) {
  return q = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
    return t.__proto__ || Object.getPrototypeOf(t);
  }, q(r);
}
function ce(r, e) {
  return ce = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, a) {
    return n.__proto__ = a, n;
  }, ce(r, e);
}
function P(r) {
  if (r === void 0)
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return r;
}
function G(r, e) {
  if (e && (typeof e == "object" || typeof e == "function"))
    return e;
  if (e !== void 0)
    throw new TypeError("Derived constructors may only return object or undefined");
  return P(r);
}
function fe(r, e) {
  return _e(r) || Me(r, e) || ve(r, e) || ze();
}
function qe(r) {
  return We(r) || Je(r) || ve(r) || Ke();
}
function We(r) {
  if (Array.isArray(r))
    return le(r);
}
function _e(r) {
  if (Array.isArray(r))
    return r;
}
function Je(r) {
  if (typeof Symbol != "undefined" && r[Symbol.iterator] != null || r["@@iterator"] != null)
    return Array.from(r);
}
function ve(r, e) {
  if (!!r) {
    if (typeof r == "string")
      return le(r, e);
    var t = Object.prototype.toString.call(r).slice(8, -1);
    if (t === "Object" && r.constructor && (t = r.constructor.name), t === "Map" || t === "Set")
      return Array.from(r);
    if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))
      return le(r, e);
  }
}
function le(r, e) {
  (e == null || e > r.length) && (e = r.length);
  for (var t = 0, n = new Array(e); t < e; t++)
    n[t] = r[t];
  return n;
}
function Ke() {
  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 ze() {
  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 Ve(r, e) {
  var t = typeof Symbol != "undefined" && r[Symbol.iterator] || r["@@iterator"];
  if (!t) {
    if (Array.isArray(r) || (t = ve(r)) || e && r && typeof r.length == "number") {
      t && (r = t);
      var n = 0, a = function() {
      };
      return {
        s: a,
        n: function() {
          return n >= r.length ? {
            done: !0
          } : {
            done: !1,
            value: r[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 u = !0, f = !1, i;
  return {
    s: function() {
      t = t.call(r);
    },
    n: function() {
      var s = t.next();
      return u = s.done, s;
    },
    e: function(s) {
      f = !0, i = s;
    },
    f: function() {
      try {
        !u && t.return != null && t.return();
      } finally {
        if (f)
          throw i;
      }
    }
  };
}
var k = function(e) {
  return "BUILT_IN_".concat(e);
}, x = function(e, t) {
  var n, a = new Error(t || "Request Error: ".concat(((n = e.response) === null || n === void 0 ? void 0 : n.status) || "unknow status"));
  return a.config = e.request, e.response && (a.response = e.response, e.response.ok || (a.code = e.response.status)), a;
}, pe = function(e) {
  return !!(e.name && e.handler);
}, ie = typeof window == "undefined", Qe = function(e) {
  return toString.call(e) === "[object Array]";
}, ke = function(e) {
  return e !== null && ue(e) === "object";
}, Te = function(e) {
  return Object.prototype.toString.call(e) === "[object Object]";
}, Ze = function(e) {
  return typeof FormData != "undefined" && e instanceof FormData;
}, xe = function(e) {
  return toString.call(e) === "[object Date]";
}, we = function(e) {
  return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}, Re = function(e, t) {
  var n = [];
  Object.keys(t).forEach(function(f) {
    var i = t[f];
    i === null || typeof i == "undefined" || (Qe(i) ? f = f + "[]" : i = [i], i.forEach(function(s) {
      xe(s) ? s = s.toString() : ke(s) && (s = JSON.stringify(s)), n.push(we(f) + "=" + we(s));
    }));
  });
  var a = n.join("&");
  if (a) {
    var u = e.indexOf("#");
    u !== -1 && (e = e.slice(0, u)), e += (e.indexOf("?") === -1 ? "?" : "&") + a;
  }
  return e;
}, et = function(e) {
  var t = e.split("?"), n = fe(t, 2), a = n[0], u = n[1];
  if (u) {
    var f = u.split("&");
    if (f.length) {
      var i = {}, s = Ve(f), h;
      try {
        for (s.s(); !(h = s.n()).done; ) {
          var y = h.value, w = y.split("="), l = fe(w, 2), R = l[0], d = l[1];
          R && typeof d != "undefined" && (i[R] = d);
        }
      } catch (m) {
        s.e(m);
      } finally {
        s.f();
      }
      return {
        url: a,
        params: i
      };
    }
  }
  return {
    url: e
  };
}, je = "Content-Type", tt = function(e) {
  return (e == null ? void 0 : e[je]) || (e == null ? void 0 : e["content-type"]);
}, Oe = function(e, t) {
  !t || (e[je] = t);
}, Se = function(e, t) {
  t || (t = {});
  for (var n = t.decode === !1, a = t.template || document.cookie, u = n ? a : decodeURIComponent(a), f = u.split(";"), i = 0; i < f.length; i++) {
    for (var s = f[i]; s.charAt(0) === " "; )
      s = s.substring(1);
    var h = s.split("="), y = h[0], w = h[1];
    if (e === y)
      return w;
  }
  return "";
}, ne = function r(e, t, n, a) {
  if (Array.isArray(t))
    for (var u = qe(t); u.length; ) {
      if (u.length === 1) {
        r(e, u[0], n);
        break;
      }
      var f = u.shift();
      if (!Te(e))
        if (typeof e[f] == "undefined" && a)
          e[f] = {};
        else {
          console.warn('The value of "'.concat(f, '" is not a record object!'));
          break;
        }
      e = e[f];
    }
  else {
    var i = t;
    e[i] = n;
  }
};
function rt(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var Ae = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n) {
    var a, u, f, i, s, h, y, w, l, R, d, m, E;
    return O().wrap(function(T) {
      for (; ; )
        switch (T.prev = T.next) {
          case 0:
            if (t.request) {
              T.next = 2;
              break;
            }
            return T.abrupt("return", n());
          case 2:
            return a = t.config, u = a.baseURL, f = a.headers, i = a.params, s = a.data, h = a.credentials, y = h === void 0 ? "include" : h, w = t.config.url, l = et(w), R = l.url, d = l.params, d ? (w = t.request.url = R, t.request.params = _(_({}, d), i || {})) : (t.request.url = w, t.request.params = _({}, i || {})), u && /^(https?:)?\/\//.test(w) === !1 && (t.request.url = "".concat(u).concat(w)), t.request.headers = _({}, f || {}), s && (ue(s) === "object" ? typeof FormData != "undefined" && s instanceof FormData ? (m = new FormData(), E = Array.from(s.entries()), E.forEach(function(A) {
              var D = fe(A, 2), M = D[0], C = D[1];
              m.append(M, C);
            }), t.request.data = m) : Object.keys(s) && (t.request.data = JSON.parse(JSON.stringify(s))) : t.request.data = s), t.request.credentials = y, T.next = 12, n();
          case 12:
            return T.abrupt("return", T.sent);
          case 13:
          case "end":
            return T.stop();
        }
    }, e);
  }));
  return function(t, n) {
    return r.apply(this, arguments);
  };
}(), Pe = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    I(this, e);
    for (var n = arguments.length, a = new Array(n), u = 0; u < n; u++)
      a[u] = arguments[u];
    return t = rt(this, e, [].concat(a)), g(P(t), "handler", Ae), g(P(t), "name", k("INIT_CTX")), t;
  }
  return $(e);
}(W);
g(Pe, "handler", Ae);
function nt(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var Ie = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n) {
    var a, u;
    return O().wrap(function(i) {
      for (; ; )
        switch (i.prev = i.next) {
          case 0:
            if (a = t.config.timeout, typeof t.config.timeout != "number" && (a = ie ? 350 : 1e4), !(!t.abortController && a)) {
              i.next = 11;
              break;
            }
            return u = new AbortController(), t.abortController = u, t.timeoutId = setTimeout(function() {
              u.abort();
            }, a), i.next = 8, n();
          case 8:
            clearTimeout(t.timeoutId), i.next = 13;
            break;
          case 11:
            return i.next = 13, n();
          case 13:
          case "end":
            return i.stop();
        }
    }, e);
  }));
  return function(t, n) {
    return r.apply(this, arguments);
  };
}(), $e = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    return I(this, e), t = nt(this, e, [Ie]), g(P(t), "name", k("TIMEOUT")), t;
  }
  return $(e);
}(W);
g($e, "handler", Ie);
function at(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var De = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n, a) {
    var u, f, i, s, h, y, w, l;
    return O().wrap(function(d) {
      for (; ; )
        switch (d.prev = d.next) {
          case 0:
            if (t.request) {
              d.next = 2;
              break;
            }
            return d.abrupt("return", n());
          case 2:
            if (u = (a == null ? void 0 : a.payload) || {
              token: "xsrf_token"
            }, f = u.token, i = u.params, s = u.data, h = u.headers, i || s || h)
              try {
                ie ? y = Se(f, {
                  template: ((w = t.request.headers) === null || w === void 0 ? void 0 : w.cookie) || ((l = t.request.headers) === null || l === void 0 ? void 0 : l.Cookie) || "_",
                  decode: !1
                }) : y = Se(f, {
                  decode: !1
                });
              } catch (m) {
                ie || console.warn(m);
              }
            return y && (i && ne(t.request, ["params", i], y, !0), s && (typeof t.request.data == "undefined" ? ne(t.request, ["data", s], y, !0) : ke(t.request.data) && (Te(t.request.data) ? ne(t.request, ["data", s], y, !0) : Ze(t.request.data) && t.request.data.append(s, y))), h && ne(t.request, ["headers", h], y, !0)), d.next = 8, n();
          case 8:
            return d.abrupt("return", d.sent);
          case 9:
          case "end":
            return d.stop();
        }
    }, e);
  }));
  return function(t, n, a) {
    return r.apply(this, arguments);
  };
}(), ut = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e(t) {
    var n;
    return I(this, e), n = at(this, e, [{
      handler: De,
      payload: t
    }]), g(P(n), "name", k("XSRF")), n;
  }
  return $(e);
}(W);
g(ut, "handler", De);
function it(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var se = function(e, t) {
  return t ? t.indexOf(e) > -1 : !1;
}, Ce = function(e, t, n) {
  if (!!e.request)
    if (e.request.data = JSON.stringify(t), e.request.headers)
      n || Oe(e.request.headers, "application/json");
    else {
      var a = {};
      Oe(a, "application/json"), e.request.headers = a;
    }
}, Le = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n, a) {
    var u, f, i, s, h, y, w, l;
    return O().wrap(function(d) {
      for (; ; )
        switch (d.prev = d.next) {
          case 0:
            if (t.request) {
              d.next = 2;
              break;
            }
            return d.abrupt("return", n());
          case 2:
            if (u = t.request, f = u.params, i = u.headers, t.request.url = Re(t.request.url, f || {}), !t.request.data) {
              d.next = 17;
              break;
            }
            if (s = Object.prototype.toString.call(t.request.data) !== "[object Object]", s) {
              d.next = 17;
              break;
            }
            if (y = tt(i), w = t.request.data, !(a != null && (h = a.payload) !== null && h !== void 0 && h.stringify)) {
              d.next = 14;
              break;
            }
            return Ce(t, w, y), d.next = 13, n();
          case 13:
            return d.abrupt("return", d.sent);
          case 14:
            se("application/x-www-form-urlencoded", y) && (t.request.data = Re("", w).slice(1)), se("application/json", y || "application/json") && Ce(t, w, y), se("multipart/form-data", y) && (l = Object.keys(w), l.length && (t.request.data = l.reduce(function(m, E) {
              return m.append(E, w[E]), m;
            }, new FormData())));
          case 17:
            return d.next = 19, n();
          case 19:
            return d.abrupt("return", d.sent);
          case 20:
          case "end":
            return d.stop();
        }
    }, e);
  }));
  return function(t, n, a) {
    return r.apply(this, arguments);
  };
}(), Be = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    return I(this, e), t = it(this, e, [Le]), g(P(t), "name", k("BODY")), t;
  }
  return $(e);
}(W);
g(Be, "handler", Le);
function ot(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var He = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n) {
    var a, u, f, i, s, h, y;
    return O().wrap(function(l) {
      for (; ; )
        switch (l.prev = l.next) {
          case 0:
            if (!ie) {
              l.next = 2;
              break;
            }
            throw new Error("When you are in a Node environment, please use server-side fetch middleware.");
          case 2:
            if (window.fetch) {
              l.next = 4;
              break;
            }
            throw new Error("When you are in a non-modern browser, please manually polyfill fetch.");
          case 4:
            if (t.request) {
              l.next = 8;
              break;
            }
            return l.next = 7, n();
          case 7:
            return l.abrupt("return", l.sent);
          case 8:
            if (!t.response) {
              l.next = 12;
              break;
            }
            return l.next = 11, n();
          case 11:
            return l.abrupt("return", l.sent);
          case 12:
            return u = t.request, f = u.url, i = u.method, s = u.headers, h = u.credentials, y = t.request.data, l.next = 16, window.fetch(f, {
              method: i,
              body: y,
              headers: s,
              credentials: h,
              signal: (a = t.abortController) === null || a === void 0 ? void 0 : a.signal
            });
          case 16:
            return t.response = l.sent, l.next = 19, n();
          case 19:
            return l.abrupt("return", l.sent);
          case 20:
          case "end":
            return l.stop();
        }
    }, e);
  }));
  return function(t, n) {
    return r.apply(this, arguments);
  };
}(), ae = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    I(this, e);
    for (var n = arguments.length, a = new Array(n), u = 0; u < n; u++)
      a[u] = arguments[u];
    return t = ot(this, e, [].concat(a)), g(P(t), "handler", He), g(P(t), "name", k("FETCH")), t;
  }
  return $(e);
}(W);
g(ae, "handler", He);
function st(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var Fe = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n, a) {
    var u, f, i;
    return O().wrap(function(h) {
      for (; ; )
        switch (h.prev = h.next) {
          case 0:
            return h.next = 2, n();
          case 2:
            if (!((u = t.response) !== null && u !== void 0 && u.ok)) {
              h.next = 14;
              break;
            }
            if (typeof t.response.data != "undefined") {
              h.next = 14;
              break;
            }
            return h.prev = 4, i = (a == null || (f = a.payload) === null || f === void 0 ? void 0 : f.type) || "json", h.next = 8, t.response[i]();
          case 8:
            t.response.data = h.sent, h.next = 14;
            break;
          case 11:
            h.prev = 11, h.t0 = h.catch(4), console.warn(h.t0);
          case 14:
          case "end":
            return h.stop();
        }
    }, e, null, [[4, 11]]);
  }));
  return function(t, n, a) {
    return r.apply(this, arguments);
  };
}(), Ne = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    return I(this, e), t = st(this, e, [Fe]), g(P(t), "name", k("RES_DATA")), t;
  }
  return $(e);
}(W);
g(Ne, "handler", Fe);
function ct(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var ft = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n) {
    return O().wrap(function(u) {
      for (; ; )
        switch (u.prev = u.next) {
          case 0:
            return u.next = 2, n();
          case 2:
          case "end":
            return u.stop();
        }
    }, e);
  }));
  return function(t, n) {
    return r.apply(this, arguments);
  };
}(), he = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e(t, n) {
    var a;
    return I(this, e), a = ct(this, e), g(P(a), "name", k("SPRAY")), a.handler = /* @__PURE__ */ function() {
      var u = L(/* @__PURE__ */ O().mark(function f(i, s) {
        return O().wrap(function(y) {
          for (; ; )
            switch (y.prev = y.next) {
              case 0:
                return y.next = 2, t(i, s, {
                  payload: n
                });
              case 2:
                return y.abrupt("return", y.sent);
              case 3:
              case "end":
                return y.stop();
            }
        }, f);
      }));
      return function(f, i) {
        return u.apply(this, arguments);
      };
    }(), a;
  }
  return $(e);
}(W);
g(he, "handler", ft);
function lt(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var Ue = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n, a) {
    var u, f, i, s, h, y, w, l, R;
    return O().wrap(function(m) {
      for (; ; )
        switch (m.prev = m.next) {
          case 0:
            return f = (u = t.request) === null || u === void 0 ? void 0 : u.function, i = (a == null ? void 0 : a.payload) || {
              times: 0
            }, s = i.times, h = i.condition, y = i.onRetry, w = function() {
              return !s || t.retry === s;
            }, l = /* @__PURE__ */ function() {
              var E = L(/* @__PURE__ */ O().mark(function F(T) {
                var A, D;
                return O().wrap(function(C) {
                  for (; ; )
                    switch (C.prev = C.next) {
                      case 0:
                        if (f) {
                          C.next = 2;
                          break;
                        }
                        throw x(t, "Missing request function");
                      case 2:
                        if (!(w() && !(a != null && (A = a.payload) !== null && A !== void 0 && A.runtimeShortCircuit))) {
                          C.next = 4;
                          break;
                        }
                        throw x(t);
                      case 4:
                        if (t.retry = t.retry ? t.retry + 1 : 1, C.prev = 5, !y) {
                          C.next = 11;
                          break;
                        }
                        return C.next = 9, y(t.config, T);
                      case 9:
                        D = C.sent, D && (t.config = D);
                      case 11:
                        return t.response && delete t.response, C.next = 14, f(t);
                      case 14:
                        C.next = 19;
                        break;
                      case 16:
                        throw C.prev = 16, C.t0 = C.catch(5), x(t, C.t0.message);
                      case 19:
                      case "end":
                        return C.stop();
                    }
                }, F, null, [[5, 16]]);
              }));
              return function(T) {
                return E.apply(this, arguments);
              };
            }(), m.prev = 4, m.next = 7, n();
          case 7:
            m.next = 16;
            break;
          case 9:
            if (m.prev = 9, m.t0 = m.catch(4), !w()) {
              m.next = 13;
              break;
            }
            throw x(t, m.t0 === null || m.t0 === void 0 ? void 0 : m.t0.message);
          case 13:
            return m.next = 15, l();
          case 15:
            return m.abrupt("return");
          case 16:
            if (!h) {
              m.next = 24;
              break;
            }
            return m.next = 19, h(t.response);
          case 19:
            if (R = m.sent, !R) {
              m.next = 24;
              break;
            }
            return m.next = 23, l(R);
          case 23:
            return m.abrupt("return");
          case 24:
            if (!(!t.response || !t.response.ok)) {
              m.next = 27;
              break;
            }
            return m.next = 27, l();
          case 27:
          case "end":
            return m.stop();
        }
    }, e, null, [[4, 9]]);
  }));
  return function(t, n, a) {
    return r.apply(this, arguments);
  };
}(), Ye = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    I(this, e);
    for (var n = arguments.length, a = new Array(n), u = 0; u < n; u++)
      a[u] = arguments[u];
    return t = lt(this, e, [].concat(a)), g(P(t), "name", k("RETRY")), g(P(t), "handler", Ue), t;
  }
  return $(e);
}(W);
g(Ye, "handler", Ue);
function pt(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var ht = function(e, t) {
  return Object.keys(t).sort().reduce(function(n, a) {
    return n += "_".concat(a, ":").concat(t[a]), n;
  }, "api:".concat(e));
}, Ge = /* @__PURE__ */ function() {
  var r = L(/* @__PURE__ */ O().mark(function e(t, n, a) {
    var u, f, i, s, h, y;
    return O().wrap(function(l) {
      for (; ; )
        switch (l.prev = l.next) {
          case 0:
            if (!(!t.request || t.request.method !== "GET")) {
              l.next = 4;
              break;
            }
            return l.next = 3, n();
          case 3:
            return l.abrupt("return", l.sent);
          case 4:
            if (a != null && a.payload) {
              l.next = 8;
              break;
            }
            return l.next = 7, n();
          case 7:
            return l.abrupt("return", l.sent);
          case 8:
            if (u = a.payload, f = u.store, i = u.extra, s = a.payload.key, !(!s || !f)) {
              l.next = 14;
              break;
            }
            return l.next = 13, n();
          case 13:
            return l.abrupt("return", l.sent);
          case 14:
            if (typeof s != "string" && (s = ht(t.request.url, s)), h = f.get(s, i), !h) {
              l.next = 22;
              break;
            }
            return t.response = new Response(JSON.stringify(h), {
              status: 200,
              statusText: "Cache:".concat(s)
            }), l.next = 20, n();
          case 20:
            l.next = 25;
            break;
          case 22:
            return l.next = 24, n();
          case 24:
            (y = t.response) !== null && y !== void 0 && y.data && f.set(s, t.response.data, i);
          case 25:
          case "end":
            return l.stop();
        }
    }, e);
  }));
  return function(t, n, a) {
    return r.apply(this, arguments);
  };
}(), yt = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e(t) {
    var n;
    return I(this, e), n = pt(this, e, [{
      handler: Ge,
      payload: {
        store: t
      }
    }]), g(P(n), "name", k("CACHE")), n;
  }
  return $(e);
}(W);
g(yt, "handler", Ge);
var de = /* @__PURE__ */ $(function r(e) {
  I(this, r), this.httpSvc = e;
});
function vt(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var dt = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    return I(this, e), vt(this, e, arguments);
  }
  return $(e, [{
    key: "provide",
    value: function() {
      var n = this, a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, u = {
        inject: function(i, s) {
          return n.inject(a, i, s), u;
        },
        disable: function(i) {
          return n.disable(a, i), u;
        },
        get: function() {
          return a;
        }
      };
      return u;
    }
  }, {
    key: "inject",
    value: function(n, a, u) {
      n[a] = u;
    }
  }, {
    key: "disable",
    value: function(n, a) {
      n[a] = _(_({}, n[a] || {}), {}, {
        disabled: !0
      });
    }
  }, {
    key: "get",
    value: function(n, a) {
      return n[a] || {};
    }
  }]), e;
}(de), X = {
  INIT_CTX: k("INIT_CTX"),
  TIMEOUT: k("TIMEOUT"),
  BODY: k("BODY"),
  XSRF: k("XSRF"),
  FETCH: k("FETCH"),
  RETRY: k("RETRY"),
  SPRAY: k("SPRAY"),
  RES_DATA: k("RES_DATA"),
  RES_EXTRACT: k("RES_EXTRACT"),
  LOG: k("LOG"),
  CACHE: k("CACHE")
}, ye = "$ORDER_";
function mt(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var bt = /* @__PURE__ */ function() {
  function r(e) {
    I(this, r), g(this, "middlewares", []), g(this, "middlewareConfigCtxProvider", void 0), this.control = e, this.middlewareConfigCtxProvider = this.control.httpSvc.configCtrl.provide();
  }
  return $(r, [{
    key: "with",
    value: function(t, n) {
      return t ? (typeof t == "string" ? (this.middlewares.push({
        name: "".concat(ye).concat(t),
        handler: he.handler
      }), n && this.inject(t, n)) : typeof t == "function" ? this.middlewares.push(new he(t, n)) : pe(t) && (this.middlewares.push(t), n && this.inject(t.name, n)), this) : this;
    }
  }, {
    key: "inject",
    value: function(t, n) {
      return this.middlewareConfigCtxProvider.inject(t, {
        payload: n
      }), this;
    }
  }, {
    key: "disable",
    value: function(t) {
      return this.middlewareConfigCtxProvider.disable(t), this;
    }
  }, {
    key: "request",
    value: function(t) {
      var n = this.control.compose(this.middlewares);
      return this.control.httpSvc.requestCtrl.request(t, this.middlewareConfigCtxProvider.get(), n);
    }
  }]), r;
}(), gt = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    I(this, e);
    for (var n = arguments.length, a = new Array(n), u = 0; u < n; u++)
      a[u] = arguments[u];
    return t = mt(this, e, [].concat(a)), g(P(t), "middlewares", []), t;
  }
  return $(e, [{
    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 u = !1;
        n.forEach(function(f) {
          if (pe(f)) {
            u = !0;
            var i = a.alreadyExistsIdx(f.name);
            i > -1 ? a.middlewares[i] = f : a.middlewares.push(f);
          }
        }), u && this.httpSvc.requestCtrl.reset();
      }
    }
  }, {
    key: "setup",
    value: function() {
      return new bt(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, u = qe(this.middlewares), f = [], i = g(g(g(g({}, X.RETRY, null), X.BODY, null), X.RES_DATA, null), X.TIMEOUT, null), s = Object.keys(i), h = {};
      (n || []).forEach(function(l) {
        if (pe(l)) {
          var R = l.name;
          if (s.includes(R))
            i[R] || (i[R] = l);
          else if (R.startsWith(ye)) {
            if (R = R.substring(ye.length), !h[R] && !(R in i)) {
              var d = u.findIndex(function(E) {
                return E.name === R;
              });
              if (d > -1) {
                var m = u[d];
                u.splice(d, 1), h[R] = m, f.push(m);
              }
            }
          } else
            X.SPRAY === R ? f.push(l) : h[R] || (h[R] = l, f.push(l));
        }
      });
      var y = [];
      u.forEach(function(l) {
        s.includes(l.name) ? i[l.name] || (i[l.name] = l) : h[l.name] || y.push(l);
      }), y.push.apply(y, f);
      var w = [i[X.RETRY] || new Ye(), new Pe()].concat(y, [i[X.RES_DATA] || new Ne(), i[X.BODY] || new Be(), i[X.TIMEOUT] || new $e(), this.httpSvc.fetch]);
      return /* @__PURE__ */ function() {
        var l = L(/* @__PURE__ */ O().mark(function R(d) {
          var m, E, F, T, A, D, M, C;
          return O().wrap(function(N) {
            for (; ; )
              switch (N.prev = N.next) {
                case 0:
                  return C = function() {
                    return C = L(/* @__PURE__ */ O().mark(function te(K) {
                      var Q;
                      return O().wrap(function(U) {
                        for (; ; )
                          switch (U.prev = U.next) {
                            case 0:
                              if (K !== w.length) {
                                U.next = 2;
                                break;
                              }
                              return U.abrupt("return");
                            case 2:
                              if (!(K <= E)) {
                                U.next = 4;
                                break;
                              }
                              throw x(d, "The next() called multiple times");
                            case 4:
                              if (E = K, Q = w[E], Q) {
                                U.next = 8;
                                break;
                              }
                              throw x(d, "Middleware is not exist");
                            case 8:
                              return U.next = 10, Q.handler(d, M.bind(null, K + 1), F.get(d.middleware, Q.name));
                            case 10:
                            case "end":
                              return U.stop();
                          }
                      }, te);
                    })), C.apply(this, arguments);
                  }, M = function(te) {
                    return C.apply(this, arguments);
                  }, E = -1, F = a.httpSvc.configCtrl, T = F.get(d.middleware, "DEBUG").payload, N.next = 7, M(0);
                case 7:
                  if (!T) {
                    N.next = 9;
                    break;
                  }
                  return N.abrupt("return", d);
                case 9:
                  if (A = F.get(d.middleware, X.RES_EXTRACT).disabled, !(!A && (m = d.response) !== null && m !== void 0 && m.ok)) {
                    N.next = 12;
                    break;
                  }
                  return N.abrupt("return", ((D = d.response) === null || D === void 0 ? void 0 : D.data) || null);
                case 12:
                  return N.abrupt("return", d.response);
                case 13:
                case "end":
                  return N.stop();
              }
          }, R);
        }));
        return function(R) {
          return l.apply(this, arguments);
        };
      }();
    }
  }]), e;
}(de);
function wt(r, e, t) {
  function n() {
    if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham)
      return !1;
    if (typeof Proxy == "function")
      return !0;
    try {
      return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (a) {
      return !1;
    }
  }
  return e = q(e), G(r, n() ? Reflect.construct(e, t || [], q(r).constructor) : e.apply(r, t));
}
var Rt = /* @__PURE__ */ function(r) {
  Y(e, r);
  function e() {
    var t;
    I(this, e);
    for (var n = arguments.length, a = new Array(n), u = 0; u < n; u++)
      a[u] = arguments[u];
    return t = wt(this, e, [].concat(a)), g(P(t), "fn", null), t;
  }
  return $(e, [{
    key: "request",
    value: function() {
      var t = L(/* @__PURE__ */ O().mark(function a(u) {
        var f, i, s = arguments;
        return O().wrap(function(y) {
          for (; ; )
            switch (y.prev = y.next) {
              case 0:
                return f = s.length > 1 && s[1] !== void 0 ? s[1] : {}, i = s.length > 2 ? s[2] : void 0, i || (this.fn || this.generateRequestFunction(), i = this.fn), y.next = 5, i(this.createContext(u, f, i));
              case 5:
                return y.abrupt("return", y.sent);
              case 6:
              case "end":
                return y.stop();
            }
        }, a, this);
      }));
      function n(a) {
        return t.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, u) {
        var f = n.httpSvc.create(u);
        a(f.request.bind(f));
      };
    }
  }, {
    key: "createContext",
    value: function(n) {
      var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, u = arguments.length > 2 ? arguments[2] : void 0, f = n.url, i = n.method, s = {
        config: _({
          baseURL: this.httpSvc.baseURL
        }, n),
        useAsyncRequest: this.useAsyncRequest,
        middleware: a,
        request: {
          url: f,
          method: (i || "get").toUpperCase(),
          function: u
        }
      };
      return s;
    }
  }]), e;
}(de), St = /* @__PURE__ */ function() {
  function r(e) {
    if (I(this, r), g(this, "fetch", void 0), g(this, "assembleCtrl", new gt(this)), g(this, "configCtrl", new dt(this)), g(this, "requestCtrl", new Rt(this)), g(this, "baseURL", "//api.domain.com"), e)
      if (Array.isArray(e))
        this.fetch = new ae(), this.register(e);
      else {
        var t = e.middlewares, n = e.fetch, a = e.baseURL;
        this.fetch = n || new ae(), this.register(t || []), a && (this.baseURL = a);
      }
    else
      this.fetch = new ae(), this.register([]);
  }
  return $(r, [{
    key: "register",
    value: function(t) {
      this.assembleCtrl.register(t);
    }
  }, {
    key: "request",
    value: function(t) {
      return this.requestCtrl.request(t);
    }
  }, {
    key: "disable",
    value: function(t) {
      return this.assembleCtrl.disable(t);
    }
  }, {
    key: "with",
    value: function(t, n) {
      return this.assembleCtrl.with(t, n);
    }
  }, {
    key: "setFetch",
    value: function(t) {
      this.fetch = t, this.requestCtrl.reset();
    }
  }, {
    key: "create",
    value: function(t) {
      return new r(_({
        fetch: this.fetch
      }, t || {}));
    }
  }]), r;
}();
export {
  X as BUILT_IN_MIDDLEWARE,
  St as HttpService,
  yt as HttpSvcCache,
  Ye as HttpSvcRetry,
  he as HttpSvcSprayMiddleware,
  ut as HttpSvcXsrf
};
//# sourceMappingURL=index.legacy.esm.js.map