@neurodevs/node-lsl 1.1.0 → 2.0.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/Liblsl.js +4 -3
- package/build/Liblsl.js.map +1 -1
- package/build/LslOutlet.d.ts +2 -1
- package/build/LslOutlet.js +19 -14
- package/build/LslOutlet.js.map +1 -1
- package/build/__tests__/behavioral/LslOutlet.test.d.ts +3 -2
- package/build/__tests__/behavioral/LslOutlet.test.js +34 -13
- package/build/__tests__/behavioral/LslOutlet.test.js.map +1 -1
- package/build/__tests__/implementation/Liblsl.test.d.ts +3 -1
- package/build/__tests__/implementation/Liblsl.test.js +19 -7
- package/build/__tests__/implementation/Liblsl.test.js.map +1 -1
- package/package.json +1 -1
- package/src/Liblsl.ts +4 -3
- package/src/LslOutlet.ts +44 -33
- package/src/__tests__/behavioral/LslOutlet.test.ts +43 -12
- package/src/__tests__/implementation/Liblsl.test.ts +23 -7
package/build/Liblsl.js
CHANGED
|
@@ -42,9 +42,10 @@ class LiblslImpl {
|
|
|
42
42
|
const desc = this.bindings.lsl_get_desc(info);
|
|
43
43
|
const parent = this.bindings.lsl_append_child(desc, 'channels');
|
|
44
44
|
for (const channel of channels) {
|
|
45
|
-
this.bindings.
|
|
46
|
-
this.bindings.lsl_append_child_value(
|
|
47
|
-
this.bindings.lsl_append_child_value(
|
|
45
|
+
const c = this.bindings.lsl_append_child(parent, 'channel');
|
|
46
|
+
this.bindings.lsl_append_child_value(c, 'label', channel.label);
|
|
47
|
+
this.bindings.lsl_append_child_value(c, 'unit', channel.unit);
|
|
48
|
+
this.bindings.lsl_append_child_value(c, 'type', channel.type);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
loadBindings(path) {
|
package/build/Liblsl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Liblsl.js","sourceRoot":"","sources":["../src/Liblsl.ts"],"names":[],"mappings":";;;;;AAAA,+CAAkD;AAClD,wDAA0B;AAC1B,oEAAsC;AACtC,wDAA0B;AAC1B,uEAA8C;AAE9C,MAAqB,UAAU;IAKvB,MAAM,CAAC,WAAW;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;SAC1B;QACD,OAAO,IAAI,CAAC,QAAS,CAAA;IACtB,CAAC;IAEM,MAAM,CAAC,KAAK;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,QAAgB;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;IAED;QACC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAY,CAAA;QAErC,IAAI,CAAC,IAAI,EAAE;YACV,IAAA,sBAAa,EAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;SAC3C;QACD,IAAI;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;SACvC;QAAC,OAAO,GAAG,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,MAAM,IAAI,qBAAW,CAAC;gBACrB,IAAI,EAAE,uBAAuB;gBAC7B,UAAU,EAAE,IAAI;aAChB,CAAC,CAAA;SACF;IACF,CAAC;IACM,0BAA0B,CAChC,IAA2B,EAC3B,QAAsB;QAEtB,IAAA,sBAAa,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAE/D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"Liblsl.js","sourceRoot":"","sources":["../src/Liblsl.ts"],"names":[],"mappings":"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"}
|
package/build/LslOutlet.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { LslSample } from './Liblsl';
|
|
|
2
2
|
export default class LslOutletImpl implements LslOutlet {
|
|
3
3
|
private outletOptions;
|
|
4
4
|
static Class?: new (options: LslOutletOptions) => LslOutlet;
|
|
5
|
+
private streamInfo;
|
|
5
6
|
protected constructor(options: LslOutletOptions);
|
|
6
7
|
static Outlet(options: LslOutletOptions): LslOutlet;
|
|
7
8
|
private assertValidMaxBufferred;
|
|
@@ -20,7 +21,7 @@ export type ChannelFormat = (typeof CHANNEL_FORMATS)[number];
|
|
|
20
21
|
export interface LslOutletOptions {
|
|
21
22
|
name: string;
|
|
22
23
|
type: string;
|
|
23
|
-
|
|
24
|
+
channelLabels: string[];
|
|
24
25
|
sampleRate: number;
|
|
25
26
|
channelFormat: ChannelFormat;
|
|
26
27
|
sourceId: string;
|
package/build/LslOutlet.js
CHANGED
|
@@ -18,10 +18,10 @@ const schema_1 = require("@sprucelabs/schema");
|
|
|
18
18
|
const Liblsl_1 = __importDefault(require("./Liblsl"));
|
|
19
19
|
class LslOutletImpl {
|
|
20
20
|
constructor(options) {
|
|
21
|
-
const {
|
|
21
|
+
const { sampleRate, channelFormat } = (0, schema_1.assertOptions)(options, [
|
|
22
22
|
'name',
|
|
23
23
|
'type',
|
|
24
|
-
'
|
|
24
|
+
'channelLabels',
|
|
25
25
|
'sampleRate',
|
|
26
26
|
'channelFormat',
|
|
27
27
|
'sourceId',
|
|
@@ -30,12 +30,22 @@ class LslOutletImpl {
|
|
|
30
30
|
'chunkSize',
|
|
31
31
|
'maxBuffered',
|
|
32
32
|
]);
|
|
33
|
-
this.
|
|
33
|
+
this.outletOptions = options;
|
|
34
|
+
const _a = this
|
|
35
|
+
.outletOptions, { chunkSize, maxBuffered, channelLabels } = _a, streamInfoOptions = __rest(_a, ["chunkSize", "maxBuffered", "channelLabels"]);
|
|
36
|
+
this.assertValidChannelCount(channelLabels.length);
|
|
34
37
|
this.assertValidSampleRate(sampleRate);
|
|
35
38
|
this.assertValidChannelFormat(channelFormat);
|
|
36
39
|
this.assertValidChunkSize(chunkSize);
|
|
37
40
|
this.assertValidMaxBufferred(maxBuffered);
|
|
38
|
-
|
|
41
|
+
delete streamInfoOptions.manufacturer;
|
|
42
|
+
delete streamInfoOptions.unit;
|
|
43
|
+
this.streamInfo = this.lsl.createStreamInfo(Object.assign(Object.assign({}, streamInfoOptions), { channelCount: channelLabels.length, channelFormat: CHANNEL_FORMATS.indexOf(this.outletOptions.channelFormat) }));
|
|
44
|
+
this.lsl.appendChannelsToStreamInfo(this.streamInfo, channelLabels.map((label) => ({
|
|
45
|
+
label,
|
|
46
|
+
unit: this.outletOptions.unit,
|
|
47
|
+
type: this.outletOptions.type,
|
|
48
|
+
})));
|
|
39
49
|
}
|
|
40
50
|
static Outlet(options) {
|
|
41
51
|
var _a;
|
|
@@ -82,8 +92,8 @@ class LslOutletImpl {
|
|
|
82
92
|
if (!this.isPositiveInteger(channelCount)) {
|
|
83
93
|
throw new schema_1.SchemaError({
|
|
84
94
|
code: 'INVALID_PARAMETERS',
|
|
85
|
-
parameters: ['
|
|
86
|
-
friendlyMessage: '
|
|
95
|
+
parameters: ['channelLabels'],
|
|
96
|
+
friendlyMessage: 'channelLabels must have 1 or more labels.',
|
|
87
97
|
});
|
|
88
98
|
}
|
|
89
99
|
}
|
|
@@ -100,15 +110,10 @@ class LslOutletImpl {
|
|
|
100
110
|
return Liblsl_1.default.getInstance();
|
|
101
111
|
}
|
|
102
112
|
pushSample(sample) {
|
|
103
|
-
const _a = this
|
|
104
|
-
.outletOptions, { chunkSize, maxBuffered } = _a, streamInfoOptions = __rest(_a, ["chunkSize", "maxBuffered"]);
|
|
105
|
-
delete streamInfoOptions.manufacturer;
|
|
106
|
-
delete streamInfoOptions.unit;
|
|
107
|
-
const info = this.lsl.createStreamInfo(Object.assign(Object.assign({}, streamInfoOptions), { channelFormat: CHANNEL_FORMATS.indexOf(this.outletOptions.channelFormat) }));
|
|
108
113
|
this.lsl.pushSample(this.lsl.createOutlet({
|
|
109
|
-
info,
|
|
110
|
-
chunkSize,
|
|
111
|
-
maxBuffered,
|
|
114
|
+
info: this.streamInfo,
|
|
115
|
+
chunkSize: this.outletOptions.chunkSize,
|
|
116
|
+
maxBuffered: this.outletOptions.maxBuffered,
|
|
112
117
|
}), sample);
|
|
113
118
|
}
|
|
114
119
|
}
|
package/build/LslOutlet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../src/LslOutlet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../src/LslOutlet.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,14 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
15
15
|
protected static throwWithInvalidChunkSize(): Promise<void>;
|
|
16
16
|
protected static throwsWithInvalidMaxBuffered(): Promise<void>;
|
|
17
17
|
protected static pushingSampleSendsToLsl(sample: LslSample): Promise<void>;
|
|
18
|
-
protected static
|
|
18
|
+
protected static constructionPassesCorrectOptionsToCreateStreamInfo(): Promise<void>;
|
|
19
19
|
protected static canOverrideClasInstantiatedInFactory(): Promise<void>;
|
|
20
|
+
protected static appendsChannelsBasedOnCount(labels: string[]): Promise<void>;
|
|
20
21
|
private static pushSample;
|
|
21
22
|
private static assertThrowsInvalidMaxBuffered;
|
|
22
23
|
private static assertThrowsInvalidChunkSize;
|
|
23
24
|
private static assertThrowsInvalidSampleRate;
|
|
24
|
-
private static
|
|
25
|
+
private static assertThrowsInvalidChannelLabels;
|
|
25
26
|
private static assertDoesThrowInvalidParameters;
|
|
26
27
|
private static Outlet;
|
|
27
28
|
}
|
|
@@ -61,11 +61,12 @@ exports.CHANNEL_FORMATS = [
|
|
|
61
61
|
class LslOutletTest extends test_utils_1.default {
|
|
62
62
|
static async beforeEach() {
|
|
63
63
|
await super.beforeEach();
|
|
64
|
+
delete LslOutlet_1.default.Class;
|
|
64
65
|
this.channelIdx = (0, crypto_1.randomInt)(7);
|
|
65
66
|
this.randomOutletOptions = {
|
|
66
67
|
name: (0, test_utils_1.generateId)(),
|
|
67
68
|
type: (0, test_utils_1.generateId)(),
|
|
68
|
-
|
|
69
|
+
channelLabels: new Array((0, crypto_1.randomInt)(1, 10)).fill((0, test_utils_1.generateId)()),
|
|
69
70
|
sampleRate: Math.random() * 10,
|
|
70
71
|
channelFormat: exports.CHANNEL_FORMATS[this.channelIdx],
|
|
71
72
|
sourceId: (0, test_utils_1.generateId)(),
|
|
@@ -84,7 +85,7 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
84
85
|
parameters: [
|
|
85
86
|
'name',
|
|
86
87
|
'type',
|
|
87
|
-
'
|
|
88
|
+
'channelLabels',
|
|
88
89
|
'sampleRate',
|
|
89
90
|
'channelFormat',
|
|
90
91
|
'sourceId',
|
|
@@ -99,9 +100,7 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
99
100
|
this.Outlet();
|
|
100
101
|
}
|
|
101
102
|
static async throwsWithInvalidChannelCount() {
|
|
102
|
-
this.
|
|
103
|
-
this.assertThrowsInvalidChannelCount(-1);
|
|
104
|
-
this.assertThrowsInvalidChannelCount(1.5);
|
|
103
|
+
this.assertThrowsInvalidChannelLabels(0);
|
|
105
104
|
}
|
|
106
105
|
static async throwsWithInvalidSampleRate() {
|
|
107
106
|
this.assertThrowsInvalidSampleRate(0);
|
|
@@ -142,13 +141,15 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
142
141
|
maxBuffered: this.randomOutletOptions.maxBuffered,
|
|
143
142
|
});
|
|
144
143
|
}
|
|
145
|
-
static async
|
|
146
|
-
this.
|
|
144
|
+
static async constructionPassesCorrectOptionsToCreateStreamInfo() {
|
|
145
|
+
this.Outlet();
|
|
147
146
|
const options = __rest(this.randomOutletOptions, []);
|
|
147
|
+
options.channelCount = options.channelLabels.length;
|
|
148
148
|
delete options.manufacturer;
|
|
149
149
|
delete options.unit;
|
|
150
150
|
delete options.chunkSize;
|
|
151
151
|
delete options.maxBuffered;
|
|
152
|
+
delete options.channelLabels;
|
|
152
153
|
test_utils_1.assert.isEqualDeep(this.spyLsl.lastStreamInfoOptions, Object.assign(Object.assign({}, options), { channelFormat: this.channelIdx }));
|
|
153
154
|
}
|
|
154
155
|
static async canOverrideClasInstantiatedInFactory() {
|
|
@@ -156,6 +157,19 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
156
157
|
const instance = this.Outlet();
|
|
157
158
|
test_utils_1.assert.isInstanceOf(instance, CheckingOutlet);
|
|
158
159
|
}
|
|
160
|
+
static async appendsChannelsBasedOnCount(labels) {
|
|
161
|
+
const type = (0, test_utils_1.generateId)();
|
|
162
|
+
const unit = (0, test_utils_1.generateId)();
|
|
163
|
+
this.Outlet({ channelLabels: labels, type, unit });
|
|
164
|
+
test_utils_1.assert.isEqualDeep(this.spyLsl.lastAppendChannelsToStreamInfo, {
|
|
165
|
+
info: this.spyLsl.streamInfo,
|
|
166
|
+
channels: labels.map((label) => ({
|
|
167
|
+
label,
|
|
168
|
+
type,
|
|
169
|
+
unit,
|
|
170
|
+
})),
|
|
171
|
+
});
|
|
172
|
+
}
|
|
159
173
|
static pushSample(sample) {
|
|
160
174
|
const outlet = this.Outlet();
|
|
161
175
|
outlet.pushSample(sample);
|
|
@@ -169,10 +183,8 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
169
183
|
static assertThrowsInvalidSampleRate(sampleRate) {
|
|
170
184
|
this.assertDoesThrowInvalidParameters({ sampleRate }, ['sampleRate']);
|
|
171
185
|
}
|
|
172
|
-
static
|
|
173
|
-
this.assertDoesThrowInvalidParameters({
|
|
174
|
-
'channelCount',
|
|
175
|
-
]);
|
|
186
|
+
static assertThrowsInvalidChannelLabels(count) {
|
|
187
|
+
this.assertDoesThrowInvalidParameters({ channelLabels: new Array(count).fill((0, test_utils_1.generateId)()) }, ['channelLabels']);
|
|
176
188
|
}
|
|
177
189
|
static assertDoesThrowInvalidParameters(options, parameters) {
|
|
178
190
|
const err = test_utils_1.assert.doesThrow(() => this.Outlet(options));
|
|
@@ -215,10 +227,14 @@ __decorate([
|
|
|
215
227
|
], LslOutletTest, "pushingSampleSendsToLsl", null);
|
|
216
228
|
__decorate([
|
|
217
229
|
(0, test_utils_1.test)()
|
|
218
|
-
], LslOutletTest, "
|
|
230
|
+
], LslOutletTest, "constructionPassesCorrectOptionsToCreateStreamInfo", null);
|
|
219
231
|
__decorate([
|
|
220
232
|
(0, test_utils_1.test)()
|
|
221
233
|
], LslOutletTest, "canOverrideClasInstantiatedInFactory", null);
|
|
234
|
+
__decorate([
|
|
235
|
+
(0, test_utils_1.test)('can add one label', [(0, test_utils_1.generateId)()]),
|
|
236
|
+
(0, test_utils_1.test)('can add two labels', [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()])
|
|
237
|
+
], LslOutletTest, "appendsChannelsBasedOnCount", null);
|
|
222
238
|
class SpyLiblsl {
|
|
223
239
|
constructor() {
|
|
224
240
|
this.outlet = {};
|
|
@@ -228,7 +244,12 @@ class SpyLiblsl {
|
|
|
228
244
|
this.lastStreamInfoOptions = options;
|
|
229
245
|
return this.streamInfo;
|
|
230
246
|
}
|
|
231
|
-
appendChannelsToStreamInfo(info, channels) {
|
|
247
|
+
appendChannelsToStreamInfo(info, channels) {
|
|
248
|
+
this.lastAppendChannelsToStreamInfo = {
|
|
249
|
+
info,
|
|
250
|
+
channels,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
232
253
|
createOutlet(options) {
|
|
233
254
|
this.lastOutletOptions = options;
|
|
234
255
|
return this.outlet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LslOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkC;AAClC,qEAK+B;AAC/B,0DAQqB;AACrB,gEAA4E;AAE/D,QAAA,eAAe,GAAG;IAC9B,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACE,CAAA;AAEV,MAAqB,aAAc,SAAQ,oBAAkB;IAKlD,MAAM,CAAC,KAAK,CAAC,UAAU;QAChC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,IAAA,kBAAS,EAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,CAAC,mBAAmB,GAAG;YAC1B,IAAI,EAAE,IAAA,uBAAU,GAAE;YAClB,IAAI,EAAE,IAAA,uBAAU,GAAE;YAClB,
|
|
1
|
+
{"version":3,"file":"LslOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LslOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,15 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
9
9
|
private static fakeDesc;
|
|
10
10
|
private static fakeChildNamedChannels;
|
|
11
11
|
private static createStreamInfoParams?;
|
|
12
|
-
private static appendChildParams
|
|
12
|
+
private static appendChildParams;
|
|
13
13
|
private static createOutletParams?;
|
|
14
14
|
private static pushSampleParams?;
|
|
15
15
|
private static appendChildValueParams;
|
|
16
16
|
private static localClock;
|
|
17
17
|
private static shouldThrowWhenCreatingBindings;
|
|
18
18
|
private static getDescriptionParams?;
|
|
19
|
+
private static fakeChildNamedChannel;
|
|
20
|
+
private static appendChildHitCount;
|
|
19
21
|
protected static beforeEach(): Promise<void>;
|
|
20
22
|
protected static throwsIfNoEnvSet(): Promise<void>;
|
|
21
23
|
protected static throwsHelpfulErrorWhenBindingsFailToLoad(): Promise<void>;
|
|
@@ -46,15 +46,17 @@ class LiblslTest extends test_utils_1.default {
|
|
|
46
46
|
delete this.createOutletParams;
|
|
47
47
|
delete this.pushSampleParams;
|
|
48
48
|
delete this.getDescriptionParams;
|
|
49
|
-
|
|
49
|
+
this.appendChildParams = [];
|
|
50
50
|
this.appendChildValueParams = [];
|
|
51
51
|
process.env.LIBLSL_PATH = (0, test_utils_1.generateId)();
|
|
52
52
|
this.fakeStreamInfo = {};
|
|
53
53
|
this.fakeDesc = {};
|
|
54
54
|
this.fakeOutlet = {};
|
|
55
55
|
this.fakeChildNamedChannels = {};
|
|
56
|
+
this.fakeChildNamedChannel = {};
|
|
56
57
|
this.localClock = new Date().getTime();
|
|
57
58
|
this.shouldThrowWhenCreatingBindings = false;
|
|
59
|
+
this.appendChildHitCount = 0;
|
|
58
60
|
this.fakeBindings = {
|
|
59
61
|
lsl_create_streaminfo: (...params) => {
|
|
60
62
|
this.createStreamInfoParams = params;
|
|
@@ -74,8 +76,12 @@ class LiblslTest extends test_utils_1.default {
|
|
|
74
76
|
return this.fakeDesc;
|
|
75
77
|
},
|
|
76
78
|
lsl_append_child: (...params) => {
|
|
77
|
-
this.appendChildParams
|
|
78
|
-
|
|
79
|
+
this.appendChildParams.push(params);
|
|
80
|
+
if (this.appendChildHitCount === 0) {
|
|
81
|
+
this.appendChildHitCount++;
|
|
82
|
+
return this.fakeChildNamedChannels;
|
|
83
|
+
}
|
|
84
|
+
return this.fakeChildNamedChannel;
|
|
79
85
|
},
|
|
80
86
|
lsl_append_child_value: (...params) => {
|
|
81
87
|
this.appendChildValueParams.push(params);
|
|
@@ -200,17 +206,19 @@ class LiblslTest extends test_utils_1.default {
|
|
|
200
206
|
});
|
|
201
207
|
}
|
|
202
208
|
static async addingSingleChannelGetsDescription() {
|
|
203
|
-
var _a, _b, _c;
|
|
209
|
+
var _a, _b, _c, _d, _e;
|
|
204
210
|
const info = this.createRandomStreamInfo();
|
|
205
211
|
const channel = this.generateRandomChannelValues();
|
|
206
212
|
this.lsl.appendChannelsToStreamInfo(info, [channel]);
|
|
207
213
|
test_utils_1.assert.isEqual((_a = this.getDescriptionParams) === null || _a === void 0 ? void 0 : _a[0], info);
|
|
208
|
-
test_utils_1.assert.isEqual((_b = this.appendChildParams) === null || _b === void 0 ? void 0 : _b[0], this.fakeDesc);
|
|
209
|
-
test_utils_1.assert.isEqual((_c = this.appendChildParams) === null || _c === void 0 ? void 0 : _c[1], 'channels');
|
|
214
|
+
test_utils_1.assert.isEqual((_b = this.appendChildParams) === null || _b === void 0 ? void 0 : _b[0][0], this.fakeDesc);
|
|
215
|
+
test_utils_1.assert.isEqual((_c = this.appendChildParams) === null || _c === void 0 ? void 0 : _c[0][1], 'channels');
|
|
216
|
+
test_utils_1.assert.isEqual((_d = this.appendChildParams) === null || _d === void 0 ? void 0 : _d[1][0], this.fakeChildNamedChannels);
|
|
217
|
+
test_utils_1.assert.isEqual((_e = this.appendChildParams) === null || _e === void 0 ? void 0 : _e[1][1], 'channel');
|
|
210
218
|
test_utils_1.assert.isLength(this.appendChildValueParams, 3);
|
|
211
219
|
for (let i = 0; i < 3; i++) {
|
|
212
220
|
const param = this.appendChildValueParams[i];
|
|
213
|
-
test_utils_1.assert.isEqual(param[0], this.
|
|
221
|
+
test_utils_1.assert.isEqual(param[0], this.fakeChildNamedChannel);
|
|
214
222
|
}
|
|
215
223
|
test_utils_1.assert.isEqual(this.appendChildValueParams[0][1], 'label');
|
|
216
224
|
test_utils_1.assert.isEqual(this.appendChildValueParams[1][1], 'unit');
|
|
@@ -220,10 +228,13 @@ class LiblslTest extends test_utils_1.default {
|
|
|
220
228
|
test_utils_1.assert.isEqual(this.appendChildValueParams[2][2], channel.type);
|
|
221
229
|
}
|
|
222
230
|
static async addingMultpleChannelsAddsChildrenToChannelsChild() {
|
|
231
|
+
var _a, _b;
|
|
223
232
|
const info = this.createRandomStreamInfo();
|
|
224
233
|
const channel1 = this.generateRandomChannelValues();
|
|
225
234
|
const channel2 = this.generateRandomChannelValues();
|
|
226
235
|
this.lsl.appendChannelsToStreamInfo(info, [channel1, channel2]);
|
|
236
|
+
test_utils_1.assert.isEqual((_a = this.appendChildParams) === null || _a === void 0 ? void 0 : _a[2][0], this.fakeChildNamedChannels);
|
|
237
|
+
test_utils_1.assert.isEqual((_b = this.appendChildParams) === null || _b === void 0 ? void 0 : _b[2][1], 'channel');
|
|
227
238
|
test_utils_1.assert.isEqual(this.appendChildValueParams[3][2], channel2.label);
|
|
228
239
|
test_utils_1.assert.isEqual(this.appendChildValueParams[4][2], channel2.unit);
|
|
229
240
|
test_utils_1.assert.isEqual(this.appendChildValueParams[5][2], channel2.type);
|
|
@@ -249,6 +260,7 @@ class LiblslTest extends test_utils_1.default {
|
|
|
249
260
|
};
|
|
250
261
|
}
|
|
251
262
|
}
|
|
263
|
+
LiblslTest.appendChildParams = [];
|
|
252
264
|
exports.default = LiblslTest;
|
|
253
265
|
__decorate([
|
|
254
266
|
(0, test_utils_1.test)()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Liblsl.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/Liblsl.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Liblsl.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/Liblsl.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Liblsl.ts
CHANGED
|
@@ -50,9 +50,10 @@ export default class LiblslImpl implements Liblsl {
|
|
|
50
50
|
const parent = this.bindings.lsl_append_child(desc, 'channels')
|
|
51
51
|
|
|
52
52
|
for (const channel of channels) {
|
|
53
|
-
this.bindings.
|
|
54
|
-
this.bindings.lsl_append_child_value(
|
|
55
|
-
this.bindings.lsl_append_child_value(
|
|
53
|
+
const c = this.bindings.lsl_append_child(parent, 'channel')
|
|
54
|
+
this.bindings.lsl_append_child_value(c, 'label', channel.label)
|
|
55
|
+
this.bindings.lsl_append_child_value(c, 'unit', channel.unit)
|
|
56
|
+
this.bindings.lsl_append_child_value(c, 'type', channel.type)
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
|
package/src/LslOutlet.ts
CHANGED
|
@@ -1,32 +1,53 @@
|
|
|
1
1
|
import { SchemaError, assertOptions } from '@sprucelabs/schema'
|
|
2
|
-
import LiblslImpl, { LslSample } from './Liblsl'
|
|
2
|
+
import LiblslImpl, { LslBindingsStreamInfo, LslSample } from './Liblsl'
|
|
3
3
|
|
|
4
4
|
export default class LslOutletImpl implements LslOutlet {
|
|
5
5
|
private outletOptions: LslOutletOptions
|
|
6
6
|
public static Class?: new (options: LslOutletOptions) => LslOutlet
|
|
7
|
+
private streamInfo: LslBindingsStreamInfo
|
|
7
8
|
|
|
8
9
|
protected constructor(options: LslOutletOptions) {
|
|
9
|
-
const {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
10
|
+
const { sampleRate, channelFormat } = assertOptions(options, [
|
|
11
|
+
'name',
|
|
12
|
+
'type',
|
|
13
|
+
'channelLabels',
|
|
14
|
+
'sampleRate',
|
|
15
|
+
'channelFormat',
|
|
16
|
+
'sourceId',
|
|
17
|
+
'manufacturer',
|
|
18
|
+
'unit',
|
|
19
|
+
'chunkSize',
|
|
20
|
+
'maxBuffered',
|
|
21
|
+
])
|
|
22
|
+
|
|
23
|
+
this.outletOptions = options
|
|
24
|
+
|
|
25
|
+
const { chunkSize, maxBuffered, channelLabels, ...streamInfoOptions } = this
|
|
26
|
+
.outletOptions as any
|
|
27
|
+
|
|
28
|
+
this.assertValidChannelCount(channelLabels.length)
|
|
24
29
|
this.assertValidSampleRate(sampleRate)
|
|
25
30
|
this.assertValidChannelFormat(channelFormat)
|
|
26
31
|
this.assertValidChunkSize(chunkSize)
|
|
27
32
|
this.assertValidMaxBufferred(maxBuffered)
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
delete streamInfoOptions.manufacturer
|
|
35
|
+
delete streamInfoOptions.unit
|
|
36
|
+
|
|
37
|
+
this.streamInfo = this.lsl.createStreamInfo({
|
|
38
|
+
...streamInfoOptions,
|
|
39
|
+
channelCount: channelLabels.length,
|
|
40
|
+
channelFormat: CHANNEL_FORMATS.indexOf(this.outletOptions.channelFormat),
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
this.lsl.appendChannelsToStreamInfo(
|
|
44
|
+
this.streamInfo,
|
|
45
|
+
channelLabels.map((label: string) => ({
|
|
46
|
+
label,
|
|
47
|
+
unit: this.outletOptions.unit,
|
|
48
|
+
type: this.outletOptions.type,
|
|
49
|
+
}))
|
|
50
|
+
)
|
|
30
51
|
}
|
|
31
52
|
|
|
32
53
|
public static Outlet(options: LslOutletOptions) {
|
|
@@ -79,8 +100,8 @@ export default class LslOutletImpl implements LslOutlet {
|
|
|
79
100
|
if (!this.isPositiveInteger(channelCount)) {
|
|
80
101
|
throw new SchemaError({
|
|
81
102
|
code: 'INVALID_PARAMETERS',
|
|
82
|
-
parameters: ['
|
|
83
|
-
friendlyMessage: '
|
|
103
|
+
parameters: ['channelLabels'],
|
|
104
|
+
friendlyMessage: 'channelLabels must have 1 or more labels.',
|
|
84
105
|
})
|
|
85
106
|
}
|
|
86
107
|
}
|
|
@@ -102,21 +123,11 @@ export default class LslOutletImpl implements LslOutlet {
|
|
|
102
123
|
}
|
|
103
124
|
|
|
104
125
|
public pushSample(sample: LslSample) {
|
|
105
|
-
const { chunkSize, maxBuffered, ...streamInfoOptions } = this
|
|
106
|
-
.outletOptions as any
|
|
107
|
-
|
|
108
|
-
delete streamInfoOptions.manufacturer
|
|
109
|
-
delete streamInfoOptions.unit
|
|
110
|
-
|
|
111
|
-
const info = this.lsl.createStreamInfo({
|
|
112
|
-
...streamInfoOptions,
|
|
113
|
-
channelFormat: CHANNEL_FORMATS.indexOf(this.outletOptions.channelFormat),
|
|
114
|
-
})
|
|
115
126
|
this.lsl.pushSample(
|
|
116
127
|
this.lsl.createOutlet({
|
|
117
|
-
info,
|
|
118
|
-
chunkSize,
|
|
119
|
-
maxBuffered,
|
|
128
|
+
info: this.streamInfo,
|
|
129
|
+
chunkSize: this.outletOptions.chunkSize,
|
|
130
|
+
maxBuffered: this.outletOptions.maxBuffered,
|
|
120
131
|
}),
|
|
121
132
|
sample
|
|
122
133
|
)
|
|
@@ -138,7 +149,7 @@ export type ChannelFormat = (typeof CHANNEL_FORMATS)[number]
|
|
|
138
149
|
export interface LslOutletOptions {
|
|
139
150
|
name: string
|
|
140
151
|
type: string
|
|
141
|
-
|
|
152
|
+
channelLabels: string[]
|
|
142
153
|
sampleRate: number
|
|
143
154
|
channelFormat: ChannelFormat
|
|
144
155
|
sourceId: string
|
|
@@ -34,11 +34,12 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
34
34
|
|
|
35
35
|
protected static async beforeEach() {
|
|
36
36
|
await super.beforeEach()
|
|
37
|
+
delete LslOutlet.Class
|
|
37
38
|
this.channelIdx = randomInt(7)
|
|
38
39
|
this.randomOutletOptions = {
|
|
39
40
|
name: generateId(),
|
|
40
41
|
type: generateId(),
|
|
41
|
-
|
|
42
|
+
channelLabels: new Array(randomInt(1, 10)).fill(generateId()),
|
|
42
43
|
sampleRate: Math.random() * 10,
|
|
43
44
|
channelFormat: CHANNEL_FORMATS[this.channelIdx],
|
|
44
45
|
sourceId: generateId(),
|
|
@@ -60,7 +61,7 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
60
61
|
parameters: [
|
|
61
62
|
'name',
|
|
62
63
|
'type',
|
|
63
|
-
'
|
|
64
|
+
'channelLabels',
|
|
64
65
|
'sampleRate',
|
|
65
66
|
'channelFormat',
|
|
66
67
|
'sourceId',
|
|
@@ -79,9 +80,7 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
79
80
|
|
|
80
81
|
@test()
|
|
81
82
|
protected static async throwsWithInvalidChannelCount() {
|
|
82
|
-
this.
|
|
83
|
-
this.assertThrowsInvalidChannelCount(-1)
|
|
84
|
-
this.assertThrowsInvalidChannelCount(1.5)
|
|
83
|
+
this.assertThrowsInvalidChannelLabels(0)
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
@test()
|
|
@@ -137,14 +136,18 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
137
136
|
}
|
|
138
137
|
|
|
139
138
|
@test()
|
|
140
|
-
protected static async
|
|
141
|
-
this.
|
|
139
|
+
protected static async constructionPassesCorrectOptionsToCreateStreamInfo() {
|
|
140
|
+
this.Outlet()
|
|
141
|
+
|
|
142
142
|
const { ...options } = this.randomOutletOptions as any
|
|
143
143
|
|
|
144
|
+
options.channelCount = options.channelLabels.length
|
|
145
|
+
|
|
144
146
|
delete options.manufacturer
|
|
145
147
|
delete options.unit
|
|
146
148
|
delete options.chunkSize
|
|
147
149
|
delete options.maxBuffered
|
|
150
|
+
delete options.channelLabels
|
|
148
151
|
|
|
149
152
|
assert.isEqualDeep(this.spyLsl.lastStreamInfoOptions, {
|
|
150
153
|
...options,
|
|
@@ -159,6 +162,24 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
159
162
|
assert.isInstanceOf(instance, CheckingOutlet)
|
|
160
163
|
}
|
|
161
164
|
|
|
165
|
+
@test('can add one label', [generateId()])
|
|
166
|
+
@test('can add two labels', [generateId(), generateId()])
|
|
167
|
+
protected static async appendsChannelsBasedOnCount(labels: string[]) {
|
|
168
|
+
const type = generateId()
|
|
169
|
+
const unit = generateId()
|
|
170
|
+
|
|
171
|
+
this.Outlet({ channelLabels: labels, type, unit })
|
|
172
|
+
|
|
173
|
+
assert.isEqualDeep(this.spyLsl.lastAppendChannelsToStreamInfo, {
|
|
174
|
+
info: this.spyLsl.streamInfo,
|
|
175
|
+
channels: labels.map((label) => ({
|
|
176
|
+
label,
|
|
177
|
+
type,
|
|
178
|
+
unit,
|
|
179
|
+
})),
|
|
180
|
+
})
|
|
181
|
+
}
|
|
182
|
+
|
|
162
183
|
private static pushSample(sample: LslSample) {
|
|
163
184
|
const outlet = this.Outlet()
|
|
164
185
|
outlet.pushSample(sample)
|
|
@@ -176,10 +197,11 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
176
197
|
this.assertDoesThrowInvalidParameters({ sampleRate }, ['sampleRate'])
|
|
177
198
|
}
|
|
178
199
|
|
|
179
|
-
private static
|
|
180
|
-
this.assertDoesThrowInvalidParameters(
|
|
181
|
-
|
|
182
|
-
|
|
200
|
+
private static assertThrowsInvalidChannelLabels(count: number) {
|
|
201
|
+
this.assertDoesThrowInvalidParameters(
|
|
202
|
+
{ channelLabels: new Array(count).fill(generateId()) },
|
|
203
|
+
['channelLabels']
|
|
204
|
+
)
|
|
183
205
|
}
|
|
184
206
|
|
|
185
207
|
private static assertDoesThrowInvalidParameters(
|
|
@@ -207,6 +229,10 @@ class SpyLiblsl implements Liblsl {
|
|
|
207
229
|
public lastStreamInfoOptions?: CreateStreamInfoOptions
|
|
208
230
|
public outlet: LslBindingsOutlet = {} as LslBindingsOutlet
|
|
209
231
|
public streamInfo: LslBindingsStreamInfo = {} as LslBindingsStreamInfo
|
|
232
|
+
public lastAppendChannelsToStreamInfo?: {
|
|
233
|
+
info: LslBindingsStreamInfo
|
|
234
|
+
channels: LslChannel[]
|
|
235
|
+
}
|
|
210
236
|
|
|
211
237
|
public createStreamInfo(
|
|
212
238
|
options: CreateStreamInfoOptions
|
|
@@ -217,7 +243,12 @@ class SpyLiblsl implements Liblsl {
|
|
|
217
243
|
public appendChannelsToStreamInfo(
|
|
218
244
|
info: LslBindingsStreamInfo,
|
|
219
245
|
channels: LslChannel[]
|
|
220
|
-
): void {
|
|
246
|
+
): void {
|
|
247
|
+
this.lastAppendChannelsToStreamInfo = {
|
|
248
|
+
info,
|
|
249
|
+
channels,
|
|
250
|
+
}
|
|
251
|
+
}
|
|
221
252
|
|
|
222
253
|
public createOutlet(options: CreateOutletOptions): LslBindingsOutlet {
|
|
223
254
|
this.lastOutletOptions = options
|
|
@@ -30,13 +30,15 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
30
30
|
private static fakeDesc: LslBindingsDesc
|
|
31
31
|
private static fakeChildNamedChannels: LslBindingsChild
|
|
32
32
|
private static createStreamInfoParams?: any[]
|
|
33
|
-
private static appendChildParams
|
|
33
|
+
private static appendChildParams: any[] = []
|
|
34
34
|
private static createOutletParams?: any[]
|
|
35
35
|
private static pushSampleParams?: any[]
|
|
36
36
|
private static appendChildValueParams: any[]
|
|
37
37
|
private static localClock: number
|
|
38
38
|
private static shouldThrowWhenCreatingBindings: boolean
|
|
39
39
|
private static getDescriptionParams?: [LslBindingsStreamInfo]
|
|
40
|
+
private static fakeChildNamedChannel: LslBindingsChild
|
|
41
|
+
private static appendChildHitCount: number
|
|
40
42
|
|
|
41
43
|
protected static async beforeEach(): Promise<void> {
|
|
42
44
|
await super.beforeEach()
|
|
@@ -47,7 +49,7 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
47
49
|
delete this.createOutletParams
|
|
48
50
|
delete this.pushSampleParams
|
|
49
51
|
delete this.getDescriptionParams
|
|
50
|
-
|
|
52
|
+
this.appendChildParams = []
|
|
51
53
|
this.appendChildValueParams = []
|
|
52
54
|
|
|
53
55
|
process.env.LIBLSL_PATH = generateId()
|
|
@@ -56,10 +58,13 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
56
58
|
this.fakeDesc = {}
|
|
57
59
|
this.fakeOutlet = {}
|
|
58
60
|
this.fakeChildNamedChannels = {}
|
|
61
|
+
this.fakeChildNamedChannel = {}
|
|
59
62
|
|
|
60
63
|
this.localClock = new Date().getTime()
|
|
61
64
|
this.shouldThrowWhenCreatingBindings = false
|
|
62
65
|
|
|
66
|
+
this.appendChildHitCount = 0
|
|
67
|
+
|
|
63
68
|
this.fakeBindings = {
|
|
64
69
|
lsl_create_streaminfo: (...params: any[]) => {
|
|
65
70
|
this.createStreamInfoParams = params
|
|
@@ -79,8 +84,12 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
79
84
|
return this.fakeDesc
|
|
80
85
|
},
|
|
81
86
|
lsl_append_child: (...params: any) => {
|
|
82
|
-
this.appendChildParams
|
|
83
|
-
|
|
87
|
+
this.appendChildParams.push(params)
|
|
88
|
+
if (this.appendChildHitCount === 0) {
|
|
89
|
+
this.appendChildHitCount++
|
|
90
|
+
return this.fakeChildNamedChannels
|
|
91
|
+
}
|
|
92
|
+
return this.fakeChildNamedChannel
|
|
84
93
|
},
|
|
85
94
|
lsl_append_child_value: (...params: any[]) => {
|
|
86
95
|
this.appendChildValueParams.push(params)
|
|
@@ -243,14 +252,17 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
243
252
|
this.lsl.appendChannelsToStreamInfo(info, [channel])
|
|
244
253
|
assert.isEqual(this.getDescriptionParams?.[0], info)
|
|
245
254
|
|
|
246
|
-
assert.isEqual(this.appendChildParams?.[0], this.fakeDesc)
|
|
247
|
-
assert.isEqual(this.appendChildParams?.[1], 'channels')
|
|
255
|
+
assert.isEqual(this.appendChildParams?.[0][0], this.fakeDesc)
|
|
256
|
+
assert.isEqual(this.appendChildParams?.[0][1], 'channels')
|
|
257
|
+
|
|
258
|
+
assert.isEqual(this.appendChildParams?.[1][0], this.fakeChildNamedChannels)
|
|
259
|
+
assert.isEqual(this.appendChildParams?.[1][1], 'channel')
|
|
248
260
|
|
|
249
261
|
assert.isLength(this.appendChildValueParams, 3)
|
|
250
262
|
|
|
251
263
|
for (let i = 0; i < 3; i++) {
|
|
252
264
|
const param = this.appendChildValueParams[i]
|
|
253
|
-
assert.isEqual(param[0], this.
|
|
265
|
+
assert.isEqual(param[0], this.fakeChildNamedChannel)
|
|
254
266
|
}
|
|
255
267
|
|
|
256
268
|
assert.isEqual(this.appendChildValueParams[0][1], 'label')
|
|
@@ -267,8 +279,12 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
267
279
|
const info = this.createRandomStreamInfo()
|
|
268
280
|
const channel1 = this.generateRandomChannelValues()
|
|
269
281
|
const channel2 = this.generateRandomChannelValues()
|
|
282
|
+
|
|
270
283
|
this.lsl.appendChannelsToStreamInfo(info, [channel1, channel2])
|
|
271
284
|
|
|
285
|
+
assert.isEqual(this.appendChildParams?.[2][0], this.fakeChildNamedChannels)
|
|
286
|
+
assert.isEqual(this.appendChildParams?.[2][1], 'channel')
|
|
287
|
+
|
|
272
288
|
assert.isEqual(this.appendChildValueParams[3][2], channel2.label)
|
|
273
289
|
assert.isEqual(this.appendChildValueParams[4][2], channel2.unit)
|
|
274
290
|
assert.isEqual(this.appendChildValueParams[5][2], channel2.type)
|