@neurodevs/node-lsl 19.0.0 → 22.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/README.md +6 -6
- package/build/__tests__/AbstractPackageTest.d.ts +12 -11
- package/build/__tests__/AbstractPackageTest.js +32 -34
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/{BleDeviceController.test.d.ts → BleGattController.test.d.ts} +3 -3
- package/build/__tests__/impl/{BleDeviceController.test.js → BleGattController.test.js} +68 -70
- package/build/__tests__/impl/BleGattController.test.js.map +1 -0
- package/build/__tests__/impl/BleObserverController.test.d.ts +12 -0
- package/build/__tests__/impl/BleObserverController.test.js +62 -0
- package/build/__tests__/impl/BleObserverController.test.js.map +1 -0
- package/build/__tests__/impl/{LslEventMarkerEmitter.test.d.ts → LslEventMarkerOutlet.test.d.ts} +3 -3
- package/build/__tests__/impl/{LslEventMarkerEmitter.test.js → LslEventMarkerOutlet.test.js} +45 -46
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
- package/build/__tests__/impl/LslJsonOutlet.test.d.ts +14 -0
- package/build/__tests__/impl/LslJsonOutlet.test.js +118 -0
- package/build/__tests__/impl/LslJsonOutlet.test.js.map +1 -0
- package/build/__tests__/impl/LslStreamInfo.test.js +2 -3
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +3 -5
- package/build/__tests__/impl/LslStreamInlet.test.js +13 -47
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamOutlet.test.js +7 -13
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslWebSocketBridge.test.js +9 -11
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
- package/build/__tests__/impl/UsbDeviceController.test.js.map +1 -1
- package/build/__tests__/impl/WindowedClockRegressor.test.js +1 -1
- package/build/__tests__/impl/WindowedClockRegressor.test.js.map +1 -1
- package/build/assertions.js +1 -1
- package/build/assertions.js.map +1 -1
- package/build/impl/LslEventMarkerOutlet.d.ts +35 -0
- package/build/impl/{LslEventMarkerEmitter.js → LslEventMarkerOutlet.js} +2 -2
- package/build/impl/LslEventMarkerOutlet.js.map +1 -0
- package/build/impl/LslJsonOutlet.d.ts +33 -0
- package/build/impl/LslJsonOutlet.js +44 -0
- package/build/impl/LslJsonOutlet.js.map +1 -0
- package/build/impl/LslStreamInfo.d.ts +7 -7
- package/build/impl/LslStreamInfo.js.map +1 -1
- package/build/impl/LslStreamInlet.d.ts +63 -21
- package/build/impl/LslStreamInlet.js +221 -65
- package/build/impl/LslStreamInlet.js.map +1 -1
- package/build/impl/LslStreamOutlet.d.ts +16 -16
- package/build/impl/LslStreamOutlet.js +32 -36
- package/build/impl/LslStreamOutlet.js.map +1 -1
- package/build/impl/LslWebSocketBridge.d.ts +10 -10
- package/build/impl/LslWebSocketBridge.js.map +1 -1
- package/build/impl/clocks/WindowedClockRegressor.js.map +1 -0
- package/build/impl/controllers/{BleDeviceController.d.ts → BleGattController.d.ts} +10 -10
- package/build/impl/controllers/{BleDeviceController.js → BleGattController.js} +19 -19
- package/build/impl/controllers/BleGattController.js.map +1 -0
- package/build/impl/controllers/BleObserverController.d.ts +20 -0
- package/build/impl/controllers/BleObserverController.js +37 -0
- package/build/impl/controllers/BleObserverController.js.map +1 -0
- package/build/impl/controllers/UsbDeviceController.d.ts +9 -9
- package/build/impl/controllers/UsbDeviceController.js +7 -7
- package/build/impl/controllers/UsbDeviceController.js.map +1 -1
- package/build/index.d.ts +43 -31
- package/build/index.js +52 -39
- package/build/index.js.map +1 -1
- package/build/scripts/{runLslEventMarkerEmitter.js → runEventMarkerOutlet.js} +4 -3
- package/build/scripts/runEventMarkerOutlet.js.map +1 -0
- package/build/scripts/{runLslStreamOutlet.js → runLslOutlet.js} +1 -1
- package/build/scripts/runLslOutlet.js.map +1 -0
- package/build/scripts/runMuse.js +2 -2
- package/build/scripts/runMuse.js.map +1 -1
- package/build/testDoubles/{BleController/FakeBleController.d.ts → BleGatt/FakeBleGatt.d.ts} +6 -6
- package/build/testDoubles/{BleController/FakeBleController.js → BleGatt/FakeBleGatt.js} +8 -8
- package/build/testDoubles/BleGatt/FakeBleGatt.js.map +1 -0
- package/build/testDoubles/{BleController/SpyBleController.d.ts → BleGatt/SpyBleGatt.d.ts} +4 -4
- package/build/testDoubles/{BleController/SpyBleController.js → BleGatt/SpyBleGatt.js} +3 -3
- package/build/testDoubles/BleGatt/SpyBleGatt.js.map +1 -0
- package/build/testDoubles/BleObserver/FakeBleObserver.d.ts +10 -0
- package/build/testDoubles/BleObserver/FakeBleObserver.js +20 -0
- package/build/testDoubles/BleObserver/FakeBleObserver.js.map +1 -0
- package/build/testDoubles/ClockRegressor/FakeClockRegressor.d.ts +1 -1
- package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +4 -4
- package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.js → EventMarkerOutlet/FakeEventMarkerOutlet.js} +7 -7
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +10 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js +23 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +9 -0
- package/build/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +2 -2
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/JsonOutlet/FakeJsonOutlet.d.ts +10 -0
- package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js +20 -0
- package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js.map +1 -0
- package/build/testDoubles/{StreamInfo/FakeStreamInfo.d.ts → LslInfo/FakeLslInfo.d.ts} +4 -4
- package/build/testDoubles/{StreamInfo/FakeStreamInfo.js → LslInfo/FakeLslInfo.js} +7 -7
- package/build/testDoubles/LslInfo/FakeLslInfo.js.map +1 -0
- package/build/testDoubles/LslInfo/SpyLslInfo.d.ts +10 -0
- package/build/testDoubles/{StreamInfo/SpyStreamInfo.js → LslInfo/SpyLslInfo.js} +4 -4
- package/build/testDoubles/LslInfo/SpyLslInfo.js.map +1 -0
- package/build/testDoubles/{StreamInlet/FakeStreamInlet.d.ts → LslInlet/FakeLslInlet.d.ts} +4 -4
- package/build/testDoubles/{StreamInlet/FakeStreamInlet.js → LslInlet/FakeLslInlet.js} +12 -11
- package/build/testDoubles/LslInlet/FakeLslInlet.js.map +1 -0
- package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +4 -0
- package/build/testDoubles/{StreamInlet/SpyStreamInlet.js → LslInlet/SpyLslInlet.js} +2 -2
- package/build/testDoubles/LslInlet/SpyLslInlet.js.map +1 -0
- package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.d.ts → LslOutlet/FakeLslOutlet.d.ts} +5 -5
- package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.js → LslOutlet/FakeLslOutlet.js} +8 -8
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +1 -0
- package/build/testDoubles/LslWsBridge/FakeLslWsBridge.d.ts +14 -0
- package/build/testDoubles/{WebSocketBridge/FakeWebSocketBridge.js → LslWsBridge/FakeLslWsBridge.js} +14 -14
- package/build/testDoubles/LslWsBridge/FakeLslWsBridge.js.map +1 -0
- package/build/testDoubles/LslWsBridge/SpyLslWsBridge.d.ts +4 -0
- package/build/testDoubles/{WebSocketBridge/SpyLslWebSocketBridge.js → LslWsBridge/SpyLslWsBridge.js} +2 -2
- package/build/testDoubles/LslWsBridge/SpyLslWsBridge.js.map +1 -0
- package/build/testDoubles/UsbDevice/FakeUsbDevice.d.ts +12 -0
- package/build/testDoubles/UsbDevice/FakeUsbDevice.js +25 -0
- package/build/testDoubles/UsbDevice/FakeUsbDevice.js.map +1 -0
- package/build/testDoubles/consts.d.ts +2 -12
- package/build/testDoubles/consts.js +0 -20
- package/build/testDoubles/consts.js.map +1 -1
- package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/package.json +5 -4
- package/src/__tests__/AbstractPackageTest.ts +35 -42
- package/src/__tests__/impl/{BleDeviceController.test.ts → BleGattController.test.ts} +45 -47
- package/src/__tests__/impl/BleObserverController.test.ts +72 -0
- package/src/__tests__/impl/{LslEventMarkerEmitter.test.ts → LslEventMarkerOutlet.test.ts} +33 -37
- package/src/__tests__/impl/LslJsonOutlet.test.ts +135 -0
- package/src/__tests__/impl/LslStreamInfo.test.ts +8 -9
- package/src/__tests__/impl/LslStreamInlet.test.ts +21 -79
- package/src/__tests__/impl/LslStreamOutlet.test.ts +17 -25
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +15 -19
- package/src/__tests__/impl/UsbDeviceController.test.ts +2 -2
- package/src/__tests__/impl/WindowedClockRegressor.test.ts +1 -1
- package/src/assertions.ts +1 -2
- package/src/impl/{LslEventMarkerEmitter.ts → LslEventMarkerOutlet.ts} +17 -17
- package/src/impl/LslJsonOutlet.ts +87 -0
- package/src/impl/LslStreamInfo.ts +7 -9
- package/src/impl/LslStreamInlet.ts +305 -81
- package/src/impl/LslStreamOutlet.ts +62 -59
- package/src/impl/LslWebSocketBridge.ts +15 -18
- package/src/impl/controllers/{BleDeviceController.ts → BleGattController.ts} +23 -28
- package/src/impl/controllers/BleObserverController.ts +62 -0
- package/src/impl/controllers/UsbDeviceController.ts +14 -16
- package/src/index.ts +64 -44
- package/src/scripts/{runLslEventMarkerEmitter.ts → runEventMarkerOutlet.ts} +3 -2
- package/src/scripts/runMuse.ts +2 -2
- package/src/testDoubles/{BleController/FakeBleController.ts → BleGatt/FakeBleGatt.ts} +14 -14
- package/src/testDoubles/{BleController/SpyBleController.ts → BleGatt/SpyBleGatt.ts} +5 -5
- package/src/testDoubles/BleObserver/FakeBleObserver.ts +28 -0
- package/src/testDoubles/ClockRegressor/FakeClockRegressor.ts +1 -1
- package/src/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +11 -11
- package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +31 -0
- package/src/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +5 -5
- package/src/testDoubles/JsonOutlet/FakeJsonOutlet.ts +25 -0
- package/src/testDoubles/{StreamInfo/FakeStreamInfo.ts → LslInfo/FakeLslInfo.ts} +9 -9
- package/src/testDoubles/{StreamInfo/SpyStreamInfo.ts → LslInfo/SpyLslInfo.ts} +5 -5
- package/src/testDoubles/{StreamInlet/FakeStreamInlet.ts → LslInlet/FakeLslInlet.ts} +15 -14
- package/src/testDoubles/LslInlet/SpyLslInlet.ts +10 -0
- package/src/testDoubles/{StreamOutlet/FakeStreamOutlet.ts → LslOutlet/FakeLslOutlet.ts} +11 -14
- package/src/testDoubles/{WebSocketBridge/FakeWebSocketBridge.ts → LslWsBridge/FakeLslWsBridge.ts} +19 -19
- package/src/testDoubles/LslWsBridge/SpyLslWsBridge.ts +9 -0
- package/src/testDoubles/UsbDevice/FakeUsbDevice.ts +34 -0
- package/src/testDoubles/consts.ts +3 -23
- package/src/testDoubles/generateRandomOutletOptions.ts +2 -2
- package/build/__tests__/impl/BleDeviceController.test.js.map +0 -1
- package/build/__tests__/impl/LslEventMarkerEmitter.test.js.map +0 -1
- package/build/consts.d.ts +0 -11
- package/build/consts.js +0 -21
- package/build/consts.js.map +0 -1
- package/build/impl/LslEventMarkerEmitter.d.ts +0 -35
- package/build/impl/LslEventMarkerEmitter.js.map +0 -1
- package/build/impl/WindowedClockRegressor.js.map +0 -1
- package/build/impl/controllers/BleDeviceController.js.map +0 -1
- package/build/impl/workers/inlet/LslStreamInlet.worker.d.ts +0 -22
- package/build/impl/workers/inlet/LslStreamInlet.worker.js +0 -42
- package/build/impl/workers/inlet/LslStreamInlet.worker.js.map +0 -1
- package/build/impl/workers/inlet/StreamInletWorker.d.ts +0 -73
- package/build/impl/workers/inlet/StreamInletWorker.js +0 -253
- package/build/impl/workers/inlet/StreamInletWorker.js.map +0 -1
- package/build/impl/workers/outlet/LslStreamOutlet.worker.d.ts +0 -32
- package/build/impl/workers/outlet/LslStreamOutlet.worker.js +0 -82
- package/build/impl/workers/outlet/LslStreamOutlet.worker.js.map +0 -1
- package/build/scripts/discoverMuse.js +0 -40
- package/build/scripts/discoverMuse.js.map +0 -1
- package/build/scripts/runLslEventMarkerEmitter.js.map +0 -1
- package/build/scripts/runLslStreamOutlet.d.ts +0 -1
- package/build/scripts/runLslStreamOutlet.js.map +0 -1
- package/build/scripts/testDestroyOutlet.d.ts +0 -1
- package/build/scripts/testDestroyOutlet.js +0 -4
- package/build/scripts/testDestroyOutlet.js.map +0 -1
- package/build/testDoubles/BleController/FakeBleController.js.map +0 -1
- package/build/testDoubles/BleController/SpyBleController.js.map +0 -1
- package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js.map +0 -1
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.d.ts +0 -10
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js +0 -23
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js.map +0 -1
- package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.d.ts +0 -9
- package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js.map +0 -1
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +0 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +0 -10
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +0 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +0 -1
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +0 -4
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +0 -1
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +0 -1
- package/build/testDoubles/UsbController/FakeUsbController.d.ts +0 -12
- package/build/testDoubles/UsbController/FakeUsbController.js +0 -25
- package/build/testDoubles/UsbController/FakeUsbController.js.map +0 -1
- package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.d.ts +0 -14
- package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js.map +0 -1
- package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.d.ts +0 -4
- package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.js.map +0 -1
- package/build/testDoubles/WorkerThreads/FakeWorker.d.ts +0 -27
- package/build/testDoubles/WorkerThreads/FakeWorker.js +0 -67
- package/build/testDoubles/WorkerThreads/FakeWorker.js.map +0 -1
- package/src/consts.ts +0 -21
- package/src/impl/workers/inlet/LslStreamInlet.worker.ts +0 -74
- package/src/impl/workers/inlet/StreamInletWorker.ts +0 -348
- package/src/impl/workers/outlet/LslStreamOutlet.worker.ts +0 -144
- package/src/scripts/discoverMuse.ts +0 -50
- package/src/scripts/testDestroyOutlet.ts +0 -5
- package/src/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.ts +0 -31
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +0 -10
- package/src/testDoubles/UsbController/FakeUsbController.ts +0 -34
- package/src/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.ts +0 -9
- package/src/testDoubles/WorkerThreads/FakeWorker.ts +0 -99
- /package/build/impl/{WindowedClockRegressor.d.ts → clocks/WindowedClockRegressor.d.ts} +0 -0
- /package/build/impl/{WindowedClockRegressor.js → clocks/WindowedClockRegressor.js} +0 -0
- /package/build/scripts/{discoverMuse.d.ts → runEventMarkerOutlet.d.ts} +0 -0
- /package/build/scripts/{runLslEventMarkerEmitter.d.ts → runLslOutlet.d.ts} +0 -0
- /package/src/impl/{WindowedClockRegressor.ts → clocks/WindowedClockRegressor.ts} +0 -0
- /package/src/scripts/{runLslStreamOutlet.ts → runLslOutlet.ts} +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import koffi from 'koffi'
|
|
2
|
-
|
|
3
|
-
import BleDeviceController from '../impl/controllers/BleDeviceController.js'
|
|
4
|
-
|
|
5
|
-
const MUSE_CHARACTERISTIC_UUIDS: Record<string, string> = {
|
|
6
|
-
CONTROL: '273E0001-4C4D-454D-96BE-F03BAC821358',
|
|
7
|
-
TELEMETRY: '273E000B-4C4D-454D-96BE-F03BAC821358',
|
|
8
|
-
GYROSCOPE: '273E0009-4C4D-454D-96BE-F03BAC821358',
|
|
9
|
-
ACCELEROMETER: '273E000A-4C4D-454D-96BE-F03BAC821358',
|
|
10
|
-
PPG_AMBIENT: '273E000F-4C4D-454D-96BE-F03BAC821358',
|
|
11
|
-
PPG_INFRARED: '273E0010-4C4D-454D-96BE-F03BAC821358',
|
|
12
|
-
PPG_RED: '273E0011-4C4D-454D-96BE-F03BAC821358',
|
|
13
|
-
EEG_TP9: '273E0003-4C4D-454D-96BE-F03BAC821358',
|
|
14
|
-
EEG_AF7: '273E0004-4C4D-454D-96BE-F03BAC821358',
|
|
15
|
-
EEG_AF8: '273E0005-4C4D-454D-96BE-F03BAC821358',
|
|
16
|
-
EEG_TP10: '273E0006-4C4D-454D-96BE-F03BAC821358',
|
|
17
|
-
EEG_AUX: '273E0007-4C4D-454D-96BE-F03BAC821358',
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const CONTROL_UUID = MUSE_CHARACTERISTIC_UUIDS['CONTROL']
|
|
21
|
-
|
|
22
|
-
const charCallbacks = Object.entries(MUSE_CHARACTERISTIC_UUIDS).map(
|
|
23
|
-
([name, uuid]) => {
|
|
24
|
-
return {
|
|
25
|
-
charUuid: uuid,
|
|
26
|
-
charName: name,
|
|
27
|
-
onData: (data: Buffer, length: number, timestampSec: number) => {
|
|
28
|
-
const bytes = koffi.decode(data, 'uint8', length) as number[]
|
|
29
|
-
console.info(`[${timestampSec}] length=${length}`, bytes)
|
|
30
|
-
},
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
const muse = await BleDeviceController.Create({
|
|
36
|
-
deviceNamePrefix: 'Muse',
|
|
37
|
-
charCallbacks,
|
|
38
|
-
rssiIntervalMs: 1000,
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
await muse.connect()
|
|
42
|
-
|
|
43
|
-
for (const cmd of ['h', 'p50', 's', 'd']) {
|
|
44
|
-
await muse.writeCharacteristic(CONTROL_UUID, cmd)
|
|
45
|
-
await new Promise((resolve) => setTimeout(resolve, 100))
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
await new Promise((resolve) => setTimeout(resolve, 5 * 1000))
|
|
49
|
-
|
|
50
|
-
await muse.disconnect()
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import LslEventMarkerEmitter from '../../impl/LslEventMarkerEmitter.js'
|
|
2
|
-
import { StreamOutlet } from '../../impl/LslStreamOutlet.js'
|
|
3
|
-
|
|
4
|
-
export default class SpyEventMarkerEmitter extends LslEventMarkerEmitter {
|
|
5
|
-
public static shouldCallWaitOnSuper = false
|
|
6
|
-
|
|
7
|
-
public totalwaitAfterMs: number
|
|
8
|
-
|
|
9
|
-
public constructor(outlet: StreamOutlet) {
|
|
10
|
-
super(outlet)
|
|
11
|
-
|
|
12
|
-
this.totalwaitAfterMs = 0
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
public async wait(waitAfterMs: number) {
|
|
16
|
-
this.totalwaitAfterMs += waitAfterMs
|
|
17
|
-
|
|
18
|
-
if (SpyEventMarkerEmitter.shouldCallWaitOnSuper) {
|
|
19
|
-
return super.wait(waitAfterMs)
|
|
20
|
-
}
|
|
21
|
-
return Promise.resolve()
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
public getStreamOutlet() {
|
|
25
|
-
return this.outlet
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public resetTestDouble() {
|
|
29
|
-
this.totalwaitAfterMs = 0
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import LslStreamInlet, {
|
|
2
|
-
OnDataCallback,
|
|
3
|
-
StreamInletOptions,
|
|
4
|
-
} from '../../impl/LslStreamInlet.js'
|
|
5
|
-
|
|
6
|
-
export class SpyStreamInlet extends LslStreamInlet {
|
|
7
|
-
public constructor(options: StreamInletOptions, onData: OnDataCallback) {
|
|
8
|
-
super(options, onData)
|
|
9
|
-
}
|
|
10
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
UsbController,
|
|
3
|
-
UsbControllerOptions,
|
|
4
|
-
} from '../../impl/controllers/UsbDeviceController.js'
|
|
5
|
-
|
|
6
|
-
export default class FakeUsbController implements UsbController {
|
|
7
|
-
public static callsToConstructor: (UsbControllerOptions | undefined)[] = []
|
|
8
|
-
public static numCallsToConnect = 0
|
|
9
|
-
public static callsToWriteUsb: string[] = []
|
|
10
|
-
public static numCallsToDisconnect = 0
|
|
11
|
-
|
|
12
|
-
public constructor(options?: UsbControllerOptions) {
|
|
13
|
-
FakeUsbController.callsToConstructor.push(options)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
public async connect() {
|
|
17
|
-
FakeUsbController.numCallsToConnect++
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
public async writeUsb(value: string) {
|
|
21
|
-
FakeUsbController.callsToWriteUsb.push(value)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
public async disconnect() {
|
|
25
|
-
FakeUsbController.numCallsToDisconnect++
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public static resetTestDouble() {
|
|
29
|
-
FakeUsbController.callsToConstructor.length = 0
|
|
30
|
-
FakeUsbController.numCallsToConnect = 0
|
|
31
|
-
FakeUsbController.callsToWriteUsb.length = 0
|
|
32
|
-
FakeUsbController.numCallsToDisconnect = 0
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import LslWebSocketBridge, {
|
|
2
|
-
WebSocketBridgeConstructorOptions,
|
|
3
|
-
} from '../../impl/LslWebSocketBridge.js'
|
|
4
|
-
|
|
5
|
-
export default class SpyLslWebSocketBridge extends LslWebSocketBridge {
|
|
6
|
-
public constructor(options: WebSocketBridgeConstructorOptions) {
|
|
7
|
-
super(options)
|
|
8
|
-
}
|
|
9
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { WorkerOptions } from 'node:worker_threads'
|
|
2
|
-
|
|
3
|
-
import { OnDataCallback } from '../../impl/LslStreamInlet.js'
|
|
4
|
-
import StreamInletWorker from '../../impl/workers/inlet/StreamInletWorker.js'
|
|
5
|
-
import {
|
|
6
|
-
createOutlet,
|
|
7
|
-
destroyOutlet,
|
|
8
|
-
pushSample,
|
|
9
|
-
} from '../../impl/workers/outlet/LslStreamOutlet.worker.js'
|
|
10
|
-
|
|
11
|
-
export default class FakeWorker {
|
|
12
|
-
public static callsToConstructor: {
|
|
13
|
-
filename: string | URL
|
|
14
|
-
options?: WorkerOptions
|
|
15
|
-
}[] = []
|
|
16
|
-
|
|
17
|
-
public static callsToPostMessage: WorkerMessage[] = []
|
|
18
|
-
|
|
19
|
-
public static callsToOn: {
|
|
20
|
-
type: string
|
|
21
|
-
listener: (...args: unknown[]) => void
|
|
22
|
-
}[] = []
|
|
23
|
-
|
|
24
|
-
public static inletWorker = new StreamInletWorker()
|
|
25
|
-
public static fakeOnData: OnDataCallback
|
|
26
|
-
|
|
27
|
-
public createInletPromise?: Promise<void>
|
|
28
|
-
|
|
29
|
-
public constructor(filename: string | URL, options?: WorkerOptions) {
|
|
30
|
-
FakeWorker.callsToConstructor.push({ filename, options })
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
public postMessage(msg: WorkerMessage) {
|
|
34
|
-
FakeWorker.callsToPostMessage.push(msg)
|
|
35
|
-
|
|
36
|
-
const { type } = msg
|
|
37
|
-
|
|
38
|
-
switch (type) {
|
|
39
|
-
case 'createOutlet': {
|
|
40
|
-
createOutlet(msg as any)
|
|
41
|
-
break
|
|
42
|
-
}
|
|
43
|
-
case 'pushSample': {
|
|
44
|
-
pushSample(msg as any)
|
|
45
|
-
break
|
|
46
|
-
}
|
|
47
|
-
case 'destroyOutlet': {
|
|
48
|
-
destroyOutlet()
|
|
49
|
-
break
|
|
50
|
-
}
|
|
51
|
-
case 'createInlet': {
|
|
52
|
-
const { payload } = msg
|
|
53
|
-
this.createInletPromise = this.inletWorker.createInlet(
|
|
54
|
-
payload as any
|
|
55
|
-
)
|
|
56
|
-
break
|
|
57
|
-
}
|
|
58
|
-
case 'startPulling': {
|
|
59
|
-
this.inletWorker.startPulling(this.fakeOnData)
|
|
60
|
-
break
|
|
61
|
-
}
|
|
62
|
-
case 'flushInlet': {
|
|
63
|
-
this.inletWorker.flushInlet()
|
|
64
|
-
break
|
|
65
|
-
}
|
|
66
|
-
case 'stopPulling': {
|
|
67
|
-
this.inletWorker.stopPulling()
|
|
68
|
-
break
|
|
69
|
-
}
|
|
70
|
-
case 'destroyInlet': {
|
|
71
|
-
this.inletWorker.destroyInlet()
|
|
72
|
-
break
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
public on(type: string, listener: (...args: unknown[]) => void) {
|
|
78
|
-
FakeWorker.callsToOn.push({ type, listener })
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
private get inletWorker() {
|
|
82
|
-
return FakeWorker.inletWorker
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
private get fakeOnData() {
|
|
86
|
-
return FakeWorker.fakeOnData
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
public static resetTestDoubles() {
|
|
90
|
-
this.callsToConstructor = []
|
|
91
|
-
this.callsToPostMessage = []
|
|
92
|
-
this.callsToOn = []
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export interface WorkerMessage {
|
|
97
|
-
type: string
|
|
98
|
-
payload?: Record<string, unknown>[]
|
|
99
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|