@neurodevs/node-lsl 7.0.0 → 7.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/implementations/TimeMarkerOutlet.d.ts +2 -1
- package/build/implementations/TimeMarkerOutlet.js +0 -1
- package/build/implementations/TimeMarkerOutlet.js.map +1 -1
- package/build/nodeLsl.types.d.ts +1 -1
- package/build/nodeLsl.types.js.map +1 -1
- package/build/testDoubles/MockTimeMarkerOutlet.d.ts +6 -2
- package/build/testDoubles/MockTimeMarkerOutlet.js +20 -3
- package/build/testDoubles/MockTimeMarkerOutlet.js.map +1 -1
- package/build/testDoubles/SpyImplementsTimeMarkerOutlet.d.ts +1 -2
- package/build/testDoubles/SpyImplementsTimeMarkerOutlet.js +0 -3
- package/build/testDoubles/SpyImplementsTimeMarkerOutlet.js.map +1 -1
- package/package.json +1 -1
- package/src/implementations/TimeMarkerOutlet.ts +3 -1
- package/src/nodeLsl.types.ts +3 -1
- package/src/testDoubles/MockTimeMarkerOutlet.ts +31 -4
- package/src/testDoubles/SpyImplementsTimeMarkerOutlet.ts +1 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { TimeMarkerOutlet, LslOutletOptions, DurationMarker } from '../nodeLsl.types';
|
|
1
|
+
import { TimeMarkerOutlet, LslOutletOptions, DurationMarker, TimeMarkerOutletConstructor } from '../nodeLsl.types';
|
|
2
2
|
import LslOutletImpl from './LslOutlet';
|
|
3
3
|
export default class TimeMarkerOutletImpl extends LslOutletImpl implements TimeMarkerOutlet {
|
|
4
|
+
static Class?: TimeMarkerOutletConstructor;
|
|
4
5
|
private isPlaying;
|
|
5
6
|
private waitResolve?;
|
|
6
7
|
private timeout?;
|
|
@@ -23,7 +23,6 @@ class TimeMarkerOutletImpl extends LslOutlet_1.default {
|
|
|
23
23
|
chunkSize: 0,
|
|
24
24
|
maxBuffered: 0,
|
|
25
25
|
};
|
|
26
|
-
//@ts-ignore
|
|
27
26
|
return new ((_a = this.Class) !== null && _a !== void 0 ? _a : this)(Object.assign(Object.assign({}, defaultOptions), options));
|
|
28
27
|
}
|
|
29
28
|
async pushMarkers(markers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/implementations/TimeMarkerOutlet.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"TimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/implementations/TimeMarkerOutlet.ts"],"names":[],"mappings":";;;;;AAMA,4DAAuC;AAEvC,MAAqB,oBACpB,SAAQ,mBAAa;IADtB;;QAMS,cAAS,GAAY,KAAK,CAAA;IAoDnC,CAAC;IAhDO,MAAM,CAAC,MAAM,CAAC,OAAmC;;QACvD,MAAM,cAAc,GAAG;YACtB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,cAAc;YACxB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACM,CAAA;QAErB,OAAO,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,iCAC3B,cAAc,GACd,OAAO,EACW,CAAA;IACvB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAE9B,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAElC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,UAAkB;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IACtE,CAAC;IAEO,UAAU,CAAC,OAAiC,EAAE,UAAkB;QACvE,IAAI,CAAC,WAAW,GAAG,OAAc,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC/C,CAAC;IAEM,IAAI;;QACV,MAAA,IAAI,CAAC,WAAW,oDAAI,CAAA;QACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACvB,CAAC;CACD;AA1DD,uCA0DC"}
|
package/build/nodeLsl.types.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface TimeMarkerOutlet extends LslOutlet {
|
|
|
22
22
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
23
23
|
stop(): void;
|
|
24
24
|
}
|
|
25
|
-
export type TimeMarkerOutletConstructor = new () => TimeMarkerOutlet;
|
|
25
|
+
export type TimeMarkerOutletConstructor = new (options: LslOutletOptions) => TimeMarkerOutlet;
|
|
26
26
|
export interface DurationMarker {
|
|
27
27
|
name: string;
|
|
28
28
|
durationMs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeLsl.types.js","sourceRoot":"","sources":["../src/nodeLsl.types.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAsC;AACtC,wDAA0B;
|
|
1
|
+
{"version":3,"file":"nodeLsl.types.js","sourceRoot":"","sources":["../src/nodeLsl.types.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAsC;AACtC,wDAA0B;AAqIb,QAAA,UAAU,GAAG,kBAAG,CAAC,OAAO,CAAC,kBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACxC,QAAA,UAAU,GAAG,kBAAG,CAAC,OAAO,CAAC,kBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACxC,QAAA,UAAU,GAAG,IAAA,wBAAS,EAAC,kBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AACvC,QAAA,WAAW,GAAG,IAAA,wBAAS,EAAC,kBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1C,QAAA,MAAM,GAAG,kBAAG,CAAC,OAAO,CAAC,kBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -2,12 +2,16 @@ import { DurationMarker, LslSample, TimeMarkerOutlet } from '..';
|
|
|
2
2
|
export default class MockTimeMarkerOutlet implements TimeMarkerOutlet {
|
|
3
3
|
static instance: MockTimeMarkerOutlet;
|
|
4
4
|
private didPushMarkers;
|
|
5
|
-
private
|
|
5
|
+
private pushedMarkers?;
|
|
6
|
+
private didPushSamples;
|
|
7
|
+
private pushedSamples?;
|
|
6
8
|
constructor();
|
|
7
9
|
stop(): void;
|
|
8
10
|
destroy(): void;
|
|
9
|
-
pushSample(
|
|
11
|
+
pushSample(sample: LslSample): void;
|
|
10
12
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
13
|
+
assertDidPushSamples(samples?: LslSample[]): void;
|
|
14
|
+
assertDidNotPushSamples(): void;
|
|
11
15
|
assertDidPushMarkers(markers?: DurationMarker[]): void;
|
|
12
16
|
assertDidNotPushMarkers(): void;
|
|
13
17
|
}
|
|
@@ -4,19 +4,36 @@ const test_utils_1 = require("@sprucelabs/test-utils");
|
|
|
4
4
|
class MockTimeMarkerOutlet {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.didPushMarkers = false;
|
|
7
|
+
this.didPushSamples = false;
|
|
7
8
|
MockTimeMarkerOutlet.instance = this;
|
|
8
9
|
}
|
|
9
10
|
stop() { }
|
|
10
11
|
destroy() { }
|
|
11
|
-
pushSample(
|
|
12
|
+
pushSample(sample) {
|
|
13
|
+
var _a;
|
|
14
|
+
if (!this.didPushSamples) {
|
|
15
|
+
this.didPushSamples = true;
|
|
16
|
+
this.pushedSamples = [];
|
|
17
|
+
}
|
|
18
|
+
(_a = this.pushedSamples) === null || _a === void 0 ? void 0 : _a.push(sample);
|
|
19
|
+
}
|
|
12
20
|
async pushMarkers(markers) {
|
|
13
21
|
this.didPushMarkers = true;
|
|
14
|
-
this.
|
|
22
|
+
this.pushedMarkers = markers;
|
|
23
|
+
}
|
|
24
|
+
assertDidPushSamples(samples) {
|
|
25
|
+
test_utils_1.assert.isTrue(this.didPushSamples, `Expected to have pushed samples but didn't. Try 'outlet.pushSample(...)'`);
|
|
26
|
+
if (samples) {
|
|
27
|
+
test_utils_1.assert.isEqualDeep(this.pushedSamples, samples);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
assertDidNotPushSamples() {
|
|
31
|
+
test_utils_1.assert.isFalse(this.didPushSamples, `Expected to NOT have pushed samples but did. Try 'outlet.pushSample(...)'`);
|
|
15
32
|
}
|
|
16
33
|
assertDidPushMarkers(markers) {
|
|
17
34
|
test_utils_1.assert.isTrue(this.didPushMarkers, `Expected to have pushed markers but didn't. Try 'outlet.pushMarkers(...)'`);
|
|
18
35
|
if (markers) {
|
|
19
|
-
test_utils_1.assert.isEqualDeep(this.
|
|
36
|
+
test_utils_1.assert.isEqualDeep(this.pushedMarkers, markers);
|
|
20
37
|
}
|
|
21
38
|
}
|
|
22
39
|
assertDidNotPushMarkers() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/MockTimeMarkerOutlet.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAG/C,MAAqB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"MockTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/MockTimeMarkerOutlet.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAG/C,MAAqB,oBAAoB;IAOxC;QALQ,mBAAc,GAAG,KAAK,CAAA;QAEtB,mBAAc,GAAG,KAAK,CAAA;QAI7B,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAA;IACrC,CAAC;IAEM,IAAI,KAAU,CAAC;IACf,OAAO,KAAU,CAAC;IAElB,UAAU,CAAC,MAAiB;;QAClC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QACxB,CAAC;QACD,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA;IAC7B,CAAC;IAEM,oBAAoB,CAAC,OAAqB;QAChD,mBAAM,CAAC,MAAM,CACZ,IAAI,CAAC,cAAc,EACnB,0EAA0E,CAC1E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACb,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;IACF,CAAC;IAEM,uBAAuB;QAC7B,mBAAM,CAAC,OAAO,CACb,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC3E,CAAA;IACF,CAAC;IAEM,oBAAoB,CAAC,OAA0B;QACrD,mBAAM,CAAC,MAAM,CACZ,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC3E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACb,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;IACF,CAAC;IAEM,uBAAuB;QAC7B,mBAAM,CAAC,OAAO,CACb,IAAI,CAAC,cAAc,EACnB,4EAA4E,CAC5E,CAAA;IACF,CAAC;CACD;AA9DD,uCA8DC"}
|
|
@@ -4,8 +4,7 @@ export default class SpyImplementsTimeMarkerOutlet implements TimeMarkerOutlet {
|
|
|
4
4
|
pushSampleCalls: string[][];
|
|
5
5
|
numStopCalls: number;
|
|
6
6
|
numDestroyCalls: number;
|
|
7
|
-
|
|
8
|
-
protected constructor();
|
|
7
|
+
constructor();
|
|
9
8
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
10
9
|
pushSample(sample: string[]): void;
|
|
11
10
|
stop(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpyImplementsTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/SpyImplementsTimeMarkerOutlet.ts"],"names":[],"mappings":";;AAEA,MAAqB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"SpyImplementsTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/SpyImplementsTimeMarkerOutlet.ts"],"names":[],"mappings":";;AAEA,MAAqB,6BAA6B;IAMjD;QACC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAEM,UAAU,CAAC,MAAgB;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAEM,IAAI;QACV,IAAI,CAAC,YAAY,EAAE,CAAA;IACpB,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,eAAe,EAAE,CAAA;IACvB,CAAC;IAEM,QAAQ;QACd,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;IACzB,CAAC;CACD;AAnCD,gDAmCC"}
|
package/package.json
CHANGED
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
TimeMarkerOutlet,
|
|
3
3
|
LslOutletOptions,
|
|
4
4
|
DurationMarker,
|
|
5
|
+
TimeMarkerOutletConstructor,
|
|
5
6
|
} from '../nodeLsl.types'
|
|
6
7
|
import LslOutletImpl from './LslOutlet'
|
|
7
8
|
|
|
@@ -9,6 +10,8 @@ export default class TimeMarkerOutletImpl
|
|
|
9
10
|
extends LslOutletImpl
|
|
10
11
|
implements TimeMarkerOutlet
|
|
11
12
|
{
|
|
13
|
+
public static Class?: TimeMarkerOutletConstructor
|
|
14
|
+
|
|
12
15
|
private isPlaying: boolean = false
|
|
13
16
|
private waitResolve?: () => void
|
|
14
17
|
private timeout?: any
|
|
@@ -27,7 +30,6 @@ export default class TimeMarkerOutletImpl
|
|
|
27
30
|
maxBuffered: 0,
|
|
28
31
|
} as LslOutletOptions
|
|
29
32
|
|
|
30
|
-
//@ts-ignore
|
|
31
33
|
return new (this.Class ?? this)({
|
|
32
34
|
...defaultOptions,
|
|
33
35
|
...options,
|
package/src/nodeLsl.types.ts
CHANGED
|
@@ -27,7 +27,9 @@ export interface TimeMarkerOutlet extends LslOutlet {
|
|
|
27
27
|
stop(): void
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export type TimeMarkerOutletConstructor = new (
|
|
30
|
+
export type TimeMarkerOutletConstructor = new (
|
|
31
|
+
options: LslOutletOptions
|
|
32
|
+
) => TimeMarkerOutlet
|
|
31
33
|
|
|
32
34
|
export interface DurationMarker {
|
|
33
35
|
name: string
|
|
@@ -4,7 +4,9 @@ import { DurationMarker, LslSample, TimeMarkerOutlet } from '..'
|
|
|
4
4
|
export default class MockTimeMarkerOutlet implements TimeMarkerOutlet {
|
|
5
5
|
public static instance: MockTimeMarkerOutlet
|
|
6
6
|
private didPushMarkers = false
|
|
7
|
-
private
|
|
7
|
+
private pushedMarkers?: DurationMarker[]
|
|
8
|
+
private didPushSamples = false
|
|
9
|
+
private pushedSamples?: LslSample[]
|
|
8
10
|
|
|
9
11
|
public constructor() {
|
|
10
12
|
MockTimeMarkerOutlet.instance = this
|
|
@@ -12,11 +14,36 @@ export default class MockTimeMarkerOutlet implements TimeMarkerOutlet {
|
|
|
12
14
|
|
|
13
15
|
public stop(): void {}
|
|
14
16
|
public destroy(): void {}
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
public pushSample(sample: LslSample): void {
|
|
19
|
+
if (!this.didPushSamples) {
|
|
20
|
+
this.didPushSamples = true
|
|
21
|
+
this.pushedSamples = []
|
|
22
|
+
}
|
|
23
|
+
this.pushedSamples?.push(sample)
|
|
24
|
+
}
|
|
16
25
|
|
|
17
26
|
public async pushMarkers(markers: DurationMarker[]): Promise<void> {
|
|
18
27
|
this.didPushMarkers = true
|
|
19
|
-
this.
|
|
28
|
+
this.pushedMarkers = markers
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public assertDidPushSamples(samples?: LslSample[]) {
|
|
32
|
+
assert.isTrue(
|
|
33
|
+
this.didPushSamples,
|
|
34
|
+
`Expected to have pushed samples but didn't. Try 'outlet.pushSample(...)'`
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
if (samples) {
|
|
38
|
+
assert.isEqualDeep(this.pushedSamples, samples)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public assertDidNotPushSamples() {
|
|
43
|
+
assert.isFalse(
|
|
44
|
+
this.didPushSamples,
|
|
45
|
+
`Expected to NOT have pushed samples but did. Try 'outlet.pushSample(...)'`
|
|
46
|
+
)
|
|
20
47
|
}
|
|
21
48
|
|
|
22
49
|
public assertDidPushMarkers(markers?: DurationMarker[]) {
|
|
@@ -26,7 +53,7 @@ export default class MockTimeMarkerOutlet implements TimeMarkerOutlet {
|
|
|
26
53
|
)
|
|
27
54
|
|
|
28
55
|
if (markers) {
|
|
29
|
-
assert.isEqualDeep(this.
|
|
56
|
+
assert.isEqualDeep(this.pushedMarkers, markers)
|
|
30
57
|
}
|
|
31
58
|
}
|
|
32
59
|
|
|
@@ -6,11 +6,7 @@ export default class SpyImplementsTimeMarkerOutlet implements TimeMarkerOutlet {
|
|
|
6
6
|
public numStopCalls: number
|
|
7
7
|
public numDestroyCalls: number
|
|
8
8
|
|
|
9
|
-
public
|
|
10
|
-
return new this()
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
protected constructor() {
|
|
9
|
+
public constructor() {
|
|
14
10
|
this.pushMarkersCalls = []
|
|
15
11
|
this.pushSampleCalls = []
|
|
16
12
|
this.numStopCalls = 0
|