@neurodevs/node-lsl 11.0.1 → 11.1.0
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__/EventMarkerOutlet.test.d.ts +1 -0
- package/build/__tests__/EventMarkerOutlet.test.js +8 -0
- package/build/__tests__/EventMarkerOutlet.test.js.map +1 -1
- package/build/components/EventMarkerOutlet.d.ts +3 -0
- package/build/components/EventMarkerOutlet.js +9 -2
- package/build/components/EventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.d.ts +5 -3
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js +14 -10
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js.map +1 -1
- package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.d.ts +1 -0
- package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.js +9 -2
- package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/EventMarkerOutlet.test.ts +8 -0
- package/src/components/EventMarkerOutlet.ts +12 -2
- package/src/testDoubles/MarkerOutlet/FakeMarkerOutlet.ts +15 -13
- package/src/testDoubles/MarkerOutlet/MockMarkerOutlet.ts +11 -2
|
@@ -10,6 +10,7 @@ export default class EventMarkerOutletTest extends AbstractLslTest {
|
|
|
10
10
|
protected static canStartAgainAfterStopping(): Promise<void>;
|
|
11
11
|
protected static doesNotWaitIfStopped(): Promise<void>;
|
|
12
12
|
protected static clearsTheTimeoutOnStop(): Promise<void>;
|
|
13
|
+
protected static pushMarkerCallsPushSampleOnMarkerOutlet(): Promise<void>;
|
|
13
14
|
private static get lslOutlet();
|
|
14
15
|
private static setupOutlet;
|
|
15
16
|
private static pushTotalMarkers;
|
|
@@ -90,6 +90,11 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
90
90
|
this.instance.stop();
|
|
91
91
|
this.lslOutlet.pushSample = () => test_utils_1.assert.fail('Should not have been called');
|
|
92
92
|
}
|
|
93
|
+
static async pushMarkerCallsPushSampleOnMarkerOutlet() {
|
|
94
|
+
const markerName = (0, test_utils_1.generateId)();
|
|
95
|
+
this.instance.pushMarker(markerName);
|
|
96
|
+
test_utils_1.assert.isEqual(FakeLslOutlet_1.default.callsToPushSample[0][0], markerName);
|
|
97
|
+
}
|
|
93
98
|
static get lslOutlet() {
|
|
94
99
|
return this.instance.getLslOutlet();
|
|
95
100
|
}
|
|
@@ -141,4 +146,7 @@ __decorate([
|
|
|
141
146
|
__decorate([
|
|
142
147
|
(0, test_utils_1.test)()
|
|
143
148
|
], EventMarkerOutletTest, "clearsTheTimeoutOnStop", null);
|
|
149
|
+
__decorate([
|
|
150
|
+
(0, test_utils_1.test)()
|
|
151
|
+
], EventMarkerOutletTest, "pushMarkerCallsPushSampleOnMarkerOutlet", null);
|
|
144
152
|
//# sourceMappingURL=EventMarkerOutlet.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventMarkerOutlet.test.js","sourceRoot":"","sources":["../../src/__tests__/EventMarkerOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAkC;AAClC,uDAAiE;AACjE,wFAA+D;AAE/D,6GAAoF;AACpF,2FAAkE;AAElE,wEAA+C;AAE/C,MAAqB,qBAAsB,SAAQ,yBAAe;IAGpD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,mBAAM,CAAC,WAAW,CAAC,uBAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAC5D,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACjB,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC5C,MAAM,OAAO,GAAG,IAAA,qCAA2B,GAAE,CAAA;QAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAErC,mBAAM,CAAC,WAAW,CAAC,uBAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5E,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gDAAgD;QACnE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAEzB,mBAAM,CAAC,OAAO,CACV,uBAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,MAAM,CAAC,IAAI,EACX,0BAA0B,CAC7B,CAAA;QAED,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACpE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mDAAmD;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAE9C,mBAAM,CAAC,OAAO,CAAC,uBAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEzD,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAChD,CAAA;IACL,CAAC;IAKsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,OAAe;QAC7D,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;QAE3C,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,QAAQ,IAAI,CAAC,CAAA;YACb,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;QACL,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAE/B,mBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEpB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;QAE3C,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,QAAQ,EAAE,CAAA;QACd,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAE/B,mBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,OAAO,CAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAExB,mBAAM,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sBAAsB;QACzC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEpB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,EAAE,CAC7B,mBAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAClD,CAAC;IAEO,MAAM,KAAK,SAAS;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;IACvC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW;QAC5B,2BAAiB,CAAC,KAAK,GAAG,2BAAwB,CAAA;QAClD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAClD,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,UAAmB;QACpE,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAA;QAEvD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExC,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,UAAmB;QACrD,OAAO;YACH,IAAI,EAAE,IAAA,uBAAU,GAAE;YAClB,UAAU,EAAE,UAAU,IAAI,IAAA,kBAAS,EAAC,GAAG,EAAE,IAAI,CAAC;SACjD,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAClC,OAAmC;QAEnC,OAAO,CAAC,MAAM,2BAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAoB,CAAA;IACvE,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"EventMarkerOutlet.test.js","sourceRoot":"","sources":["../../src/__tests__/EventMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,15 @@ export default class EventMarkerOutlet implements MarkerOutlet {
|
|
|
8
8
|
private timeout?;
|
|
9
9
|
protected constructor(lslOutlet: LslOutlet);
|
|
10
10
|
static Create(options?: Partial<LslOutletOptions>): Promise<MarkerOutlet>;
|
|
11
|
+
pushMarker(markerName: string): void;
|
|
11
12
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
13
|
+
private pushMarkerToOutlet;
|
|
12
14
|
protected wait(durationMs: number): Promise<unknown>;
|
|
13
15
|
private setTimeout;
|
|
14
16
|
stop(): void;
|
|
15
17
|
}
|
|
16
18
|
export interface MarkerOutlet {
|
|
19
|
+
pushMarker(markerName: string): void;
|
|
17
20
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
18
21
|
stop(): void;
|
|
19
22
|
}
|
|
@@ -28,16 +28,23 @@ class EventMarkerOutlet {
|
|
|
28
28
|
});
|
|
29
29
|
return new (this.Class ?? this)(outlet);
|
|
30
30
|
}
|
|
31
|
+
pushMarker(markerName) {
|
|
32
|
+
this.pushMarkerToOutlet(markerName);
|
|
33
|
+
}
|
|
31
34
|
async pushMarkers(markers) {
|
|
32
35
|
this.isPlaying = true;
|
|
33
36
|
for (let marker of markers) {
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
const { name, durationMs } = marker;
|
|
38
|
+
this.pushMarkerToOutlet(name);
|
|
39
|
+
await this.wait(durationMs);
|
|
36
40
|
if (!this.isPlaying) {
|
|
37
41
|
return;
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
}
|
|
45
|
+
pushMarkerToOutlet(markerName) {
|
|
46
|
+
this.lslOutlet.pushSample([markerName]);
|
|
47
|
+
}
|
|
41
48
|
async wait(durationMs) {
|
|
42
49
|
return new Promise((resolve) => this.setTimeout(resolve, durationMs));
|
|
43
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventMarkerOutlet.js","sourceRoot":"","sources":["../../src/components/EventMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,wEAAgF;AAEhF,MAAqB,iBAAiB;IAQlC,YAAsB,SAAoB;QAJlC,cAAS,GAAG,KAAK,CAAA;QAKrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC1D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACG,CAAA;QAErB,MAAM,MAAM,GAAG,MAAM,yBAAe,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,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzB,
|
|
1
|
+
{"version":3,"file":"EventMarkerOutlet.js","sourceRoot":"","sources":["../../src/components/EventMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,wEAAgF;AAEhF,MAAqB,iBAAiB;IAQlC,YAAsB,SAAoB;QAJlC,cAAS,GAAG,KAAK,CAAA;QAKrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC1D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACG,CAAA;QAErB,MAAM,MAAM,GAAG,MAAM,yBAAe,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,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IAC3C,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;AAvED,oCAuEC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { MarkerOutlet } from '../../components/EventMarkerOutlet';
|
|
2
2
|
import { DurationMarker } from '../../nodeLsl.types';
|
|
3
3
|
export default class FakeMarkerOutlet implements MarkerOutlet {
|
|
4
|
-
static
|
|
5
|
-
static
|
|
6
|
-
static
|
|
4
|
+
static callsToPushMarker: string[];
|
|
5
|
+
static callsToPushMarkers: DurationMarker[][];
|
|
6
|
+
static numCallsToStop: number;
|
|
7
|
+
static numCallsToDestroy: number;
|
|
7
8
|
constructor();
|
|
9
|
+
pushMarker(markerName: string): void;
|
|
8
10
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
9
11
|
stop(): void;
|
|
10
12
|
destroy(): void;
|
|
@@ -1,25 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class FakeMarkerOutlet {
|
|
4
|
-
constructor() {
|
|
5
|
-
|
|
6
|
-
FakeMarkerOutlet.
|
|
7
|
-
FakeMarkerOutlet.numDestroyCalls = 0;
|
|
4
|
+
constructor() { }
|
|
5
|
+
pushMarker(markerName) {
|
|
6
|
+
FakeMarkerOutlet.callsToPushMarker.push(markerName);
|
|
8
7
|
}
|
|
9
8
|
async pushMarkers(markers) {
|
|
10
|
-
FakeMarkerOutlet.
|
|
9
|
+
FakeMarkerOutlet.callsToPushMarkers.push(markers);
|
|
11
10
|
}
|
|
12
11
|
stop() {
|
|
13
|
-
FakeMarkerOutlet.
|
|
12
|
+
FakeMarkerOutlet.numCallsToStop++;
|
|
14
13
|
}
|
|
15
14
|
destroy() {
|
|
16
|
-
FakeMarkerOutlet.
|
|
15
|
+
FakeMarkerOutlet.numCallsToDestroy++;
|
|
17
16
|
}
|
|
18
17
|
static resetTestDouble() {
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
18
|
+
this.callsToPushMarker = [];
|
|
19
|
+
this.callsToPushMarkers = [];
|
|
20
|
+
this.numCallsToStop = 0;
|
|
21
|
+
this.numCallsToDestroy = 0;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
+
FakeMarkerOutlet.callsToPushMarker = [];
|
|
25
|
+
FakeMarkerOutlet.callsToPushMarkers = [];
|
|
26
|
+
FakeMarkerOutlet.numCallsToStop = 0;
|
|
27
|
+
FakeMarkerOutlet.numCallsToDestroy = 0;
|
|
24
28
|
exports.default = FakeMarkerOutlet;
|
|
25
29
|
//# sourceMappingURL=FakeMarkerOutlet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/FakeMarkerOutlet.ts"],"names":[],"mappings":";;AAGA,MAAqB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"FakeMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/FakeMarkerOutlet.ts"],"names":[],"mappings":";;AAGA,MAAqB,gBAAgB;IAMjC,gBAAsB,CAAC;IAEhB,UAAU,CAAC,UAAkB;QAChC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAEM,IAAI;QACP,gBAAgB,CAAC,cAAc,EAAE,CAAA;IACrC,CAAC;IAEM,OAAO;QACV,gBAAgB,CAAC,iBAAiB,EAAE,CAAA;IACxC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC9B,CAAC;;AA5Ba,kCAAiB,GAAa,EAAE,CAAA;AAChC,mCAAkB,GAAuB,EAAE,CAAA;AAC3C,+BAAc,GAAG,CAAC,CAAA;AAClB,kCAAiB,GAAG,CAAC,CAAA;kBAJlB,gBAAgB"}
|
|
@@ -7,6 +7,7 @@ export default class MockMarkerOutlet implements MarkerOutlet {
|
|
|
7
7
|
private pushedSamples?;
|
|
8
8
|
stop(): void;
|
|
9
9
|
destroy(): void;
|
|
10
|
+
pushMarker(_markerName: string): void;
|
|
10
11
|
pushSample(sample: LslSample): void;
|
|
11
12
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
12
13
|
assertDidPushSamples(samples?: LslSample[]): void;
|
|
@@ -6,8 +6,15 @@ class MockMarkerOutlet {
|
|
|
6
6
|
this.didPushMarkers = false;
|
|
7
7
|
this.didPushSamples = false;
|
|
8
8
|
}
|
|
9
|
-
stop() {
|
|
10
|
-
|
|
9
|
+
stop() {
|
|
10
|
+
throw new Error('Method not implemented.');
|
|
11
|
+
}
|
|
12
|
+
destroy() {
|
|
13
|
+
throw new Error('Method not implemented.');
|
|
14
|
+
}
|
|
15
|
+
pushMarker(_markerName) {
|
|
16
|
+
throw new Error('Method not implemented.');
|
|
17
|
+
}
|
|
11
18
|
pushSample(sample) {
|
|
12
19
|
if (!this.didPushSamples) {
|
|
13
20
|
this.didPushSamples = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/MockMarkerOutlet.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAI/C,MAAqB,gBAAgB;IAArC;QACY,mBAAc,GAAG,KAAK,CAAA;QAEtB,mBAAc,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"MockMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/MockMarkerOutlet.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAI/C,MAAqB,gBAAgB;IAArC;QACY,mBAAc,GAAG,KAAK,CAAA;QAEtB,mBAAc,GAAG,KAAK,CAAA;IA+DlC,CAAC;IA5DU,IAAI;QACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAEM,OAAO;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAEM,UAAU,CAAC,WAAmB;QACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAEM,UAAU,CAAC,MAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA;IAChC,CAAC;IAEM,oBAAoB,CAAC,OAAqB;QAC7C,mBAAM,CAAC,MAAM,CACT,IAAI,CAAC,cAAc,EACnB,0EAA0E,CAC7E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACV,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IAEM,uBAAuB;QAC1B,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC9E,CAAA;IACL,CAAC;IAEM,oBAAoB,CAAC,OAA0B;QAClD,mBAAM,CAAC,MAAM,CACT,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC9E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACV,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IAEM,uBAAuB;QAC1B,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,cAAc,EACnB,4EAA4E,CAC/E,CAAA;IACL,CAAC;CACJ;AAlED,mCAkEC"}
|
package/package.json
CHANGED
|
@@ -131,6 +131,14 @@ export default class EventMarkerOutletTest extends AbstractLslTest {
|
|
|
131
131
|
assert.fail('Should not have been called')
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
+
@test()
|
|
135
|
+
protected static async pushMarkerCallsPushSampleOnMarkerOutlet() {
|
|
136
|
+
const markerName = generateId()
|
|
137
|
+
this.instance.pushMarker(markerName)
|
|
138
|
+
|
|
139
|
+
assert.isEqual(FakeLslOutlet.callsToPushSample[0][0], markerName)
|
|
140
|
+
}
|
|
141
|
+
|
|
134
142
|
private static get lslOutlet() {
|
|
135
143
|
return this.instance.getLslOutlet()
|
|
136
144
|
}
|
|
@@ -35,13 +35,18 @@ export default class EventMarkerOutlet implements MarkerOutlet {
|
|
|
35
35
|
return new (this.Class ?? this)(outlet)
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
public pushMarker(markerName: string) {
|
|
39
|
+
this.pushMarkerToOutlet(markerName)
|
|
40
|
+
}
|
|
41
|
+
|
|
38
42
|
public async pushMarkers(markers: DurationMarker[]) {
|
|
39
43
|
this.isPlaying = true
|
|
40
44
|
|
|
41
45
|
for (let marker of markers) {
|
|
42
|
-
|
|
46
|
+
const { name, durationMs } = marker
|
|
47
|
+
this.pushMarkerToOutlet(name)
|
|
43
48
|
|
|
44
|
-
await this.wait(
|
|
49
|
+
await this.wait(durationMs)
|
|
45
50
|
|
|
46
51
|
if (!this.isPlaying) {
|
|
47
52
|
return
|
|
@@ -49,6 +54,10 @@ export default class EventMarkerOutlet implements MarkerOutlet {
|
|
|
49
54
|
}
|
|
50
55
|
}
|
|
51
56
|
|
|
57
|
+
private pushMarkerToOutlet(markerName: string) {
|
|
58
|
+
this.lslOutlet.pushSample([markerName])
|
|
59
|
+
}
|
|
60
|
+
|
|
52
61
|
protected async wait(durationMs: number) {
|
|
53
62
|
return new Promise((resolve) => this.setTimeout(resolve, durationMs))
|
|
54
63
|
}
|
|
@@ -66,6 +75,7 @@ export default class EventMarkerOutlet implements MarkerOutlet {
|
|
|
66
75
|
}
|
|
67
76
|
|
|
68
77
|
export interface MarkerOutlet {
|
|
78
|
+
pushMarker(markerName: string): void
|
|
69
79
|
pushMarkers(markers: DurationMarker[]): Promise<void>
|
|
70
80
|
stop(): void
|
|
71
81
|
}
|
|
@@ -2,31 +2,33 @@ import { MarkerOutlet } from '../../components/EventMarkerOutlet'
|
|
|
2
2
|
import { DurationMarker } from '../../nodeLsl.types'
|
|
3
3
|
|
|
4
4
|
export default class FakeMarkerOutlet implements MarkerOutlet {
|
|
5
|
-
public static
|
|
6
|
-
public static
|
|
7
|
-
public static
|
|
5
|
+
public static callsToPushMarker: string[] = []
|
|
6
|
+
public static callsToPushMarkers: DurationMarker[][] = []
|
|
7
|
+
public static numCallsToStop = 0
|
|
8
|
+
public static numCallsToDestroy = 0
|
|
8
9
|
|
|
9
|
-
public constructor() {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
FakeMarkerOutlet.
|
|
10
|
+
public constructor() {}
|
|
11
|
+
|
|
12
|
+
public pushMarker(markerName: string) {
|
|
13
|
+
FakeMarkerOutlet.callsToPushMarker.push(markerName)
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
public async pushMarkers(markers: DurationMarker[]) {
|
|
16
|
-
FakeMarkerOutlet.
|
|
17
|
+
FakeMarkerOutlet.callsToPushMarkers.push(markers)
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
public stop() {
|
|
20
|
-
FakeMarkerOutlet.
|
|
21
|
+
FakeMarkerOutlet.numCallsToStop++
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
public destroy() {
|
|
24
|
-
FakeMarkerOutlet.
|
|
25
|
+
FakeMarkerOutlet.numCallsToDestroy++
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
public static resetTestDouble() {
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
30
|
-
this.
|
|
29
|
+
this.callsToPushMarker = []
|
|
30
|
+
this.callsToPushMarkers = []
|
|
31
|
+
this.numCallsToStop = 0
|
|
32
|
+
this.numCallsToDestroy = 0
|
|
31
33
|
}
|
|
32
34
|
}
|
|
@@ -8,8 +8,17 @@ export default class MockMarkerOutlet implements MarkerOutlet {
|
|
|
8
8
|
private didPushSamples = false
|
|
9
9
|
private pushedSamples?: LslSample[]
|
|
10
10
|
|
|
11
|
-
public stop() {
|
|
12
|
-
|
|
11
|
+
public stop() {
|
|
12
|
+
throw new Error('Method not implemented.')
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public destroy() {
|
|
16
|
+
throw new Error('Method not implemented.')
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public pushMarker(_markerName: string) {
|
|
20
|
+
throw new Error('Method not implemented.')
|
|
21
|
+
}
|
|
13
22
|
|
|
14
23
|
public pushSample(sample: LslSample) {
|
|
15
24
|
if (!this.didPushSamples) {
|