UNPKG

dev-classes

Version:
79 lines (78 loc) 2.63 kB
var w = Object.defineProperty; var v = (i, e, r) => e in i ? w(i, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[e] = r; var s = (i, e, r) => (v(i, typeof e != "symbol" ? e + "" : e, r), r); import { NetworkInformation as k } from "../Utils/NetworkInformation/NetworkInformation.js"; import { apiRequest as u } from "./deps/apiRequest/apiRequest.js"; import { NetworkInformationCordova as g } from "../Utils/NetworkInformation/classes/NetworkInformationCordova.js"; import { NetworkInformationPC as b } from "../Utils/NetworkInformation/classes/NetworkInformationPC.js"; import { EventSubscribers as N } from "../Utils/EventSubscribers/EventSubscribers.js"; const t = class t { static setState(e) { t.state = { ...t.state, ...e }; } static getState() { return t.state; } static getIsNetwork() { return t.state.isNetworkStatus; } static request({ keyAction: e, request: r }) { const { url: f, ...h } = r; return new Promise((I, l) => { t.getIsInit() || t.init(); const o = t.getIsNetwork(), a = { url: f, keyAction: e, isErr: !o, msg: o ? "" : "Нет интернета", isReq: o, statusCode: o ? 0 : 520, isReload: !1 }; if (t.events.publish("fetch", a), o) { u.requestInServer(f, h).then((c) => { const n = { isReq: !1, isReload: !0, isErr: !1, keyAction: e, msg: "", ...c }; t.events.publish("fetch", n), I(n); }).catch((c) => { const n = { isReq: !1, isReload: !1, keyAction: e, ...c }; t.events.publish("fetch", n), l(n); }); return; } t.events.publish("fetch", a), l(a); }); } }; s(t, "state", { isInit: !1, isNetworkStatus: navigator.onLine }), s(t, "internet", new k([new b(), new g()])), s(t, "events", new N(["fetch"])), s(t, "online", () => { t.setState({ isNetworkStatus: !0 }); }), s(t, "offline", () => { t.setState({ isNetworkStatus: !1 }); }), s(t, "errorInit", () => { console.error("Не вызван HTTPSApi.init()"); }), s(t, "getIsInit", () => { const { isInit: e } = t.getState(); return e || t.errorInit(), e; }), s(t, "init", () => { t.internet.run((e) => { e ? t.online() : t.offline(); }), t.setState({ isInit: !0 }); }), s(t, "on", t.events.subscribe), s(t, "off", t.events.unsubscribe), s(t, "removeAuthCookie", u.removeAuthCookie), s(t, "getAuthCookies", u.getAuthCookies); let m = t; export { m as HTTPSApi };