@neurodevs/node-lsl 14.0.1 → 14.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/__tests__/impl/LiblslAdapter.test.d.ts +7 -5
- package/build/__tests__/impl/LiblslAdapter.test.js +27 -10
- package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -1
- package/build/__tests__/impl/LslEventMarkerOutlet.test.d.ts +1 -0
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js +7 -0
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInfo.test.d.ts +1 -0
- package/build/__tests__/impl/LslStreamInfo.test.js +8 -1
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +1 -0
- package/build/__tests__/impl/LslStreamInlet.test.js +8 -1
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamOutlet.test.d.ts +1 -0
- package/build/__tests__/impl/LslStreamOutlet.test.js +8 -0
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
- package/build/impl/LiblslAdapter.d.ts +8 -2
- package/build/impl/LiblslAdapter.js +10 -1
- package/build/impl/LiblslAdapter.js.map +1 -1
- package/build/impl/LslEventMarkerOutlet.d.ts +2 -0
- package/build/impl/LslEventMarkerOutlet.js +3 -0
- package/build/impl/LslEventMarkerOutlet.js.map +1 -1
- package/build/impl/LslStreamInfo.d.ts +12 -10
- package/build/impl/LslStreamInfo.js +18 -17
- package/build/impl/LslStreamInfo.js.map +1 -1
- package/build/impl/LslStreamInlet.d.ts +3 -1
- package/build/impl/LslStreamInlet.js +12 -6
- package/build/impl/LslStreamInlet.js.map +1 -1
- package/build/impl/LslStreamOutlet.d.ts +3 -1
- package/build/impl/LslStreamOutlet.js +8 -3
- package/build/impl/LslStreamOutlet.js.map +1 -1
- package/build/impl/LslWebSocketBridge.d.ts +1 -1
- package/build/impl/LslWebSocketBridge.js +2 -2
- package/build/impl/LslWebSocketBridge.js.map +1 -1
- package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +3 -1
- package/build/testDoubles/Liblsl/FakeLiblsl.js +4 -0
- package/build/testDoubles/Liblsl/FakeLiblsl.js.map +1 -1
- package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +2 -0
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js +5 -0
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js +2 -2
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/impl/LiblslAdapter.test.ts +27 -5
- package/src/__tests__/impl/LslEventMarkerOutlet.test.ts +11 -0
- package/src/__tests__/impl/LslStreamInfo.test.ts +12 -1
- package/src/__tests__/impl/LslStreamInlet.test.ts +12 -1
- package/src/__tests__/impl/LslStreamOutlet.test.ts +12 -0
- package/src/impl/LiblslAdapter.ts +20 -4
- package/src/impl/LslEventMarkerOutlet.ts +5 -0
- package/src/impl/LslStreamInfo.ts +24 -21
- package/src/impl/LslStreamInlet.ts +15 -8
- package/src/impl/LslStreamOutlet.ts +10 -3
- package/src/impl/LslWebSocketBridge.ts +2 -2
- package/src/testDoubles/Liblsl/FakeLiblsl.ts +6 -0
- package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +7 -0
- package/src/testDoubles/StreamInfo/SpyStreamInfo.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslEventMarkerOutlet.js","sourceRoot":"","sources":["../../src/impl/LslEventMarkerOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,eAGN,MAAM,sBAAsB,CAAA;AAE7B,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAC9B,MAAM,CAAC,KAAK,CAA+B;IAExC,MAAM,CAAc;IACtB,SAAS,GAAG,KAAK,CAAA;IACjB,WAAW,CAAa;IACxB,OAAO,CAAM;IAErB,YAAsB,MAAoB;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAsC;QAC7D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;SACI,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;YACxC,GAAG,cAAc;YACjB,GAAG,OAAO;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,UAAU,CAAC,UAAkB;QAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAE7B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IACxC,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,UAAkB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IACzE,CAAC;IAEO,UAAU,CAAC,OAAiC,EAAE,UAAkB;QACpE,IAAI,CAAC,WAAW,GAAG,OAAc,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"LslEventMarkerOutlet.js","sourceRoot":"","sources":["../../src/impl/LslEventMarkerOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,eAGN,MAAM,sBAAsB,CAAA;AAE7B,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAC9B,MAAM,CAAC,KAAK,CAA+B;IAExC,MAAM,CAAc;IACtB,SAAS,GAAG,KAAK,CAAA;IACjB,WAAW,CAAa;IACxB,OAAO,CAAM;IAErB,YAAsB,MAAoB;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAsC;QAC7D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;SACI,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;YACxC,GAAG,cAAc;YACjB,GAAG,OAAO;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,UAAU,CAAC,UAAkB;QAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAE7B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IACxC,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,UAAkB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IACzE,CAAC;IAEO,UAAU,CAAC,OAAiC,EAAE,UAAkB;QACpE,IAAI,CAAC,WAAW,GAAG,OAAc,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ"}
|
|
@@ -5,25 +5,27 @@ export default class LslStreamInfo implements StreamInfo {
|
|
|
5
5
|
protected type: string;
|
|
6
6
|
protected sourceId: string;
|
|
7
7
|
protected units: string;
|
|
8
|
-
protected
|
|
8
|
+
protected boundInfo: BoundStreamInfo;
|
|
9
9
|
private channelNames;
|
|
10
10
|
private channelFormat;
|
|
11
11
|
private sampleRateHz;
|
|
12
|
-
|
|
13
|
-
static Create(options: StreamInfoOptions): LslStreamInfo | StreamInfo;
|
|
14
|
-
private createStreamInfo;
|
|
15
|
-
private appendChannelsToStreamInfo;
|
|
16
|
-
get boundStreamInfo(): BoundStreamInfo;
|
|
17
|
-
private get channelCount();
|
|
18
|
-
private get lslChannelFormat();
|
|
19
|
-
private get lsl();
|
|
12
|
+
private lsl;
|
|
20
13
|
private readonly defaultName;
|
|
21
14
|
private readonly defaultType;
|
|
22
15
|
private readonly defaultSourceId;
|
|
23
16
|
private readonly defaultUnits;
|
|
17
|
+
protected constructor(options: StreamInfoOptions);
|
|
18
|
+
static Create(options: StreamInfoOptions): StreamInfo;
|
|
19
|
+
private createStreamInfo;
|
|
20
|
+
private get channelCount();
|
|
21
|
+
private get lslChannelFormat();
|
|
22
|
+
private appendChannelsToStreamInfo;
|
|
23
|
+
destroy(): void;
|
|
24
|
+
get boundStreamInfo(): BoundStreamInfo;
|
|
24
25
|
}
|
|
25
26
|
export interface StreamInfo {
|
|
26
|
-
|
|
27
|
+
destroy(): void;
|
|
28
|
+
readonly boundStreamInfo: BoundStreamInfo;
|
|
27
29
|
}
|
|
28
30
|
type StreamInfoConstructor = new (options: StreamInfoOptions) => StreamInfo;
|
|
29
31
|
export interface StreamInfoOptions {
|
|
@@ -7,10 +7,15 @@ export default class LslStreamInfo {
|
|
|
7
7
|
type;
|
|
8
8
|
sourceId;
|
|
9
9
|
units;
|
|
10
|
-
|
|
10
|
+
boundInfo;
|
|
11
11
|
channelNames;
|
|
12
12
|
channelFormat;
|
|
13
13
|
sampleRateHz;
|
|
14
|
+
lsl = LiblslAdapter.getInstance();
|
|
15
|
+
defaultName = `lsl-stream-info-${generateId()}`;
|
|
16
|
+
defaultType = generateId();
|
|
17
|
+
defaultSourceId = generateId();
|
|
18
|
+
defaultUnits = 'N/A';
|
|
14
19
|
constructor(options) {
|
|
15
20
|
const { name = this.defaultName, type = this.defaultType, sourceId = this.defaultSourceId, channelNames, channelFormat, sampleRateHz, units = this.defaultUnits, } = options;
|
|
16
21
|
this.name = name;
|
|
@@ -27,7 +32,7 @@ export default class LslStreamInfo {
|
|
|
27
32
|
return new (this.Class ?? this)(options);
|
|
28
33
|
}
|
|
29
34
|
createStreamInfo() {
|
|
30
|
-
this.
|
|
35
|
+
this.boundInfo = this.lsl.createStreamInfo({
|
|
31
36
|
name: this.name,
|
|
32
37
|
type: this.type,
|
|
33
38
|
sourceId: this.sourceId,
|
|
@@ -36,9 +41,15 @@ export default class LslStreamInfo {
|
|
|
36
41
|
sampleRateHz: this.sampleRateHz,
|
|
37
42
|
});
|
|
38
43
|
}
|
|
44
|
+
get channelCount() {
|
|
45
|
+
return this.channelNames.length;
|
|
46
|
+
}
|
|
47
|
+
get lslChannelFormat() {
|
|
48
|
+
return CHANNEL_FORMATS_MAP[this.channelFormat];
|
|
49
|
+
}
|
|
39
50
|
appendChannelsToStreamInfo() {
|
|
40
51
|
this.lsl.appendChannelsToStreamInfo({
|
|
41
|
-
info: this.
|
|
52
|
+
info: this.boundInfo,
|
|
42
53
|
channels: this.channelNames.map((label) => ({
|
|
43
54
|
label,
|
|
44
55
|
units: this.units,
|
|
@@ -46,21 +57,11 @@ export default class LslStreamInfo {
|
|
|
46
57
|
})),
|
|
47
58
|
});
|
|
48
59
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
get channelCount() {
|
|
53
|
-
return this.channelNames.length;
|
|
54
|
-
}
|
|
55
|
-
get lslChannelFormat() {
|
|
56
|
-
return CHANNEL_FORMATS_MAP[this.channelFormat];
|
|
60
|
+
destroy() {
|
|
61
|
+
this.lsl.destroyStreamInfo({ info: this.boundInfo });
|
|
57
62
|
}
|
|
58
|
-
get
|
|
59
|
-
return
|
|
63
|
+
get boundStreamInfo() {
|
|
64
|
+
return this.boundInfo;
|
|
60
65
|
}
|
|
61
|
-
defaultName = `lsl-stream-info-${generateId()}`;
|
|
62
|
-
defaultType = generateId();
|
|
63
|
-
defaultSourceId = generateId();
|
|
64
|
-
defaultUnits = 'N/A';
|
|
65
66
|
}
|
|
66
67
|
//# sourceMappingURL=LslStreamInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/impl/LslStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAE9C,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,KAAK,CAAwB;IAEjC,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,QAAQ,CAAQ;IAChB,KAAK,CAAQ;IACb,
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/impl/LslStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAE9C,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,KAAK,CAAwB;IAEjC,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,QAAQ,CAAQ;IAChB,KAAK,CAAQ;IACb,SAAS,CAAkB;IAC7B,YAAY,CAAU;IACtB,aAAa,CAAe;IAC5B,YAAY,CAAQ;IAEpB,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAExB,WAAW,GAAG,mBAAmB,UAAU,EAAE,EAAE,CAAA;IAC/C,WAAW,GAAG,UAAU,EAAE,CAAA;IAC1B,eAAe,GAAG,UAAU,EAAE,CAAA;IAC9B,YAAY,GAAG,KAAK,CAAA;IAErC,YAAsB,OAA0B;QAC5C,MAAM,EACF,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,QAAQ,GAAG,IAAI,CAAC,eAAe,EAC/B,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,KAAK,GAAG,IAAI,CAAC,YAAY,GAC5B,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,0BAA0B,EAAE,CAAA;IACrC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA0B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAA;IACN,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAY,gBAAgB;QACxB,OAAO,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAEO,0BAA0B;QAC9B,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;SACN,CAAC,CAAA;IACN,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;CACJ"}
|
|
@@ -25,6 +25,7 @@ export default class LslStreamInlet implements StreamInlet {
|
|
|
25
25
|
protected constructor(info: StreamInfo, options: StreamInletOptions, onData: OnDataCallback);
|
|
26
26
|
static Create(options: StreamInletOptions, onData: OnDataCallback): StreamInlet;
|
|
27
27
|
private createBoundInlet;
|
|
28
|
+
private get boundStreamInfo();
|
|
28
29
|
startPulling(): void;
|
|
29
30
|
private createWriteableBuffers;
|
|
30
31
|
private createDataBuffer;
|
|
@@ -45,7 +46,8 @@ export default class LslStreamInlet implements StreamInlet {
|
|
|
45
46
|
stopPulling(): void;
|
|
46
47
|
flushQueue(): void;
|
|
47
48
|
destroy(): void;
|
|
48
|
-
private
|
|
49
|
+
private destroyBoundStreamInfo;
|
|
50
|
+
private destroyBoundInlet;
|
|
49
51
|
private static LslStreamInfo;
|
|
50
52
|
}
|
|
51
53
|
export interface StreamInlet {
|
|
@@ -15,7 +15,7 @@ export default class LslStreamInlet {
|
|
|
15
15
|
timeoutMs;
|
|
16
16
|
onData;
|
|
17
17
|
pullDataMethod;
|
|
18
|
-
lsl;
|
|
18
|
+
lsl = LiblslAdapter.getInstance();
|
|
19
19
|
inlet;
|
|
20
20
|
dataBuffer;
|
|
21
21
|
dataBufferPtr;
|
|
@@ -41,7 +41,6 @@ export default class LslStreamInlet {
|
|
|
41
41
|
else {
|
|
42
42
|
this.pullDataMethod = this.pullChunk;
|
|
43
43
|
}
|
|
44
|
-
this.lsl = this.getLiblslSingleton();
|
|
45
44
|
this.createBoundInlet();
|
|
46
45
|
}
|
|
47
46
|
static Create(options, onData) {
|
|
@@ -52,11 +51,14 @@ export default class LslStreamInlet {
|
|
|
52
51
|
}
|
|
53
52
|
createBoundInlet() {
|
|
54
53
|
this.inlet = this.lsl.createInlet({
|
|
55
|
-
info: this.
|
|
54
|
+
info: this.boundStreamInfo,
|
|
56
55
|
chunkSize: this.chunkSize,
|
|
57
56
|
maxBufferedMs: this.maxBufferedMs / 1000,
|
|
58
57
|
});
|
|
59
58
|
}
|
|
59
|
+
get boundStreamInfo() {
|
|
60
|
+
return this.info.boundStreamInfo;
|
|
61
|
+
}
|
|
60
62
|
startPulling() {
|
|
61
63
|
this.isRunning = true;
|
|
62
64
|
this.createWriteableBuffers();
|
|
@@ -171,10 +173,14 @@ export default class LslStreamInlet {
|
|
|
171
173
|
this.lsl.flushInlet({ inlet: this.inlet });
|
|
172
174
|
}
|
|
173
175
|
destroy() {
|
|
174
|
-
this.
|
|
176
|
+
this.destroyBoundStreamInfo();
|
|
177
|
+
this.destroyBoundInlet();
|
|
175
178
|
}
|
|
176
|
-
|
|
177
|
-
|
|
179
|
+
destroyBoundStreamInfo() {
|
|
180
|
+
this.lsl.destroyStreamInfo({ info: this.boundStreamInfo });
|
|
181
|
+
}
|
|
182
|
+
destroyBoundInlet() {
|
|
183
|
+
this.lsl.destroyInlet({ inlet: this.inlet });
|
|
178
184
|
}
|
|
179
185
|
static LslStreamInfo(options) {
|
|
180
186
|
return LslStreamInfo.Create(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamInlet.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAc,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3E,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAE3C,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,aAGN,MAAM,oBAAoB,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,cAAc;IACxB,MAAM,CAAC,KAAK,CAAyB;IAErC,SAAS,GAAG,KAAK,CAAA;IAEd,IAAI,CAAY;IAChB,IAAI,CAAQ;IACd,YAAY,CAAU;IACtB,YAAY,CAAQ;IACpB,SAAS,CAAQ;IACjB,aAAa,CAAQ;IACrB,SAAS,CAAQ;IAEjB,MAAM,CAAgB;IAEtB,cAAc,CAGrB;IAEO,GAAG,
|
|
1
|
+
{"version":3,"file":"LslStreamInlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamInlet.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export default class LslStreamOutlet implements StreamOutlet {
|
|
|
16
16
|
private info;
|
|
17
17
|
private outlet;
|
|
18
18
|
private pushSampleMethod;
|
|
19
|
+
private lsl;
|
|
19
20
|
protected constructor(info: StreamInfo, options: StreamOutletOptions);
|
|
20
21
|
static Create(options: StreamOutletOptions): Promise<StreamOutlet>;
|
|
21
22
|
private validateOptions;
|
|
@@ -29,7 +30,8 @@ export default class LslStreamOutlet implements StreamOutlet {
|
|
|
29
30
|
private readonly methodMap;
|
|
30
31
|
pushSample(sample: LslSample): void;
|
|
31
32
|
destroy(): void;
|
|
32
|
-
private
|
|
33
|
+
private destroyBoundStreamInfo;
|
|
34
|
+
private destroyBoundOutlet;
|
|
33
35
|
private static waitToAllowSetup;
|
|
34
36
|
private static LslStreamInfo;
|
|
35
37
|
}
|
|
@@ -18,6 +18,7 @@ export default class LslStreamOutlet {
|
|
|
18
18
|
info;
|
|
19
19
|
outlet;
|
|
20
20
|
pushSampleMethod;
|
|
21
|
+
lsl = LiblslAdapter.getInstance();
|
|
21
22
|
constructor(info, options) {
|
|
22
23
|
const { name, type, sourceId, channelNames, channelFormat, sampleRateHz, chunkSize, maxBufferedMs, manufacturer, units, } = options;
|
|
23
24
|
this.info = info;
|
|
@@ -92,10 +93,14 @@ export default class LslStreamOutlet {
|
|
|
92
93
|
handleError(err);
|
|
93
94
|
}
|
|
94
95
|
destroy() {
|
|
95
|
-
this.
|
|
96
|
+
this.destroyBoundStreamInfo();
|
|
97
|
+
this.destroyBoundOutlet();
|
|
98
|
+
}
|
|
99
|
+
destroyBoundStreamInfo() {
|
|
100
|
+
this.lsl.destroyStreamInfo({ info: this.boundStreamInfo });
|
|
96
101
|
}
|
|
97
|
-
|
|
98
|
-
|
|
102
|
+
destroyBoundOutlet() {
|
|
103
|
+
this.lsl.destroyOutlet({ outlet: this.outlet });
|
|
99
104
|
}
|
|
100
105
|
static async waitToAllowSetup(waitAfterConstructionMs) {
|
|
101
106
|
await new Promise((resolve) => setTimeout(resolve, waitAfterConstructionMs));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,GAC1B,MAAM,kBAAkB,CAAA;AACzB,OAAO,WAA6B,MAAM,mBAAmB,CAAA;AAO7D,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,aAGN,MAAM,oBAAoB,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,eAAe;IACzB,MAAM,CAAC,KAAK,CAA0B;IAE7B,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,QAAQ,CAAQ;IAChB,YAAY,CAAU;IACtB,aAAa,CAAe;IAC5B,YAAY,CAAQ;IACpB,YAAY,CAAQ;IACpB,SAAS,CAAQ;IACjB,aAAa,GAAG,GAAG,GAAG,IAAI,CAAA;IAC1B,YAAY,GAAW,KAAK,CAAA;IAC5B,KAAK,GAAW,KAAK,CAAA;IAE7B,IAAI,CAAY;IAChB,MAAM,CAAc;IACpB,gBAAgB,CAAqC;
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamOutlet.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export default class LslWebSocketBridge implements WebSocketBridge {
|
|
|
15
15
|
deactivate(): void;
|
|
16
16
|
private stopPullingData;
|
|
17
17
|
destroy(): void;
|
|
18
|
-
private
|
|
18
|
+
private destroyBoundInlet;
|
|
19
19
|
private closeWebSocketServer;
|
|
20
20
|
private static createOnDataCallback;
|
|
21
21
|
private static broadcastToClients;
|
|
@@ -36,11 +36,11 @@ export default class LslWebSocketBridge {
|
|
|
36
36
|
this.inlet.stopPulling();
|
|
37
37
|
}
|
|
38
38
|
destroy() {
|
|
39
|
-
this.
|
|
39
|
+
this.destroyBoundInlet();
|
|
40
40
|
this.closeWebSocketServer();
|
|
41
41
|
this.isDestroyed = true;
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
destroyBoundInlet() {
|
|
44
44
|
this.inlet.destroy();
|
|
45
45
|
}
|
|
46
46
|
closeWebSocketServer() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslWebSocketBridge.js","sourceRoot":"","sources":["../../src/impl/LslWebSocketBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAEpC,OAAO,cAA+B,MAAM,qBAAqB,CAAA;AAEjE,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC5B,MAAM,CAAC,KAAK,CAA6B;IACzC,MAAM,CAAC,GAAG,GAAG,eAAe,CAAA;IAE3B,KAAK,CAAa;IAClB,GAAG,CAAiB;IACpB,WAAW,GAAG,KAAK,CAAA;IAE3B,YAAsB,OAA0C;QAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;QAE9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA+B;QAChD,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAC/D,CAAC;IAEM,QAAQ;QACX,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAC3B,CAAC;IAEO,wBAAwB;QAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACX,wGAAwG,CAC3G,CAAA;QACL,CAAC;IACL,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;IAC7B,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,eAAe,EAAE,CAAA;IAC1B,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"LslWebSocketBridge.js","sourceRoot":"","sources":["../../src/impl/LslWebSocketBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoundOutlet, BoundStreamInfo, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, PushSampleFloatTimestampOptions, PushSampleStringTimestampOptions, Liblsl, CreateInletOptions, DestroyInletOptions, BoundInlet, FlushInletOptions, PullChunkOptions, PullSampleOptions } from 'impl/LiblslAdapter.js';
|
|
1
|
+
import { BoundOutlet, BoundStreamInfo, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, PushSampleFloatTimestampOptions, PushSampleStringTimestampOptions, Liblsl, CreateInletOptions, DestroyInletOptions, BoundInlet, FlushInletOptions, PullChunkOptions, PullSampleOptions, DestroyStreamInfoOptions } from 'impl/LiblslAdapter.js';
|
|
2
2
|
export default class FakeLiblsl implements Liblsl {
|
|
3
3
|
static fakeSamples: Float32Array[];
|
|
4
4
|
static fakeChunks: Float32Array[];
|
|
@@ -11,6 +11,7 @@ export default class FakeLiblsl implements Liblsl {
|
|
|
11
11
|
outlet: BoundOutlet;
|
|
12
12
|
streamInfo: BoundStreamInfo;
|
|
13
13
|
lastCreateStreamInfoOptions?: CreateStreamInfoOptions;
|
|
14
|
+
lastDestroyStreamInfoOptions?: DestroyStreamInfoOptions;
|
|
14
15
|
lastAppendChannelsToStreamInfoOptions?: AppendChannelsToStreamInfoOptions;
|
|
15
16
|
lastCreateOutletOptions?: CreateOutletOptions;
|
|
16
17
|
lastPushSampleFloatTimestampOptions?: PushSampleFloatTimestampOptions;
|
|
@@ -29,6 +30,7 @@ export default class FakeLiblsl implements Liblsl {
|
|
|
29
30
|
localClockHitCount: number;
|
|
30
31
|
pushSampleStringTimestampHitCount: number;
|
|
31
32
|
createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo;
|
|
33
|
+
destroyStreamInfo(options: DestroyStreamInfoOptions): void;
|
|
32
34
|
appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
|
|
33
35
|
pushSampleFloatTimestamp(options: PushSampleFloatTimestampOptions): number;
|
|
34
36
|
pushSampleStringTimestamp(options: PushSampleStringTimestampOptions): number;
|
|
@@ -20,6 +20,7 @@ export default class FakeLiblsl {
|
|
|
20
20
|
outlet = {};
|
|
21
21
|
streamInfo = {};
|
|
22
22
|
lastCreateStreamInfoOptions;
|
|
23
|
+
lastDestroyStreamInfoOptions;
|
|
23
24
|
lastAppendChannelsToStreamInfoOptions;
|
|
24
25
|
lastCreateOutletOptions;
|
|
25
26
|
lastPushSampleFloatTimestampOptions;
|
|
@@ -42,6 +43,9 @@ export default class FakeLiblsl {
|
|
|
42
43
|
this.lastCreateStreamInfoOptions = options;
|
|
43
44
|
return this.streamInfo;
|
|
44
45
|
}
|
|
46
|
+
destroyStreamInfo(options) {
|
|
47
|
+
this.lastDestroyStreamInfoOptions = options;
|
|
48
|
+
}
|
|
45
49
|
appendChannelsToStreamInfo(options) {
|
|
46
50
|
this.lastAppendChannelsToStreamInfoOptions = options;
|
|
47
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeLiblsl.js","sourceRoot":"","sources":["../../../src/testDoubles/Liblsl/FakeLiblsl.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"FakeLiblsl.js","sourceRoot":"","sources":["../../../src/testDoubles/Liblsl/FakeLiblsl.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,10 @@ import { BoundStreamInfo } from 'impl/LiblslAdapter.js';
|
|
|
2
2
|
import { StreamInfo, StreamInfoOptions } from '../../impl/LslStreamInfo.js';
|
|
3
3
|
export default class FakeStreamInfo implements StreamInfo {
|
|
4
4
|
static callsToConstructor: StreamInfoOptions[];
|
|
5
|
+
static numCallsToDestroy: number;
|
|
5
6
|
static boundStreamInfo: BoundStreamInfo;
|
|
6
7
|
constructor(options: StreamInfoOptions);
|
|
8
|
+
destroy(): void;
|
|
7
9
|
get boundStreamInfo(): BoundStreamInfo;
|
|
8
10
|
static resetTestDouble(): void;
|
|
9
11
|
}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
export default class FakeStreamInfo {
|
|
2
2
|
static callsToConstructor = [];
|
|
3
|
+
static numCallsToDestroy = 0;
|
|
3
4
|
static boundStreamInfo = {};
|
|
4
5
|
constructor(options) {
|
|
5
6
|
FakeStreamInfo.callsToConstructor.push(options);
|
|
6
7
|
}
|
|
8
|
+
destroy() {
|
|
9
|
+
FakeStreamInfo.numCallsToDestroy++;
|
|
10
|
+
}
|
|
7
11
|
get boundStreamInfo() {
|
|
8
12
|
return FakeStreamInfo.boundStreamInfo;
|
|
9
13
|
}
|
|
10
14
|
static resetTestDouble() {
|
|
11
15
|
FakeStreamInfo.callsToConstructor = [];
|
|
16
|
+
FakeStreamInfo.numCallsToDestroy = 0;
|
|
12
17
|
}
|
|
13
18
|
}
|
|
14
19
|
//# sourceMappingURL=FakeStreamInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeStreamInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInfo/FakeStreamInfo.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,cAAc;IACxB,MAAM,CAAC,kBAAkB,GAAwB,EAAE,CAAA;IACnD,MAAM,CAAC,eAAe,GAAG,EAAqB,CAAA;IAErD,YAAmB,OAA0B;QACzC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,cAAc,CAAC,eAAe,CAAA;IACzC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,cAAc,CAAC,kBAAkB,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"FakeStreamInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInfo/FakeStreamInfo.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,cAAc;IACxB,MAAM,CAAC,kBAAkB,GAAwB,EAAE,CAAA;IACnD,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,MAAM,CAAC,eAAe,GAAG,EAAqB,CAAA;IAErD,YAAmB,OAA0B;QACzC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAEM,OAAO;QACV,cAAc,CAAC,iBAAiB,EAAE,CAAA;IACtC,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,cAAc,CAAC,eAAe,CAAA;IACzC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,cAAc,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACtC,cAAc,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACxC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import LslStreamInfo, { StreamInfoOptions } from '../../impl/LslStreamInfo.js';
|
|
2
2
|
export default class SpyStreamInfo extends LslStreamInfo {
|
|
3
3
|
constructor(options: StreamInfoOptions);
|
|
4
|
-
|
|
4
|
+
getBoundInfo(): import("../../index.js").BoundStreamInfo;
|
|
5
5
|
getName(): string;
|
|
6
6
|
getType(): string;
|
|
7
7
|
getSourceId(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpyStreamInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInfo/SpyStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAoC,MAAM,6BAA6B,CAAA;AAE9E,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa;IACpD,YAAmB,OAA0B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAEM,
|
|
1
|
+
{"version":3,"file":"SpyStreamInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInfo/SpyStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAoC,MAAM,6BAA6B,CAAA;AAE9E,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa;IACpD,YAAmB,OAA0B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -33,7 +33,9 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
33
33
|
private static fakeInlet: BoundInlet = {}
|
|
34
34
|
private static fakeDesc: BoundDescription
|
|
35
35
|
private static fakeChildNamedChannels: BoundChild
|
|
36
|
+
|
|
36
37
|
private static createStreamInfoParams?: any[]
|
|
38
|
+
private static destroyStreamInfoParams?: any[]
|
|
37
39
|
private static appendChildParams: any[] = []
|
|
38
40
|
private static createOutletParams?: any[]
|
|
39
41
|
private static destroyOutletParams?: any[]
|
|
@@ -162,6 +164,11 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
162
164
|
DataType.String,
|
|
163
165
|
],
|
|
164
166
|
},
|
|
167
|
+
lsl_destroy_streaminfo: {
|
|
168
|
+
library: 'lsl',
|
|
169
|
+
retType: DataType.Void,
|
|
170
|
+
paramsType: [DataType.External],
|
|
171
|
+
},
|
|
165
172
|
lsl_create_outlet: {
|
|
166
173
|
library: 'lsl',
|
|
167
174
|
retType: DataType.External,
|
|
@@ -233,7 +240,7 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
233
240
|
}
|
|
234
241
|
|
|
235
242
|
@test()
|
|
236
|
-
protected static async
|
|
243
|
+
protected static async createsStreamInfoWithRequiredParams() {
|
|
237
244
|
const options = this.generateRandomCreateStreamInfoOptions()
|
|
238
245
|
const actual = this.instance.createStreamInfo(options)
|
|
239
246
|
|
|
@@ -242,7 +249,19 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
242
249
|
}
|
|
243
250
|
|
|
244
251
|
@test()
|
|
245
|
-
protected static async
|
|
252
|
+
protected static async destroysStreamInfoWithBoundInfo() {
|
|
253
|
+
const info = this.createRandomStreamInfo()
|
|
254
|
+
this.instance.destroyStreamInfo({ info })
|
|
255
|
+
|
|
256
|
+
assert.isEqualDeep(
|
|
257
|
+
this.destroyStreamInfoParams,
|
|
258
|
+
[info],
|
|
259
|
+
'Did not call destroyStreamInfo with expected params!'
|
|
260
|
+
)
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
@test()
|
|
264
|
+
protected static async createsOutletWithRequiredParams() {
|
|
246
265
|
const { options, outlet } = this.createRandomOutlet()
|
|
247
266
|
|
|
248
267
|
const expected = {
|
|
@@ -255,7 +274,7 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
255
274
|
}
|
|
256
275
|
|
|
257
276
|
@test()
|
|
258
|
-
protected static async
|
|
277
|
+
protected static async pushesFloatSample() {
|
|
259
278
|
const expected = [1.0, 2.0, 3.0]
|
|
260
279
|
const timestamp = randomInt(100)
|
|
261
280
|
const options = {
|
|
@@ -273,7 +292,7 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
273
292
|
}
|
|
274
293
|
|
|
275
294
|
@test()
|
|
276
|
-
protected static async
|
|
295
|
+
protected static async pushesStringSample() {
|
|
277
296
|
const expected = [this.generateId()]
|
|
278
297
|
const timestamp = randomInt(100)
|
|
279
298
|
const options = {
|
|
@@ -386,7 +405,7 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
386
405
|
}
|
|
387
406
|
|
|
388
407
|
@test()
|
|
389
|
-
protected static async
|
|
408
|
+
protected static async createInletWithRequiredParams() {
|
|
390
409
|
const { options, inlet } = this.createRandomInlet()
|
|
391
410
|
|
|
392
411
|
const expected = {
|
|
@@ -604,6 +623,9 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
|
604
623
|
this.createStreamInfoParams = params
|
|
605
624
|
return this.fakeStreamInfo
|
|
606
625
|
},
|
|
626
|
+
lsl_destroy_streaminfo: (params: any[]) => {
|
|
627
|
+
this.destroyStreamInfoParams = params
|
|
628
|
+
},
|
|
607
629
|
lsl_create_outlet: (params: any[]) => {
|
|
608
630
|
this.createOutletParams = params
|
|
609
631
|
return this.fakeOutlet
|
|
@@ -148,6 +148,17 @@ export default class EventMarkerOutletTest extends AbstractPackageTest {
|
|
|
148
148
|
assert.isEqual(FakeStreamOutlet.callsToPushSample[0][0], markerName)
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
@test()
|
|
152
|
+
protected static async destroyCallsDestroyOnInternalStreamOutlet() {
|
|
153
|
+
this.instance.destroy()
|
|
154
|
+
|
|
155
|
+
assert.isEqual(
|
|
156
|
+
FakeStreamOutlet.numCallsToDestroy,
|
|
157
|
+
1,
|
|
158
|
+
'Did not call destroy on outlet!'
|
|
159
|
+
)
|
|
160
|
+
}
|
|
161
|
+
|
|
151
162
|
private static get streamOutlet() {
|
|
152
163
|
return this.instance.getStreamOutlet()
|
|
153
164
|
}
|
|
@@ -170,7 +170,7 @@ export default class LslStreamInfoTest extends AbstractPackageTest {
|
|
|
170
170
|
assert.isEqualDeep(
|
|
171
171
|
this.fakeLiblsl.lastAppendChannelsToStreamInfoOptions,
|
|
172
172
|
{
|
|
173
|
-
info: this.instance.
|
|
173
|
+
info: this.instance.getBoundInfo(),
|
|
174
174
|
channels: this.channelNames.map((label: string) => ({
|
|
175
175
|
label,
|
|
176
176
|
units: this.units,
|
|
@@ -181,6 +181,17 @@ export default class LslStreamInfoTest extends AbstractPackageTest {
|
|
|
181
181
|
)
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
@test()
|
|
185
|
+
protected static async callsBindingsToDestroyStreamInfo() {
|
|
186
|
+
this.instance.destroy()
|
|
187
|
+
|
|
188
|
+
assert.isEqualDeep(
|
|
189
|
+
this.fakeLiblsl.lastDestroyStreamInfoOptions?.info,
|
|
190
|
+
this.instance.getBoundInfo(),
|
|
191
|
+
'Should have called destroyStreamInfo!'
|
|
192
|
+
)
|
|
193
|
+
}
|
|
194
|
+
|
|
184
195
|
private static readonly defaultOptions = {
|
|
185
196
|
name: this.generateId(),
|
|
186
197
|
type: this.generateId(),
|
|
@@ -90,7 +90,18 @@ export default class LslStreamInletTest extends AbstractPackageTest {
|
|
|
90
90
|
assert.isEqualDeep(
|
|
91
91
|
this.fakeLiblsl.lastDestroyInletOptions,
|
|
92
92
|
{ inlet: this.boundInlet },
|
|
93
|
-
'
|
|
93
|
+
'Did not destroy inlet!'
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@test()
|
|
98
|
+
protected static async destroyAlsoCallsDestroyStreamInfo() {
|
|
99
|
+
this.instance.destroy()
|
|
100
|
+
|
|
101
|
+
assert.isEqualDeep(
|
|
102
|
+
this.fakeLiblsl.lastDestroyStreamInfoOptions,
|
|
103
|
+
{ info: this.instance.getStreamInfo().boundStreamInfo },
|
|
104
|
+
'Did not destroy stream info!'
|
|
94
105
|
)
|
|
95
106
|
}
|
|
96
107
|
|