@neurodevs/node-lsl 11.4.2 → 12.0.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/.vscode/tasks.json +19 -1
- package/README.md +8 -9
- package/build/__tests__/{AbstractLslTest.d.ts → AbstractPackageTest.d.ts} +5 -4
- package/build/__tests__/AbstractPackageTest.js +58 -0
- package/build/__tests__/AbstractPackageTest.js.map +1 -0
- package/build/__tests__/{modules → impl}/LiblslAdapter.test.d.ts +4 -3
- package/build/__tests__/{modules → impl}/LiblslAdapter.test.js +32 -25
- package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -0
- package/build/__tests__/{modules/EventMarkerOutlet.test.d.ts → impl/LslEventMarkerOutlet.test.d.ts} +5 -4
- package/build/__tests__/{modules/EventMarkerOutlet.test.js → impl/LslEventMarkerOutlet.test.js} +32 -25
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
- package/build/__tests__/{modules → impl}/LslStreamInfo.test.d.ts +3 -3
- package/build/__tests__/{modules → impl}/LslStreamInfo.test.js +17 -16
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -0
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +10 -0
- package/build/__tests__/{modules → impl}/LslStreamInlet.test.js +9 -9
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -0
- package/build/__tests__/{modules → impl}/LslStreamOutlet.test.d.ts +2 -2
- package/build/__tests__/{modules → impl}/LslStreamOutlet.test.js +7 -6
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.d.ts +7 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.js +63 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -0
- package/build/impl/LiblslAdapter.js.map +1 -0
- package/build/impl/LslEventMarkerOutlet.d.ts +23 -0
- package/build/{modules/EventMarkerOutlet.js → impl/LslEventMarkerOutlet.js} +6 -6
- package/build/impl/LslEventMarkerOutlet.js.map +1 -0
- package/build/{modules → impl}/LslStreamInfo.js +4 -4
- package/build/impl/LslStreamInfo.js.map +1 -0
- package/build/{modules → impl}/LslStreamInlet.d.ts +8 -8
- package/build/{modules → impl}/LslStreamInlet.js +4 -4
- package/build/impl/LslStreamInlet.js.map +1 -0
- package/build/{modules → impl}/LslStreamOutlet.d.ts +8 -8
- package/build/{modules → impl}/LslStreamOutlet.js +2 -2
- package/build/impl/LslStreamOutlet.js.map +1 -0
- package/build/impl/LslWebSocketBridge.d.ts +8 -0
- package/build/impl/LslWebSocketBridge.js +10 -0
- package/build/impl/LslWebSocketBridge.js.map +1 -0
- package/build/index.d.ts +26 -22
- package/build/index.js +41 -34
- package/build/index.js.map +1 -1
- package/build/scripts/{demoMarkerOutlet.js → runLslEventMarkerOutlet.js} +3 -3
- package/build/scripts/runLslEventMarkerOutlet.js.map +1 -0
- package/build/scripts/{demoStreamOutlet.js → runLslStreamOutlet.js} +2 -2
- package/build/scripts/runLslStreamOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/FakeMarkerOutlet.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js +29 -0
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.d.ts → EventMarkerOutlet/MockEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.js → EventMarkerOutlet/MockEventMarkerOutlet.js} +3 -3
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +9 -0
- package/build/testDoubles/{MarkerOutlet/SpyMarkerOutlet.js → EventMarkerOutlet/SpyEventMarkerOutlet.js} +8 -8
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.d.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +3 -3
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +1 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +10 -0
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js +16 -0
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -0
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +7 -0
- package/build/testDoubles/{LslInlet/SpyLslInlet.js → StreamInlet/SpyStreamInlet.js} +5 -5
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -0
- package/build/testDoubles/{LslOutlet/FakeLslOutlet.d.ts → StreamOutlet/FakeStreamOutlet.d.ts} +9 -10
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +62 -0
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.d.ts +6 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js +13 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js.map +1 -0
- package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
- package/build/testDoubles/generateRandomOutletOptions.js +10 -7
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/build/types.d.ts +3 -3
- package/package.json +20 -8
- package/src/__tests__/{AbstractLslTest.ts → AbstractPackageTest.ts} +22 -17
- package/src/__tests__/{modules → impl}/LiblslAdapter.test.ts +25 -19
- package/src/__tests__/{modules/EventMarkerOutlet.test.ts → impl/LslEventMarkerOutlet.test.ts} +38 -27
- package/src/__tests__/{modules → impl}/LslStreamInfo.test.ts +7 -6
- package/src/__tests__/{modules → impl}/LslStreamInlet.test.ts +12 -12
- package/src/__tests__/{modules → impl}/LslStreamOutlet.test.ts +18 -11
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +23 -0
- package/src/{modules/EventMarkerOutlet.ts → impl/LslEventMarkerOutlet.ts} +16 -11
- package/src/{modules → impl}/LslStreamInfo.ts +1 -1
- package/src/{modules → impl}/LslStreamInlet.ts +12 -12
- package/src/{modules → impl}/LslStreamOutlet.ts +12 -12
- package/src/impl/LslWebSocketBridge.ts +13 -0
- package/src/index.ts +37 -29
- package/src/scripts/{demoMarkerOutlet.ts → runLslEventMarkerOutlet.ts} +2 -2
- package/src/scripts/{demoStreamOutlet.ts → runLslStreamOutlet.ts} +1 -1
- package/src/testDoubles/{MarkerOutlet/FakeMarkerOutlet.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +6 -6
- package/src/testDoubles/{MarkerOutlet/MockMarkerOutlet.ts → EventMarkerOutlet/MockEventMarkerOutlet.ts} +2 -2
- package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +24 -0
- package/src/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +2 -2
- package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInfo/SpyStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +20 -0
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +16 -0
- package/src/testDoubles/{LslOutlet/FakeLslOutlet.ts → StreamOutlet/FakeStreamOutlet.ts} +17 -18
- package/src/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.ts +15 -0
- package/src/testDoubles/generateRandomOutletOptions.ts +3 -3
- package/src/types.ts +3 -3
- package/build/__tests__/AbstractLslTest.js +0 -87
- package/build/__tests__/AbstractLslTest.js.map +0 -1
- package/build/__tests__/modules/EventMarkerOutlet.test.js.map +0 -1
- package/build/__tests__/modules/LiblslAdapter.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamInfo.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamInlet.test.d.ts +0 -10
- package/build/__tests__/modules/LslStreamInlet.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamOutlet.test.js.map +0 -1
- package/build/modules/EventMarkerOutlet.d.ts +0 -23
- package/build/modules/EventMarkerOutlet.js.map +0 -1
- package/build/modules/LiblslAdapter.js.map +0 -1
- package/build/modules/LslStreamInfo.js.map +0 -1
- package/build/modules/LslStreamInlet.js.map +0 -1
- package/build/modules/LslStreamOutlet.js.map +0 -1
- package/build/scripts/demoMarkerOutlet.js.map +0 -1
- package/build/scripts/demoStreamOutlet.js.map +0 -1
- package/build/testDoubles/LslInlet/FakeLslInlet.d.ts +0 -11
- package/build/testDoubles/LslInlet/FakeLslInlet.js +0 -16
- package/build/testDoubles/LslInlet/FakeLslInlet.js.map +0 -1
- package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +0 -7
- package/build/testDoubles/LslInlet/SpyLslInlet.js.map +0 -1
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js +0 -59
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js +0 -29
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.d.ts +0 -9
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/ThrowingMarkerOutlet.js.map +0 -1
- package/src/testDoubles/LslInlet/FakeLslInlet.ts +0 -22
- package/src/testDoubles/LslInlet/SpyLslInlet.ts +0 -16
- package/src/testDoubles/MarkerOutlet/SpyMarkerOutlet.ts +0 -24
- /package/build/{modules → impl}/LiblslAdapter.d.ts +0 -0
- /package/build/{modules → impl}/LiblslAdapter.js +0 -0
- /package/build/{modules → impl}/LslStreamInfo.d.ts +0 -0
- /package/build/scripts/{demoMarkerOutlet.d.ts → runLslEventMarkerOutlet.d.ts} +0 -0
- /package/build/scripts/{demoStreamOutlet.d.ts → runLslStreamOutlet.d.ts} +0 -0
- /package/src/{modules → impl}/LiblslAdapter.ts +0 -0
package/.vscode/tasks.json
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"presentation": {
|
|
41
41
|
"reveal": "always",
|
|
42
|
-
"panel": "dedicated"
|
|
42
|
+
"panel": "dedicated"
|
|
43
43
|
},
|
|
44
44
|
"problemMatcher": []
|
|
45
45
|
},
|
|
@@ -87,6 +87,18 @@
|
|
|
87
87
|
"panel": "new",
|
|
88
88
|
"clear": false
|
|
89
89
|
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"label": "ndx",
|
|
93
|
+
"type": "shell",
|
|
94
|
+
"command": "ndx ${input:ndxCommand}",
|
|
95
|
+
"problemMatcher": [],
|
|
96
|
+
"presentation": {
|
|
97
|
+
"reveal": "always",
|
|
98
|
+
"focus": true,
|
|
99
|
+
"panel": "new",
|
|
100
|
+
"clear": false
|
|
101
|
+
}
|
|
90
102
|
}
|
|
91
103
|
],
|
|
92
104
|
"inputs": [
|
|
@@ -107,6 +119,12 @@
|
|
|
107
119
|
"description": "optionsCommand",
|
|
108
120
|
"default": "add",
|
|
109
121
|
"type": "promptString"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "ndxCommand",
|
|
125
|
+
"description": "ndx command",
|
|
126
|
+
"default": "create.module",
|
|
127
|
+
"type": "promptString"
|
|
110
128
|
}
|
|
111
129
|
]
|
|
112
130
|
}
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Lab Streaming Layer (LSL) for synchronized streaming of multi-modal, time-series
|
|
|
6
6
|
- [Installation](#installation)
|
|
7
7
|
- [Usage](#usage)
|
|
8
8
|
- [LslStreamOutlet](#lslstreamoutlet)
|
|
9
|
-
- [
|
|
9
|
+
- [LslEventMarkerOutlet](#lsleventmarkeroutlet)
|
|
10
10
|
- [Test Doubles](#test-doubles)
|
|
11
11
|
|
|
12
12
|
## Overview
|
|
@@ -66,15 +66,15 @@ main().catch((error) => {
|
|
|
66
66
|
})
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
###
|
|
69
|
+
### LslEventMarkerOutlet
|
|
70
70
|
|
|
71
71
|
LSL is also often used to push event markers that mark different phases of an experiment or session. The `pushMarkers` method pushes an event marker, waits for a specified duration, then pushes the next marker. I recommend that each event marker has a duration of at least 100 ms so that LSL receives the markers in the right order.
|
|
72
72
|
|
|
73
73
|
```typescript
|
|
74
|
-
import
|
|
74
|
+
import { LslEventMarkerOutlet } from '@neurodevs/node-lsl'
|
|
75
75
|
|
|
76
76
|
async function main() {
|
|
77
|
-
const outlet = await
|
|
77
|
+
const outlet = await LslEventMarkerOutlet.Create()
|
|
78
78
|
|
|
79
79
|
const markers = [
|
|
80
80
|
{ name: 'phase-1-begin', durationMs: 1000 },
|
|
@@ -94,23 +94,22 @@ async function main() {
|
|
|
94
94
|
main().catch((error) => {
|
|
95
95
|
console.error('Error in main:', error)
|
|
96
96
|
})
|
|
97
|
-
|
|
98
97
|
```
|
|
99
98
|
|
|
100
99
|
## Test Doubles
|
|
101
100
|
|
|
102
101
|
This package was developed using test-driven development (TDD). If you also follow TDD, you'll likely want test doubles to fake or mock certain behaviors for these classes.
|
|
103
102
|
|
|
104
|
-
For example, the `
|
|
103
|
+
For example, the `MockEventMarkerOutlet` class lets you test whether your application appropriately calls its methods without actually doing anything. Set this mock in your test code like this:
|
|
105
104
|
|
|
106
105
|
```typescript
|
|
107
|
-
import {
|
|
106
|
+
import { LslEventMarkerOutlet, MockEventMarkerOutlet } from '@neurodevs/node-lsl'
|
|
108
107
|
|
|
109
108
|
// In your tests / beforeEach
|
|
110
|
-
|
|
109
|
+
LslEventMarkerOutlet.Class = MockEventMarkerOutlet
|
|
111
110
|
|
|
112
111
|
// Must be in async
|
|
113
|
-
const mock = await
|
|
112
|
+
const mock = await LslEventMarkerOutlet.Create()
|
|
114
113
|
|
|
115
114
|
// Do something in your application that should start the outlet
|
|
116
115
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import AbstractSpruceTest from '@sprucelabs/test-utils';
|
|
2
2
|
import FakeLiblsl from '../testDoubles/Liblsl/FakeLiblsl';
|
|
3
|
-
export default class
|
|
3
|
+
export default class AbstractPackageTest extends AbstractSpruceTest {
|
|
4
4
|
protected static fakeLiblsl: FakeLiblsl;
|
|
5
5
|
protected static beforeEach(): Promise<void>;
|
|
6
6
|
protected static setFakeLiblsl(): void;
|
|
7
7
|
protected static setSpyStreamInfo(): void;
|
|
8
8
|
protected static setFakeStreamInfo(): void;
|
|
9
|
-
protected static
|
|
10
|
-
protected static
|
|
11
|
-
protected static
|
|
9
|
+
protected static setSpyStreamInlet(): void;
|
|
10
|
+
protected static setFakeStreamOutlet(): void;
|
|
11
|
+
protected static setSpyEventMarkerOutlet(): void;
|
|
12
|
+
protected static generateId(): string;
|
|
12
13
|
protected static readonly name_: string;
|
|
13
14
|
protected static readonly type: string;
|
|
14
15
|
protected static readonly sourceId: string;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const test_utils_1 = __importDefault(require("@sprucelabs/test-utils"));
|
|
7
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
8
|
+
const LiblslAdapter_1 = __importDefault(require("../impl/LiblslAdapter"));
|
|
9
|
+
const LslEventMarkerOutlet_1 = __importDefault(require("../impl/LslEventMarkerOutlet"));
|
|
10
|
+
const LslStreamInfo_1 = __importDefault(require("../impl/LslStreamInfo"));
|
|
11
|
+
const LslStreamInlet_1 = __importDefault(require("../impl/LslStreamInlet"));
|
|
12
|
+
const LslStreamOutlet_1 = __importDefault(require("../impl/LslStreamOutlet"));
|
|
13
|
+
const SpyEventMarkerOutlet_1 = __importDefault(require("../testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet"));
|
|
14
|
+
const FakeLiblsl_1 = __importDefault(require("../testDoubles/Liblsl/FakeLiblsl"));
|
|
15
|
+
const FakeStreamInfo_1 = __importDefault(require("../testDoubles/StreamInfo/FakeStreamInfo"));
|
|
16
|
+
const SpyStreamInfo_1 = __importDefault(require("../testDoubles/StreamInfo/SpyStreamInfo"));
|
|
17
|
+
const SpyStreamInlet_1 = require("../testDoubles/StreamInlet/SpyStreamInlet");
|
|
18
|
+
const FakeStreamOutlet_1 = __importDefault(require("../testDoubles/StreamOutlet/FakeStreamOutlet"));
|
|
19
|
+
class AbstractPackageTest extends test_utils_1.default {
|
|
20
|
+
static async beforeEach() {
|
|
21
|
+
await super.beforeEach();
|
|
22
|
+
this.setFakeLiblsl();
|
|
23
|
+
}
|
|
24
|
+
static setFakeLiblsl() {
|
|
25
|
+
this.fakeLiblsl = new FakeLiblsl_1.default();
|
|
26
|
+
LiblslAdapter_1.default.setInstance(this.fakeLiblsl);
|
|
27
|
+
}
|
|
28
|
+
static setSpyStreamInfo() {
|
|
29
|
+
LslStreamInfo_1.default.Class = SpyStreamInfo_1.default;
|
|
30
|
+
}
|
|
31
|
+
static setFakeStreamInfo() {
|
|
32
|
+
LslStreamInfo_1.default.Class = FakeStreamInfo_1.default;
|
|
33
|
+
FakeStreamInfo_1.default.resetTestDouble();
|
|
34
|
+
}
|
|
35
|
+
static setSpyStreamInlet() {
|
|
36
|
+
LslStreamInlet_1.default.Class = SpyStreamInlet_1.SpyStreamInlet;
|
|
37
|
+
}
|
|
38
|
+
static setFakeStreamOutlet() {
|
|
39
|
+
LslStreamOutlet_1.default.Class = FakeStreamOutlet_1.default;
|
|
40
|
+
FakeStreamOutlet_1.default.resetTestDouble();
|
|
41
|
+
}
|
|
42
|
+
static setSpyEventMarkerOutlet() {
|
|
43
|
+
LslEventMarkerOutlet_1.default.Class = SpyEventMarkerOutlet_1.default;
|
|
44
|
+
}
|
|
45
|
+
static generateId() {
|
|
46
|
+
return (0, generate_id_1.default)();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
AbstractPackageTest.name_ = (0, generate_id_1.default)();
|
|
50
|
+
AbstractPackageTest.type = (0, generate_id_1.default)();
|
|
51
|
+
AbstractPackageTest.sourceId = (0, generate_id_1.default)();
|
|
52
|
+
AbstractPackageTest.units = (0, generate_id_1.default)();
|
|
53
|
+
AbstractPackageTest.channelNames = [(0, generate_id_1.default)(), (0, generate_id_1.default)()];
|
|
54
|
+
AbstractPackageTest.chunkSize = Math.floor(Math.random() * 100);
|
|
55
|
+
AbstractPackageTest.maxBuffered = Math.floor(Math.random() * 100);
|
|
56
|
+
AbstractPackageTest.sampleRate = Math.floor(Math.random() * 100);
|
|
57
|
+
exports.default = AbstractPackageTest;
|
|
58
|
+
//# sourceMappingURL=AbstractPackageTest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":";;;;;AAAA,wEAAuD;AACvD,yEAA+C;AAC/C,0EAAiD;AACjD,wFAA+D;AAC/D,0EAAiD;AACjD,4EAAmD;AAEnD,8EAAqD;AACrD,iHAAwF;AACxF,kFAAyD;AACzD,8FAAqE;AACrE,4FAAmE;AACnE,8EAA0E;AAC1E,oGAA2E;AAE3E,MAAqB,mBAAoB,SAAQ,oBAAkB;IAGrD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,aAAa,EAAE,CAAA;IACxB,CAAC;IAES,MAAM,CAAC,aAAa;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,EAAE,CAAA;QAClC,uBAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAES,MAAM,CAAC,gBAAgB;QAC7B,uBAAa,CAAC,KAAK,GAAG,uBAAa,CAAA;IACvC,CAAC;IAES,MAAM,CAAC,iBAAiB;QAC9B,uBAAa,CAAC,KAAK,GAAG,wBAAc,CAAA;QACpC,wBAAc,CAAC,eAAe,EAAE,CAAA;IACpC,CAAC;IAES,MAAM,CAAC,iBAAiB;QAC9B,wBAAc,CAAC,KAAK,GAAG,+BAAc,CAAA;IACzC,CAAC;IAES,MAAM,CAAC,mBAAmB;QAChC,yBAAe,CAAC,KAAK,GAAG,0BAAgB,CAAA;QACxC,0BAAgB,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAES,MAAM,CAAC,uBAAuB;QACpC,8BAAoB,CAAC,KAAK,GAAG,8BAAoB,CAAA;IACrD,CAAC;IAES,MAAM,CAAC,UAAU;QACvB,OAAO,IAAA,qBAAU,GAAE,CAAA;IACvB,CAAC;;AAEyB,yBAAK,GAAG,IAAA,qBAAU,GAAE,CAAA;AACpB,wBAAI,GAAG,IAAA,qBAAU,GAAE,CAAA;AACnB,4BAAQ,GAAG,IAAA,qBAAU,GAAE,CAAA;AACvB,yBAAK,GAAG,IAAA,qBAAU,GAAE,CAAA;AACpB,gCAAY,GAAG,CAAC,IAAA,qBAAU,GAAE,EAAE,IAAA,qBAAU,GAAE,CAAC,CAAA;AAC3C,6BAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;AAC3C,+BAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;AAC7C,8BAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;kBA/CrD,mBAAmB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class LiblslAdapterTest extends
|
|
3
|
-
private static
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest';
|
|
2
|
+
export default class LiblslAdapterTest extends AbstractPackageTest {
|
|
3
|
+
private static instance;
|
|
4
4
|
private static libraryPath?;
|
|
5
5
|
private static libraryOptions?;
|
|
6
6
|
private static fakeBindings;
|
|
@@ -26,6 +26,7 @@ export default class LiblslAdapterTest extends AbstractLslTest {
|
|
|
26
26
|
private static ffiRsOpenOptions?;
|
|
27
27
|
private static ffiRsDefineOptions;
|
|
28
28
|
protected static beforeEach(): Promise<void>;
|
|
29
|
+
protected static createsInstance(): Promise<void>;
|
|
29
30
|
protected static throwsWhenBindingsFailToLoad(): Promise<void>;
|
|
30
31
|
protected static callsOpenOnFfiRs(): Promise<void>;
|
|
31
32
|
protected static worksAsASingleton(): Promise<void>;
|
|
@@ -11,11 +11,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const crypto_1 = require("crypto");
|
|
13
13
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
14
15
|
const ffi_rs_1 = require("ffi-rs");
|
|
15
|
-
const LiblslAdapter_1 = __importDefault(require("../../
|
|
16
|
+
const LiblslAdapter_1 = __importDefault(require("../../impl/LiblslAdapter"));
|
|
16
17
|
const FakeLiblsl_1 = __importDefault(require("../../testDoubles/Liblsl/FakeLiblsl"));
|
|
17
|
-
const
|
|
18
|
-
class LiblslAdapterTest extends
|
|
18
|
+
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
19
|
+
class LiblslAdapterTest extends AbstractPackageTest_1.default {
|
|
19
20
|
static async beforeEach() {
|
|
20
21
|
await super.beforeEach();
|
|
21
22
|
delete this.libraryPath;
|
|
@@ -29,7 +30,7 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
29
30
|
delete this.getDescriptionParams;
|
|
30
31
|
this.appendChildParams = [];
|
|
31
32
|
this.appendChildValueParams = [];
|
|
32
|
-
process.env.LIBLSL_PATH = (0,
|
|
33
|
+
process.env.LIBLSL_PATH = (0, generate_id_1.default)();
|
|
33
34
|
this.fakeStreamInfo = {};
|
|
34
35
|
this.fakeDesc = {};
|
|
35
36
|
this.fakeOutlet = {};
|
|
@@ -50,7 +51,10 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
50
51
|
return this.fakeBindings;
|
|
51
52
|
};
|
|
52
53
|
LiblslAdapter_1.default.resetInstance();
|
|
53
|
-
this.
|
|
54
|
+
this.instance = LiblslAdapter_1.default.getInstance();
|
|
55
|
+
}
|
|
56
|
+
static async createsInstance() {
|
|
57
|
+
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
54
58
|
}
|
|
55
59
|
static async throwsWhenBindingsFailToLoad() {
|
|
56
60
|
this.shouldThrowWhenCreatingBindings = true;
|
|
@@ -158,7 +162,7 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
158
162
|
}
|
|
159
163
|
static async canCreateStreamInfoWithRequiredParams() {
|
|
160
164
|
const options = this.generateRandomCreateStreamInfoOptions();
|
|
161
|
-
const actual = this.
|
|
165
|
+
const actual = this.instance.createStreamInfo(options);
|
|
162
166
|
test_utils_1.assert.isEqual(actual, this.fakeStreamInfo);
|
|
163
167
|
test_utils_1.assert.isEqualDeep(this.createStreamInfoParams, Object.values(options));
|
|
164
168
|
}
|
|
@@ -175,7 +179,7 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
175
179
|
sample: expected,
|
|
176
180
|
timestamp,
|
|
177
181
|
};
|
|
178
|
-
this.
|
|
182
|
+
this.instance.pushSampleFloatTimestamp(options);
|
|
179
183
|
test_utils_1.assert.isEqualDeep(this.pushSampleFloatTimestampParams, [
|
|
180
184
|
this.fakeOutlet,
|
|
181
185
|
expected,
|
|
@@ -183,14 +187,14 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
183
187
|
]);
|
|
184
188
|
}
|
|
185
189
|
static async canPushStringSample() {
|
|
186
|
-
const expected = [(0,
|
|
190
|
+
const expected = [(0, generate_id_1.default)()];
|
|
187
191
|
const timestamp = (0, crypto_1.randomInt)(100);
|
|
188
192
|
const options = {
|
|
189
193
|
outlet: this.fakeOutlet,
|
|
190
194
|
sample: expected,
|
|
191
195
|
timestamp,
|
|
192
196
|
};
|
|
193
|
-
this.
|
|
197
|
+
this.instance.pushSampleStringTimestamp(options);
|
|
194
198
|
test_utils_1.assert.isEqual(this.pushSampleStringTimestampParams?.[0], this.fakeOutlet);
|
|
195
199
|
test_utils_1.assert.isEqualDeep(this.pushSampleStringTimestampParams?.[1], expected);
|
|
196
200
|
test_utils_1.assert.isEqual(this.pushSampleStringTimestampParams?.[2], timestamp);
|
|
@@ -198,7 +202,7 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
198
202
|
static async addingSingleChannelGetsDescription() {
|
|
199
203
|
const info = this.createRandomStreamInfo();
|
|
200
204
|
const channel = this.generateRandomChannelValues();
|
|
201
|
-
this.
|
|
205
|
+
this.instance.appendChannelsToStreamInfo({
|
|
202
206
|
info,
|
|
203
207
|
channels: [channel],
|
|
204
208
|
});
|
|
@@ -223,7 +227,7 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
223
227
|
const info = this.createRandomStreamInfo();
|
|
224
228
|
const channel1 = this.generateRandomChannelValues();
|
|
225
229
|
const channel2 = this.generateRandomChannelValues();
|
|
226
|
-
this.
|
|
230
|
+
this.instance.appendChannelsToStreamInfo({
|
|
227
231
|
info,
|
|
228
232
|
channels: [channel1, channel2],
|
|
229
233
|
});
|
|
@@ -236,24 +240,24 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
236
240
|
static async canDestroyOutlet() {
|
|
237
241
|
const outlet = this.createRandomOutlet();
|
|
238
242
|
const options = { outlet };
|
|
239
|
-
this.
|
|
243
|
+
this.instance.destroyOutlet(options);
|
|
240
244
|
test_utils_1.assert.isEqualDeep(this.destroyOutletParams, Object.values(options));
|
|
241
245
|
}
|
|
242
246
|
static async callingLocalClockTwiceReturnsDifferentTimestamps() {
|
|
243
|
-
const t1 = this.
|
|
247
|
+
const t1 = this.instance.localClock();
|
|
244
248
|
await this.wait(10);
|
|
245
|
-
const t2 = this.
|
|
249
|
+
const t2 = this.instance.localClock();
|
|
246
250
|
test_utils_1.assert.isNotEqual(t1, t2);
|
|
247
251
|
}
|
|
248
252
|
static async localClockBindingReceivesEmptyArray() {
|
|
249
253
|
delete this.localClockParams;
|
|
250
|
-
this.
|
|
254
|
+
this.instance.localClock();
|
|
251
255
|
test_utils_1.assert.isEqualDeep(this.localClockParams, []);
|
|
252
256
|
}
|
|
253
257
|
static async defaultsToMacOsPath() {
|
|
254
258
|
delete process.env.LIBLSL_PATH;
|
|
255
259
|
LiblslAdapter_1.default.resetInstance();
|
|
256
|
-
this.
|
|
260
|
+
this.instance = LiblslAdapter_1.default.getInstance();
|
|
257
261
|
test_utils_1.assert.isEqual(this.ffiRsOpenOptions?.path, '/opt/homebrew/Cellar/lsl/1.16.2/lib/liblsl.1.16.2.dylib');
|
|
258
262
|
}
|
|
259
263
|
static async canCreateInletWithRequiredParams() {
|
|
@@ -262,16 +266,16 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
262
266
|
test_utils_1.assert.isEqual(inlet, this.fakeInlet);
|
|
263
267
|
}
|
|
264
268
|
static createRandomStreamInfo() {
|
|
265
|
-
return this.
|
|
269
|
+
return this.instance.createStreamInfo(this.generateRandomCreateStreamInfoOptions());
|
|
266
270
|
}
|
|
267
271
|
static createRandomOutlet() {
|
|
268
272
|
const options = this.createRandomOptions();
|
|
269
|
-
const outlet = this.
|
|
273
|
+
const outlet = this.instance.createOutlet(options);
|
|
270
274
|
return { options, outlet };
|
|
271
275
|
}
|
|
272
276
|
static createRandomInlet() {
|
|
273
277
|
const options = this.createRandomOptions();
|
|
274
|
-
const inlet = this.
|
|
278
|
+
const inlet = this.instance.createInlet(options);
|
|
275
279
|
return { options, inlet };
|
|
276
280
|
}
|
|
277
281
|
static createRandomOptions() {
|
|
@@ -285,19 +289,19 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
285
289
|
}
|
|
286
290
|
static generateRandomChannelValues() {
|
|
287
291
|
return {
|
|
288
|
-
label: (0,
|
|
289
|
-
type: (0,
|
|
290
|
-
unit: (0,
|
|
292
|
+
label: (0, generate_id_1.default)(),
|
|
293
|
+
type: (0, generate_id_1.default)(),
|
|
294
|
+
unit: (0, generate_id_1.default)(),
|
|
291
295
|
};
|
|
292
296
|
}
|
|
293
297
|
static generateRandomCreateStreamInfoOptions() {
|
|
294
298
|
return {
|
|
295
|
-
name: (0,
|
|
296
|
-
type: (0,
|
|
299
|
+
name: (0, generate_id_1.default)(),
|
|
300
|
+
type: (0, generate_id_1.default)(),
|
|
297
301
|
channelCount: (0, crypto_1.randomInt)(1, 10),
|
|
298
302
|
sampleRate: (0, crypto_1.randomInt)(100),
|
|
299
303
|
channelFormat: (0, crypto_1.randomInt)(7),
|
|
300
|
-
sourceId: (0,
|
|
304
|
+
sourceId: (0, generate_id_1.default)(),
|
|
301
305
|
};
|
|
302
306
|
}
|
|
303
307
|
static generateFailedMessage() {
|
|
@@ -353,6 +357,9 @@ class LiblslAdapterTest extends AbstractLslTest_1.default {
|
|
|
353
357
|
}
|
|
354
358
|
LiblslAdapterTest.appendChildParams = [];
|
|
355
359
|
exports.default = LiblslAdapterTest;
|
|
360
|
+
__decorate([
|
|
361
|
+
(0, test_utils_1.test)()
|
|
362
|
+
], LiblslAdapterTest, "createsInstance", null);
|
|
356
363
|
__decorate([
|
|
357
364
|
(0, test_utils_1.test)()
|
|
358
365
|
], LiblslAdapterTest, "throwsWhenBindingsFailToLoad", null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiblslAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LiblslAdapter.test.ts"],"names":[],"mappings":"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"}
|
package/build/__tests__/{modules/EventMarkerOutlet.test.d.ts → impl/LslEventMarkerOutlet.test.d.ts}
RENAMED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class EventMarkerOutletTest extends
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest';
|
|
2
|
+
export default class EventMarkerOutletTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
5
6
|
protected static loadsWithEventMarkerSpecificOptions(): Promise<void>;
|
|
6
7
|
protected static canOverrideDefaultOptions(): Promise<void>;
|
|
7
8
|
protected static pushingSingleMarkerIncrementsHitCountAndWaitTime(): Promise<void>;
|
|
@@ -11,9 +12,9 @@ export default class EventMarkerOutletTest extends AbstractLslTest {
|
|
|
11
12
|
protected static doesNotWaitIfStopped(): Promise<void>;
|
|
12
13
|
protected static clearsTheTimeoutOnStop(): Promise<void>;
|
|
13
14
|
protected static pushMarkerCallsPushSampleOnMarkerOutlet(): Promise<void>;
|
|
14
|
-
private static get
|
|
15
|
+
private static get streamOutlet();
|
|
15
16
|
private static setupOutlet;
|
|
16
17
|
private static pushTotalMarkers;
|
|
17
18
|
private static generateDurationMarker;
|
|
18
|
-
private static
|
|
19
|
+
private static LslEventMarkerOutlet;
|
|
19
20
|
}
|
package/build/__tests__/{modules/EventMarkerOutlet.test.js → impl/LslEventMarkerOutlet.test.js}
RENAMED
|
@@ -11,20 +11,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const crypto_1 = require("crypto");
|
|
13
13
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
-
const
|
|
14
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
15
|
+
const LslEventMarkerOutlet_1 = __importDefault(require("../../impl/LslEventMarkerOutlet"));
|
|
15
16
|
const generateRandomOutletOptions_1 = __importDefault(require("../../testDoubles/generateRandomOutletOptions"));
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
class EventMarkerOutletTest extends
|
|
17
|
+
const FakeStreamOutlet_1 = __importDefault(require("../../testDoubles/StreamOutlet/FakeStreamOutlet"));
|
|
18
|
+
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
19
|
+
class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
19
20
|
static async beforeEach() {
|
|
20
21
|
await super.beforeEach();
|
|
21
22
|
this.setFakeLiblsl();
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.instance = await this.
|
|
23
|
+
this.setFakeStreamOutlet();
|
|
24
|
+
this.setSpyEventMarkerOutlet();
|
|
25
|
+
this.instance = await this.LslEventMarkerOutlet();
|
|
26
|
+
}
|
|
27
|
+
static async createsInstance() {
|
|
28
|
+
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
25
29
|
}
|
|
26
30
|
static async loadsWithEventMarkerSpecificOptions() {
|
|
27
|
-
test_utils_1.assert.isEqualDeep(
|
|
31
|
+
test_utils_1.assert.isEqualDeep(FakeStreamOutlet_1.default.callsToConstructor[0].options, {
|
|
28
32
|
name: 'Event markers',
|
|
29
33
|
type: 'Markers',
|
|
30
34
|
channelNames: ['Markers'],
|
|
@@ -39,24 +43,24 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
39
43
|
}
|
|
40
44
|
static async canOverrideDefaultOptions() {
|
|
41
45
|
const options = (0, generateRandomOutletOptions_1.default)();
|
|
42
|
-
await this.
|
|
43
|
-
test_utils_1.assert.isEqualDeep(
|
|
46
|
+
await this.LslEventMarkerOutlet(options);
|
|
47
|
+
test_utils_1.assert.isEqualDeep(FakeStreamOutlet_1.default.callsToConstructor[1].options, options);
|
|
44
48
|
}
|
|
45
49
|
static async pushingSingleMarkerIncrementsHitCountAndWaitTime() {
|
|
46
50
|
const markers = [this.generateDurationMarker()];
|
|
47
51
|
await this.instance.pushMarkers(markers);
|
|
48
52
|
const marker = markers[0];
|
|
49
|
-
test_utils_1.assert.isEqual(
|
|
53
|
+
test_utils_1.assert.isEqual(FakeStreamOutlet_1.default.callsToPushSample[0][0], marker.name, 'Pushed the wrong marker!');
|
|
50
54
|
test_utils_1.assert.isEqual(this.instance.totalWaitTimeMs, marker.durationMs);
|
|
51
55
|
}
|
|
52
56
|
static async pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice() {
|
|
53
57
|
const markers = await this.pushTotalMarkers(2);
|
|
54
|
-
test_utils_1.assert.isEqual(
|
|
58
|
+
test_utils_1.assert.isEqual(FakeStreamOutlet_1.default.callsToPushSample.length, 2);
|
|
55
59
|
test_utils_1.assert.isEqual(this.instance.totalWaitTimeMs, markers[0].durationMs + markers[1].durationMs);
|
|
56
60
|
}
|
|
57
61
|
static async canStopEventMarkersMidPush(bailIdx) {
|
|
58
62
|
let hitCount = 0;
|
|
59
|
-
const outlet = this.instance.
|
|
63
|
+
const outlet = this.instance.getStreamOutlet();
|
|
60
64
|
outlet.pushSample = () => {
|
|
61
65
|
hitCount += 1;
|
|
62
66
|
if (hitCount === bailIdx) {
|
|
@@ -69,7 +73,7 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
69
73
|
static async canStartAgainAfterStopping() {
|
|
70
74
|
this.instance.stop();
|
|
71
75
|
let hitCount = 0;
|
|
72
|
-
const outlet = this.instance.
|
|
76
|
+
const outlet = this.instance.getStreamOutlet();
|
|
73
77
|
outlet.pushSample = () => {
|
|
74
78
|
hitCount++;
|
|
75
79
|
};
|
|
@@ -88,19 +92,19 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
88
92
|
static async clearsTheTimeoutOnStop() {
|
|
89
93
|
void this.pushTotalMarkers(2, 100);
|
|
90
94
|
this.instance.stop();
|
|
91
|
-
this.
|
|
95
|
+
this.streamOutlet.pushSample = () => test_utils_1.assert.fail('Should not have been called');
|
|
92
96
|
}
|
|
93
97
|
static async pushMarkerCallsPushSampleOnMarkerOutlet() {
|
|
94
|
-
const markerName = (0,
|
|
98
|
+
const markerName = (0, generate_id_1.default)();
|
|
95
99
|
this.instance.pushMarker(markerName);
|
|
96
|
-
test_utils_1.assert.isEqual(
|
|
100
|
+
test_utils_1.assert.isEqual(FakeStreamOutlet_1.default.callsToPushSample[0][0], markerName);
|
|
97
101
|
}
|
|
98
|
-
static get
|
|
99
|
-
return this.instance.
|
|
102
|
+
static get streamOutlet() {
|
|
103
|
+
return this.instance.getStreamOutlet();
|
|
100
104
|
}
|
|
101
105
|
static async setupOutlet() {
|
|
102
|
-
|
|
103
|
-
this.instance = await this.
|
|
106
|
+
LslEventMarkerOutlet_1.default.Class = LslEventMarkerOutlet_1.default;
|
|
107
|
+
this.instance = await this.LslEventMarkerOutlet();
|
|
104
108
|
}
|
|
105
109
|
static async pushTotalMarkers(total, durationMs) {
|
|
106
110
|
const markers = new Array(total)
|
|
@@ -111,15 +115,18 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
111
115
|
}
|
|
112
116
|
static generateDurationMarker(durationMs) {
|
|
113
117
|
return {
|
|
114
|
-
name: (0,
|
|
118
|
+
name: (0, generate_id_1.default)(),
|
|
115
119
|
durationMs: durationMs ?? (0, crypto_1.randomInt)(100, 1000),
|
|
116
120
|
};
|
|
117
121
|
}
|
|
118
|
-
static async
|
|
119
|
-
return (await
|
|
122
|
+
static async LslEventMarkerOutlet(options) {
|
|
123
|
+
return (await LslEventMarkerOutlet_1.default.Create(options));
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
126
|
exports.default = EventMarkerOutletTest;
|
|
127
|
+
__decorate([
|
|
128
|
+
(0, test_utils_1.test)()
|
|
129
|
+
], EventMarkerOutletTest, "createsInstance", null);
|
|
123
130
|
__decorate([
|
|
124
131
|
(0, test_utils_1.test)()
|
|
125
132
|
], EventMarkerOutletTest, "loadsWithEventMarkerSpecificOptions", null);
|
|
@@ -149,4 +156,4 @@ __decorate([
|
|
|
149
156
|
__decorate([
|
|
150
157
|
(0, test_utils_1.test)()
|
|
151
158
|
], EventMarkerOutletTest, "pushMarkerCallsPushSampleOnMarkerOutlet", null);
|
|
152
|
-
//# sourceMappingURL=
|
|
159
|
+
//# sourceMappingURL=LslEventMarkerOutlet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslEventMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslEventMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class LslStreamInfoTest extends
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest';
|
|
2
|
+
export default class LslStreamInfoTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
|
-
protected static
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
6
6
|
protected static generatesUniqueNameIfNotProvided(): Promise<void>;
|
|
7
7
|
protected static uniqueNameHasSetPrefix(): Promise<void>;
|
|
8
8
|
protected static canManuallySetName(): Promise<void>;
|