@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
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Lab Streaming Layer (LSL) for synchronized streaming of multi-modal, time-series
|
|
|
8
8
|
- [Installation](#installation)
|
|
9
9
|
- [Usage](#usage)
|
|
10
10
|
- [LslStreamOutlet](#lslstreamoutlet)
|
|
11
|
-
- [
|
|
11
|
+
- [LslEventMarkerOutlet](#lsleventmarkeroutlet)
|
|
12
12
|
- [Test Doubles](#test-doubles)
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
@@ -59,21 +59,21 @@ const outlet = await LslStreamOutlet.Create({
|
|
|
59
59
|
outlet.pushSample([1, 2, 3, 4, 5])
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
###
|
|
62
|
+
### LslEventMarkerOutlet
|
|
63
63
|
|
|
64
64
|
LSL is also often used to push event markers that mark different phases of an experiment or session. The `emitMany` method pushes an event marker, waits for a specified duration, then pushes the next marker. From experience, each event marker should have a `waitAfterMs` of at least 100 ms or so to ensure LSL receives the event markers in the right order.
|
|
65
65
|
|
|
66
66
|
```typescript
|
|
67
|
-
import {
|
|
67
|
+
import { LslEventMarkerOutlet } from '@neurodevs/node-lsl'
|
|
68
68
|
|
|
69
|
-
const
|
|
69
|
+
const outlet = await LslEventMarkerOutlet.Create()
|
|
70
70
|
|
|
71
71
|
const markers = [
|
|
72
72
|
{ name: 'phase-1-begin', waitAfterMs: 5000 },
|
|
73
73
|
{ name: 'phase-1-end', waitAfterMs: 100 },
|
|
74
74
|
]
|
|
75
75
|
|
|
76
|
-
const promise =
|
|
76
|
+
const promise = outlet.emitMany(markers)
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
outlet.interrupt()
|
|
79
79
|
```
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { FakeLiblsl, FakeLibndx } from '@neurodevs/ndx-native';
|
|
2
2
|
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
3
|
-
import
|
|
4
|
-
import { OnDataCallback,
|
|
3
|
+
import FakeLslInfo from '../testDoubles/LslInfo/FakeLslInfo.js';
|
|
4
|
+
import { OnDataCallback, LslInletOptions } from '../impl/LslStreamInlet.js';
|
|
5
5
|
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
6
6
|
protected static fakeLiblsl: FakeLiblsl;
|
|
7
7
|
protected static fakeLibndx: FakeLibndx;
|
|
8
|
-
protected static readonly
|
|
8
|
+
protected static readonly fakeLslInfo: FakeLslInfo;
|
|
9
|
+
protected static readonly deviceUuid: string;
|
|
9
10
|
protected static readonly name_: string;
|
|
10
11
|
protected static readonly type: string;
|
|
11
12
|
protected static readonly sourceId: string;
|
|
@@ -20,14 +21,14 @@ export default class AbstractPackageTest extends AbstractModuleTest {
|
|
|
20
21
|
protected static callsToSetTimeout: number[];
|
|
21
22
|
protected static setImmediateTimeouts(): void;
|
|
22
23
|
protected static setFakeLibndx(): void;
|
|
23
|
-
protected static
|
|
24
|
-
protected static
|
|
25
|
-
protected static
|
|
26
|
-
protected static
|
|
27
|
-
protected static
|
|
28
|
-
protected static
|
|
29
|
-
protected static
|
|
24
|
+
protected static setSpyLslInfo(): void;
|
|
25
|
+
protected static setFakeLslInfo(): void;
|
|
26
|
+
protected static setSpyLslInlet(): void;
|
|
27
|
+
protected static setFakeLslInlet(): void;
|
|
28
|
+
protected static setFakeLslOutlet(): void;
|
|
29
|
+
protected static setSpyEventMarkerOutlet(): void;
|
|
30
|
+
protected static setSpyLslWsBridge(): void;
|
|
30
31
|
protected static setFakeWebSocket(): void;
|
|
31
32
|
protected static setFakeWebSocketServer(): void;
|
|
32
|
-
protected static LslStreamInlet(options: Partial<
|
|
33
|
+
protected static LslStreamInlet(options: Partial<LslInletOptions>, onData: OnDataCallback): Promise<import("../impl/LslStreamInlet.js").LslInlet>;
|
|
33
34
|
}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import { randomInt } from 'node:crypto';
|
|
2
2
|
import { FakeLiblsl, FakeLibndx, LiblslAdapter, LibndxAdapter, } from '@neurodevs/ndx-native';
|
|
3
3
|
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
4
|
+
import SpyEventMarkerOutlet from '../testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
|
|
5
|
+
import FakeLslInfo from '../testDoubles/LslInfo/FakeLslInfo.js';
|
|
6
|
+
import SpyLslInfo from '../testDoubles/LslInfo/SpyLslInfo.js';
|
|
7
|
+
import FakeLslInlet from '../testDoubles/LslInlet/FakeLslInlet.js';
|
|
8
|
+
import SpyLslInlet from '../testDoubles/LslInlet/SpyLslInlet.js';
|
|
9
|
+
import FakeLslOutlet from '../testDoubles/LslOutlet/FakeLslOutlet.js';
|
|
10
|
+
import SpyLslWsBridge from '../testDoubles/LslWsBridge/SpyLslWsBridge.js';
|
|
11
11
|
import FakeWebSocket from '../testDoubles/WebSockets/FakeWebSocket.js';
|
|
12
12
|
import FakeWebSocketServer from '../testDoubles/WebSockets/FakeWebSocketServer.js';
|
|
13
13
|
import LslWebSocketBridge from '../impl/LslWebSocketBridge.js';
|
|
14
|
-
import
|
|
15
|
-
import
|
|
14
|
+
import BleGattController from '../impl/controllers/BleGattController.js';
|
|
15
|
+
import LslEventMarkerOutlet from '../impl/LslEventMarkerOutlet.js';
|
|
16
16
|
import LslStreamInfo from '../impl/LslStreamInfo.js';
|
|
17
17
|
import LslStreamInlet from '../impl/LslStreamInlet.js';
|
|
18
18
|
import LslStreamOutlet from '../impl/LslStreamOutlet.js';
|
|
19
19
|
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
20
20
|
static fakeLiblsl;
|
|
21
21
|
static fakeLibndx;
|
|
22
|
-
static
|
|
22
|
+
static fakeLslInfo = new FakeLslInfo();
|
|
23
|
+
static deviceUuid = this.generateId();
|
|
23
24
|
static name_ = this.generateId();
|
|
24
25
|
static type = this.generateId();
|
|
25
26
|
static sourceId = this.generateId();
|
|
@@ -36,6 +37,7 @@ export default class AbstractPackageTest extends AbstractModuleTest {
|
|
|
36
37
|
static async beforeEach() {
|
|
37
38
|
await super.beforeEach();
|
|
38
39
|
this.setImmediateTimeouts();
|
|
40
|
+
this.setFakeLiblsl();
|
|
39
41
|
this.setFakeLibndx();
|
|
40
42
|
}
|
|
41
43
|
static setFakeLiblsl() {
|
|
@@ -47,7 +49,7 @@ export default class AbstractPackageTest extends AbstractModuleTest {
|
|
|
47
49
|
static callsToSetTimeout = [];
|
|
48
50
|
static setImmediateTimeouts() {
|
|
49
51
|
this.callsToSetTimeout = [];
|
|
50
|
-
|
|
52
|
+
BleGattController.setTimeout = ((callback, delayMs, ...args) => {
|
|
51
53
|
this.callsToSetTimeout.push(delayMs ?? 0);
|
|
52
54
|
return setTimeout(callback, 0, ...args);
|
|
53
55
|
});
|
|
@@ -55,42 +57,38 @@ export default class AbstractPackageTest extends AbstractModuleTest {
|
|
|
55
57
|
this.callsToSetTimeout.push(delayMs ?? 0);
|
|
56
58
|
return setTimeout(callback, 0, ...args);
|
|
57
59
|
});
|
|
58
|
-
LslStreamInlet.setTimeout = ((callback, delayMs, ...args) => {
|
|
59
|
-
this.callsToSetTimeout.push(delayMs ?? 0);
|
|
60
|
-
return setTimeout(callback, 0, ...args);
|
|
61
|
-
});
|
|
62
60
|
}
|
|
63
61
|
static setFakeLibndx() {
|
|
64
62
|
this.fakeLibndx = new FakeLibndx();
|
|
65
63
|
LibndxAdapter.setInstance(this.fakeLibndx);
|
|
66
64
|
FakeLibndx.resetTestDouble();
|
|
67
65
|
FakeLibndx.fakeResult = { status: 200 };
|
|
68
|
-
|
|
66
|
+
BleGattController.ndx = this.fakeLibndx;
|
|
69
67
|
}
|
|
70
|
-
static
|
|
71
|
-
LslStreamInfo.Class =
|
|
72
|
-
|
|
68
|
+
static setSpyLslInfo() {
|
|
69
|
+
LslStreamInfo.Class = SpyLslInfo;
|
|
70
|
+
SpyLslInfo.resetTestDouble();
|
|
73
71
|
}
|
|
74
|
-
static
|
|
75
|
-
LslStreamInfo.Class =
|
|
76
|
-
|
|
72
|
+
static setFakeLslInfo() {
|
|
73
|
+
LslStreamInfo.Class = FakeLslInfo;
|
|
74
|
+
FakeLslInfo.resetTestDouble();
|
|
77
75
|
}
|
|
78
|
-
static
|
|
79
|
-
LslStreamInlet.Class =
|
|
76
|
+
static setSpyLslInlet() {
|
|
77
|
+
LslStreamInlet.Class = SpyLslInlet;
|
|
80
78
|
}
|
|
81
|
-
static
|
|
82
|
-
LslStreamInlet.Class =
|
|
83
|
-
|
|
79
|
+
static setFakeLslInlet() {
|
|
80
|
+
LslStreamInlet.Class = FakeLslInlet;
|
|
81
|
+
FakeLslInlet.resetTestDouble();
|
|
84
82
|
}
|
|
85
|
-
static
|
|
86
|
-
LslStreamOutlet.Class =
|
|
87
|
-
|
|
83
|
+
static setFakeLslOutlet() {
|
|
84
|
+
LslStreamOutlet.Class = FakeLslOutlet;
|
|
85
|
+
FakeLslOutlet.resetTestDouble();
|
|
88
86
|
}
|
|
89
|
-
static
|
|
90
|
-
|
|
87
|
+
static setSpyEventMarkerOutlet() {
|
|
88
|
+
LslEventMarkerOutlet.Class = SpyEventMarkerOutlet;
|
|
91
89
|
}
|
|
92
|
-
static
|
|
93
|
-
LslWebSocketBridge.Class =
|
|
90
|
+
static setSpyLslWsBridge() {
|
|
91
|
+
LslWebSocketBridge.Class = SpyLslWsBridge;
|
|
94
92
|
}
|
|
95
93
|
static setFakeWebSocket() {
|
|
96
94
|
LslWebSocketBridge.WS = FakeWebSocket;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,OAAO,EACH,UAAU,EACV,UAAU,EAEV,aAAa,EACb,aAAa,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AAEpD,OAAO,
|
|
1
|
+
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
|
-
export default class
|
|
2
|
+
export default class BleGattControllerTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
private static readonly uuid;
|
|
5
5
|
private static readonly namePrefix;
|
|
@@ -54,6 +54,6 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
54
54
|
private static setFake400Error;
|
|
55
55
|
private static setFake500Error;
|
|
56
56
|
private static setFake500ErrorWithoutError;
|
|
57
|
-
private static
|
|
58
|
-
private static
|
|
57
|
+
private static BleGattController;
|
|
58
|
+
private static BleGattControllerWithPrefix;
|
|
59
59
|
}
|
|
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { randomInt } from 'node:crypto';
|
|
8
8
|
import { test, assert } from '@neurodevs/node-tdd';
|
|
9
9
|
import { FakeLibndx } from '@neurodevs/ndx-native';
|
|
10
|
-
import
|
|
10
|
+
import SpyBleGatt from '../../testDoubles/BleGatt/SpyBleGatt.js';
|
|
11
11
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
12
|
-
import
|
|
13
|
-
export default class
|
|
12
|
+
import BleGattController from '../../impl/controllers/BleGattController.js';
|
|
13
|
+
export default class BleGattControllerTest extends AbstractPackageTest {
|
|
14
14
|
static instance;
|
|
15
15
|
static uuid = this.generateId();
|
|
16
16
|
static namePrefix = this.generateId();
|
|
@@ -49,26 +49,26 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
49
49
|
name: this.generateId(),
|
|
50
50
|
};
|
|
51
51
|
static async beforeAll() {
|
|
52
|
-
assert.isEqual(
|
|
52
|
+
assert.isEqual(BleGattController.waitAfterMs, 1000, 'Set incorrect waitAfterMs!');
|
|
53
53
|
}
|
|
54
54
|
static async beforeEach() {
|
|
55
55
|
await super.beforeEach();
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
BleGattController.waitAfterMs = 0;
|
|
57
|
+
BleGattController.Class = SpyBleGatt;
|
|
58
58
|
this.wasConnected = false;
|
|
59
|
-
this.instance =
|
|
59
|
+
this.instance = this.BleGattController();
|
|
60
60
|
}
|
|
61
61
|
static async createsInstance() {
|
|
62
62
|
assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
63
63
|
}
|
|
64
64
|
static async connectCallsLibndxCreateBleBackend() {
|
|
65
65
|
await this.connect();
|
|
66
|
-
assert.isEqualDeep(FakeLibndx.
|
|
66
|
+
assert.isEqualDeep(FakeLibndx.callsToCreateBleGattBackend[0], {
|
|
67
67
|
deviceUuid: this.uuid,
|
|
68
|
-
}, 'Did not call
|
|
68
|
+
}, 'Did not call createBleGattBackend!');
|
|
69
69
|
}
|
|
70
70
|
static async discoversUuidWhenDeviceUuidNotProvided() {
|
|
71
|
-
const instance = await this.
|
|
71
|
+
const instance = await this.BleGattControllerWithPrefix();
|
|
72
72
|
await this.connectWithDiscovery(instance);
|
|
73
73
|
const call = FakeLibndx.callsToDiscoverBleUuid[0];
|
|
74
74
|
assert.isEqual(call?.namePrefix, this.namePrefix, 'Did not call discoverBleUuid with deviceNamePrefix!');
|
|
@@ -79,19 +79,19 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
79
79
|
assert.isEqual(FakeLibndx.callsToDiscoverBleUuid.length, 0, 'Should not call discoverBleUuid when deviceUuid is provided!');
|
|
80
80
|
}
|
|
81
81
|
static async usesDiscoveredUuidToCreateBleBackend() {
|
|
82
|
-
const instance = await this.
|
|
82
|
+
const instance = await this.BleGattControllerWithPrefix();
|
|
83
83
|
await this.connectWithDiscovery(instance);
|
|
84
|
-
assert.isEqualDeep(FakeLibndx.
|
|
84
|
+
assert.isEqualDeep(FakeLibndx.callsToCreateBleGattBackend[0], {
|
|
85
85
|
deviceUuid: this.discoveredUuid,
|
|
86
86
|
}, 'Did not create BLE backend with the discovered uuid!');
|
|
87
87
|
}
|
|
88
88
|
static async usesDiscoveredUuidToStartBleBackend() {
|
|
89
|
-
const instance = await this.
|
|
89
|
+
const instance = await this.BleGattControllerWithPrefix();
|
|
90
90
|
await this.connectWithDiscovery(instance);
|
|
91
|
-
assert.isEqual(FakeLibndx.
|
|
91
|
+
assert.isEqual(FakeLibndx.callsToStartBleGattBackend[0]?.deviceUuid, this.discoveredUuid, 'Did not start BLE backend with the discovered uuid!');
|
|
92
92
|
}
|
|
93
93
|
static async exposesDiscoveredUuid() {
|
|
94
|
-
const instance = await this.
|
|
94
|
+
const instance = await this.BleGattControllerWithPrefix();
|
|
95
95
|
await this.connectWithDiscovery(instance);
|
|
96
96
|
assert.isEqual(instance.uuid, this.discoveredUuid, 'Did not expose the discovered uuid!');
|
|
97
97
|
}
|
|
@@ -105,9 +105,9 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
105
105
|
}
|
|
106
106
|
static async connectCallsLibndxStartBleBackend() {
|
|
107
107
|
await this.connect();
|
|
108
|
-
const call = FakeLibndx.
|
|
109
|
-
assert.isEqual(call.deviceUuid, this.uuid, 'Did not call
|
|
110
|
-
assert.isEqual(call.charCallbacks.length, 2, 'Did not call
|
|
108
|
+
const call = FakeLibndx.callsToStartBleGattBackend[0];
|
|
109
|
+
assert.isEqual(call.deviceUuid, this.uuid, 'Did not call startBleGattBackend with correct deviceUuid!');
|
|
110
|
+
assert.isEqual(call.charCallbacks.length, 2, 'Did not call startBleGattBackend with charCallbacks!');
|
|
111
111
|
let i = 0;
|
|
112
112
|
for (const charCallback of call.charCallbacks) {
|
|
113
113
|
assert.isEqual(charCallback.charUuid, this.charCallbacks[i].charUuid, 'Incorrect charUuid!');
|
|
@@ -118,13 +118,13 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
118
118
|
}
|
|
119
119
|
static async startBleBackendThrowsOn400() {
|
|
120
120
|
//@ts-ignore
|
|
121
|
-
this.instance.
|
|
121
|
+
this.instance.createBleGattBackend = () => { };
|
|
122
122
|
this.setFake400Error();
|
|
123
123
|
await assert.doesThrowAsync(async () => await this.instance.connect(), this.fake400Error, 'Did not throw error!');
|
|
124
124
|
}
|
|
125
125
|
static async startBleBackendThrowsOn500() {
|
|
126
126
|
//@ts-ignore
|
|
127
|
-
this.instance.
|
|
127
|
+
this.instance.createBleGattBackend = () => { };
|
|
128
128
|
this.setFake500Error();
|
|
129
129
|
await assert.doesThrowAsync(async () => await this.instance.connect(), this.fake500Error, 'Did not throw error!');
|
|
130
130
|
}
|
|
@@ -134,17 +134,17 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
134
134
|
}
|
|
135
135
|
static async waitsAfterOnConnectedToDiscoverServices() {
|
|
136
136
|
const waitAfterMs = 20;
|
|
137
|
-
|
|
137
|
+
BleGattController.waitAfterMs = waitAfterMs;
|
|
138
138
|
await this.connect();
|
|
139
139
|
assert.isTruthy(this.callsToSetTimeout.includes(waitAfterMs), 'Did not wait after on connected!');
|
|
140
140
|
}
|
|
141
141
|
static async writeCharacteristicCallsLibndxBinding() {
|
|
142
142
|
await this.writeCharacteristic();
|
|
143
|
-
assert.isEqualDeep(FakeLibndx.
|
|
143
|
+
assert.isEqualDeep(FakeLibndx.callsToWriteBleGattChar[0], {
|
|
144
144
|
deviceUuid: this.uuid,
|
|
145
145
|
charUuid: this.charUuid,
|
|
146
146
|
value: this.charValueToWrite,
|
|
147
|
-
}, 'Did not call
|
|
147
|
+
}, 'Did not call writeBleGattChar as expected!');
|
|
148
148
|
}
|
|
149
149
|
static async writeCharacteristicThrowsOn400() {
|
|
150
150
|
this.setFake400Error();
|
|
@@ -156,10 +156,10 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
156
156
|
}
|
|
157
157
|
static async subscribeCharacteristicsCallsLibndxBinding() {
|
|
158
158
|
await this.subscribeCharacteristics();
|
|
159
|
-
assert.isEqualDeep(FakeLibndx.
|
|
159
|
+
assert.isEqualDeep(FakeLibndx.callsToRegisterBleGattCharCallbacks[0], {
|
|
160
160
|
deviceUuid: this.uuid,
|
|
161
161
|
charCallbacks: this.extraCharCallbacks,
|
|
162
|
-
}, 'Did not call
|
|
162
|
+
}, 'Did not call registerBleGattCharCallbacks as expected!');
|
|
163
163
|
}
|
|
164
164
|
static async subscribeCharacteristicsMergesIntoCharCallbacks() {
|
|
165
165
|
await this.subscribeCharacteristics();
|
|
@@ -171,17 +171,17 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
171
171
|
}
|
|
172
172
|
static async callsSetBleRssiInterval() {
|
|
173
173
|
await this.connect();
|
|
174
|
-
const { deviceUuid, intervalMs } = FakeLibndx.
|
|
174
|
+
const { deviceUuid, intervalMs } = FakeLibndx.callsToStartBleGattRssiPolling[0];
|
|
175
175
|
assert.isEqualDeep({ deviceUuid, intervalMs }, {
|
|
176
176
|
deviceUuid: this.uuid,
|
|
177
177
|
intervalMs: this.rssiIntervalMs,
|
|
178
|
-
}, 'Did not call
|
|
178
|
+
}, 'Did not call startBleGattRssiPolling as expected!');
|
|
179
179
|
}
|
|
180
180
|
static async disconnectCallsLibndxStopBleBackend() {
|
|
181
181
|
await this.disconnect();
|
|
182
|
-
assert.isEqualDeep(FakeLibndx.
|
|
182
|
+
assert.isEqualDeep(FakeLibndx.callsToStopBleGattBackend[0], {
|
|
183
183
|
deviceUuid: this.uuid,
|
|
184
|
-
}, 'Did not call
|
|
184
|
+
}, 'Did not call stopBleGattBackend!');
|
|
185
185
|
}
|
|
186
186
|
static async disconnectThrowsOn400() {
|
|
187
187
|
this.setFake400Error();
|
|
@@ -209,15 +209,15 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
209
209
|
}
|
|
210
210
|
static async connect() {
|
|
211
211
|
const promise = this.instance.connect();
|
|
212
|
-
const startCall = FakeLibndx.
|
|
212
|
+
const startCall = FakeLibndx.callsToStartBleGattBackend[0];
|
|
213
213
|
startCall?.onConnected(this.nativePeripheral);
|
|
214
214
|
await promise;
|
|
215
215
|
}
|
|
216
216
|
static async connectWithDiscovery(instance) {
|
|
217
217
|
const promise = instance.connect();
|
|
218
218
|
FakeLibndx.callsToDiscoverBleUuid[0]?.onDiscovered(this.discoveredUuid);
|
|
219
|
-
await this.waitForCall(() => FakeLibndx.
|
|
220
|
-
FakeLibndx.
|
|
219
|
+
await this.waitForCall(() => FakeLibndx.callsToStartBleGattBackend[0]);
|
|
220
|
+
FakeLibndx.callsToStartBleGattBackend[0]?.onConnected(this.nativePeripheral);
|
|
221
221
|
await promise;
|
|
222
222
|
}
|
|
223
223
|
static async waitForCall(getCall) {
|
|
@@ -259,106 +259,104 @@ export default class BleDeviceControllerTest extends AbstractPackageTest {
|
|
|
259
259
|
status: 500,
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
|
-
static
|
|
263
|
-
return
|
|
262
|
+
static BleGattController(options) {
|
|
263
|
+
return BleGattController.Create({
|
|
264
264
|
deviceUuid: this.uuid,
|
|
265
265
|
charCallbacks: this.charCallbacks,
|
|
266
266
|
onConnected: this.onConnected,
|
|
267
267
|
rssiIntervalMs: this.rssiIntervalMs,
|
|
268
268
|
...options,
|
|
269
|
-
})
|
|
269
|
+
});
|
|
270
270
|
}
|
|
271
|
-
static
|
|
272
|
-
return
|
|
271
|
+
static BleGattControllerWithPrefix() {
|
|
272
|
+
return this.BleGattController({
|
|
273
273
|
deviceNamePrefix: this.namePrefix,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
rssiIntervalMs: this.rssiIntervalMs,
|
|
277
|
-
}));
|
|
274
|
+
deviceUuid: undefined,
|
|
275
|
+
});
|
|
278
276
|
}
|
|
279
277
|
}
|
|
280
278
|
__decorate([
|
|
281
279
|
test()
|
|
282
|
-
],
|
|
280
|
+
], BleGattControllerTest, "createsInstance", null);
|
|
283
281
|
__decorate([
|
|
284
282
|
test()
|
|
285
|
-
],
|
|
283
|
+
], BleGattControllerTest, "connectCallsLibndxCreateBleBackend", null);
|
|
286
284
|
__decorate([
|
|
287
285
|
test()
|
|
288
|
-
],
|
|
286
|
+
], BleGattControllerTest, "discoversUuidWhenDeviceUuidNotProvided", null);
|
|
289
287
|
__decorate([
|
|
290
288
|
test()
|
|
291
|
-
],
|
|
289
|
+
], BleGattControllerTest, "doesNotDiscoverUuidWhenDeviceUuidProvided", null);
|
|
292
290
|
__decorate([
|
|
293
291
|
test()
|
|
294
|
-
],
|
|
292
|
+
], BleGattControllerTest, "usesDiscoveredUuidToCreateBleBackend", null);
|
|
295
293
|
__decorate([
|
|
296
294
|
test()
|
|
297
|
-
],
|
|
295
|
+
], BleGattControllerTest, "usesDiscoveredUuidToStartBleBackend", null);
|
|
298
296
|
__decorate([
|
|
299
297
|
test()
|
|
300
|
-
],
|
|
298
|
+
], BleGattControllerTest, "exposesDiscoveredUuid", null);
|
|
301
299
|
__decorate([
|
|
302
300
|
test()
|
|
303
|
-
],
|
|
301
|
+
], BleGattControllerTest, "createBleBackendThrowsOn400", null);
|
|
304
302
|
__decorate([
|
|
305
303
|
test()
|
|
306
|
-
],
|
|
304
|
+
], BleGattControllerTest, "createBleBackendThrowsOn500", null);
|
|
307
305
|
__decorate([
|
|
308
306
|
test()
|
|
309
|
-
],
|
|
307
|
+
], BleGattControllerTest, "connectCallsLibndxStartBleBackend", null);
|
|
310
308
|
__decorate([
|
|
311
309
|
test()
|
|
312
|
-
],
|
|
310
|
+
], BleGattControllerTest, "startBleBackendThrowsOn400", null);
|
|
313
311
|
__decorate([
|
|
314
312
|
test()
|
|
315
|
-
],
|
|
313
|
+
], BleGattControllerTest, "startBleBackendThrowsOn500", null);
|
|
316
314
|
__decorate([
|
|
317
315
|
test()
|
|
318
|
-
],
|
|
316
|
+
], BleGattControllerTest, "connectWaitsForOnConnectedEvent", null);
|
|
319
317
|
__decorate([
|
|
320
318
|
test()
|
|
321
|
-
],
|
|
319
|
+
], BleGattControllerTest, "waitsAfterOnConnectedToDiscoverServices", null);
|
|
322
320
|
__decorate([
|
|
323
321
|
test()
|
|
324
|
-
],
|
|
322
|
+
], BleGattControllerTest, "writeCharacteristicCallsLibndxBinding", null);
|
|
325
323
|
__decorate([
|
|
326
324
|
test()
|
|
327
|
-
],
|
|
325
|
+
], BleGattControllerTest, "writeCharacteristicThrowsOn400", null);
|
|
328
326
|
__decorate([
|
|
329
327
|
test()
|
|
330
|
-
],
|
|
328
|
+
], BleGattControllerTest, "writeCharacteristicThrowsOn500", null);
|
|
331
329
|
__decorate([
|
|
332
330
|
test()
|
|
333
|
-
],
|
|
331
|
+
], BleGattControllerTest, "subscribeCharacteristicsCallsLibndxBinding", null);
|
|
334
332
|
__decorate([
|
|
335
333
|
test()
|
|
336
|
-
],
|
|
334
|
+
], BleGattControllerTest, "subscribeCharacteristicsMergesIntoCharCallbacks", null);
|
|
337
335
|
__decorate([
|
|
338
336
|
test()
|
|
339
|
-
],
|
|
337
|
+
], BleGattControllerTest, "subscribeCharacteristicsThrowsOn400", null);
|
|
340
338
|
__decorate([
|
|
341
339
|
test()
|
|
342
|
-
],
|
|
340
|
+
], BleGattControllerTest, "callsSetBleRssiInterval", null);
|
|
343
341
|
__decorate([
|
|
344
342
|
test()
|
|
345
|
-
],
|
|
343
|
+
], BleGattControllerTest, "disconnectCallsLibndxStopBleBackend", null);
|
|
346
344
|
__decorate([
|
|
347
345
|
test()
|
|
348
|
-
],
|
|
346
|
+
], BleGattControllerTest, "disconnectThrowsOn400", null);
|
|
349
347
|
__decorate([
|
|
350
348
|
test()
|
|
351
|
-
],
|
|
349
|
+
], BleGattControllerTest, "disconnectThrowsOn500", null);
|
|
352
350
|
__decorate([
|
|
353
351
|
test()
|
|
354
|
-
],
|
|
352
|
+
], BleGattControllerTest, "disconnectResetsConnectedFlag", null);
|
|
355
353
|
__decorate([
|
|
356
354
|
test()
|
|
357
|
-
],
|
|
355
|
+
], BleGattControllerTest, "exposesPeriperalName", null);
|
|
358
356
|
__decorate([
|
|
359
357
|
test()
|
|
360
|
-
],
|
|
358
|
+
], BleGattControllerTest, "returnsNAIfNameNotAvailable", null);
|
|
361
359
|
__decorate([
|
|
362
360
|
test()
|
|
363
|
-
],
|
|
364
|
-
//# sourceMappingURL=
|
|
361
|
+
], BleGattControllerTest, "throwsWithUnknownErrorIfNoError", null);
|
|
362
|
+
//# sourceMappingURL=BleGattController.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BleGattController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleGattController.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
|
+
export default class BleObserverControllerTest extends AbstractPackageTest {
|
|
3
|
+
private static instance;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
6
|
+
protected static startObservingCreatesBleObserverBackend(): Promise<void>;
|
|
7
|
+
protected static startObservingStartsBleObserverBackend(): Promise<void>;
|
|
8
|
+
protected static stopObservingStopsBleObserverBackend(): Promise<void>;
|
|
9
|
+
private static startObserving;
|
|
10
|
+
private static stopObserving;
|
|
11
|
+
private static BleObserverController;
|
|
12
|
+
}
|