@synnaxlabs/client 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/main/index.d.ts +4 -0
- package/build/main/index.js +35 -0
- package/build/main/lib/channel/channel.spec.d.ts +1 -0
- package/build/main/lib/channel/channel.spec.js +35 -0
- package/build/main/lib/channel/client.d.ts +94 -0
- package/build/main/lib/channel/client.js +131 -0
- package/build/main/lib/channel/creator.d.ts +19 -0
- package/build/main/lib/channel/creator.js +44 -0
- package/build/main/lib/channel/payload.d.ts +25 -0
- package/build/main/lib/channel/payload.js +18 -0
- package/build/main/lib/channel/registry.d.ts +9 -0
- package/build/main/lib/channel/registry.js +37 -0
- package/build/main/lib/channel/retriever.d.ts +11 -0
- package/build/main/lib/channel/retriever.js +39 -0
- package/build/main/lib/client.d.ts +23 -0
- package/build/main/lib/client.js +34 -0
- package/build/main/lib/errors.d.ts +53 -0
- package/build/main/lib/errors.js +122 -0
- package/build/main/lib/segment/client.d.ts +62 -0
- package/build/main/lib/segment/client.js +95 -0
- package/build/main/lib/segment/iterator.d.ts +134 -0
- package/build/main/lib/segment/iterator.js +253 -0
- package/build/main/lib/segment/iterator.spec.d.ts +1 -0
- package/build/main/lib/segment/iterator.spec.js +62 -0
- package/build/main/lib/segment/payload.d.ts +16 -0
- package/build/main/lib/segment/payload.js +13 -0
- package/build/main/lib/segment/splitter.d.ts +7 -0
- package/build/main/lib/segment/splitter.js +25 -0
- package/build/main/lib/segment/typed.d.ts +15 -0
- package/build/main/lib/segment/typed.js +49 -0
- package/build/main/lib/segment/validator.d.ts +22 -0
- package/build/main/lib/segment/validator.js +64 -0
- package/build/main/lib/segment/writer.d.ts +98 -0
- package/build/main/lib/segment/writer.js +183 -0
- package/build/main/lib/segment/writer.spec.d.ts +1 -0
- package/build/main/lib/segment/writer.spec.js +76 -0
- package/build/main/lib/telem.d.ts +395 -0
- package/build/main/lib/telem.js +553 -0
- package/build/main/lib/telem.spec.d.ts +1 -0
- package/build/main/lib/telem.spec.js +150 -0
- package/build/main/lib/transport.d.ts +9 -0
- package/build/main/lib/transport.js +18 -0
- package/build/main/lib/util/telem.d.ts +2 -0
- package/build/main/lib/util/telem.js +13 -0
- package/build/module/index.d.ts +4 -0
- package/build/module/index.js +5 -0
- package/build/module/lib/channel/channel.spec.d.ts +1 -0
- package/build/module/lib/channel/channel.spec.js +30 -0
- package/build/module/lib/channel/client.d.ts +94 -0
- package/build/module/lib/channel/client.js +131 -0
- package/build/module/lib/channel/creator.d.ts +19 -0
- package/build/module/lib/channel/creator.js +42 -0
- package/build/module/lib/channel/payload.d.ts +25 -0
- package/build/module/lib/channel/payload.js +15 -0
- package/build/module/lib/channel/registry.d.ts +9 -0
- package/build/module/lib/channel/registry.js +36 -0
- package/build/module/lib/channel/retriever.d.ts +11 -0
- package/build/module/lib/channel/retriever.js +37 -0
- package/build/module/lib/client.d.ts +23 -0
- package/build/module/lib/client.js +31 -0
- package/build/module/lib/errors.d.ts +53 -0
- package/build/module/lib/errors.js +113 -0
- package/build/module/lib/segment/client.d.ts +62 -0
- package/build/module/lib/segment/client.js +94 -0
- package/build/module/lib/segment/iterator.d.ts +134 -0
- package/build/module/lib/segment/iterator.js +248 -0
- package/build/module/lib/segment/iterator.spec.d.ts +1 -0
- package/build/module/lib/segment/iterator.spec.js +57 -0
- package/build/module/lib/segment/payload.d.ts +16 -0
- package/build/module/lib/segment/payload.js +10 -0
- package/build/module/lib/segment/splitter.d.ts +7 -0
- package/build/module/lib/segment/splitter.js +26 -0
- package/build/module/lib/segment/typed.d.ts +15 -0
- package/build/module/lib/segment/typed.js +49 -0
- package/build/module/lib/segment/validator.d.ts +22 -0
- package/build/module/lib/segment/validator.js +60 -0
- package/build/module/lib/segment/writer.d.ts +98 -0
- package/build/module/lib/segment/writer.js +183 -0
- package/build/module/lib/segment/writer.spec.d.ts +1 -0
- package/build/module/lib/segment/writer.spec.js +71 -0
- package/build/module/lib/telem.d.ts +395 -0
- package/build/module/lib/telem.js +545 -0
- package/build/module/lib/telem.spec.d.ts +1 -0
- package/build/module/lib/telem.spec.js +145 -0
- package/build/module/lib/transport.d.ts +9 -0
- package/build/module/lib/transport.js +18 -0
- package/build/module/lib/util/telem.d.ts +2 -0
- package/build/module/lib/util/telem.js +9 -0
- package/package.json +2 -2
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ava_1 = __importDefault(require("ava"));
|
|
7
|
+
const telem_1 = require("./telem");
|
|
8
|
+
// |||||| TimeStamp ||||||
|
|
9
|
+
(0, ava_1.default)('TimeStamp - construct', (t) => {
|
|
10
|
+
const ts = new telem_1.TimeStamp(1000);
|
|
11
|
+
t.true(ts.equals(telem_1.TimeSpan.Microseconds()));
|
|
12
|
+
});
|
|
13
|
+
(0, ava_1.default)('TimeStamp - span', (t) => {
|
|
14
|
+
const ts = new telem_1.TimeStamp(0);
|
|
15
|
+
t.true(ts.span(new telem_1.TimeStamp(1000)).equals(telem_1.TimeSpan.Microseconds()));
|
|
16
|
+
});
|
|
17
|
+
(0, ava_1.default)('TimeStamp - range', (t) => {
|
|
18
|
+
const ts = new telem_1.TimeStamp(0);
|
|
19
|
+
t.true(ts
|
|
20
|
+
.range(new telem_1.TimeStamp(1000))
|
|
21
|
+
.equals(new telem_1.TimeRange(ts, telem_1.TimeSpan.Microseconds())));
|
|
22
|
+
});
|
|
23
|
+
(0, ava_1.default)('TimeStamp - spanRange', (t) => {
|
|
24
|
+
const ts = new telem_1.TimeStamp(0);
|
|
25
|
+
t.true(ts
|
|
26
|
+
.spanRange(telem_1.TimeSpan.Microseconds())
|
|
27
|
+
.equals(new telem_1.TimeRange(ts, ts.add(telem_1.TimeSpan.Microseconds()))));
|
|
28
|
+
});
|
|
29
|
+
(0, ava_1.default)('TimeStamp - isZero', (t) => {
|
|
30
|
+
const ts = new telem_1.TimeStamp(0);
|
|
31
|
+
t.true(ts.isZero());
|
|
32
|
+
});
|
|
33
|
+
(0, ava_1.default)('TimeStamp - after', (t) => {
|
|
34
|
+
const ts = new telem_1.TimeStamp(0);
|
|
35
|
+
t.true(ts.after(new telem_1.TimeStamp(-1)));
|
|
36
|
+
const ts2 = new telem_1.TimeStamp(1);
|
|
37
|
+
t.false(ts2.after(new telem_1.TimeStamp(1)));
|
|
38
|
+
});
|
|
39
|
+
(0, ava_1.default)('TimeStamp - before', (t) => {
|
|
40
|
+
const ts = new telem_1.TimeStamp(0);
|
|
41
|
+
t.true(ts.before(new telem_1.TimeStamp(1)));
|
|
42
|
+
const ts2 = new telem_1.TimeStamp(1);
|
|
43
|
+
t.false(ts2.before(new telem_1.TimeStamp(1)));
|
|
44
|
+
});
|
|
45
|
+
(0, ava_1.default)('TimeStamp - beforeEq', (t) => {
|
|
46
|
+
const ts = new telem_1.TimeStamp(0);
|
|
47
|
+
t.true(ts.beforeEq(new telem_1.TimeStamp(1)));
|
|
48
|
+
const ts2 = new telem_1.TimeStamp(1);
|
|
49
|
+
t.true(ts2.beforeEq(new telem_1.TimeStamp(1)));
|
|
50
|
+
const ts3 = new telem_1.TimeStamp(2);
|
|
51
|
+
t.false(ts3.beforeEq(new telem_1.TimeStamp(1)));
|
|
52
|
+
});
|
|
53
|
+
(0, ava_1.default)('TimeStamp - afterEq', (t) => {
|
|
54
|
+
const ts = new telem_1.TimeStamp(0);
|
|
55
|
+
t.true(ts.afterEq(new telem_1.TimeStamp(-1)));
|
|
56
|
+
const ts2 = new telem_1.TimeStamp(1);
|
|
57
|
+
t.true(ts2.afterEq(new telem_1.TimeStamp(1)));
|
|
58
|
+
const ts3 = new telem_1.TimeStamp(0);
|
|
59
|
+
t.false(ts3.afterEq(new telem_1.TimeStamp(1)));
|
|
60
|
+
});
|
|
61
|
+
(0, ava_1.default)('TimeStamp - add', (t) => {
|
|
62
|
+
const ts = new telem_1.TimeStamp(0);
|
|
63
|
+
t.true(ts
|
|
64
|
+
.add(telem_1.TimeSpan.Microseconds())
|
|
65
|
+
.equals(new telem_1.TimeStamp(telem_1.TimeSpan.Microseconds(1))));
|
|
66
|
+
});
|
|
67
|
+
(0, ava_1.default)('TimeStamp - sub', (t) => {
|
|
68
|
+
const ts = new telem_1.TimeStamp(telem_1.TimeSpan.Microseconds());
|
|
69
|
+
t.true(ts.sub(telem_1.TimeSpan.Microseconds()).equals(new telem_1.TimeStamp(0)));
|
|
70
|
+
});
|
|
71
|
+
// |||||| TimeSpan ||||||
|
|
72
|
+
(0, ava_1.default)('TimeSpan - construct from static', (t) => {
|
|
73
|
+
t.true(telem_1.TimeSpan.Nanoseconds(1).equals(1));
|
|
74
|
+
t.true(telem_1.TimeSpan.Microseconds(1).equals(1000));
|
|
75
|
+
t.true(telem_1.TimeSpan.Milliseconds(1).equals(1000000));
|
|
76
|
+
t.true(telem_1.TimeSpan.Seconds(1).equals(1e9));
|
|
77
|
+
t.true(telem_1.TimeSpan.Minutes(1).equals(6e10));
|
|
78
|
+
t.true(telem_1.TimeSpan.Hours(1).equals(36e11));
|
|
79
|
+
});
|
|
80
|
+
(0, ava_1.default)('TimeSpan - seconds', (t) => {
|
|
81
|
+
t.is(telem_1.TimeSpan.Seconds(1).seconds(), 1);
|
|
82
|
+
});
|
|
83
|
+
(0, ava_1.default)('TimeSpan - isZero', (t) => {
|
|
84
|
+
t.true(telem_1.TimeSpan.Zero.isZero());
|
|
85
|
+
t.false(telem_1.TimeSpan.Seconds(1).isZero());
|
|
86
|
+
});
|
|
87
|
+
(0, ava_1.default)('TimeSpan - add', (t) => {
|
|
88
|
+
t.true(telem_1.TimeSpan.Seconds(1).add(telem_1.TimeSpan.Second).equals(2e9));
|
|
89
|
+
});
|
|
90
|
+
(0, ava_1.default)('TimeSpan - sub', (t) => {
|
|
91
|
+
t.true(telem_1.TimeSpan.Seconds(1).sub(telem_1.TimeSpan.Second).isZero());
|
|
92
|
+
});
|
|
93
|
+
// |||||| Rate ||||||
|
|
94
|
+
(0, ava_1.default)('Rate - construct', (t) => {
|
|
95
|
+
t.true(new telem_1.Rate(1).equals(1));
|
|
96
|
+
});
|
|
97
|
+
(0, ava_1.default)('Rate - period', (t) => {
|
|
98
|
+
t.true(new telem_1.Rate(1).period().equals(telem_1.TimeSpan.Second));
|
|
99
|
+
});
|
|
100
|
+
(0, ava_1.default)('Rate - sampleCount', (t) => {
|
|
101
|
+
t.true(new telem_1.Rate(1).sampleCount(telem_1.TimeSpan.Second) == 1);
|
|
102
|
+
});
|
|
103
|
+
(0, ava_1.default)('Rate - byteCount', (t) => {
|
|
104
|
+
t.true(new telem_1.Rate(1).byteCount(telem_1.TimeSpan.Second, telem_1.Density.Bit64) == 8);
|
|
105
|
+
});
|
|
106
|
+
(0, ava_1.default)('Rate - span', (t) => {
|
|
107
|
+
t.true(new telem_1.Rate(1).span(4).equals(telem_1.TimeSpan.Seconds(4)));
|
|
108
|
+
});
|
|
109
|
+
(0, ava_1.default)('Rate - byteSpan', (t) => {
|
|
110
|
+
t.true(new telem_1.Rate(1).byteSpan(32, telem_1.Density.Bit64).equals(telem_1.TimeSpan.Seconds(4)));
|
|
111
|
+
});
|
|
112
|
+
(0, ava_1.default)('Rate - Hz', (t) => {
|
|
113
|
+
t.true(telem_1.Rate.Hz(1).equals(1));
|
|
114
|
+
});
|
|
115
|
+
(0, ava_1.default)('Rate - KHz', (t) => {
|
|
116
|
+
t.true(telem_1.Rate.KHz(1).equals(1e3));
|
|
117
|
+
});
|
|
118
|
+
// |||||| TimeRange ||||||
|
|
119
|
+
(0, ava_1.default)('TimeRange - construct', (t) => {
|
|
120
|
+
const tr = new telem_1.TimeRange(new telem_1.TimeStamp(0), new telem_1.TimeStamp(1000));
|
|
121
|
+
t.true(tr.start.equals(new telem_1.TimeStamp(0)));
|
|
122
|
+
t.true(tr.end.equals(new telem_1.TimeStamp(1000)));
|
|
123
|
+
});
|
|
124
|
+
(0, ava_1.default)('TimeRange - span', (t) => {
|
|
125
|
+
const tr = new telem_1.TimeRange(new telem_1.TimeStamp(0), new telem_1.TimeStamp(1000));
|
|
126
|
+
t.true(tr.span().equals(telem_1.TimeSpan.Microsecond));
|
|
127
|
+
});
|
|
128
|
+
(0, ava_1.default)('TimeRange - isValid', (t) => {
|
|
129
|
+
const tr = new telem_1.TimeRange(new telem_1.TimeStamp(0), new telem_1.TimeStamp(1000));
|
|
130
|
+
t.true(tr.isValid());
|
|
131
|
+
const tr2 = new telem_1.TimeRange(new telem_1.TimeStamp(1000), new telem_1.TimeStamp(0));
|
|
132
|
+
t.false(tr2.isValid());
|
|
133
|
+
});
|
|
134
|
+
(0, ava_1.default)('TimeRange - isZero', (t) => {
|
|
135
|
+
const tr = new telem_1.TimeRange(new telem_1.TimeStamp(0), new telem_1.TimeStamp(0));
|
|
136
|
+
t.true(tr.isZero());
|
|
137
|
+
const tr2 = new telem_1.TimeRange(new telem_1.TimeStamp(0), new telem_1.TimeStamp(1000));
|
|
138
|
+
t.false(tr2.isZero());
|
|
139
|
+
});
|
|
140
|
+
(0, ava_1.default)('TimeRange - swap', (t) => {
|
|
141
|
+
const tr = new telem_1.TimeRange(new telem_1.TimeStamp(0), new telem_1.TimeStamp(1000));
|
|
142
|
+
t.true(tr.swap().equals(new telem_1.TimeRange(new telem_1.TimeStamp(1000), new telem_1.TimeStamp(0))));
|
|
143
|
+
});
|
|
144
|
+
// |||||| DATA TYPE ||||||
|
|
145
|
+
(0, ava_1.default)('DataType - json serialization', (t) => {
|
|
146
|
+
const dt = telem_1.DataType.Int32;
|
|
147
|
+
const v = JSON.parse(JSON.stringify({ dt }));
|
|
148
|
+
t.true(v.dt === 'int32');
|
|
149
|
+
});
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW0uc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGVsZW0uc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUF1QjtBQUV2QixtQ0FPaUI7QUFFakIsMEJBQTBCO0FBRTFCLElBQUEsYUFBSSxFQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQztBQUVILElBQUEsYUFBSSxFQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDN0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFBLGFBQUksRUFBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzlCLE1BQU0sRUFBRSxHQUFHLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsSUFBSSxDQUNKLEVBQUU7U0FDQyxLQUFLLENBQUMsSUFBSSxpQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCLE1BQU0sQ0FBQyxJQUFJLGlCQUFTLENBQUMsRUFBRSxFQUFFLGdCQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFBLGFBQUksRUFBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLE1BQU0sRUFBRSxHQUFHLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsSUFBSSxDQUNKLEVBQUU7U0FDQyxTQUFTLENBQUMsZ0JBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNsQyxNQUFNLENBQUMsSUFBSSxpQkFBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUEsYUFBSSxFQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFBLGFBQUksRUFBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzlCLE1BQU0sRUFBRSxHQUFHLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQztBQUVILElBQUEsYUFBSSxFQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGlCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQztBQUVILElBQUEsYUFBSSxFQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDakMsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFBLGFBQUksRUFBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxHQUFHLElBQUksaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1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QUFDLEVBQUUsSUFBSSxpQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLElBQUksQ0FDSixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQVMsQ0FBQyxJQUFJLGlCQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdkUsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsMEJBQTBCO0FBRTFCLElBQUEsYUFBSSxFQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDMUMsTUFBTSxFQUFFLEdBQUcsZ0JBQVEsQ0FBQyxLQUFLLENBQUM7SUFDMUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTTPClientFactory, StreamClient, UnaryClient, URL } from '@synnaxlabs/freighter';
|
|
2
|
+
export default class Transport {
|
|
3
|
+
url: URL;
|
|
4
|
+
httpFactory: HTTPClientFactory;
|
|
5
|
+
streamClient: StreamClient;
|
|
6
|
+
constructor(url: URL);
|
|
7
|
+
getClient(): UnaryClient;
|
|
8
|
+
postClient(): UnaryClient;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const freighter_1 = require("@synnaxlabs/freighter");
|
|
4
|
+
class Transport {
|
|
5
|
+
constructor(url) {
|
|
6
|
+
this.url = url.child('/api/v1/');
|
|
7
|
+
this.httpFactory = new freighter_1.HTTPClientFactory(this.url, new freighter_1.JSONEncoderDecoder());
|
|
8
|
+
this.streamClient = new freighter_1.WebSocketClient(new freighter_1.JSONEncoderDecoder(), this.url);
|
|
9
|
+
}
|
|
10
|
+
getClient() {
|
|
11
|
+
return this.httpFactory.getClient();
|
|
12
|
+
}
|
|
13
|
+
postClient() {
|
|
14
|
+
return this.httpFactory.postClient();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = Transport;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFPK0I7QUFFL0IsTUFBcUIsU0FBUztJQUs1QixZQUFZLEdBQVE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSw2QkFBaUIsQ0FDdEMsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLDhCQUFrQixFQUFFLENBQ3pCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksMkJBQWUsQ0FBQyxJQUFJLDhCQUFrQixFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQXJCRCw0QkFxQkMifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randomTypedArray = void 0;
|
|
4
|
+
const randomTypedArray = (length, dataType) => {
|
|
5
|
+
// generate random bytes of the correct length
|
|
6
|
+
const bytes = new Uint8Array(length * dataType.density.valueOf());
|
|
7
|
+
for (let i = 0; i < bytes.byteLength; i++) {
|
|
8
|
+
bytes[i] = Math.floor(Math.random() * 256);
|
|
9
|
+
}
|
|
10
|
+
return new dataType.arrayConstructor(bytes.buffer);
|
|
11
|
+
};
|
|
12
|
+
exports.randomTypedArray = randomTypedArray;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWwvdGVsZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRU8sTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixNQUFjLEVBQ2QsUUFBa0IsRUFDTixFQUFFO0lBQ2QsOENBQThDO0lBQzlDLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbEUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QsT0FBTyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBVlcsUUFBQSxnQkFBZ0Isb0JBVTNCIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { default as Synnax } from './lib/client';
|
|
2
|
+
export * from './lib/telem';
|
|
3
|
+
export { AuthError, ContiguityError, GeneralError, ParseError, QueryError, RouteError, UnexpectedError, ValidationError, } from './lib/errors';
|
|
4
|
+
export { Channel } from './lib/channel/client';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as Synnax } from './lib/client';
|
|
2
|
+
export * from './lib/telem';
|
|
3
|
+
export { AuthError, ContiguityError, GeneralError, ParseError, QueryError, RouteError, UnexpectedError, ValidationError, } from './lib/errors';
|
|
4
|
+
export { Channel } from './lib/channel/client';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsY0FBYyxhQUFhLENBQUM7QUFDNUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsVUFBVSxFQUNWLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import Synnax from '../client';
|
|
3
|
+
import { DataType, Rate } from '../telem';
|
|
4
|
+
const client = new Synnax({ host: 'localhost', port: 8080 });
|
|
5
|
+
test('Channel - create', async (t) => {
|
|
6
|
+
const channel = await client.channel.create({
|
|
7
|
+
name: 'test',
|
|
8
|
+
nodeId: 1,
|
|
9
|
+
rate: Rate.Hz(1),
|
|
10
|
+
dataType: DataType.Float32,
|
|
11
|
+
});
|
|
12
|
+
t.is(channel.name, 'test');
|
|
13
|
+
t.is(channel.nodeId, 1);
|
|
14
|
+
t.deepEqual(channel.rate, Rate.Hz(1));
|
|
15
|
+
t.deepEqual(channel.dataType, DataType.Float32);
|
|
16
|
+
});
|
|
17
|
+
test('Channel - retrieve by key', async (t) => {
|
|
18
|
+
const channel = await client.channel.create({
|
|
19
|
+
name: 'test',
|
|
20
|
+
nodeId: 1,
|
|
21
|
+
rate: Rate.Hz(1),
|
|
22
|
+
dataType: DataType.Float32,
|
|
23
|
+
});
|
|
24
|
+
const retrieved = (await client.channel.retrieveByKeys(channel.key))[0];
|
|
25
|
+
t.is(retrieved.name, 'test');
|
|
26
|
+
t.is(retrieved.nodeId, 1);
|
|
27
|
+
t.deepEqual(retrieved.rate, Rate.Hz(1));
|
|
28
|
+
t.deepEqual(retrieved.dataType, DataType.Float32);
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jaGFubmVsL2NoYW5uZWwuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxLQUFLLENBQUM7QUFFdkIsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUU3RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ25DLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDMUMsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoQixRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU87S0FDM0IsQ0FBQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDMUMsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoQixRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU87S0FDM0IsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import SegmentClient from '../segment/client';
|
|
2
|
+
import { DataType, Density, Rate, TypedArray, UnparsedTimeStamp } from '../telem';
|
|
3
|
+
import ChannelCreator from './creator';
|
|
4
|
+
import { CreateChannelProps } from './creator';
|
|
5
|
+
import { ChannelPayload } from './payload';
|
|
6
|
+
import ChannelRetriever from './retriever';
|
|
7
|
+
/**
|
|
8
|
+
* Represents a Channel in a Synnax database. It should not be instantiated
|
|
9
|
+
* directly, but rather created or retrieved from a {@link ChannelClient}.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Channel {
|
|
12
|
+
private readonly segmentClient;
|
|
13
|
+
private payload;
|
|
14
|
+
constructor(payload: ChannelPayload, segmentClient: SegmentClient);
|
|
15
|
+
get key(): string;
|
|
16
|
+
get name(): string;
|
|
17
|
+
get nodeId(): number;
|
|
18
|
+
get rate(): Rate;
|
|
19
|
+
get dataType(): DataType;
|
|
20
|
+
get density(): Density | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Reads telemetry from the channel between the two timestamps.
|
|
23
|
+
*
|
|
24
|
+
* @param start - The starting timestamp of the range to read from.
|
|
25
|
+
* @param end - The ending timestamp of the range to read from.
|
|
26
|
+
* @returns a typed array containing the retrieved
|
|
27
|
+
*/
|
|
28
|
+
read(start: UnparsedTimeStamp, end: UnparsedTimeStamp): Promise<TypedArray>;
|
|
29
|
+
/**
|
|
30
|
+
* Writes telemetry to the channel starting at the given timestamp.
|
|
31
|
+
*
|
|
32
|
+
* @param start - The starting timestamp of the first sample in data.
|
|
33
|
+
* @param data - THe telemetry to write to the channel.
|
|
34
|
+
*/
|
|
35
|
+
write(start: UnparsedTimeStamp, data: TypedArray): Promise<boolean>;
|
|
36
|
+
}
|
|
37
|
+
/** The core client class for executing channel operations against a Synnax
|
|
38
|
+
* database .
|
|
39
|
+
* */
|
|
40
|
+
export default class ChannelClient {
|
|
41
|
+
private readonly segmentClient;
|
|
42
|
+
private readonly retriever;
|
|
43
|
+
private readonly creator;
|
|
44
|
+
constructor(segmentClient: SegmentClient, retriever: ChannelRetriever, creator: ChannelCreator);
|
|
45
|
+
/**
|
|
46
|
+
* Creates a new channel with the given properties.
|
|
47
|
+
*
|
|
48
|
+
* @param props.rate - The rate of the channel.
|
|
49
|
+
* @param props.dataType - The data type of the channel.
|
|
50
|
+
* @param props.name - The name of the channel. Optional.
|
|
51
|
+
* @param props.nodeId - The ID of the node that holds the lease on the channel.
|
|
52
|
+
* If you don't know what this is, don't worry about it.
|
|
53
|
+
* @returns the created channel.
|
|
54
|
+
*/
|
|
55
|
+
create(props: CreateChannelProps): Promise<Channel>;
|
|
56
|
+
/**
|
|
57
|
+
* creates N channels using the given parameters as a template.
|
|
58
|
+
*
|
|
59
|
+
* @param props.rate - The rate of the channel.
|
|
60
|
+
* @param props.dataType - The data type of the channel.
|
|
61
|
+
* @param props.name - The name of the channel. Optional.
|
|
62
|
+
* @param props.nodeId - The ID of the node that holds the lease on the channel.
|
|
63
|
+
* If you don't know what this is, don't worry about it.
|
|
64
|
+
* @param props.count - The number of channels to create.
|
|
65
|
+
* @returns the created channels.
|
|
66
|
+
*/
|
|
67
|
+
createMany(props: CreateChannelProps & {
|
|
68
|
+
count: number;
|
|
69
|
+
}): Promise<Channel[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Retrieves channels with the given keys.
|
|
72
|
+
*
|
|
73
|
+
* @param keys - The keys of the channels to retrieve.
|
|
74
|
+
* @throws QueryError if any of the channels can't be found.
|
|
75
|
+
* @returns the retrieved channels.
|
|
76
|
+
*/
|
|
77
|
+
retrieveByKeys(...keys: string[]): Promise<Channel[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Retrieves channels with the given names.
|
|
80
|
+
*
|
|
81
|
+
* @param names - The list of names to retrieve channels for.
|
|
82
|
+
* @returns A list of retrieved channels matching the given names. If a channel
|
|
83
|
+
* with a given name can't be found, it will be omitted from the list.
|
|
84
|
+
*/
|
|
85
|
+
retrieveByNames(...names: string[]): Promise<Channel[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Retrieves channels whose lease node is the given ID.
|
|
88
|
+
*
|
|
89
|
+
* @param nodeId - The ID of the node to retrieve channels for.
|
|
90
|
+
* @returns A list of retrieved channels matching the given node ID.
|
|
91
|
+
*/
|
|
92
|
+
retrieveByNodeID(nodeId: number): Promise<Channel[]>;
|
|
93
|
+
private sugar;
|
|
94
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a Channel in a Synnax database. It should not be instantiated
|
|
3
|
+
* directly, but rather created or retrieved from a {@link ChannelClient}.
|
|
4
|
+
*/
|
|
5
|
+
export class Channel {
|
|
6
|
+
segmentClient;
|
|
7
|
+
payload;
|
|
8
|
+
constructor(payload, segmentClient) {
|
|
9
|
+
this.payload = payload;
|
|
10
|
+
this.segmentClient = segmentClient;
|
|
11
|
+
}
|
|
12
|
+
get key() {
|
|
13
|
+
if (!this.payload.key) {
|
|
14
|
+
throw new Error('Channel key is not set');
|
|
15
|
+
}
|
|
16
|
+
return this.payload.key;
|
|
17
|
+
}
|
|
18
|
+
get name() {
|
|
19
|
+
if (!this.payload.name) {
|
|
20
|
+
throw new Error('Channel name is not set');
|
|
21
|
+
}
|
|
22
|
+
return this.payload.name;
|
|
23
|
+
}
|
|
24
|
+
get nodeId() {
|
|
25
|
+
if (this.payload.nodeId === undefined) {
|
|
26
|
+
throw new Error('Channel nodeId is not set');
|
|
27
|
+
}
|
|
28
|
+
return this.payload.nodeId;
|
|
29
|
+
}
|
|
30
|
+
get rate() {
|
|
31
|
+
return this.payload.rate;
|
|
32
|
+
}
|
|
33
|
+
get dataType() {
|
|
34
|
+
return this.payload.dataType;
|
|
35
|
+
}
|
|
36
|
+
get density() {
|
|
37
|
+
return this.payload.density;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Reads telemetry from the channel between the two timestamps.
|
|
41
|
+
*
|
|
42
|
+
* @param start - The starting timestamp of the range to read from.
|
|
43
|
+
* @param end - The ending timestamp of the range to read from.
|
|
44
|
+
* @returns a typed array containing the retrieved
|
|
45
|
+
*/
|
|
46
|
+
async read(start, end) {
|
|
47
|
+
return await this.segmentClient.read(this.key, start, end);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Writes telemetry to the channel starting at the given timestamp.
|
|
51
|
+
*
|
|
52
|
+
* @param start - The starting timestamp of the first sample in data.
|
|
53
|
+
* @param data - THe telemetry to write to the channel.
|
|
54
|
+
*/
|
|
55
|
+
async write(start, data) {
|
|
56
|
+
return await this.segmentClient.write(this.key, start, data);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** The core client class for executing channel operations against a Synnax
|
|
60
|
+
* database .
|
|
61
|
+
* */
|
|
62
|
+
export default class ChannelClient {
|
|
63
|
+
segmentClient;
|
|
64
|
+
retriever;
|
|
65
|
+
creator;
|
|
66
|
+
constructor(segmentClient, retriever, creator) {
|
|
67
|
+
this.segmentClient = segmentClient;
|
|
68
|
+
this.retriever = retriever;
|
|
69
|
+
this.creator = creator;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Creates a new channel with the given properties.
|
|
73
|
+
*
|
|
74
|
+
* @param props.rate - The rate of the channel.
|
|
75
|
+
* @param props.dataType - The data type of the channel.
|
|
76
|
+
* @param props.name - The name of the channel. Optional.
|
|
77
|
+
* @param props.nodeId - The ID of the node that holds the lease on the channel.
|
|
78
|
+
* If you don't know what this is, don't worry about it.
|
|
79
|
+
* @returns the created channel.
|
|
80
|
+
*/
|
|
81
|
+
async create(props) {
|
|
82
|
+
return this.sugar(await this.creator.create(props))[0];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* creates N channels using the given parameters as a template.
|
|
86
|
+
*
|
|
87
|
+
* @param props.rate - The rate of the channel.
|
|
88
|
+
* @param props.dataType - The data type of the channel.
|
|
89
|
+
* @param props.name - The name of the channel. Optional.
|
|
90
|
+
* @param props.nodeId - The ID of the node that holds the lease on the channel.
|
|
91
|
+
* If you don't know what this is, don't worry about it.
|
|
92
|
+
* @param props.count - The number of channels to create.
|
|
93
|
+
* @returns the created channels.
|
|
94
|
+
*/
|
|
95
|
+
async createMany(props) {
|
|
96
|
+
return this.sugar(...(await this.creator.createMany(props)));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Retrieves channels with the given keys.
|
|
100
|
+
*
|
|
101
|
+
* @param keys - The keys of the channels to retrieve.
|
|
102
|
+
* @throws QueryError if any of the channels can't be found.
|
|
103
|
+
* @returns the retrieved channels.
|
|
104
|
+
*/
|
|
105
|
+
async retrieveByKeys(...keys) {
|
|
106
|
+
return this.sugar(...(await this.retriever.retrieveByKeys(...keys)));
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Retrieves channels with the given names.
|
|
110
|
+
*
|
|
111
|
+
* @param names - The list of names to retrieve channels for.
|
|
112
|
+
* @returns A list of retrieved channels matching the given names. If a channel
|
|
113
|
+
* with a given name can't be found, it will be omitted from the list.
|
|
114
|
+
*/
|
|
115
|
+
async retrieveByNames(...names) {
|
|
116
|
+
return this.sugar(...(await this.retriever.retrieveByNames(...names)));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Retrieves channels whose lease node is the given ID.
|
|
120
|
+
*
|
|
121
|
+
* @param nodeId - The ID of the node to retrieve channels for.
|
|
122
|
+
* @returns A list of retrieved channels matching the given node ID.
|
|
123
|
+
*/
|
|
124
|
+
async retrieveByNodeID(nodeId) {
|
|
125
|
+
return this.sugar(...(await this.retriever.retrieveByNodeID(nodeId)));
|
|
126
|
+
}
|
|
127
|
+
sugar(...payloads) {
|
|
128
|
+
return payloads.map((p) => new Channel(p, this.segmentClient));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jaGFubmVsL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNELGFBQWEsQ0FBZ0I7SUFDdEMsT0FBTyxDQUFpQjtJQUVoQyxZQUFZLE9BQXVCLEVBQUUsYUFBNEI7UUFDL0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEs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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UnparsedDataType, UnparsedRate } from '../telem';
|
|
2
|
+
import Transport from '../transport';
|
|
3
|
+
import { ChannelPayload } from './payload';
|
|
4
|
+
export declare type CreateChannelProps = {
|
|
5
|
+
rate: UnparsedRate;
|
|
6
|
+
dataType: UnparsedDataType;
|
|
7
|
+
name?: string;
|
|
8
|
+
nodeId?: number;
|
|
9
|
+
};
|
|
10
|
+
export default class Creator {
|
|
11
|
+
private static ENDPOINT;
|
|
12
|
+
private client;
|
|
13
|
+
constructor(transport: Transport);
|
|
14
|
+
create(props: CreateChannelProps): Promise<ChannelPayload>;
|
|
15
|
+
createMany({ rate, dataType, name, nodeId, count, }: CreateChannelProps & {
|
|
16
|
+
count: number;
|
|
17
|
+
}): Promise<ChannelPayload[]>;
|
|
18
|
+
private execute;
|
|
19
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DataType, Rate } from '../telem';
|
|
3
|
+
import { ChannelPayloadSchema } from './payload';
|
|
4
|
+
const RequestSchema = z.object({
|
|
5
|
+
channel: ChannelPayloadSchema,
|
|
6
|
+
count: z.number(),
|
|
7
|
+
});
|
|
8
|
+
const ResponseSchema = z.object({
|
|
9
|
+
channels: ChannelPayloadSchema.array(),
|
|
10
|
+
});
|
|
11
|
+
export default class Creator {
|
|
12
|
+
static ENDPOINT = '/channel/create';
|
|
13
|
+
client;
|
|
14
|
+
constructor(transport) {
|
|
15
|
+
this.client = transport.postClient();
|
|
16
|
+
}
|
|
17
|
+
async create(props) {
|
|
18
|
+
const [channel] = await this.createMany({ ...props, count: 1 });
|
|
19
|
+
return channel;
|
|
20
|
+
}
|
|
21
|
+
async createMany({ rate, dataType, name = '', nodeId = 0, count = 1, }) {
|
|
22
|
+
return (await this.execute({
|
|
23
|
+
channel: {
|
|
24
|
+
name,
|
|
25
|
+
nodeId,
|
|
26
|
+
rate: new Rate(rate),
|
|
27
|
+
dataType: new DataType(dataType),
|
|
28
|
+
},
|
|
29
|
+
count,
|
|
30
|
+
})).channels;
|
|
31
|
+
}
|
|
32
|
+
async execute(request) {
|
|
33
|
+
const [res, err] = await this.client.send(Creator.ENDPOINT, request,
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
ResponseSchema);
|
|
37
|
+
if (err)
|
|
38
|
+
throw err;
|
|
39
|
+
return res;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY2hhbm5lbC9jcmVhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWtDLE1BQU0sVUFBVSxDQUFDO0FBRzFFLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM3QixPQUFPLEVBQUUsb0JBQW9CO0lBQzdCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ2xCLENBQUMsQ0FBQztBQUlILE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUIsUUFBUSxFQUFFLG9CQUFvQixDQUFDLEtBQUssRUFBRTtDQUN2QyxDQUFDLENBQUM7QUFXSCxNQUFNLENBQUMsT0FBTyxPQUFPLE9BQU87SUFDbEIsTUFBTSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUNwQyxNQUFNLENBQWM7SUFFNUIsWUFBWSxTQUFvQjtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUF5QjtRQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFDZixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksR0FBRyxFQUFFLEVBQ1QsTUFBTSxHQUFHLENBQUMsRUFDVixLQUFLLEdBQUcsQ0FBQyxHQUM4QjtRQUN2QyxPQUFPLENBQ0wsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2pCLE9BQU8sRUFBRTtnQkFDUCxJQUFJO2dCQUNKLE1BQU07Z0JBQ04sSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDcEIsUUFBUSxFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQzthQUNqQztZQUNELEtBQUs7U0FDTixDQUFDLENBQ0gsQ0FBQyxRQUFRLENBQUM7SUFDYixDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFnQjtRQUNwQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZDLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLE9BQU87UUFDUCw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLGNBQWMsQ0FDZixDQUFDO1FBQ0YsSUFBSSxHQUFHO1lBQUUsTUFBTSxHQUFHLENBQUM7UUFDbkIsT0FBTyxHQUFlLENBQUM7SUFDekIsQ0FBQyJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DataType, Density, Rate } from '../telem';
|
|
3
|
+
export declare const ChannelPayloadSchema: z.ZodObject<{
|
|
4
|
+
rate: z.ZodEffects<z.ZodNumber, Rate, number>;
|
|
5
|
+
dataType: z.ZodEffects<z.ZodString, DataType, string>;
|
|
6
|
+
key: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
7
|
+
name: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
8
|
+
nodeId: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
9
|
+
density: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodNumber>, Density, number | undefined>>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
density?: Density | undefined;
|
|
12
|
+
key?: string | undefined;
|
|
13
|
+
name?: string | undefined;
|
|
14
|
+
nodeId?: number | undefined;
|
|
15
|
+
rate: Rate;
|
|
16
|
+
dataType: DataType;
|
|
17
|
+
}, {
|
|
18
|
+
density?: number | undefined;
|
|
19
|
+
key?: string | undefined;
|
|
20
|
+
name?: string | undefined;
|
|
21
|
+
nodeId?: number | undefined;
|
|
22
|
+
rate: number;
|
|
23
|
+
dataType: string;
|
|
24
|
+
}>;
|
|
25
|
+
export declare type ChannelPayload = z.infer<typeof ChannelPayloadSchema>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DataType, Density, Rate } from '../telem';
|
|
3
|
+
export const ChannelPayloadSchema = z.object({
|
|
4
|
+
rate: z.number().transform((n) => new Rate(n)),
|
|
5
|
+
dataType: z.string().transform((s) => new DataType(s)),
|
|
6
|
+
key: z.string().default('').optional(),
|
|
7
|
+
name: z.string().default('').optional(),
|
|
8
|
+
nodeId: z.number().default(0).optional(),
|
|
9
|
+
density: z
|
|
10
|
+
.number()
|
|
11
|
+
.default(0)
|
|
12
|
+
.transform((n) => new Density(n))
|
|
13
|
+
.optional(),
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY2hhbm5lbC9wYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxPQUFPLEVBQUUsQ0FBQztTQUNQLE1BQU0sRUFBRTtTQUNSLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDVixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDLFFBQVEsRUFBRTtDQUNkLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChannelPayload } from './payload';
|
|
2
|
+
import Retriever from './retriever';
|
|
3
|
+
export default class Registry {
|
|
4
|
+
private retriever;
|
|
5
|
+
private channels;
|
|
6
|
+
constructor(retriever: Retriever);
|
|
7
|
+
get(key: string): Promise<ChannelPayload>;
|
|
8
|
+
getN(...keys: string[]): Promise<ChannelPayload[]>;
|
|
9
|
+
}
|