@glodon-aiot/agent-cli-sdk
Version:
aiot agent client js sdk
113 lines (112 loc) • 3.02 kB
JavaScript
var W = Object.defineProperty, j = Object.defineProperties;
var k = Object.getOwnPropertyDescriptors;
var v = Object.getOwnPropertySymbols;
var A = Object.prototype.hasOwnProperty, R = Object.prototype.propertyIsEnumerable;
var I = (t, e, a) => e in t ? W(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a, E = (t, e) => {
for (var a in e || (e = {}))
A.call(e, a) && I(t, a, e[a]);
if (v)
for (var a of v(e))
R.call(e, a) && I(t, a, e[a]);
return t;
}, $ = (t, e) => j(t, k(e));
var q = (t, e) => {
var a = {};
for (var n in t)
A.call(t, n) && e.indexOf(n) < 0 && (a[n] = t[n]);
if (t != null && v)
for (var n of v(t))
e.indexOf(n) < 0 && R.call(t, n) && (a[n] = t[n]);
return a;
};
var B = (t, e, a) => new Promise((n, w) => {
var o = (r) => {
try {
c(a.next(r));
} catch (d) {
w(d);
}
}, i = (r) => {
try {
c(a.throw(r));
} catch (d) {
w(d);
}
}, c = (r) => r.done ? n(r.value) : Promise.resolve(r.value).then(o, i);
c((a = a.apply(t, e)).next());
});
import { getBytes as z, getLines as G, getMessages as H } from "./parse.mjs";
const g = "text/event-stream", J = 1e3, D = "last-event-id";
function X(t, N) {
var u = N, {
signal: e,
headers: a,
onopen: n,
onmessage: w,
onclose: o,
onerror: i,
openWhenHidden: c,
fetch: r
} = u, d = q(u, [
"signal",
"headers",
"onopen",
"onmessage",
"onclose",
"onerror",
"openWhenHidden",
"fetch"
]);
return new Promise((L, M) => {
const f = E({}, a);
f.accept || (f.accept = g);
let l;
function C() {
l.abort(), document.hidden || b();
}
c || document.addEventListener("visibilitychange", C);
let T = J, y = 0;
function h() {
document.removeEventListener("visibilitychange", C), window.clearTimeout(y), l.abort();
}
e == null || e.addEventListener("abort", () => {
h(), L();
});
const P = r != null ? r : window.fetch, V = n != null ? n : K;
function b() {
return B(this, null, function* () {
var x;
l = new AbortController();
try {
const m = yield P(t, $(E({}, d), {
headers: f,
signal: l.signal
}));
yield V(m), yield z(m.body, G(H((s) => {
s ? f[D] = s : delete f[D];
}, (s) => {
T = s;
}, w))), o == null || o(), h(), L();
} catch (m) {
if (!l.signal.aborted)
try {
const s = (x = i == null ? void 0 : i(m)) != null ? x : T;
window.clearTimeout(y), y = window.setTimeout(b, s);
} catch (s) {
h(), M(s);
}
}
});
}
b();
});
}
function K(t) {
const e = t.headers.get("content-type");
if (!(e != null && e.startsWith(g)))
throw new Error(`Expected content-type to be ${g}, Actual: ${e}`);
}
export {
g as EventStreamContentType,
X as fetchEventSource
};