@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.
Files changed (227) hide show
  1. package/README.md +6 -6
  2. package/build/__tests__/AbstractPackageTest.d.ts +12 -11
  3. package/build/__tests__/AbstractPackageTest.js +32 -34
  4. package/build/__tests__/AbstractPackageTest.js.map +1 -1
  5. package/build/__tests__/impl/{BleDeviceController.test.d.ts → BleGattController.test.d.ts} +3 -3
  6. package/build/__tests__/impl/{BleDeviceController.test.js → BleGattController.test.js} +68 -70
  7. package/build/__tests__/impl/BleGattController.test.js.map +1 -0
  8. package/build/__tests__/impl/BleObserverController.test.d.ts +12 -0
  9. package/build/__tests__/impl/BleObserverController.test.js +62 -0
  10. package/build/__tests__/impl/BleObserverController.test.js.map +1 -0
  11. package/build/__tests__/impl/{LslEventMarkerEmitter.test.d.ts → LslEventMarkerOutlet.test.d.ts} +3 -3
  12. package/build/__tests__/impl/{LslEventMarkerEmitter.test.js → LslEventMarkerOutlet.test.js} +45 -46
  13. package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
  14. package/build/__tests__/impl/LslJsonOutlet.test.d.ts +14 -0
  15. package/build/__tests__/impl/LslJsonOutlet.test.js +118 -0
  16. package/build/__tests__/impl/LslJsonOutlet.test.js.map +1 -0
  17. package/build/__tests__/impl/LslStreamInfo.test.js +2 -3
  18. package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
  19. package/build/__tests__/impl/LslStreamInlet.test.d.ts +3 -5
  20. package/build/__tests__/impl/LslStreamInlet.test.js +13 -47
  21. package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
  22. package/build/__tests__/impl/LslStreamOutlet.test.js +7 -13
  23. package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
  24. package/build/__tests__/impl/LslWebSocketBridge.test.js +9 -11
  25. package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
  26. package/build/__tests__/impl/UsbDeviceController.test.js.map +1 -1
  27. package/build/__tests__/impl/WindowedClockRegressor.test.js +1 -1
  28. package/build/__tests__/impl/WindowedClockRegressor.test.js.map +1 -1
  29. package/build/assertions.js +1 -1
  30. package/build/assertions.js.map +1 -1
  31. package/build/impl/LslEventMarkerOutlet.d.ts +35 -0
  32. package/build/impl/{LslEventMarkerEmitter.js → LslEventMarkerOutlet.js} +2 -2
  33. package/build/impl/LslEventMarkerOutlet.js.map +1 -0
  34. package/build/impl/LslJsonOutlet.d.ts +33 -0
  35. package/build/impl/LslJsonOutlet.js +44 -0
  36. package/build/impl/LslJsonOutlet.js.map +1 -0
  37. package/build/impl/LslStreamInfo.d.ts +7 -7
  38. package/build/impl/LslStreamInfo.js.map +1 -1
  39. package/build/impl/LslStreamInlet.d.ts +63 -21
  40. package/build/impl/LslStreamInlet.js +221 -65
  41. package/build/impl/LslStreamInlet.js.map +1 -1
  42. package/build/impl/LslStreamOutlet.d.ts +16 -16
  43. package/build/impl/LslStreamOutlet.js +32 -36
  44. package/build/impl/LslStreamOutlet.js.map +1 -1
  45. package/build/impl/LslWebSocketBridge.d.ts +10 -10
  46. package/build/impl/LslWebSocketBridge.js.map +1 -1
  47. package/build/impl/clocks/WindowedClockRegressor.js.map +1 -0
  48. package/build/impl/controllers/{BleDeviceController.d.ts → BleGattController.d.ts} +10 -10
  49. package/build/impl/controllers/{BleDeviceController.js → BleGattController.js} +19 -19
  50. package/build/impl/controllers/BleGattController.js.map +1 -0
  51. package/build/impl/controllers/BleObserverController.d.ts +20 -0
  52. package/build/impl/controllers/BleObserverController.js +37 -0
  53. package/build/impl/controllers/BleObserverController.js.map +1 -0
  54. package/build/impl/controllers/UsbDeviceController.d.ts +9 -9
  55. package/build/impl/controllers/UsbDeviceController.js +7 -7
  56. package/build/impl/controllers/UsbDeviceController.js.map +1 -1
  57. package/build/index.d.ts +43 -31
  58. package/build/index.js +52 -39
  59. package/build/index.js.map +1 -1
  60. package/build/scripts/{runLslEventMarkerEmitter.js → runEventMarkerOutlet.js} +4 -3
  61. package/build/scripts/runEventMarkerOutlet.js.map +1 -0
  62. package/build/scripts/{runLslStreamOutlet.js → runLslOutlet.js} +1 -1
  63. package/build/scripts/runLslOutlet.js.map +1 -0
  64. package/build/scripts/runMuse.js +2 -2
  65. package/build/scripts/runMuse.js.map +1 -1
  66. package/build/testDoubles/{BleController/FakeBleController.d.ts → BleGatt/FakeBleGatt.d.ts} +6 -6
  67. package/build/testDoubles/{BleController/FakeBleController.js → BleGatt/FakeBleGatt.js} +8 -8
  68. package/build/testDoubles/BleGatt/FakeBleGatt.js.map +1 -0
  69. package/build/testDoubles/{BleController/SpyBleController.d.ts → BleGatt/SpyBleGatt.d.ts} +4 -4
  70. package/build/testDoubles/{BleController/SpyBleController.js → BleGatt/SpyBleGatt.js} +3 -3
  71. package/build/testDoubles/BleGatt/SpyBleGatt.js.map +1 -0
  72. package/build/testDoubles/BleObserver/FakeBleObserver.d.ts +10 -0
  73. package/build/testDoubles/BleObserver/FakeBleObserver.js +20 -0
  74. package/build/testDoubles/BleObserver/FakeBleObserver.js.map +1 -0
  75. package/build/testDoubles/ClockRegressor/FakeClockRegressor.d.ts +1 -1
  76. package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +4 -4
  77. package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.js → EventMarkerOutlet/FakeEventMarkerOutlet.js} +7 -7
  78. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
  79. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +10 -0
  80. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js +23 -0
  81. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
  82. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +9 -0
  83. package/build/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +2 -2
  84. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
  85. package/build/testDoubles/JsonOutlet/FakeJsonOutlet.d.ts +10 -0
  86. package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js +20 -0
  87. package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js.map +1 -0
  88. package/build/testDoubles/{StreamInfo/FakeStreamInfo.d.ts → LslInfo/FakeLslInfo.d.ts} +4 -4
  89. package/build/testDoubles/{StreamInfo/FakeStreamInfo.js → LslInfo/FakeLslInfo.js} +7 -7
  90. package/build/testDoubles/LslInfo/FakeLslInfo.js.map +1 -0
  91. package/build/testDoubles/LslInfo/SpyLslInfo.d.ts +10 -0
  92. package/build/testDoubles/{StreamInfo/SpyStreamInfo.js → LslInfo/SpyLslInfo.js} +4 -4
  93. package/build/testDoubles/LslInfo/SpyLslInfo.js.map +1 -0
  94. package/build/testDoubles/{StreamInlet/FakeStreamInlet.d.ts → LslInlet/FakeLslInlet.d.ts} +4 -4
  95. package/build/testDoubles/{StreamInlet/FakeStreamInlet.js → LslInlet/FakeLslInlet.js} +12 -11
  96. package/build/testDoubles/LslInlet/FakeLslInlet.js.map +1 -0
  97. package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +4 -0
  98. package/build/testDoubles/{StreamInlet/SpyStreamInlet.js → LslInlet/SpyLslInlet.js} +2 -2
  99. package/build/testDoubles/LslInlet/SpyLslInlet.js.map +1 -0
  100. package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.d.ts → LslOutlet/FakeLslOutlet.d.ts} +5 -5
  101. package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.js → LslOutlet/FakeLslOutlet.js} +8 -8
  102. package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +1 -0
  103. package/build/testDoubles/LslWsBridge/FakeLslWsBridge.d.ts +14 -0
  104. package/build/testDoubles/{WebSocketBridge/FakeWebSocketBridge.js → LslWsBridge/FakeLslWsBridge.js} +14 -14
  105. package/build/testDoubles/LslWsBridge/FakeLslWsBridge.js.map +1 -0
  106. package/build/testDoubles/LslWsBridge/SpyLslWsBridge.d.ts +4 -0
  107. package/build/testDoubles/{WebSocketBridge/SpyLslWebSocketBridge.js → LslWsBridge/SpyLslWsBridge.js} +2 -2
  108. package/build/testDoubles/LslWsBridge/SpyLslWsBridge.js.map +1 -0
  109. package/build/testDoubles/UsbDevice/FakeUsbDevice.d.ts +12 -0
  110. package/build/testDoubles/UsbDevice/FakeUsbDevice.js +25 -0
  111. package/build/testDoubles/UsbDevice/FakeUsbDevice.js.map +1 -0
  112. package/build/testDoubles/consts.d.ts +2 -12
  113. package/build/testDoubles/consts.js +0 -20
  114. package/build/testDoubles/consts.js.map +1 -1
  115. package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
  116. package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
  117. package/package.json +5 -4
  118. package/src/__tests__/AbstractPackageTest.ts +35 -42
  119. package/src/__tests__/impl/{BleDeviceController.test.ts → BleGattController.test.ts} +45 -47
  120. package/src/__tests__/impl/BleObserverController.test.ts +72 -0
  121. package/src/__tests__/impl/{LslEventMarkerEmitter.test.ts → LslEventMarkerOutlet.test.ts} +33 -37
  122. package/src/__tests__/impl/LslJsonOutlet.test.ts +135 -0
  123. package/src/__tests__/impl/LslStreamInfo.test.ts +8 -9
  124. package/src/__tests__/impl/LslStreamInlet.test.ts +21 -79
  125. package/src/__tests__/impl/LslStreamOutlet.test.ts +17 -25
  126. package/src/__tests__/impl/LslWebSocketBridge.test.ts +15 -19
  127. package/src/__tests__/impl/UsbDeviceController.test.ts +2 -2
  128. package/src/__tests__/impl/WindowedClockRegressor.test.ts +1 -1
  129. package/src/assertions.ts +1 -2
  130. package/src/impl/{LslEventMarkerEmitter.ts → LslEventMarkerOutlet.ts} +17 -17
  131. package/src/impl/LslJsonOutlet.ts +87 -0
  132. package/src/impl/LslStreamInfo.ts +7 -9
  133. package/src/impl/LslStreamInlet.ts +305 -81
  134. package/src/impl/LslStreamOutlet.ts +62 -59
  135. package/src/impl/LslWebSocketBridge.ts +15 -18
  136. package/src/impl/controllers/{BleDeviceController.ts → BleGattController.ts} +23 -28
  137. package/src/impl/controllers/BleObserverController.ts +62 -0
  138. package/src/impl/controllers/UsbDeviceController.ts +14 -16
  139. package/src/index.ts +64 -44
  140. package/src/scripts/{runLslEventMarkerEmitter.ts → runEventMarkerOutlet.ts} +3 -2
  141. package/src/scripts/runMuse.ts +2 -2
  142. package/src/testDoubles/{BleController/FakeBleController.ts → BleGatt/FakeBleGatt.ts} +14 -14
  143. package/src/testDoubles/{BleController/SpyBleController.ts → BleGatt/SpyBleGatt.ts} +5 -5
  144. package/src/testDoubles/BleObserver/FakeBleObserver.ts +28 -0
  145. package/src/testDoubles/ClockRegressor/FakeClockRegressor.ts +1 -1
  146. package/src/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +11 -11
  147. package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +31 -0
  148. package/src/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +5 -5
  149. package/src/testDoubles/JsonOutlet/FakeJsonOutlet.ts +25 -0
  150. package/src/testDoubles/{StreamInfo/FakeStreamInfo.ts → LslInfo/FakeLslInfo.ts} +9 -9
  151. package/src/testDoubles/{StreamInfo/SpyStreamInfo.ts → LslInfo/SpyLslInfo.ts} +5 -5
  152. package/src/testDoubles/{StreamInlet/FakeStreamInlet.ts → LslInlet/FakeLslInlet.ts} +15 -14
  153. package/src/testDoubles/LslInlet/SpyLslInlet.ts +10 -0
  154. package/src/testDoubles/{StreamOutlet/FakeStreamOutlet.ts → LslOutlet/FakeLslOutlet.ts} +11 -14
  155. package/src/testDoubles/{WebSocketBridge/FakeWebSocketBridge.ts → LslWsBridge/FakeLslWsBridge.ts} +19 -19
  156. package/src/testDoubles/LslWsBridge/SpyLslWsBridge.ts +9 -0
  157. package/src/testDoubles/UsbDevice/FakeUsbDevice.ts +34 -0
  158. package/src/testDoubles/consts.ts +3 -23
  159. package/src/testDoubles/generateRandomOutletOptions.ts +2 -2
  160. package/build/__tests__/impl/BleDeviceController.test.js.map +0 -1
  161. package/build/__tests__/impl/LslEventMarkerEmitter.test.js.map +0 -1
  162. package/build/consts.d.ts +0 -11
  163. package/build/consts.js +0 -21
  164. package/build/consts.js.map +0 -1
  165. package/build/impl/LslEventMarkerEmitter.d.ts +0 -35
  166. package/build/impl/LslEventMarkerEmitter.js.map +0 -1
  167. package/build/impl/WindowedClockRegressor.js.map +0 -1
  168. package/build/impl/controllers/BleDeviceController.js.map +0 -1
  169. package/build/impl/workers/inlet/LslStreamInlet.worker.d.ts +0 -22
  170. package/build/impl/workers/inlet/LslStreamInlet.worker.js +0 -42
  171. package/build/impl/workers/inlet/LslStreamInlet.worker.js.map +0 -1
  172. package/build/impl/workers/inlet/StreamInletWorker.d.ts +0 -73
  173. package/build/impl/workers/inlet/StreamInletWorker.js +0 -253
  174. package/build/impl/workers/inlet/StreamInletWorker.js.map +0 -1
  175. package/build/impl/workers/outlet/LslStreamOutlet.worker.d.ts +0 -32
  176. package/build/impl/workers/outlet/LslStreamOutlet.worker.js +0 -82
  177. package/build/impl/workers/outlet/LslStreamOutlet.worker.js.map +0 -1
  178. package/build/scripts/discoverMuse.js +0 -40
  179. package/build/scripts/discoverMuse.js.map +0 -1
  180. package/build/scripts/runLslEventMarkerEmitter.js.map +0 -1
  181. package/build/scripts/runLslStreamOutlet.d.ts +0 -1
  182. package/build/scripts/runLslStreamOutlet.js.map +0 -1
  183. package/build/scripts/testDestroyOutlet.d.ts +0 -1
  184. package/build/scripts/testDestroyOutlet.js +0 -4
  185. package/build/scripts/testDestroyOutlet.js.map +0 -1
  186. package/build/testDoubles/BleController/FakeBleController.js.map +0 -1
  187. package/build/testDoubles/BleController/SpyBleController.js.map +0 -1
  188. package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js.map +0 -1
  189. package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.d.ts +0 -10
  190. package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js +0 -23
  191. package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js.map +0 -1
  192. package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.d.ts +0 -9
  193. package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js.map +0 -1
  194. package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +0 -1
  195. package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +0 -10
  196. package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +0 -1
  197. package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +0 -1
  198. package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +0 -4
  199. package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +0 -1
  200. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +0 -1
  201. package/build/testDoubles/UsbController/FakeUsbController.d.ts +0 -12
  202. package/build/testDoubles/UsbController/FakeUsbController.js +0 -25
  203. package/build/testDoubles/UsbController/FakeUsbController.js.map +0 -1
  204. package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.d.ts +0 -14
  205. package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js.map +0 -1
  206. package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.d.ts +0 -4
  207. package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.js.map +0 -1
  208. package/build/testDoubles/WorkerThreads/FakeWorker.d.ts +0 -27
  209. package/build/testDoubles/WorkerThreads/FakeWorker.js +0 -67
  210. package/build/testDoubles/WorkerThreads/FakeWorker.js.map +0 -1
  211. package/src/consts.ts +0 -21
  212. package/src/impl/workers/inlet/LslStreamInlet.worker.ts +0 -74
  213. package/src/impl/workers/inlet/StreamInletWorker.ts +0 -348
  214. package/src/impl/workers/outlet/LslStreamOutlet.worker.ts +0 -144
  215. package/src/scripts/discoverMuse.ts +0 -50
  216. package/src/scripts/testDestroyOutlet.ts +0 -5
  217. package/src/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.ts +0 -31
  218. package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +0 -10
  219. package/src/testDoubles/UsbController/FakeUsbController.ts +0 -34
  220. package/src/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.ts +0 -9
  221. package/src/testDoubles/WorkerThreads/FakeWorker.ts +0 -99
  222. /package/build/impl/{WindowedClockRegressor.d.ts → clocks/WindowedClockRegressor.d.ts} +0 -0
  223. /package/build/impl/{WindowedClockRegressor.js → clocks/WindowedClockRegressor.js} +0 -0
  224. /package/build/scripts/{discoverMuse.d.ts → runEventMarkerOutlet.d.ts} +0 -0
  225. /package/build/scripts/{runLslEventMarkerEmitter.d.ts → runLslOutlet.d.ts} +0 -0
  226. /package/src/impl/{WindowedClockRegressor.ts → clocks/WindowedClockRegressor.ts} +0 -0
  227. /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,5 +0,0 @@
1
- import LslEventMarkerEmitter from '../impl/LslEventMarkerEmitter.js'
2
-
3
- const emitter = await LslEventMarkerEmitter.Create()
4
-
5
- emitter.destroy()
@@ -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
- }