@neurodevs/node-lsl 18.1.0 → 20.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 (189) hide show
  1. package/build/__tests__/AbstractPackageTest.d.ts +19 -17
  2. package/build/__tests__/AbstractPackageTest.js +54 -39
  3. package/build/__tests__/AbstractPackageTest.js.map +1 -1
  4. package/build/__tests__/impl/BleDeviceController.test.d.ts +6 -1
  5. package/build/__tests__/impl/BleDeviceController.test.js +44 -15
  6. package/build/__tests__/impl/BleDeviceController.test.js.map +1 -1
  7. package/build/__tests__/impl/LslEventMarkerEmitter.test.js +13 -13
  8. package/build/__tests__/impl/LslEventMarkerEmitter.test.js.map +1 -1
  9. package/build/__tests__/impl/LslStreamInfo.test.js +2 -2
  10. package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
  11. package/build/__tests__/impl/LslStreamInlet.test.d.ts +3 -5
  12. package/build/__tests__/impl/LslStreamInlet.test.js +13 -46
  13. package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
  14. package/build/__tests__/impl/LslStreamOutlet.test.js +9 -16
  15. package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
  16. package/build/__tests__/impl/LslWebSocketBridge.test.js +9 -10
  17. package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
  18. package/build/__tests__/impl/UsbDeviceController.test.d.ts +17 -0
  19. package/build/__tests__/impl/UsbDeviceController.test.js +81 -0
  20. package/build/__tests__/impl/UsbDeviceController.test.js.map +1 -0
  21. package/build/__tests__/impl/WindowedClockRegressor.test.d.ts +19 -0
  22. package/build/__tests__/impl/WindowedClockRegressor.test.js +172 -0
  23. package/build/__tests__/impl/WindowedClockRegressor.test.js.map +1 -0
  24. package/build/assertions.js +1 -1
  25. package/build/assertions.js.map +1 -1
  26. package/build/impl/LslEventMarkerEmitter.d.ts +12 -12
  27. package/build/impl/LslEventMarkerEmitter.js.map +1 -1
  28. package/build/impl/LslStreamInfo.d.ts +7 -7
  29. package/build/impl/LslStreamInfo.js.map +1 -1
  30. package/build/impl/LslStreamInlet.d.ts +63 -20
  31. package/build/impl/LslStreamInlet.js +221 -64
  32. package/build/impl/LslStreamInlet.js.map +1 -1
  33. package/build/impl/LslStreamOutlet.d.ts +16 -14
  34. package/build/impl/LslStreamOutlet.js +34 -37
  35. package/build/impl/LslStreamOutlet.js.map +1 -1
  36. package/build/impl/LslWebSocketBridge.d.ts +10 -10
  37. package/build/impl/LslWebSocketBridge.js.map +1 -1
  38. package/build/impl/clocks/WindowedClockRegressor.d.ts +24 -0
  39. package/build/impl/clocks/WindowedClockRegressor.js +73 -0
  40. package/build/impl/clocks/WindowedClockRegressor.js.map +1 -0
  41. package/build/impl/controllers/BleDeviceController.d.ts +3 -1
  42. package/build/impl/controllers/BleDeviceController.js +9 -1
  43. package/build/impl/controllers/BleDeviceController.js.map +1 -1
  44. package/build/impl/controllers/UsbDeviceController.d.ts +23 -0
  45. package/build/impl/controllers/UsbDeviceController.js +40 -0
  46. package/build/impl/controllers/UsbDeviceController.js.map +1 -0
  47. package/build/index.d.ts +32 -20
  48. package/build/index.js +39 -26
  49. package/build/index.js.map +1 -1
  50. package/build/scripts/{runLslEventMarkerEmitter.js → runLslEmitter.js} +5 -4
  51. package/build/scripts/runLslEmitter.js.map +1 -0
  52. package/build/scripts/{runLslStreamOutlet.js → runLslOutlet.js} +1 -1
  53. package/build/scripts/runLslOutlet.js.map +1 -0
  54. package/build/scripts/runMuse.js +1 -1
  55. package/build/scripts/runMuse.js.map +1 -1
  56. package/build/scripts/runUsb.js +14 -0
  57. package/build/scripts/runUsb.js.map +1 -0
  58. package/build/testDoubles/BleController/FakeBleController.d.ts +3 -1
  59. package/build/testDoubles/BleController/FakeBleController.js +5 -0
  60. package/build/testDoubles/BleController/FakeBleController.js.map +1 -1
  61. package/build/testDoubles/ClockRegressor/FakeClockRegressor.d.ts +17 -0
  62. package/build/testDoubles/ClockRegressor/FakeClockRegressor.js +23 -0
  63. package/build/testDoubles/ClockRegressor/FakeClockRegressor.js.map +1 -0
  64. package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.d.ts → LslEmitter/FakeLslEmitter.d.ts} +4 -4
  65. package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.js → LslEmitter/FakeLslEmitter.js} +7 -7
  66. package/build/testDoubles/LslEmitter/FakeLslEmitter.js.map +1 -0
  67. package/build/testDoubles/{EventMarkerEmitter/SpyEventMarkerEmitter.d.ts → LslEmitter/SpyLslEmitter.d.ts} +4 -4
  68. package/build/testDoubles/{EventMarkerEmitter/SpyEventMarkerEmitter.js → LslEmitter/SpyLslEmitter.js} +3 -3
  69. package/build/testDoubles/LslEmitter/SpyLslEmitter.js.map +1 -0
  70. package/build/testDoubles/LslEmitter/ThrowingLslEmitter.d.ts +9 -0
  71. package/build/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.js → LslEmitter/ThrowingLslEmitter.js} +2 -2
  72. package/build/testDoubles/LslEmitter/ThrowingLslEmitter.js.map +1 -0
  73. package/build/testDoubles/{StreamInfo/FakeStreamInfo.d.ts → LslInfo/FakeLslInfo.d.ts} +4 -4
  74. package/build/testDoubles/{StreamInfo/FakeStreamInfo.js → LslInfo/FakeLslInfo.js} +7 -7
  75. package/build/testDoubles/LslInfo/FakeLslInfo.js.map +1 -0
  76. package/build/testDoubles/LslInfo/SpyLslInfo.d.ts +10 -0
  77. package/build/testDoubles/{StreamInfo/SpyStreamInfo.js → LslInfo/SpyLslInfo.js} +4 -4
  78. package/build/testDoubles/LslInfo/SpyLslInfo.js.map +1 -0
  79. package/build/testDoubles/{StreamInlet/FakeStreamInlet.d.ts → LslInlet/FakeLslInlet.d.ts} +4 -4
  80. package/build/testDoubles/{StreamInlet/FakeStreamInlet.js → LslInlet/FakeLslInlet.js} +12 -11
  81. package/build/testDoubles/LslInlet/FakeLslInlet.js.map +1 -0
  82. package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +4 -0
  83. package/build/testDoubles/{StreamInlet/SpyStreamInlet.js → LslInlet/SpyLslInlet.js} +2 -2
  84. package/build/testDoubles/LslInlet/SpyLslInlet.js.map +1 -0
  85. package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.d.ts → LslOutlet/FakeLslOutlet.d.ts} +5 -5
  86. package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.js → LslOutlet/FakeLslOutlet.js} +8 -8
  87. package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +1 -0
  88. package/build/testDoubles/LslWsBridge/FakeLslWsBridge.d.ts +14 -0
  89. package/build/testDoubles/{WebSocketBridge/FakeWebSocketBridge.js → LslWsBridge/FakeLslWsBridge.js} +14 -14
  90. package/build/testDoubles/LslWsBridge/FakeLslWsBridge.js.map +1 -0
  91. package/build/testDoubles/LslWsBridge/SpyLslWsBridge.d.ts +4 -0
  92. package/build/testDoubles/{WebSocketBridge/SpyLslWebSocketBridge.js → LslWsBridge/SpyLslWsBridge.js} +2 -2
  93. package/build/testDoubles/LslWsBridge/SpyLslWsBridge.js.map +1 -0
  94. package/build/testDoubles/UsbController/FakeUsbController.d.ts +12 -0
  95. package/build/testDoubles/UsbController/FakeUsbController.js +25 -0
  96. package/build/testDoubles/UsbController/FakeUsbController.js.map +1 -0
  97. package/build/testDoubles/consts.d.ts +2 -12
  98. package/build/testDoubles/consts.js +0 -20
  99. package/build/testDoubles/consts.js.map +1 -1
  100. package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
  101. package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
  102. package/package.json +6 -5
  103. package/src/__tests__/AbstractPackageTest.ts +78 -49
  104. package/src/__tests__/impl/BleDeviceController.test.ts +59 -18
  105. package/src/__tests__/impl/LslEventMarkerEmitter.test.ts +19 -24
  106. package/src/__tests__/impl/LslStreamInfo.test.ts +8 -8
  107. package/src/__tests__/impl/LslStreamInlet.test.ts +21 -78
  108. package/src/__tests__/impl/LslStreamOutlet.test.ts +22 -28
  109. package/src/__tests__/impl/LslWebSocketBridge.test.ts +15 -18
  110. package/src/__tests__/impl/UsbDeviceController.test.ts +109 -0
  111. package/src/__tests__/impl/WindowedClockRegressor.test.ts +262 -0
  112. package/src/assertions.ts +1 -2
  113. package/src/impl/LslEventMarkerEmitter.ts +15 -17
  114. package/src/impl/LslStreamInfo.ts +7 -9
  115. package/src/impl/LslStreamInlet.ts +304 -77
  116. package/src/impl/LslStreamOutlet.ts +59 -57
  117. package/src/impl/LslWebSocketBridge.ts +15 -18
  118. package/src/impl/clocks/WindowedClockRegressor.ts +136 -0
  119. package/src/impl/controllers/BleDeviceController.ts +18 -1
  120. package/src/impl/controllers/UsbDeviceController.ts +65 -0
  121. package/src/index.ts +48 -28
  122. package/src/scripts/{runLslEventMarkerEmitter.ts → runLslEmitter.ts} +4 -3
  123. package/src/scripts/runMuse.ts +1 -1
  124. package/src/scripts/runUsb.ts +20 -0
  125. package/src/testDoubles/BleController/FakeBleController.ts +11 -0
  126. package/src/testDoubles/ClockRegressor/FakeClockRegressor.ts +46 -0
  127. package/src/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.ts → LslEmitter/FakeLslEmitter.ts} +10 -10
  128. package/src/testDoubles/{EventMarkerEmitter/SpyEventMarkerEmitter.ts → LslEmitter/SpyLslEmitter.ts} +4 -4
  129. package/src/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.ts → LslEmitter/ThrowingLslEmitter.ts} +4 -4
  130. package/src/testDoubles/{StreamInfo/FakeStreamInfo.ts → LslInfo/FakeLslInfo.ts} +9 -9
  131. package/src/testDoubles/{StreamInfo/SpyStreamInfo.ts → LslInfo/SpyLslInfo.ts} +5 -5
  132. package/src/testDoubles/{StreamInlet/FakeStreamInlet.ts → LslInlet/FakeLslInlet.ts} +15 -14
  133. package/src/testDoubles/LslInlet/SpyLslInlet.ts +10 -0
  134. package/src/testDoubles/{StreamOutlet/FakeStreamOutlet.ts → LslOutlet/FakeLslOutlet.ts} +11 -14
  135. package/src/testDoubles/{WebSocketBridge/FakeWebSocketBridge.ts → LslWsBridge/FakeLslWsBridge.ts} +19 -20
  136. package/src/testDoubles/LslWsBridge/SpyLslWsBridge.ts +9 -0
  137. package/src/testDoubles/UsbController/FakeUsbController.ts +34 -0
  138. package/src/testDoubles/consts.ts +3 -23
  139. package/src/testDoubles/generateRandomOutletOptions.ts +2 -2
  140. package/build/consts.d.ts +0 -11
  141. package/build/consts.js +0 -21
  142. package/build/consts.js.map +0 -1
  143. package/build/impl/workers/inlet/LslStreamInlet.worker.d.ts +0 -22
  144. package/build/impl/workers/inlet/LslStreamInlet.worker.js +0 -42
  145. package/build/impl/workers/inlet/LslStreamInlet.worker.js.map +0 -1
  146. package/build/impl/workers/inlet/StreamInletWorker.d.ts +0 -73
  147. package/build/impl/workers/inlet/StreamInletWorker.js +0 -253
  148. package/build/impl/workers/inlet/StreamInletWorker.js.map +0 -1
  149. package/build/impl/workers/outlet/LslStreamOutlet.worker.d.ts +0 -32
  150. package/build/impl/workers/outlet/LslStreamOutlet.worker.js +0 -82
  151. package/build/impl/workers/outlet/LslStreamOutlet.worker.js.map +0 -1
  152. package/build/scripts/discoverMuse.js +0 -40
  153. package/build/scripts/discoverMuse.js.map +0 -1
  154. package/build/scripts/runLslEventMarkerEmitter.js.map +0 -1
  155. package/build/scripts/runLslStreamOutlet.js.map +0 -1
  156. package/build/scripts/testDestroyOutlet.d.ts +0 -1
  157. package/build/scripts/testDestroyOutlet.js +0 -4
  158. package/build/scripts/testDestroyOutlet.js.map +0 -1
  159. package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js.map +0 -1
  160. package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js.map +0 -1
  161. package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.d.ts +0 -9
  162. package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js.map +0 -1
  163. package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +0 -1
  164. package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +0 -10
  165. package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +0 -1
  166. package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +0 -1
  167. package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +0 -4
  168. package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +0 -1
  169. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +0 -1
  170. package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.d.ts +0 -14
  171. package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js.map +0 -1
  172. package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.d.ts +0 -4
  173. package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.js.map +0 -1
  174. package/build/testDoubles/WorkerThreads/FakeWorker.d.ts +0 -27
  175. package/build/testDoubles/WorkerThreads/FakeWorker.js +0 -67
  176. package/build/testDoubles/WorkerThreads/FakeWorker.js.map +0 -1
  177. package/src/consts.ts +0 -21
  178. package/src/impl/workers/inlet/LslStreamInlet.worker.ts +0 -74
  179. package/src/impl/workers/inlet/StreamInletWorker.ts +0 -348
  180. package/src/impl/workers/outlet/LslStreamOutlet.worker.ts +0 -144
  181. package/src/scripts/discoverMuse.ts +0 -50
  182. package/src/scripts/testDestroyOutlet.ts +0 -5
  183. package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +0 -10
  184. package/src/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.ts +0 -9
  185. package/src/testDoubles/WorkerThreads/FakeWorker.ts +0 -99
  186. /package/build/scripts/{discoverMuse.d.ts → runLslEmitter.d.ts} +0 -0
  187. /package/build/scripts/{runLslEventMarkerEmitter.d.ts → runLslOutlet.d.ts} +0 -0
  188. /package/build/scripts/{runLslStreamOutlet.d.ts → runUsb.d.ts} +0 -0
  189. /package/src/scripts/{runLslStreamOutlet.ts → runLslOutlet.ts} +0 -0
