@gaiot/apis
Version:
aiot apis
98 lines (97 loc) • 2.2 kB
JavaScript
var b = (s, t, e) => new Promise((a, c) => {
var f = (r) => {
try {
i(e.next(r));
} catch (n) {
c(n);
}
}, l = (r) => {
try {
i(e.throw(r));
} catch (n) {
c(n);
}
}, i = (r) => r.done ? a(r.value) : Promise.resolve(r.value).then(f, l);
i((e = e.apply(s, t)).next());
});
function w(s, t) {
return b(this, null, function* () {
const e = s.getReader();
let a;
for (; !(a = yield e.read()).done; )
t(a.value);
});
}
function g(s) {
let t, e, a, c = !1, f;
return function(i) {
t === void 0 ? (t = i, e = 0, a = -1, f = !1) : t = h(t, i);
const r = t.length;
let n = 0;
for (; e < r; ) {
c && (t[e] === 10 && (n = ++e), c = !1);
let o = -1;
for (; e < r && o === -1; ++e)
switch (t[e]) {
case 58:
a === -1 && (a = e - n);
break;
case 13:
c = !1, e + 4 < r && t[e + 1] === 10 && t[e + 2] !== 13 && t[e - 1] !== 10 && t[e - 2] !== 13 && (f = !0);
case 10:
o = e;
break;
}
if (o === -1)
break;
s(t.subarray(n, o), a, f), n = e, a = -1, f = !1;
}
n === r ? t = void 0 : n !== 0 && (t = t.subarray(n), e -= n);
};
}
function k(s, t, e) {
let a = y();
const c = new TextDecoder();
return function(l, i, r) {
if (l.length === 0)
e == null || e(a), a = y();
else if (i > 0) {
const n = c.decode(l.subarray(0, i)), o = i + (l[i + 1] === 32 ? 2 : 1);
let d = c.decode(l.subarray(o));
switch (r && (d += `
`), n) {
case "data":
a.data = a.data ? a.data + `
` + d : d;
break;
case "event":
a.event = d;
break;
case "id":
s(a.id = d);
break;
case "retry":
const u = parseInt(d, 10);
isNaN(u) || t(a.retry = u);
break;
}
}
};
}
function h(s, t) {
const e = new Uint8Array(s.length + t.length);
return e.set(s), e.set(t, s.length), e;
}
function y() {
return {
data: "",
event: "",
id: "",
retry: void 0
};
}
export {
w as getBytes,
g as getLines,
k as getMessages
};