@neurodevs/node-lsl 17.1.1 → 18.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/.claude/settings.local.json +10 -0
- package/.vscode/launch.json +54 -57
- package/.vscode/settings.json +61 -66
- package/.vscode/tasks.json +98 -129
- package/README.md +20 -44
- package/build/__tests__/AbstractPackageTest.d.ts +7 -5
- package/build/__tests__/AbstractPackageTest.js +22 -15
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/BleDeviceController.test.d.ts +54 -0
- package/build/__tests__/impl/BleDeviceController.test.js +333 -0
- package/build/__tests__/impl/BleDeviceController.test.js.map +1 -0
- package/build/__tests__/impl/LslEventMarkerEmitter.test.d.ts +34 -0
- package/build/__tests__/impl/LslEventMarkerEmitter.test.js +243 -0
- package/build/__tests__/impl/LslEventMarkerEmitter.test.js.map +1 -0
- package/build/__tests__/impl/LslStreamInfo.test.d.ts +0 -3
- package/build/__tests__/impl/LslStreamInfo.test.js +2 -27
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +20 -8
- package/build/__tests__/impl/LslStreamInlet.test.js +224 -69
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamOutlet.test.d.ts +3 -7
- package/build/__tests__/impl/LslStreamOutlet.test.js +40 -50
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslWebSocketBridge.test.js +19 -20
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
- package/build/assertions.d.ts +1 -1
- package/build/assertions.js.map +1 -1
- package/build/impl/LslEventMarkerEmitter.d.ts +35 -0
- package/build/impl/LslEventMarkerEmitter.js +86 -0
- package/build/impl/LslEventMarkerEmitter.js.map +1 -0
- package/build/impl/LslStreamInfo.d.ts +4 -8
- package/build/impl/LslStreamInfo.js +8 -21
- package/build/impl/LslStreamInfo.js.map +1 -1
- package/build/impl/LslStreamInlet.d.ts +31 -50
- package/build/impl/LslStreamInlet.js +79 -149
- package/build/impl/LslStreamInlet.js.map +1 -1
- package/build/impl/LslStreamOutlet.d.ts +15 -18
- package/build/impl/LslStreamOutlet.js +39 -47
- package/build/impl/LslStreamOutlet.js.map +1 -1
- package/build/impl/LslWebSocketBridge.d.ts +4 -5
- package/build/impl/LslWebSocketBridge.js +10 -10
- package/build/impl/LslWebSocketBridge.js.map +1 -1
- package/build/impl/controllers/BleDeviceController.d.ts +58 -0
- package/build/impl/controllers/BleDeviceController.js +145 -0
- package/build/impl/controllers/BleDeviceController.js.map +1 -0
- package/build/impl/workers/inlet/LslStreamInlet.worker.d.ts +22 -0
- package/build/impl/workers/inlet/LslStreamInlet.worker.js +42 -0
- package/build/impl/workers/inlet/LslStreamInlet.worker.js.map +1 -0
- package/build/impl/workers/inlet/StreamInletWorker.d.ts +73 -0
- package/build/impl/workers/inlet/StreamInletWorker.js +253 -0
- package/build/impl/workers/inlet/StreamInletWorker.js.map +1 -0
- package/build/impl/workers/outlet/LslStreamOutlet.worker.d.ts +32 -0
- package/build/impl/workers/outlet/LslStreamOutlet.worker.js +82 -0
- package/build/impl/workers/outlet/LslStreamOutlet.worker.js.map +1 -0
- package/build/index.d.ts +14 -14
- package/build/index.js +16 -16
- package/build/index.js.map +1 -1
- package/build/scripts/discoverMuse.js +40 -0
- package/build/scripts/discoverMuse.js.map +1 -0
- package/build/scripts/finalizeHandles.d.ts +2 -0
- package/build/scripts/finalizeHandles.js +48 -0
- package/build/scripts/finalizeHandles.js.map +1 -0
- package/build/scripts/runLslEventMarkerEmitter.d.ts +1 -0
- package/build/scripts/runLslEventMarkerEmitter.js +11 -0
- package/build/scripts/runLslEventMarkerEmitter.js.map +1 -0
- package/build/scripts/runMuse.d.ts +1 -0
- package/build/scripts/runMuse.js +40 -0
- package/build/scripts/runMuse.js.map +1 -0
- package/build/scripts/runOutletToInlet.js +7 -6
- package/build/scripts/runOutletToInlet.js.map +1 -1
- package/build/scripts/testDestroyOutlet.d.ts +1 -0
- package/build/scripts/testDestroyOutlet.js +4 -0
- package/build/scripts/testDestroyOutlet.js.map +1 -0
- package/build/testDoubles/BleController/FakeBleController.d.ts +24 -0
- package/build/testDoubles/BleController/FakeBleController.js +42 -0
- package/build/testDoubles/BleController/FakeBleController.js.map +1 -0
- package/build/testDoubles/BleController/SpyBleController.d.ts +14 -0
- package/build/testDoubles/BleController/SpyBleController.js +48 -0
- package/build/testDoubles/BleController/SpyBleController.js.map +1 -0
- package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.d.ts +17 -0
- package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js +30 -0
- package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js.map +1 -0
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.d.ts +10 -0
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js +23 -0
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js.map +1 -0
- package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.d.ts +9 -0
- package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js +19 -0
- package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js.map +1 -0
- package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +3 -3
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js +3 -3
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +1 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +8 -10
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js +6 -7
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -1
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +2 -5
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js +2 -8
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -1
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.d.ts +7 -9
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +8 -8
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -1
- package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.d.ts +1 -1
- package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js +1 -1
- package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js.map +1 -1
- package/build/testDoubles/WorkerThreads/FakeWorker.d.ts +27 -0
- package/build/testDoubles/WorkerThreads/FakeWorker.js +67 -0
- package/build/testDoubles/WorkerThreads/FakeWorker.js.map +1 -0
- package/build/testDoubles/generateRandomOutletOptions.js +1 -1
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/build/validations.js +0 -2
- package/build/validations.js.map +1 -1
- package/eslint.config.js +3 -0
- package/package.json +27 -49
- package/prettier.config.js +3 -0
- package/src/__tests__/AbstractPackageTest.ts +38 -21
- package/src/__tests__/impl/BleDeviceController.test.ts +492 -0
- package/src/__tests__/impl/LslEventMarkerEmitter.test.ts +323 -0
- package/src/__tests__/impl/LslStreamInfo.test.ts +3 -40
- package/src/__tests__/impl/LslStreamInlet.test.ts +344 -97
- package/src/__tests__/impl/LslStreamOutlet.test.ts +65 -73
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +22 -21
- package/src/assertions.ts +2 -1
- package/src/impl/LslEventMarkerEmitter.ts +133 -0
- package/src/impl/LslStreamInfo.ts +17 -29
- package/src/impl/LslStreamInlet.ts +102 -215
- package/src/impl/LslStreamOutlet.ts +54 -78
- package/src/impl/LslWebSocketBridge.ts +14 -14
- package/src/impl/controllers/BleDeviceController.ts +223 -0
- package/src/impl/workers/inlet/LslStreamInlet.worker.ts +74 -0
- package/src/impl/workers/inlet/StreamInletWorker.ts +348 -0
- package/src/impl/workers/outlet/LslStreamOutlet.worker.ts +144 -0
- package/src/index.ts +16 -16
- package/src/scripts/discoverMuse.ts +50 -0
- package/src/scripts/finalizeHandles.ts +63 -0
- package/src/scripts/runLslEventMarkerEmitter.ts +15 -0
- package/src/scripts/runMuse.ts +50 -0
- package/src/scripts/runOutletToInlet.ts +10 -8
- package/src/scripts/testDestroyOutlet.ts +5 -0
- package/src/testDoubles/BleController/FakeBleController.ts +70 -0
- package/src/testDoubles/BleController/SpyBleController.ts +61 -0
- package/src/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.ts +46 -0
- package/src/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.ts +31 -0
- package/src/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.ts +29 -0
- package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +4 -4
- package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +11 -17
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +3 -16
- package/src/testDoubles/StreamOutlet/FakeStreamOutlet.ts +15 -15
- package/src/testDoubles/WebSocketBridge/FakeWebSocketBridge.ts +1 -1
- package/src/testDoubles/WorkerThreads/FakeWorker.ts +99 -0
- package/src/testDoubles/generateRandomOutletOptions.ts +2 -1
- package/src/validations.ts +0 -2
- package/tsconfig.json +23 -27
- package/build/.spruce/settings.json +0 -11
- package/build/__tests__/impl/LiblslAdapter.test.d.ts +0 -79
- package/build/__tests__/impl/LiblslAdapter.test.js +0 -688
- package/build/__tests__/impl/LiblslAdapter.test.js.map +0 -1
- package/build/__tests__/impl/LslEventMarkerOutlet.test.d.ts +0 -21
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js +0 -160
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +0 -1
- package/build/handleError.d.ts +0 -8
- package/build/handleError.js +0 -25
- package/build/handleError.js.map +0 -1
- package/build/impl/LiblslAdapter.d.ts +0 -154
- package/build/impl/LiblslAdapter.js +0 -317
- package/build/impl/LiblslAdapter.js.map +0 -1
- package/build/impl/LslEventMarkerOutlet.d.ts +0 -28
- package/build/impl/LslEventMarkerOutlet.js +0 -63
- package/build/impl/LslEventMarkerOutlet.js.map +0 -1
- package/build/scripts/runLslEventMarkerOutlet.js +0 -18
- package/build/scripts/runLslEventMarkerOutlet.js.map +0 -1
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.d.ts +0 -13
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js +0 -26
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +0 -1
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.d.ts +0 -17
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js +0 -46
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +0 -1
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +0 -9
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js +0 -19
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +0 -1
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +0 -9
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js +0 -19
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +0 -1
- package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +0 -50
- package/build/testDoubles/Liblsl/FakeLiblsl.js +0 -126
- package/build/testDoubles/Liblsl/FakeLiblsl.js.map +0 -1
- package/eslint.config.mjs +0 -3
- package/src/.spruce/settings.json +0 -11
- package/src/__tests__/impl/LiblslAdapter.test.ts +0 -817
- package/src/__tests__/impl/LslEventMarkerOutlet.test.ts +0 -195
- package/src/handleError.ts +0 -24
- package/src/impl/LiblslAdapter.ts +0 -543
- package/src/impl/LslEventMarkerOutlet.ts +0 -97
- package/src/scripts/runLslEventMarkerOutlet.ts +0 -23
- package/src/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.ts +0 -36
- package/src/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.ts +0 -75
- package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +0 -24
- package/src/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.ts +0 -28
- package/src/testDoubles/Liblsl/FakeLiblsl.ts +0 -182
- /package/build/scripts/{runLslEventMarkerOutlet.d.ts → discoverMuse.d.ts} +0 -0
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { randomInt } from 'crypto'
|
|
2
|
-
import { assert, test } from '@neurodevs/node-tdd'
|
|
3
|
-
|
|
4
|
-
import LslEventMarkerOutlet from '../../impl/LslEventMarkerOutlet.js'
|
|
5
|
-
import { StreamOutletOptions } from '../../impl/LslStreamOutlet.js'
|
|
6
|
-
import SpyEventMarkerOutlet from '../../testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js'
|
|
7
|
-
import generateRandomOutletOptions from '../../testDoubles/generateRandomOutletOptions.js'
|
|
8
|
-
import FakeStreamOutlet from '../../testDoubles/StreamOutlet/FakeStreamOutlet.js'
|
|
9
|
-
import AbstractPackageTest from '../AbstractPackageTest.js'
|
|
10
|
-
|
|
11
|
-
export default class EventMarkerOutletTest extends AbstractPackageTest {
|
|
12
|
-
private static instance: SpyEventMarkerOutlet
|
|
13
|
-
|
|
14
|
-
protected static async beforeEach() {
|
|
15
|
-
await super.beforeEach()
|
|
16
|
-
|
|
17
|
-
this.setFakeLiblsl()
|
|
18
|
-
this.setFakeStreamOutlet()
|
|
19
|
-
this.setSpyEventMarkerOutlet()
|
|
20
|
-
|
|
21
|
-
this.instance = await this.LslEventMarkerOutlet()
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@test()
|
|
25
|
-
protected static async createsInstance() {
|
|
26
|
-
assert.isTruthy(this.instance, 'Failed to create instance!')
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@test()
|
|
30
|
-
protected static async loadsWithEventMarkerSpecificOptions() {
|
|
31
|
-
assert.isEqualDeep(FakeStreamOutlet.callsToConstructor[0].options, {
|
|
32
|
-
name: 'Event markers',
|
|
33
|
-
type: 'Markers',
|
|
34
|
-
sourceId: 'event-markers',
|
|
35
|
-
channelNames: ['Markers'],
|
|
36
|
-
channelFormat: 'string',
|
|
37
|
-
sampleRateHz: 0,
|
|
38
|
-
chunkSize: 0,
|
|
39
|
-
maxBufferedMs: 0,
|
|
40
|
-
manufacturer: 'N/A',
|
|
41
|
-
units: 'N/A',
|
|
42
|
-
})
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@test()
|
|
46
|
-
protected static async canOverrideDefaultOptions() {
|
|
47
|
-
const options = generateRandomOutletOptions()
|
|
48
|
-
await this.LslEventMarkerOutlet(options)
|
|
49
|
-
|
|
50
|
-
assert.isEqualDeep(
|
|
51
|
-
FakeStreamOutlet.callsToConstructor[1].options,
|
|
52
|
-
options
|
|
53
|
-
)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@test()
|
|
57
|
-
protected static async pushingSingleMarkerIncrementsHitCountAndWaitTime() {
|
|
58
|
-
const markers = [this.generateDurationMarker()]
|
|
59
|
-
await this.instance.pushMarkers(markers)
|
|
60
|
-
|
|
61
|
-
const marker = markers[0]
|
|
62
|
-
|
|
63
|
-
assert.isEqual(
|
|
64
|
-
FakeStreamOutlet.callsToPushSample[0][0],
|
|
65
|
-
marker.name,
|
|
66
|
-
'Pushed the wrong marker!'
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
assert.isEqual(this.instance.totalWaitTimeMs, marker.durationMs)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
@test()
|
|
73
|
-
protected static async pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice() {
|
|
74
|
-
const markers = await this.pushTotalMarkers(2)
|
|
75
|
-
|
|
76
|
-
assert.isEqual(FakeStreamOutlet.callsToPushSample.length, 2)
|
|
77
|
-
|
|
78
|
-
assert.isEqual(
|
|
79
|
-
this.instance.totalWaitTimeMs,
|
|
80
|
-
markers[0].durationMs + markers[1].durationMs
|
|
81
|
-
)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
@test('can stop on the first marker', 1)
|
|
85
|
-
@test('can stop on the second marker', 2)
|
|
86
|
-
@test('can stop on the third marker', 3)
|
|
87
|
-
protected static async canStopEventMarkersMidPush(bailIdx: number) {
|
|
88
|
-
let hitCount = 0
|
|
89
|
-
|
|
90
|
-
const outlet = this.instance.getStreamOutlet()
|
|
91
|
-
|
|
92
|
-
outlet.pushSample = () => {
|
|
93
|
-
hitCount += 1
|
|
94
|
-
if (hitCount === bailIdx) {
|
|
95
|
-
this.instance.stop()
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
await this.pushTotalMarkers(10)
|
|
100
|
-
|
|
101
|
-
assert.isEqual(hitCount, bailIdx)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
@test()
|
|
105
|
-
protected static async canStartAgainAfterStopping() {
|
|
106
|
-
this.instance.stop()
|
|
107
|
-
|
|
108
|
-
let hitCount = 0
|
|
109
|
-
|
|
110
|
-
const outlet = this.instance.getStreamOutlet()
|
|
111
|
-
|
|
112
|
-
outlet.pushSample = () => {
|
|
113
|
-
hitCount++
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
await this.pushTotalMarkers(10)
|
|
117
|
-
|
|
118
|
-
assert.isEqual(hitCount, 10)
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
@test()
|
|
122
|
-
protected static async doesNotWaitIfStopped() {
|
|
123
|
-
await this.setupOutlet()
|
|
124
|
-
|
|
125
|
-
const startMs = Date.now()
|
|
126
|
-
const promise = this.pushTotalMarkers(2, 1000)
|
|
127
|
-
this.instance.stop()
|
|
128
|
-
await promise
|
|
129
|
-
const endMs = Date.now()
|
|
130
|
-
|
|
131
|
-
assert.isBelow(endMs - startMs, 10)
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
@test()
|
|
135
|
-
protected static async clearsTheTimeoutOnStop() {
|
|
136
|
-
void this.pushTotalMarkers(2, 100)
|
|
137
|
-
this.instance.stop()
|
|
138
|
-
|
|
139
|
-
this.streamOutlet.pushSample = () =>
|
|
140
|
-
assert.fail('Should not have been called')
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
@test()
|
|
144
|
-
protected static async pushMarkerCallsPushSampleOnMarkerOutlet() {
|
|
145
|
-
const markerName = this.generateId()
|
|
146
|
-
this.instance.pushMarker(markerName)
|
|
147
|
-
|
|
148
|
-
assert.isEqual(FakeStreamOutlet.callsToPushSample[0][0], markerName)
|
|
149
|
-
}
|
|
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
|
-
|
|
162
|
-
private static get streamOutlet() {
|
|
163
|
-
return this.instance.getStreamOutlet()
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
private static async setupOutlet() {
|
|
167
|
-
LslEventMarkerOutlet.Class = LslEventMarkerOutlet as any
|
|
168
|
-
this.instance = await this.LslEventMarkerOutlet()
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
private static async pushTotalMarkers(total: number, durationMs?: number) {
|
|
172
|
-
const markers = new Array(total)
|
|
173
|
-
.fill(null)
|
|
174
|
-
.map(() => this.generateDurationMarker(durationMs))
|
|
175
|
-
|
|
176
|
-
await this.instance.pushMarkers(markers)
|
|
177
|
-
|
|
178
|
-
return markers
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
private static generateDurationMarker(durationMs?: number) {
|
|
182
|
-
return {
|
|
183
|
-
name: this.generateId(),
|
|
184
|
-
durationMs: durationMs ?? randomInt(100, 1000),
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
private static async LslEventMarkerOutlet(
|
|
189
|
-
options?: Partial<StreamOutletOptions>
|
|
190
|
-
) {
|
|
191
|
-
return (await LslEventMarkerOutlet.Create(
|
|
192
|
-
options
|
|
193
|
-
)) as SpyEventMarkerOutlet
|
|
194
|
-
}
|
|
195
|
-
}
|
package/src/handleError.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export default function handleError(errorCode: number) {
|
|
2
|
-
switch (errorCode) {
|
|
3
|
-
case 0:
|
|
4
|
-
return
|
|
5
|
-
case -1:
|
|
6
|
-
throw new Error(`The liblsl operation failed due to a timeout!`)
|
|
7
|
-
case -2:
|
|
8
|
-
throw new Error(`The liblsl stream has been lost!`)
|
|
9
|
-
case -3:
|
|
10
|
-
throw new Error(`A liblsl argument was incorrectly specified!`)
|
|
11
|
-
case -4:
|
|
12
|
-
throw new Error(`An internal liblsl error has occurred!`)
|
|
13
|
-
default:
|
|
14
|
-
throw new Error(`An unknown liblsl error has occurred!`)
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export enum LslErrorCode {
|
|
19
|
-
Ok = 0,
|
|
20
|
-
Timeout = -1,
|
|
21
|
-
Lost = -2,
|
|
22
|
-
BadArgument = -3,
|
|
23
|
-
InternalError = -4,
|
|
24
|
-
}
|