dev-classes
Version:
<h3 align="center">SocketApi</h3>
79 lines (78 loc) • 2.63 kB
JavaScript
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
};