@@ -1,15 +1,15 @@
1
- import { EventMarkerEmitter, EventMarkerOptions, TimedEventMarker } from '../../impl/LslEventMarkerEmitter.js';
2
- export default class FakeEventMarkerEmitter implements EventMarkerEmitter {
1
+ import { LslEmitter, EmitOptions, TimedEventMarker } from '../../impl/LslEventMarkerEmitter.js';
2
+ export default class FakeLslEmitter implements LslEmitter {
3
3
  static numCallsToConstructor: number;
4
4
  static callsToEmit: {
5
5
  markerName: string;
6
- options?: EventMarkerOptions;
6
+ options?: EmitOptions;
7
7
  }[];
8
8
  static callsToEmitMany: TimedEventMarker[][];
9
9
  static numCallsToInterrupt: number;
10
10
  static numCallsToDestroy: number;
11
11
  constructor();
12
- emit(markerName: string, options?: EventMarkerOptions): Promise<void>;
12
+ emit(markerName: string, options?: EmitOptions): Promise<void>;
13
13
  emitMany(markers: TimedEventMarker[]): Promise<void>;
14
14
  interrupt(): void;
15
15
  destroy(): void;
@@ -1,23 +1,23 @@
1
- export default class FakeEventMarkerEmitter {
1
+ export default class FakeLslEmitter {
2
2
  static numCallsToConstructor = 0;
3
3
  static callsToEmit = [];
4
4
  static callsToEmitMany = [];
5
5
  static numCallsToInterrupt = 0;
6
6
  static numCallsToDestroy = 0;
7
7
  constructor() {
8
- FakeEventMarkerEmitter.numCallsToConstructor++;
8
+ FakeLslEmitter.numCallsToConstructor++;
9
9
  }
10
10
  async emit(markerName, options) {
11
- FakeEventMarkerEmitter.callsToEmit.push({ markerName, options });
11
+ FakeLslEmitter.callsToEmit.push({ markerName, options });
12
12
  }
13
13
  async emitMany(markers) {
14
- FakeEventMarkerEmitter.callsToEmitMany.push(markers);
14
+ FakeLslEmitter.callsToEmitMany.push(markers);
15
15
  }
16
16
  interrupt() {
17
- FakeEventMarkerEmitter.numCallsToInterrupt++;
17
+ FakeLslEmitter.numCallsToInterrupt++;
18
18
  }
19
19
  destroy() {
20
- FakeEventMarkerEmitter.numCallsToDestroy++;
20
+ FakeLslEmitter.numCallsToDestroy++;
21
21
  }
22
22
  static resetTestDouble() {
23
23
  this.numCallsToConstructor = 0;
@@ -27,4 +27,4 @@ export default class FakeEventMarkerEmitter {
27
27
  this.numCallsToDestroy = 0;
28
28
  }
29
29
  }
30
- //# sourceMappingURL=FakeEventMarkerEmitter.js.map
30
+ //# sourceMappingURL=FakeLslEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeLslEmitter.js","sourceRoot":"","sources":["../../../src/testDoubles/LslEmitter/FakeLslEmitter.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,cAAc;IACxB,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAA;IAEhC,MAAM,CAAC,WAAW,GAGnB,EAAE,CAAA;IAED,MAAM,CAAC,eAAe,GAAyB,EAAE,CAAA;IACjD,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAA;IAC9B,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAEnC;QACI,cAAc,CAAC,qBAAqB,EAAE,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,OAAqB;QACvD,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,OAA2B;QAC7C,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAEM,SAAS;QACZ,cAAc,CAAC,mBAAmB,EAAE,CAAA;IACxC,CAAC;IAEM,OAAO;QACV,cAAc,CAAC,iBAAiB,EAAE,CAAA;IACtC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAA;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC9B,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import LslEventMarkerEmitter from '../../impl/LslEventMarkerEmitter.js';
2
- import { StreamOutlet } from '../../impl/LslStreamOutlet.js';
3
- export default class SpyEventMarkerEmitter extends LslEventMarkerEmitter {
2
+ import { LslOutlet } from '../../impl/LslStreamOutlet.js';
3
+ export default class SpyLslEmitter extends LslEventMarkerEmitter {
4
4
  static shouldCallWaitOnSuper: boolean;
5
5
  totalwaitAfterMs: number;
6
- constructor(outlet: StreamOutlet);
6
+ constructor(outlet: LslOutlet);
7
7
  wait(waitAfterMs: number): Promise<unknown>;
8
- getStreamOutlet(): StreamOutlet;
8
+ getStreamOutlet(): LslOutlet;
9
9
  resetTestDouble(): void;
10
10
  }
@@ -1,5 +1,5 @@
1
1
  import LslEventMarkerEmitter from '../../impl/LslEventMarkerEmitter.js';
2
- export default class SpyEventMarkerEmitter extends LslEventMarkerEmitter {
2
+ export default class SpyLslEmitter extends LslEventMarkerEmitter {
3
3
  static shouldCallWaitOnSuper = false;
4
4
  totalwaitAfterMs;
5
5
  constructor(outlet) {
@@ -8,7 +8,7 @@ export default class SpyEventMarkerEmitter extends LslEventMarkerEmitter {
8
8
  }
9
9
  async wait(waitAfterMs) {
10
10
  this.totalwaitAfterMs += waitAfterMs;
11
- if (SpyEventMarkerEmitter.shouldCallWaitOnSuper) {
11
+ if (SpyLslEmitter.shouldCallWaitOnSuper) {
12
12
  return super.wait(waitAfterMs);
13
13
  }
14
14
  return Promise.resolve();
@@ -20,4 +20,4 @@ export default class SpyEventMarkerEmitter extends LslEventMarkerEmitter {
20
20
  this.totalwaitAfterMs = 0;
21
21
  }
22
22
  }
23
- //# sourceMappingURL=SpyEventMarkerEmitter.js.map
23
+ //# sourceMappingURL=SpyLslEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpyLslEmitter.js","sourceRoot":"","sources":["../../../src/testDoubles/LslEmitter/SpyLslEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,qCAAqC,CAAA;AAGvE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,qBAAqB;IACrD,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAA;IAEpC,gBAAgB,CAAQ;IAE/B,YAAmB,MAAiB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAA;QAEb,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAmB;QACjC,IAAI,CAAC,gBAAgB,IAAI,WAAW,CAAA;QAEpC,IAAI,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAEM,eAAe;QAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAC7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { LslEmitter, EmitOptions, TimedEventMarker } from '../../impl/LslEventMarkerEmitter.js';
2
+ export default class ThrowingLslEmitter implements LslEmitter {
3
+ private errorMsg;
4
+ constructor();
5
+ emit(_markerName: string, _options?: EmitOptions): Promise<void>;
6
+ emitMany(_markers: TimedEventMarker[]): Promise<void>;
7
+ interrupt(): void;
8
+ destroy(): void;
9
+ }
@@ -1,4 +1,4 @@
1
- export default class ThrowingEventMarkerEmitter {
1
+ export default class ThrowingLslEmitter {
2
2
  errorMsg = 'Intentional throwing: ';
3
3
  constructor() {
4
4
  throw new Error(this.errorMsg + 'constructor');
@@ -16,4 +16,4 @@ export default class ThrowingEventMarkerEmitter {
16
16
  throw new Error(this.errorMsg + 'destroy');
17
17
  }
18
18
  }
19
- //# sourceMappingURL=ThrowingEventMarkerEmitter.js.map
19
+ //# sourceMappingURL=ThrowingLslEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThrowingLslEmitter.js","sourceRoot":"","sources":["../../../src/testDoubles/LslEmitter/ThrowingLslEmitter.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC3B,QAAQ,GAAG,wBAAwB,CAAA;IAE3C;QACI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,QAAsB;QACzD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,QAA4B;QAC9C,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAA;IAC/C,CAAC;IAEM,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAA;IAChD,CAAC;IAEM,OAAO;QACV,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IAC9C,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
1
  import { InfoHandle } from '@neurodevs/ndx-native';
2
- import { StreamInfo, StreamInfoOptions } from '../../impl/LslStreamInfo.js';
3
- export default class FakeStreamInfo implements StreamInfo {
4
- static callsToConstructor: (StreamInfoOptions | undefined)[];
2
+ import { LslInfo, LslInfoOptions } from '../../impl/LslStreamInfo.js';
3
+ export default class FakeLslInfo implements LslInfo {
4
+ static callsToConstructor: (LslInfoOptions | undefined)[];
5
5
  static numCallsToDestroy: number;
6
6
  static infoHandle: InfoHandle;
7
7
  name: string;
@@ -11,7 +11,7 @@ export default class FakeStreamInfo implements StreamInfo {
11
11
  channelFormat: "float32";
12
12
  sampleRateHz: number;
13
13
  units: string;
14
- constructor(options?: StreamInfoOptions);
14
+ constructor(options?: LslInfoOptions);
15
15
  destroy(): void;
16
16
  get channelCount(): number;
17
17
  get infoHandle(): InfoHandle;
@@ -1,5 +1,5 @@
1
1
  import generateId from '@neurodevs/generate-id';
2
- export default class FakeStreamInfo {
2
+ export default class FakeLslInfo {
3
3
  static callsToConstructor = [];
4
4
  static numCallsToDestroy = 0;
5
5
  static infoHandle = {};
@@ -11,20 +11,20 @@ export default class FakeStreamInfo {
11
11
  sampleRateHz = 0;
12
12
  units = 'N/A';
13
13
  constructor(options) {
14
- FakeStreamInfo.callsToConstructor.push(options);
14
+ FakeLslInfo.callsToConstructor.push(options);
15
15
  }
16
16
  destroy() {
17
- FakeStreamInfo.numCallsToDestroy++;
17
+ FakeLslInfo.numCallsToDestroy++;
18
18
  }
19
19
  get channelCount() {
20
20
  return this.channelNames.length;
21
21
  }
22
22
  get infoHandle() {
23
- return FakeStreamInfo.infoHandle;
23
+ return FakeLslInfo.infoHandle;
24
24
  }
25
25
  static resetTestDouble() {
26
- FakeStreamInfo.callsToConstructor = [];
27
- FakeStreamInfo.numCallsToDestroy = 0;
26
+ FakeLslInfo.callsToConstructor = [];
27
+ FakeLslInfo.numCallsToDestroy = 0;
28
28
  }
29
29
  }
30
- //# sourceMappingURL=FakeStreamInfo.js.map
30
+ //# sourceMappingURL=FakeLslInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeLslInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/LslInfo/FakeLslInfo.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAK/C,MAAM,CAAC,OAAO,OAAO,WAAW;IACrB,MAAM,CAAC,kBAAkB,GAAmC,EAAE,CAAA;IAC9D,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,MAAM,CAAC,UAAU,GAAG,EAAgB,CAAA;IAEpC,IAAI,GAAG,UAAU,EAAE,CAAA;IACnB,IAAI,GAAG,UAAU,EAAE,CAAA;IACnB,QAAQ,GAAG,UAAU,EAAE,CAAA;IACvB,YAAY,GAAa,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IACnE,aAAa,GAAG,SAAkB,CAAA;IAClC,YAAY,GAAG,CAAC,CAAA;IAChB,KAAK,GAAG,KAAK,CAAA;IAEpB,YAAmB,OAAwB;QACvC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAEM,OAAO;QACV,WAAW,CAAC,iBAAiB,EAAE,CAAA;IACnC,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,WAAW,CAAC,UAAU,CAAA;IACjC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,WAAW,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACnC,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACrC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import LslStreamInfo, { LslInfoOptions } from '../../impl/LslStreamInfo.js';
2
+ export default class SpyLslInfo extends LslStreamInfo {
3
+ static numCallsToConstructor: number;
4
+ constructor(options: LslInfoOptions);
5
+ getName(): string;
6
+ getType(): string;
7
+ getSourceId(): string;
8
+ getUnits(): string;
9
+ static resetTestDouble(): void;
10
+ }
@@ -1,9 +1,9 @@
1
1
  import LslStreamInfo from '../../impl/LslStreamInfo.js';
2
- export default class SpyStreamInfo extends LslStreamInfo {
2
+ export default class SpyLslInfo extends LslStreamInfo {
3
3
  static numCallsToConstructor = 0;
4
4
  constructor(options) {
5
5
  super(options);
6
- SpyStreamInfo.numCallsToConstructor++;
6
+ SpyLslInfo.numCallsToConstructor++;
7
7
  }
8
8
  getName() {
9
9
  return this.name;
@@ -18,7 +18,7 @@ export default class SpyStreamInfo extends LslStreamInfo {
18
18
  return this.units;
19
19
  }
20
20
  static resetTestDouble() {
21
- SpyStreamInfo.numCallsToConstructor = 0;
21
+ SpyLslInfo.numCallsToConstructor = 0;
22
22
  }
23
23
  }
24
- //# sourceMappingURL=SpyStreamInfo.js.map
24
+ //# sourceMappingURL=SpyLslInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpyLslInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/LslInfo/SpyLslInfo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAiC,MAAM,6BAA6B,CAAA;AAE3E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,aAAa;IAC1C,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAA;IAEvC,YAAmB,OAAuB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,UAAU,CAAC,qBAAqB,EAAE,CAAA;IACtC,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,UAAU,CAAC,qBAAqB,GAAG,CAAC,CAAA;IACxC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { OnDataCallback, StreamInlet, StreamInletOptions } from '../../impl/LslStreamInlet.js';
2
- export default class FakeStreamInlet implements StreamInlet {
1
+ import { OnDataCallback, LslInlet, LslInletOptions } from '../../impl/LslStreamInlet.js';
2
+ export default class FakeLslInlet implements LslInlet {
3
3
  static callsToConstructor: {
4
- options?: StreamInletOptions;
4
+ options?: LslInletOptions;
5
5
  onData?: OnDataCallback;
6
6
  }[];
7
7
  static numCallsToStartPulling: number;
@@ -10,7 +10,7 @@ export default class FakeStreamInlet implements StreamInlet {
10
10
  static numCallsToDestroy: number;
11
11
  isRunning: boolean;
12
12
  protected onData: OnDataCallback;
13
- constructor(options?: StreamInletOptions, onData?: OnDataCallback);
13
+ constructor(options?: LslInletOptions, onData?: OnDataCallback);
14
14
  startPulling(): Promise<void>;
15
15
  stopPulling(): void;
16
16
  flushInlet(): void;
@@ -1,4 +1,4 @@
1
- export default class FakeStreamInlet {
1
+ export default class FakeLslInlet {
2
2
  static callsToConstructor = [];
3
3
  static numCallsToStartPulling = 0;
4
4
  static numCallsToStopPulling = 0;
@@ -8,30 +8,31 @@ export default class FakeStreamInlet {
8
8
  onData;
9
9
  constructor(options, onData) {
10
10
  this.onData = onData ?? (() => { });
11
- FakeStreamInlet.callsToConstructor.push({
11
+ FakeLslInlet.callsToConstructor.push({
12
12
  options,
13
13
  onData: this.onData,
14
14
  });
15
15
  }
16
16
  async startPulling() {
17
- FakeStreamInlet.numCallsToStartPulling++;
17
+ FakeLslInlet.numCallsToStartPulling++;
18
18
  this.isRunning = true;
19
19
  }
20
20
  stopPulling() {
21
- FakeStreamInlet.numCallsToStopPulling++;
21
+ FakeLslInlet.numCallsToStopPulling++;
22
22
  this.isRunning = false;
23
23
  }
24
24
  flushInlet() {
25
- FakeStreamInlet.numCallsToFlushInlet++;
25
+ FakeLslInlet.numCallsToFlushInlet++;
26
26
  }
27
27
  destroy() {
28
- FakeStreamInlet.numCallsToDestroy++;
28
+ FakeLslInlet.numCallsToDestroy++;
29
29
  }
30
30
  static resetTestDouble() {
31
- FakeStreamInlet.callsToConstructor = [];
32
- FakeStreamInlet.numCallsToStartPulling = 0;
33
- FakeStreamInlet.numCallsToFlushInlet = 0;
34
- FakeStreamInlet.numCallsToDestroy = 0;
31
+ this.callsToConstructor = [];
32
+ this.numCallsToStartPulling = 0;
33
+ this.numCallsToStopPulling = 0;
34
+ this.numCallsToFlushInlet = 0;
35
+ this.numCallsToDestroy = 0;
35
36
  }
36
37
  }
37
- //# sourceMappingURL=FakeStreamInlet.js.map
38
+ //# sourceMappingURL=FakeLslInlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeLslInlet.js","sourceRoot":"","sources":["../../../src/testDoubles/LslInlet/FakeLslInlet.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,YAAY;IACtB,MAAM,CAAC,kBAAkB,GAG1B,EAAE,CAAA;IAED,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAA;IACjC,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAA;IAChC,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAAA;IAC/B,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,SAAS,GAAG,KAAK,CAAA;IAEd,MAAM,CAAiB;IAEjC,YAAmB,OAAyB,EAAE,MAAuB;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAElC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACjC,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,YAAY;QACrB,YAAY,CAAC,sBAAsB,EAAE,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,CAAC;IAEM,WAAW;QACd,YAAY,CAAC,qBAAqB,EAAE,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAEM,UAAU;QACb,YAAY,CAAC,oBAAoB,EAAE,CAAA;IACvC,CAAC;IAEM,OAAO;QACV,YAAY,CAAC,iBAAiB,EAAE,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC9B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import LslStreamInlet, { OnDataCallback, LslInletOptions } from '../../impl/LslStreamInlet.js';
2
+ export default class SpyLslInlet extends LslStreamInlet {
3
+ constructor(options: LslInletOptions, onData: OnDataCallback);
4
+ }
@@ -1,7 +1,7 @@
1
1
  import LslStreamInlet from '../../impl/LslStreamInlet.js';
2
- export class SpyStreamInlet extends LslStreamInlet {
2
+ export default class SpyLslInlet extends LslStreamInlet {
3
3
  constructor(options, onData) {
4
4
  super(options, onData);
5
5
  }
6
6
  }
7
- //# sourceMappingURL=SpyStreamInlet.js.map
7
+ //# sourceMappingURL=SpyLslInlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpyLslInlet.js","sourceRoot":"","sources":["../../../src/testDoubles/LslInlet/SpyLslInlet.ts"],"names":[],"mappings":"AAAA,OAAO,cAGN,MAAM,8BAA8B,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,cAAc;IACnD,YAAmB,OAAwB,EAAE,MAAsB;QAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1B,CAAC;CACJ"}
@@ -1,14 +1,14 @@
1
1
  import { LslSample } from '@neurodevs/ndx-native';
2
- import { StreamOutlet, StreamOutletOptions } from '../../impl/LslStreamOutlet.js';
3
- export default class FakeStreamOutlet implements StreamOutlet {
4
- static callsToConstructor: (StreamOutletOptions | undefined)[];
2
+ import { LslOutlet, LslOutletOptions } from '../../impl/LslStreamOutlet.js';
3
+ export default class FakeLslOutlet implements LslOutlet {
4
+ static callsToConstructor: (LslOutletOptions | undefined)[];
5
5
  static callsToPushSample: {
6
6
  sample: LslSample;
7
7
  timestampSec?: number;
8
8
  }[];
9
9
  static numCallsToDestroy: number;
10
- options?: StreamOutletOptions;
11
- constructor(options?: StreamOutletOptions);
10
+ options?: LslOutletOptions;
11
+ constructor(options?: LslOutletOptions);
12
12
  destroy(): void;
13
13
  pushSample(sample: LslSample, timestampSec?: number): void;
14
14
  get name(): string;
@@ -1,19 +1,19 @@
1
1
  import { randomInt } from 'node:crypto';
2
2
  import generateId from '@neurodevs/generate-id';
3
- export default class FakeStreamOutlet {
3
+ export default class FakeLslOutlet {
4
4
  static callsToConstructor = [];
5
5
  static callsToPushSample = [];
6
6
  static numCallsToDestroy = 0;
7
7
  options;
8
8
  constructor(options) {
9
- FakeStreamOutlet.callsToConstructor.push(options);
9
+ FakeLslOutlet.callsToConstructor.push(options);
10
10
  this.options = options;
11
11
  }
12
12
  destroy() {
13
- FakeStreamOutlet.numCallsToDestroy++;
13
+ FakeLslOutlet.numCallsToDestroy++;
14
14
  }
15
15
  pushSample(sample, timestampSec) {
16
- FakeStreamOutlet.callsToPushSample.push({
16
+ FakeLslOutlet.callsToPushSample.push({
17
17
  sample,
18
18
  timestampSec,
19
19
  });
@@ -52,9 +52,9 @@ export default class FakeStreamOutlet {
52
52
  return this.options?.units ?? generateId();
53
53
  }
54
54
  static resetTestDouble() {
55
- FakeStreamOutlet.callsToConstructor = [];
56
- FakeStreamOutlet.callsToPushSample = [];
57
- FakeStreamOutlet.numCallsToDestroy = 0;
55
+ FakeLslOutlet.callsToConstructor = [];
56
+ FakeLslOutlet.callsToPushSample = [];
57
+ FakeLslOutlet.numCallsToDestroy = 0;
58
58
  }
59
59
  }
60
- //# sourceMappingURL=FakeStreamOutlet.js.map
60
+ //# sourceMappingURL=FakeLslOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeLslOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/LslOutlet/FakeLslOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAK/C,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,kBAAkB,GAAqC,EAAE,CAAA;IAEhE,MAAM,CAAC,iBAAiB,GAGzB,EAAE,CAAA;IAED,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,OAAO,CAAmB;IAEjC,YAAmB,OAA0B;QACzC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAEM,OAAO;QACV,aAAa,CAAC,iBAAiB,EAAE,CAAA;IACrC,CAAC;IAEM,UAAU,CAAC,MAAiB,EAAE,YAAqB;QACtD,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACjC,MAAM;YACN,YAAY;SACf,CAAC,CAAA;IACN,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,CAAA;IAC7C,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,CAAA;IAC7C,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,CAAA;IACjD,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,IAAI,SAAS,CAAA;IACnD,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,UAAU,EAAE,CAAA;IACrD,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,aAAa,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACrC,aAAa,CAAC,iBAAiB,GAAG,EAAE,CAAA;QACpC,aAAa,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACvC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { LslWsBridge, LslWsBridgeConstructorOptions } from '../../impl/LslWebSocketBridge.js';
2
+ export default class FakeLslWsBridge implements LslWsBridge {
3
+ static callsToConstructor: (LslWsBridgeConstructorOptions | undefined)[];
4
+ static numCallsToActivate: number;
5
+ static numCallsToDeactivate: number;
6
+ static numCallsToDestroy: number;
7
+ constructor(options?: LslWsBridgeConstructorOptions);
8
+ activate(): Promise<void>;
9
+ deactivate(): void;
10
+ destroy(): void;
11
+ private static setFakeWebSocket;
12
+ private static setFakeWebSocketServer;
13
+ static resetTestDouble(): void;
14
+ }
@@ -1,30 +1,22 @@
1
1
  import LslWebSocketBridge from '../../impl/LslWebSocketBridge.js';
2
2
  import FakeWebSocket from '../WebSockets/FakeWebSocket.js';
3
3
  import FakeWebSocketServer from '../WebSockets/FakeWebSocketServer.js';
4
- export default class FakeWebSocketBridge {
4
+ export default class FakeLslWsBridge {
5
5
  static callsToConstructor = [];
6
6
  static numCallsToActivate = 0;
7
7
  static numCallsToDeactivate = 0;
8
8
  static numCallsToDestroy = 0;
9
9
  constructor(options) {
10
- FakeWebSocketBridge.callsToConstructor.push(options);
10
+ FakeLslWsBridge.callsToConstructor.push(options);
11
11
  }
12
12
  async activate() {
13
- FakeWebSocketBridge.numCallsToActivate++;
13
+ FakeLslWsBridge.numCallsToActivate++;
14
14
  }
15
15
  deactivate() {
16
- FakeWebSocketBridge.numCallsToDeactivate++;
16
+ FakeLslWsBridge.numCallsToDeactivate++;
17
17
  }
18
18
  destroy() {
19
- FakeWebSocketBridge.numCallsToDestroy++;
20
- }
21
- static resetTestDouble() {
22
- this.callsToConstructor = [];
23
- this.numCallsToActivate = 0;
24
- this.numCallsToDeactivate = 0;
25
- this.numCallsToDestroy = 0;
26
- this.setFakeWebSocket();
27
- this.setFakeWebSocketServer();
19
+ FakeLslWsBridge.numCallsToDestroy++;
28
20
  }
29
21
  static setFakeWebSocket() {
30
22
  LslWebSocketBridge.WS = FakeWebSocket;
@@ -35,5 +27,13 @@ export default class FakeWebSocketBridge {
35
27
  FakeWebSocketServer;
36
28
  FakeWebSocketServer.resetTestDouble();
37
29
  }
30
+ static resetTestDouble() {
31
+ this.callsToConstructor = [];
32
+ this.numCallsToActivate = 0;
33
+ this.numCallsToDeactivate = 0;
34
+ this.numCallsToDestroy = 0;
35
+ this.setFakeWebSocket();
36
+ this.setFakeWebSocketServer();
37
+ }
38
38
  }
39
- //# sourceMappingURL=FakeWebSocketBridge.js.map
39
+ //# sourceMappingURL=FakeLslWsBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeLslWsBridge.js","sourceRoot":"","sources":["../../../src/testDoubles/LslWsBridge/FakeLslWsBridge.ts"],"names":[],"mappings":"AACA,OAAO,kBAGN,MAAM,kCAAkC,CAAA;AACzC,OAAO,aAAa,MAAM,gCAAgC,CAAA;AAC1D,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAEtE,MAAM,CAAC,OAAO,OAAO,eAAe;IACzB,MAAM,CAAC,kBAAkB,GAE1B,EAAE,CAAA;IAED,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAA;IAC7B,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAAA;IAC/B,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAEnC,YAAmB,OAAuC;QACtD,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;IAEM,KAAK,CAAC,QAAQ;QACjB,eAAe,CAAC,kBAAkB,EAAE,CAAA;IACxC,CAAC;IAEM,UAAU;QACb,eAAe,CAAC,oBAAoB,EAAE,CAAA;IAC1C,CAAC;IAEM,OAAO;QACV,eAAe,CAAC,iBAAiB,EAAE,CAAA;IACvC,CAAC;IAEO,MAAM,CAAC,gBAAgB;QAC3B,kBAAkB,CAAC,EAAE,GAAG,aAA4C,CAAA;QACpE,aAAa,CAAC,eAAe,EAAE,CAAA;IACnC,CAAC;IAEO,MAAM,CAAC,sBAAsB;QACjC,kBAAkB,CAAC,GAAG;YAClB,mBAAwD,CAAA;QAC5D,mBAAmB,CAAC,eAAe,EAAE,CAAA;IACzC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;QAE1B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAA;IACjC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import LslWebSocketBridge, { LslWsBridgeConstructorOptions } from '../../impl/LslWebSocketBridge.js';
2
+ export default class SpyLslWsBridge extends LslWebSocketBridge {
3
+ constructor(options: LslWsBridgeConstructorOptions);
4
+ }
@@ -1,7 +1,7 @@
1
1
  import LslWebSocketBridge from '../../impl/LslWebSocketBridge.js';
2
- export default class SpyLslWebSocketBridge extends LslWebSocketBridge {
2
+ export default class SpyLslWsBridge extends LslWebSocketBridge {
3
3
  constructor(options) {
4
4
  super(options);
5
5
  }
6
6
  }
7
- //# sourceMappingURL=SpyLslWebSocketBridge.js.map
7
+ //# sourceMappingURL=SpyLslWsBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpyLslWsBridge.js","sourceRoot":"","sources":["../../../src/testDoubles/LslWsBridge/SpyLslWsBridge.ts"],"names":[],"mappings":"AAAA,OAAO,kBAEN,MAAM,kCAAkC,CAAA;AAEzC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAC1D,YAAmB,OAAsC;QACrD,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { UsbController, UsbControllerOptions } from '../../impl/controllers/UsbDeviceController.js';
2
+ export default class FakeUsbController implements UsbController {
3
+ static callsToConstructor: (UsbControllerOptions | undefined)[];
4
+ static numCallsToConnect: number;
5
+ static callsToWriteUsb: string[];
6
+ static numCallsToDisconnect: number;
7
+ constructor(options?: UsbControllerOptions);
8
+ connect(): Promise<void>;
9
+ writeUsb(value: string): Promise<void>;
10
+ disconnect(): Promise<void>;
11
+ static resetTestDouble(): void;
12
+ }
@@ -0,0 +1,25 @@
1
+ export default class FakeUsbController {
2
+ static callsToConstructor = [];
3
+ static numCallsToConnect = 0;
4
+ static callsToWriteUsb = [];
5
+ static numCallsToDisconnect = 0;
6
+ constructor(options) {
7
+ FakeUsbController.callsToConstructor.push(options);
8
+ }
9
+ async connect() {
10
+ FakeUsbController.numCallsToConnect++;
11
+ }
12
+ async writeUsb(value) {
13
+ FakeUsbController.callsToWriteUsb.push(value);
14
+ }
15
+ async disconnect() {
16
+ FakeUsbController.numCallsToDisconnect++;
17
+ }
18
+ static resetTestDouble() {
19
+ FakeUsbController.callsToConstructor.length = 0;
20
+ FakeUsbController.numCallsToConnect = 0;
21
+ FakeUsbController.callsToWriteUsb.length = 0;
22
+ FakeUsbController.numCallsToDisconnect = 0;
23
+ }
24
+ }
25
+ //# sourceMappingURL=FakeUsbController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeUsbController.js","sourceRoot":"","sources":["../../../src/testDoubles/UsbController/FakeUsbController.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC3B,MAAM,CAAC,kBAAkB,GAAyC,EAAE,CAAA;IACpE,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,eAAe,GAAa,EAAE,CAAA;IACrC,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAAA;IAEtC,YAAmB,OAA8B;QAC7C,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,iBAAiB,CAAC,iBAAiB,EAAE,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC/B,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,iBAAiB,CAAC,oBAAoB,EAAE,CAAA;IAC5C,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;QAC/C,iBAAiB,CAAC,iBAAiB,GAAG,CAAC,CAAA;QACvC,iBAAiB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;QAC5C,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,CAAA;IAC9C,CAAC"}
@@ -1,14 +1,4 @@
1
+ import { ChannelFormat } from '@neurodevs/ndx-native';
1
2
  export declare const TEST_SUPPORTED_CHANNEL_FORMATS: readonly ["float32", "string"];
2
3
  export declare const TEST_UNSUPPORTED_CHANNEL_FORMATS: readonly ["undefined", "double64", "int32", "int16", "int8", "int64"];
3
- export declare const TEST_CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
4
- export declare const TEST_CHANNEL_FORMATS_MAP: {
5
- undefined: number;
6
- float32: number;
7
- double64: number;
8
- string: number;
9
- int32: number;
10
- int16: number;
11
- int8: number;
12
- int64: number;
13
- };
14
- export type TestChannelFormat = (typeof TEST_CHANNEL_FORMATS)[number];
4
+ export type TestChannelFormat = ChannelFormat;
@@ -7,24 +7,4 @@ export const TEST_UNSUPPORTED_CHANNEL_FORMATS = [
7
7
  'int8',
8
8
  'int64',
9
9
  ];
10
- export const TEST_CHANNEL_FORMATS = [
11
- 'undefined',
12
- 'float32',
13
- 'double64',
14
- 'string',
15
- 'int32',
16
- 'int16',
17
- 'int8',
18
- 'int64',
19
- ];
20
- export const TEST_CHANNEL_FORMATS_MAP = {
21
- undefined: 0,
22
- float32: 1,
23
- double64: 2,
24
- string: 3,
25
- int32: 4,
26
- int16: 5,
27
- int8: 6,
28
- int64: 7,
29
- };
30
10
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/testDoubles/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAA;AAE5E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC5C,WAAW;IACX,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACD,CAAA;AAEV,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACD,CAAA;AAEV,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACX,CAAA"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/testDoubles/consts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAA;AAE5E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC5C,WAAW;IACX,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACD,CAAA"}
@@ -1,2 +1,2 @@
1
- import { StreamOutletOptions } from '../impl/LslStreamOutlet.js';
2
- export default function generateRandomOutletOptions(): StreamOutletOptions;
1
+ import { LslOutletOptions } from '../impl/LslStreamOutlet.js';
2
+ export default function generateRandomOutletOptions(): LslOutletOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"generateRandomOutletOptions.js","sourceRoot":"","sources":["../../src/testDoubles/generateRandomOutletOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAG/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAE5D,MAAM,CAAC,OAAO,UAAU,2BAA2B;IAC/C,MAAM,gBAAgB,GAAG,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAA;IAEzE,OAAO;QACH,IAAI,EAAE,UAAU,EAAE;QAClB,IAAI,EAAE,UAAU,EAAE;QAClB,YAAY,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QAChC,aAAa,EAAE,8BAA8B,CAAC,gBAAgB,CAAC;QAC/D,QAAQ,EAAE,UAAU,EAAE;QACtB,YAAY,EAAE,UAAU,EAAE;QAC1B,KAAK,EAAE,UAAU,EAAE;QACnB,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3B,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;KACX,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"generateRandomOutletOptions.js","sourceRoot":"","sources":["../../src/testDoubles/generateRandomOutletOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAG/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAE5D,MAAM,CAAC,OAAO,UAAU,2BAA2B;IAC/C,MAAM,gBAAgB,GAAG,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAA;IAEzE,OAAO;QACH,IAAI,EAAE,UAAU,EAAE;QAClB,IAAI,EAAE,UAAU,EAAE;QAClB,YAAY,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QAChC,aAAa,EAAE,8BAA8B,CAAC,gBAAgB,CAAC;QAC/D,QAAQ,EAAE,UAAU,EAAE;QACtB,YAAY,EAAE,UAAU,EAAE;QAC1B,KAAK,EAAE,UAAU,EAAE;QACnB,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3B,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;KACd,CAAA;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/node-lsl",
3
- "version": "18.1.0",
3
+ "version": "20.0.0",
4
4
  "description": "Lab Streaming Layer (LSL) bindings for Node",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -41,17 +41,18 @@
41
41
  "watch.build.dev": "tsc-watch --sourceMap --onCompilationComplete 'yarn run build.copy-files'"
42
42
  },
43
43
  "dependencies": {
44
- "@neurodevs/generate-id": "^1.1.2",
45
- "@neurodevs/ndx-native": "^7.0.1",
44
+ "@neurodevs/generate-id": "^1.1.3",
45
+ "@neurodevs/ndx-native": "^7.1.4",
46
46
  "ffi-rs": "^1.3.1",
47
47
  "ws": "^8.18.3"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@neurodevs/eslint-config-ndx": "^1.0.2",
51
- "@neurodevs/node-tdd": "^3.0.1",
51
+ "@neurodevs/node-tdd": "^3.0.2",
52
52
  "@neurodevs/prettier-config-ndx": "^1.0.2",
53
53
  "@types/ws": "^8.18.1",
54
- "prettier": "^3.8.3",
54
+ "koffi": "^3.1.2",
55
+ "prettier": "^3.9.6",
55
56
  "typescript": "^5.9.3"
56
57
  },
57
58
  "resolutions": {