@neurodevs/node-lsl 17.1.1 → 18.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 (178) hide show
  1. package/.claude/settings.local.json +10 -0
  2. package/.regressionproof.json +7 -0
  3. package/.vscode/launch.json +3 -2
  4. package/README.md +9 -35
  5. package/build/.spruce/settings.json +5 -1
  6. package/build/__tests__/AbstractPackageTest.d.ts +4 -4
  7. package/build/__tests__/AbstractPackageTest.js +9 -11
  8. package/build/__tests__/AbstractPackageTest.js.map +1 -1
  9. package/build/__tests__/impl/LslBackpressureMonitor.test.d.ts +7 -0
  10. package/build/__tests__/impl/LslBackpressureMonitor.test.js +26 -0
  11. package/build/__tests__/impl/LslBackpressureMonitor.test.js.map +1 -0
  12. package/build/__tests__/impl/LslEventMarkerEmitter.test.d.ts +34 -0
  13. package/build/__tests__/impl/LslEventMarkerEmitter.test.js +243 -0
  14. package/build/__tests__/impl/LslEventMarkerEmitter.test.js.map +1 -0
  15. package/build/__tests__/impl/LslStreamInfo.test.d.ts +0 -3
  16. package/build/__tests__/impl/LslStreamInfo.test.js +2 -27
  17. package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
  18. package/build/__tests__/impl/LslStreamInlet.test.d.ts +20 -8
  19. package/build/__tests__/impl/LslStreamInlet.test.js +224 -69
  20. package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
  21. package/build/__tests__/impl/LslStreamOutlet.test.d.ts +3 -7
  22. package/build/__tests__/impl/LslStreamOutlet.test.js +36 -46
  23. package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
  24. package/build/__tests__/impl/LslWebSocketBridge.test.js +16 -17
  25. package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
  26. package/build/assertions.d.ts +1 -1
  27. package/build/assertions.js.map +1 -1
  28. package/build/impl/LslBackpressureMonitor.d.ts +8 -0
  29. package/build/impl/LslBackpressureMonitor.js +8 -0
  30. package/build/impl/LslBackpressureMonitor.js.map +1 -0
  31. package/build/impl/LslEventMarkerEmitter.d.ts +35 -0
  32. package/build/impl/LslEventMarkerEmitter.js +86 -0
  33. package/build/impl/LslEventMarkerEmitter.js.map +1 -0
  34. package/build/impl/LslStreamInfo.d.ts +4 -8
  35. package/build/impl/LslStreamInfo.js +8 -21
  36. package/build/impl/LslStreamInfo.js.map +1 -1
  37. package/build/impl/LslStreamInlet.d.ts +31 -50
  38. package/build/impl/LslStreamInlet.js +79 -149
  39. package/build/impl/LslStreamInlet.js.map +1 -1
  40. package/build/impl/LslStreamOutlet.d.ts +15 -18
  41. package/build/impl/LslStreamOutlet.js +39 -47
  42. package/build/impl/LslStreamOutlet.js.map +1 -1
  43. package/build/impl/LslWebSocketBridge.d.ts +4 -5
  44. package/build/impl/LslWebSocketBridge.js +8 -8
  45. package/build/impl/LslWebSocketBridge.js.map +1 -1
  46. package/build/impl/workers/inlet/LslStreamInlet.worker.d.ts +22 -0
  47. package/build/impl/workers/inlet/LslStreamInlet.worker.js +42 -0
  48. package/build/impl/workers/inlet/LslStreamInlet.worker.js.map +1 -0
  49. package/build/impl/workers/inlet/StreamInletWorker.d.ts +73 -0
  50. package/build/impl/workers/inlet/StreamInletWorker.js +253 -0
  51. package/build/impl/workers/inlet/StreamInletWorker.js.map +1 -0
  52. package/build/impl/workers/outlet/LslStreamOutlet.worker.d.ts +32 -0
  53. package/build/impl/workers/outlet/LslStreamOutlet.worker.js +82 -0
  54. package/build/impl/workers/outlet/LslStreamOutlet.worker.js.map +1 -0
  55. package/build/index.d.ts +12 -14
  56. package/build/index.js +14 -16
  57. package/build/index.js.map +1 -1
  58. package/build/scripts/finalizeHandles.d.ts +2 -0
  59. package/build/scripts/finalizeHandles.js +48 -0
  60. package/build/scripts/finalizeHandles.js.map +1 -0
  61. package/build/scripts/runLslEventMarkerEmitter.js +11 -0
  62. package/build/scripts/runLslEventMarkerEmitter.js.map +1 -0
  63. package/build/scripts/runOutletToInlet.js +7 -6
  64. package/build/scripts/runOutletToInlet.js.map +1 -1
  65. package/build/scripts/testDestroyOutlet.d.ts +1 -0
  66. package/build/scripts/testDestroyOutlet.js +4 -0
  67. package/build/scripts/testDestroyOutlet.js.map +1 -0
  68. package/build/testDoubles/BackpressureMonitor/FakeBackpressureMonitor.d.ts +6 -0
  69. package/build/testDoubles/BackpressureMonitor/FakeBackpressureMonitor.js +10 -0
  70. package/build/testDoubles/BackpressureMonitor/FakeBackpressureMonitor.js.map +1 -0
  71. package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.d.ts +17 -0
  72. package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js +30 -0
  73. package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js.map +1 -0
  74. package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.d.ts +10 -0
  75. package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js +23 -0
  76. package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js.map +1 -0
  77. package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.d.ts +9 -0
  78. package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js +19 -0
  79. package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js.map +1 -0
  80. package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +3 -3
  81. package/build/testDoubles/StreamInfo/FakeStreamInfo.js +3 -3
  82. package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +1 -1
  83. package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +8 -10
  84. package/build/testDoubles/StreamInlet/FakeStreamInlet.js +6 -7
  85. package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -1
  86. package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +2 -5
  87. package/build/testDoubles/StreamInlet/SpyStreamInlet.js +2 -8
  88. package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -1
  89. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.d.ts +7 -9
  90. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +5 -8
  91. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -1
  92. package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.d.ts +1 -1
  93. package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js +1 -1
  94. package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js.map +1 -1
  95. package/build/testDoubles/WorkerThreads/FakeWorker.d.ts +27 -0
  96. package/build/testDoubles/WorkerThreads/FakeWorker.js +67 -0
  97. package/build/testDoubles/WorkerThreads/FakeWorker.js.map +1 -0
  98. package/build/validations.js +0 -2
  99. package/build/validations.js.map +1 -1
  100. package/package.json +23 -7
  101. package/src/.spruce/settings.json +5 -1
  102. package/src/__tests__/AbstractPackageTest.ts +12 -14
  103. package/src/__tests__/impl/LslBackpressureMonitor.test.ts +25 -0
  104. package/src/__tests__/impl/LslEventMarkerEmitter.test.ts +322 -0
  105. package/src/__tests__/impl/LslStreamInfo.test.ts +3 -40
  106. package/src/__tests__/impl/LslStreamInlet.test.ts +344 -97
  107. package/src/__tests__/impl/LslStreamOutlet.test.ts +61 -69
  108. package/src/__tests__/impl/LslWebSocketBridge.test.ts +18 -18
  109. package/src/assertions.ts +2 -1
  110. package/src/impl/LslBackpressureMonitor.ts +13 -0
  111. package/src/impl/LslEventMarkerEmitter.ts +133 -0
  112. package/src/impl/LslStreamInfo.ts +17 -29
  113. package/src/impl/LslStreamInlet.ts +102 -215
  114. package/src/impl/LslStreamOutlet.ts +54 -78
  115. package/src/impl/LslWebSocketBridge.ts +12 -12
  116. package/src/impl/workers/inlet/LslStreamInlet.worker.ts +74 -0
  117. package/src/impl/workers/inlet/StreamInletWorker.ts +348 -0
  118. package/src/impl/workers/outlet/LslStreamOutlet.worker.ts +144 -0
  119. package/src/index.ts +14 -17
  120. package/src/scripts/finalizeHandles.ts +63 -0
  121. package/src/scripts/runLslEventMarkerEmitter.ts +15 -0
  122. package/src/scripts/runOutletToInlet.ts +10 -8
  123. package/src/scripts/testDestroyOutlet.ts +5 -0
  124. package/src/testDoubles/BackpressureMonitor/FakeBackpressureMonitor.ts +13 -0
  125. package/src/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.ts +46 -0
  126. package/src/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.ts +31 -0
  127. package/src/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.ts +29 -0
  128. package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +4 -4
  129. package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +11 -17
  130. package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +3 -16
  131. package/src/testDoubles/StreamOutlet/FakeStreamOutlet.ts +12 -15
  132. package/src/testDoubles/WebSocketBridge/FakeWebSocketBridge.ts +1 -1
  133. package/src/testDoubles/WorkerThreads/FakeWorker.ts +99 -0
  134. package/src/validations.ts +0 -2
  135. package/build/__tests__/impl/LiblslAdapter.test.d.ts +0 -79
  136. package/build/__tests__/impl/LiblslAdapter.test.js +0 -688
  137. package/build/__tests__/impl/LiblslAdapter.test.js.map +0 -1
  138. package/build/__tests__/impl/LslEventMarkerOutlet.test.d.ts +0 -21
  139. package/build/__tests__/impl/LslEventMarkerOutlet.test.js +0 -160
  140. package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +0 -1
  141. package/build/handleError.d.ts +0 -8
  142. package/build/handleError.js +0 -25
  143. package/build/handleError.js.map +0 -1
  144. package/build/impl/LiblslAdapter.d.ts +0 -154
  145. package/build/impl/LiblslAdapter.js +0 -317
  146. package/build/impl/LiblslAdapter.js.map +0 -1
  147. package/build/impl/LslEventMarkerOutlet.d.ts +0 -28
  148. package/build/impl/LslEventMarkerOutlet.js +0 -63
  149. package/build/impl/LslEventMarkerOutlet.js.map +0 -1
  150. package/build/scripts/runLslEventMarkerOutlet.js +0 -18
  151. package/build/scripts/runLslEventMarkerOutlet.js.map +0 -1
  152. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.d.ts +0 -13
  153. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js +0 -26
  154. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +0 -1
  155. package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.d.ts +0 -17
  156. package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js +0 -46
  157. package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +0 -1
  158. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +0 -9
  159. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js +0 -19
  160. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +0 -1
  161. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +0 -9
  162. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js +0 -19
  163. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +0 -1
  164. package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +0 -50
  165. package/build/testDoubles/Liblsl/FakeLiblsl.js +0 -126
  166. package/build/testDoubles/Liblsl/FakeLiblsl.js.map +0 -1
  167. package/src/__tests__/impl/LiblslAdapter.test.ts +0 -817
  168. package/src/__tests__/impl/LslEventMarkerOutlet.test.ts +0 -195
  169. package/src/handleError.ts +0 -24
  170. package/src/impl/LiblslAdapter.ts +0 -543
  171. package/src/impl/LslEventMarkerOutlet.ts +0 -97
  172. package/src/scripts/runLslEventMarkerOutlet.ts +0 -23
  173. package/src/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.ts +0 -36
  174. package/src/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.ts +0 -75
  175. package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +0 -24
  176. package/src/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.ts +0 -28
  177. package/src/testDoubles/Liblsl/FakeLiblsl.ts +0 -182
  178. /package/build/scripts/{runLslEventMarkerOutlet.d.ts → runLslEventMarkerEmitter.d.ts} +0 -0
package/build/index.d.ts CHANGED
@@ -1,17 +1,15 @@
1
- export { default as LslEventMarkerOutlet } from './impl/LslEventMarkerOutlet.js';
2
- export * from './impl/LslEventMarkerOutlet.js';
3
- export { default as FakeEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
4
- export * from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
5
- export { default as MockEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js';
6
- export * from './testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js';
7
- export { default as SpyEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
8
- export * from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
9
- export { default as ThrowingEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
10
- export * from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
11
- export { default as LiblslAdapter } from './impl/LiblslAdapter.js';
12
- export * from './impl/LiblslAdapter.js';
13
- export { default as FakeLiblsl } from './testDoubles/Liblsl/FakeLiblsl.js';
14
- export * from './testDoubles/Liblsl/FakeLiblsl.js';
1
+ export { default as LslBackpressureMonitor } from './impl/LslBackpressureMonitor.js';
2
+ export * from './impl/LslBackpressureMonitor.js';
3
+ export { default as FakeBackpressureMonitor } from './testDoubles/BackpressureMonitor/FakeBackpressureMonitor.js';
4
+ export * from './testDoubles/BackpressureMonitor/FakeBackpressureMonitor.js';
5
+ export { default as LslEventMarkerEmitter } from './impl/LslEventMarkerEmitter.js';
6
+ export * from './impl/LslEventMarkerEmitter.js';
7
+ export { default as FakeEventMarkerEmitter } from './testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js';
8
+ export * from './testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js';
9
+ export { default as SpyEventMarkerEmitter } from './testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js';
10
+ export * from './testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js';
11
+ export { default as ThrowingEventMarkerEmitter } from './testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js';
12
+ export * from './testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js';
15
13
  export { default as LslStreamInfo } from './impl/LslStreamInfo.js';
16
14
  export * from './impl/LslStreamInfo.js';
17
15
  export { default as SpyStreamInfo } from './testDoubles/StreamInfo/SpyStreamInfo.js';
package/build/index.js CHANGED
@@ -1,19 +1,17 @@
1
- // EventMarkerOutlet
2
- export { default as LslEventMarkerOutlet } from './impl/LslEventMarkerOutlet.js';
3
- export * from './impl/LslEventMarkerOutlet.js';
4
- export { default as FakeEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
5
- export * from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
6
- export { default as MockEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js';
7
- export * from './testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js';
8
- export { default as SpyEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
9
- export * from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
10
- export { default as ThrowingEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
11
- export * from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
12
- // Liblsl
13
- export { default as LiblslAdapter } from './impl/LiblslAdapter.js';
14
- export * from './impl/LiblslAdapter.js';
15
- export { default as FakeLiblsl } from './testDoubles/Liblsl/FakeLiblsl.js';
16
- export * from './testDoubles/Liblsl/FakeLiblsl.js';
1
+ // BackpressureMonitor
2
+ export { default as LslBackpressureMonitor } from './impl/LslBackpressureMonitor.js';
3
+ export * from './impl/LslBackpressureMonitor.js';
4
+ export { default as FakeBackpressureMonitor } from './testDoubles/BackpressureMonitor/FakeBackpressureMonitor.js';
5
+ export * from './testDoubles/BackpressureMonitor/FakeBackpressureMonitor.js';
6
+ // EventMarkerEmitter
7
+ export { default as LslEventMarkerEmitter } from './impl/LslEventMarkerEmitter.js';
8
+ export * from './impl/LslEventMarkerEmitter.js';
9
+ export { default as FakeEventMarkerEmitter } from './testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js';
10
+ export * from './testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js';
11
+ export { default as SpyEventMarkerEmitter } from './testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js';
12
+ export * from './testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js';
13
+ export { default as ThrowingEventMarkerEmitter } from './testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js';
14
+ export * from './testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js';
17
15
  // StreamInfo
18
16
  export { default as LslStreamInfo } from './impl/LslStreamInfo.js';
19
17
  export * from './impl/LslStreamInfo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAEpB,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAChF,cAAc,gCAAgC,CAAA;AAE9C,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0DAA0D,CAAA;AAC3G,cAAc,0DAA0D,CAAA;AAExE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0DAA0D,CAAA;AAC3G,cAAc,0DAA0D,CAAA;AAExE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yDAAyD,CAAA;AACzG,cAAc,yDAAyD,CAAA;AAEvE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,8DAA8D,CAAA;AACnH,cAAc,8DAA8D,CAAA;AAE5E,SAAS;AAET,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,oCAAoC,CAAA;AAElD,aAAa;AAEb,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACpF,cAAc,2CAA2C,CAAA;AAEzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAA;AACtF,cAAc,4CAA4C,CAAA;AAE1D,cAAc;AAEd,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACpE,cAAc,0BAA0B,CAAA;AAExC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8CAA8C,CAAA;AACzF,cAAc,8CAA8C,CAAA;AAE5D,eAAe;AAEf,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACtE,cAAc,2BAA2B,CAAA;AAEzC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gDAAgD,CAAA;AAC5F,cAAc,gDAAgD,CAAA;AAE9D,kBAAkB;AAElB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,cAAc,8BAA8B,CAAA;AAE5C,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sDAAsD,CAAA;AACrG,cAAc,sDAAsD,CAAA;AAEpE,QAAQ;AAER,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,8CAA8C,CAAA;AAErG,aAAa;AAEb,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACpF,cAAc,2CAA2C,CAAA;AAEzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AAChG,cAAc,iDAAiD,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AACpF,cAAc,kCAAkC,CAAA;AAEhD,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8DAA8D,CAAA;AACjH,cAAc,8DAA8D,CAAA;AAE5E,qBAAqB;AAErB,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAClF,cAAc,iCAAiC,CAAA;AAE/C,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,4DAA4D,CAAA;AAC9G,cAAc,4DAA4D,CAAA;AAE1E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,2DAA2D,CAAA;AAC5G,cAAc,2DAA2D,CAAA;AAEzE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AACtH,cAAc,gEAAgE,CAAA;AAE9E,aAAa;AAEb,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACpF,cAAc,2CAA2C,CAAA;AAEzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAA;AACtF,cAAc,4CAA4C,CAAA;AAE1D,cAAc;AAEd,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACpE,cAAc,0BAA0B,CAAA;AAExC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8CAA8C,CAAA;AACzF,cAAc,8CAA8C,CAAA;AAE5D,eAAe;AAEf,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACtE,cAAc,2BAA2B,CAAA;AAEzC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gDAAgD,CAAA;AAC5F,cAAc,gDAAgD,CAAA;AAE9D,kBAAkB;AAElB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,cAAc,8BAA8B,CAAA;AAE5C,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sDAAsD,CAAA;AACrG,cAAc,sDAAsD,CAAA;AAEpE,QAAQ;AAER,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,8CAA8C,CAAA;AAErG,aAAa;AAEb,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACpF,cAAc,2CAA2C,CAAA;AAEzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AAChG,cAAc,iDAAiD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type DestroyHandle = () => void;
2
+ export declare function register(destroy: DestroyHandle): (() => void) | undefined;
@@ -0,0 +1,48 @@
1
+ const destroyHandles = new Set();
2
+ let isFinalizing = false;
3
+ export function register(destroy) {
4
+ if (isFinalizing) {
5
+ destroy();
6
+ return;
7
+ }
8
+ destroyHandles.add(destroy);
9
+ const unregister = () => {
10
+ destroyHandles.delete(destroy);
11
+ };
12
+ return unregister;
13
+ }
14
+ function finalizeHandles() {
15
+ if (isFinalizing) {
16
+ return;
17
+ }
18
+ isFinalizing = true;
19
+ for (const destroy of destroyHandles) {
20
+ try {
21
+ destroy();
22
+ }
23
+ catch (err) {
24
+ console.error('Error during finalization:', err);
25
+ }
26
+ }
27
+ destroyHandles.clear();
28
+ }
29
+ process.once('SIGINT', finalizeHandles);
30
+ process.once('SIGTERM', finalizeHandles);
31
+ process.once('uncaughtException', (err) => {
32
+ console.error('Uncaught exception:', err);
33
+ finalizeHandles();
34
+ process.exit(1);
35
+ });
36
+ process.once('unhandledRejection', (reason) => {
37
+ console.error('Unhandled rejection:', reason);
38
+ finalizeHandles();
39
+ process.exit(1);
40
+ });
41
+ process.once('beforeExit', () => {
42
+ if (destroyHandles.size > 0 && !isFinalizing) {
43
+ console.warn('Warning: process is exiting with active handles.\n' +
44
+ 'Did you forget to call destroy()? Finalizing automatically.');
45
+ finalizeHandles();
46
+ }
47
+ });
48
+ //# sourceMappingURL=finalizeHandles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalizeHandles.js","sourceRoot":"","sources":["../../src/scripts/finalizeHandles.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAA;AAE/C,IAAI,YAAY,GAAG,KAAK,CAAA;AAExB,MAAM,UAAU,QAAQ,CAAC,OAAsB;IAC3C,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,CAAA;QACT,OAAM;IACV,CAAC;IAED,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAE3B,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACrB,CAAC;AAED,SAAS,eAAe;IACpB,IAAI,YAAY,EAAE,CAAC;QACf,OAAM;IACV,CAAC;IACD,YAAY,GAAG,IAAI,CAAA;IAEnB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC;YACD,OAAO,EAAE,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;QACpD,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAK,EAAE,CAAA;AAC1B,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;AAEvC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;AAExC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;IACtC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;IACzC,eAAe,EAAE,CAAA;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC7C,eAAe,EAAE,CAAA;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;IAC5B,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CACR,oDAAoD;YAChD,6DAA6D,CACpE,CAAA;QACD,eAAe,EAAE,CAAA;IACrB,CAAC;AACL,CAAC,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import LslEventMarkerEmitter from '../impl/LslEventMarkerEmitter.js';
2
+ const outlet = await LslEventMarkerEmitter.Create();
3
+ const markers = [
4
+ { name: 'phase-1-begin', waitAfterMs: 100 },
5
+ { name: 'phase-1-end', waitAfterMs: 100 },
6
+ { name: 'never-reached-marker', waitAfterMs: 100 },
7
+ ];
8
+ void outlet.emitMany(markers);
9
+ await new Promise((resolve) => setTimeout(resolve, 250));
10
+ outlet.interrupt();
11
+ //# sourceMappingURL=runLslEventMarkerEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runLslEventMarkerEmitter.js","sourceRoot":"","sources":["../../src/scripts/runLslEventMarkerEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,kCAAkC,CAAA;AAEpE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,CAAA;AAEnD,MAAM,OAAO,GAAG;IACZ,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE;IAC3C,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE;IACzC,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,EAAE;CACrD,CAAA;AAED,KAAK,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAExD,MAAM,CAAC,SAAS,EAAE,CAAA"}
@@ -1,10 +1,11 @@
1
1
  import LslStreamInlet from '../impl/LslStreamInlet.js';
2
2
  import LslStreamOutlet from '../impl/LslStreamOutlet.js';
3
+ const sourceId = 'TestOutletID';
3
4
  console.log('Creating outlet...');
4
5
  const outlet = await LslStreamOutlet.Create({
5
6
  name: 'TestOutlet',
6
7
  type: 'TEST',
7
- sourceId: 'TestOutletID',
8
+ sourceId,
8
9
  sampleRateHz: 100,
9
10
  channelNames: ['Ch1', 'Ch2', 'Ch3'],
10
11
  channelFormat: 'float32',
@@ -13,15 +14,14 @@ const outlet = await LslStreamOutlet.Create({
13
14
  manufacturer: 'test',
14
15
  });
15
16
  console.log('Creating inlet...');
16
- const inletOptions = {
17
- info: outlet.info,
17
+ const inlet = await LslStreamInlet.Create({
18
+ sourceId,
18
19
  chunkSize: 1,
19
- };
20
- const inlet = await LslStreamInlet.Create(inletOptions, (samples, timestamps) => {
20
+ }, (samples, timestamps) => {
21
21
  console.log('Received samples:', samples, 'at timestamps:', timestamps);
22
22
  });
23
23
  console.log('Start pulling...');
24
- inlet.startPulling();
24
+ await inlet.startPulling();
25
25
  console.log('Waiting for 100 ms...');
26
26
  await new Promise((resolve) => setTimeout(resolve, 100));
27
27
  console.log('Pushing samples...');
@@ -37,4 +37,5 @@ for (let i = 0; i < 30; i++) {
37
37
  outlet.pushSample(sample);
38
38
  await new Promise((resolve) => setTimeout(resolve, 100));
39
39
  }
40
+ process.exit(0);
40
41
  //# sourceMappingURL=runOutletToInlet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runOutletToInlet.js","sourceRoot":"","sources":["../../src/scripts/runOutletToInlet.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,eAAe,MAAM,4BAA4B,CAAA;AAExD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACjC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACnC,aAAa,EAAE,SAAS;IACxB,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,MAAM;IACb,YAAY,EAAE,MAAM;CACvB,CAAC,CAAA;AAEF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAEhC,MAAM,YAAY,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,SAAS,EAAE,CAAC;CACf,CAAA;AAED,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CACrC,YAAY,EACZ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;IACpB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAA;AAC3E,CAAC,CACJ,CAAA;AAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC/B,KAAK,CAAC,YAAY,EAAE,CAAA;AAEpB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAExD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;AAEzD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"runOutletToInlet.js","sourceRoot":"","sources":["../../src/scripts/runOutletToInlet.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,eAAe,MAAM,4BAA4B,CAAA;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAA;AAE/B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACjC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ;IACR,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACnC,aAAa,EAAE,SAAS;IACxB,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,MAAM;IACb,YAAY,EAAE,MAAM;CACvB,CAAC,CAAA;AAEF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAEhC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CACrC;IACI,QAAQ;IACR,SAAS,EAAE,CAAC;CACf,EACD,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;IACpB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAA;AAC3E,CAAC,CACJ,CAAA;AAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC/B,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;AAE1B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAExD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;AAEzD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import LslEventMarkerEmitter from '../impl/LslEventMarkerEmitter.js';
2
+ const emitter = await LslEventMarkerEmitter.Create();
3
+ emitter.destroy();
4
+ //# sourceMappingURL=testDestroyOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testDestroyOutlet.js","sourceRoot":"","sources":["../../src/scripts/testDestroyOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,kCAAkC,CAAA;AAEpE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,CAAA;AAEpD,OAAO,CAAC,OAAO,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { BackpressureMonitor } from '../../impl/LslBackpressureMonitor.js';
2
+ export default class FakeBackpressureMonitor implements BackpressureMonitor {
3
+ static numCallsToConstructor: number;
4
+ constructor();
5
+ static resetTestDouble(): void;
6
+ }
@@ -0,0 +1,10 @@
1
+ export default class FakeBackpressureMonitor {
2
+ static numCallsToConstructor = 0;
3
+ constructor() {
4
+ FakeBackpressureMonitor.numCallsToConstructor++;
5
+ }
6
+ static resetTestDouble() {
7
+ FakeBackpressureMonitor.numCallsToConstructor = 0;
8
+ }
9
+ }
10
+ //# sourceMappingURL=FakeBackpressureMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeBackpressureMonitor.js","sourceRoot":"","sources":["../../../src/testDoubles/BackpressureMonitor/FakeBackpressureMonitor.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACjC,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAA;IAEvC;QACI,uBAAuB,CAAC,qBAAqB,EAAE,CAAA;IACnD,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,uBAAuB,CAAC,qBAAqB,GAAG,CAAC,CAAA;IACrD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { EventMarkerEmitter, EventMarkerOptions, TimedEventMarker } from '../../impl/LslEventMarkerEmitter.js';
2
+ export default class FakeEventMarkerEmitter implements EventMarkerEmitter {
3
+ static numCallsToConstructor: number;
4
+ static callsToEmit: {
5
+ markerName: string;
6
+ options?: EventMarkerOptions;
7
+ }[];
8
+ static callsToEmitMany: TimedEventMarker[][];
9
+ static numCallsToInterrupt: number;
10
+ static numCallsToDestroy: number;
11
+ constructor();
12
+ emit(markerName: string, options?: EventMarkerOptions): Promise<void>;
13
+ emitMany(markers: TimedEventMarker[]): Promise<void>;
14
+ interrupt(): void;
15
+ destroy(): void;
16
+ static resetTestDouble(): void;
17
+ }
@@ -0,0 +1,30 @@
1
+ export default class FakeEventMarkerEmitter {
2
+ static numCallsToConstructor = 0;
3
+ static callsToEmit = [];
4
+ static callsToEmitMany = [];
5
+ static numCallsToInterrupt = 0;
6
+ static numCallsToDestroy = 0;
7
+ constructor() {
8
+ FakeEventMarkerEmitter.numCallsToConstructor++;
9
+ }
10
+ async emit(markerName, options) {
11
+ FakeEventMarkerEmitter.callsToEmit.push({ markerName, options });
12
+ }
13
+ async emitMany(markers) {
14
+ FakeEventMarkerEmitter.callsToEmitMany.push(markers);
15
+ }
16
+ interrupt() {
17
+ FakeEventMarkerEmitter.numCallsToInterrupt++;
18
+ }
19
+ destroy() {
20
+ FakeEventMarkerEmitter.numCallsToDestroy++;
21
+ }
22
+ static resetTestDouble() {
23
+ this.numCallsToConstructor = 0;
24
+ this.callsToEmit = [];
25
+ this.callsToEmitMany = [];
26
+ this.numCallsToInterrupt = 0;
27
+ this.numCallsToDestroy = 0;
28
+ }
29
+ }
30
+ //# sourceMappingURL=FakeEventMarkerEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeEventMarkerEmitter.js","sourceRoot":"","sources":["../../../src/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAChC,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,sBAAsB,CAAC,qBAAqB,EAAE,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,OAA4B;QAC9D,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;IACpE,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,OAA2B;QAC7C,sBAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IAEM,SAAS;QACZ,sBAAsB,CAAC,mBAAmB,EAAE,CAAA;IAChD,CAAC;IAEM,OAAO;QACV,sBAAsB,CAAC,iBAAiB,EAAE,CAAA;IAC9C,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"}
@@ -0,0 +1,10 @@
1
+ import LslEventMarkerEmitter from '../../impl/LslEventMarkerEmitter.js';
2
+ import { StreamOutlet } from '../../impl/LslStreamOutlet.js';
3
+ export default class SpyEventMarkerEmitter extends LslEventMarkerEmitter {
4
+ static shouldCallWaitOnSuper: boolean;
5
+ totalwaitAfterMs: number;
6
+ constructor(outlet: StreamOutlet);
7
+ wait(waitAfterMs: number): Promise<unknown>;
8
+ getStreamOutlet(): StreamOutlet;
9
+ resetTestDouble(): void;
10
+ }
@@ -0,0 +1,23 @@
1
+ import LslEventMarkerEmitter from '../../impl/LslEventMarkerEmitter.js';
2
+ export default class SpyEventMarkerEmitter extends LslEventMarkerEmitter {
3
+ static shouldCallWaitOnSuper = false;
4
+ totalwaitAfterMs;
5
+ constructor(outlet) {
6
+ super(outlet);
7
+ this.totalwaitAfterMs = 0;
8
+ }
9
+ async wait(waitAfterMs) {
10
+ this.totalwaitAfterMs += waitAfterMs;
11
+ if (SpyEventMarkerEmitter.shouldCallWaitOnSuper) {
12
+ return super.wait(waitAfterMs);
13
+ }
14
+ return Promise.resolve();
15
+ }
16
+ getStreamOutlet() {
17
+ return this.outlet;
18
+ }
19
+ resetTestDouble() {
20
+ this.totalwaitAfterMs = 0;
21
+ }
22
+ }
23
+ //# sourceMappingURL=SpyEventMarkerEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpyEventMarkerEmitter.js","sourceRoot":"","sources":["../../../src/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,qCAAqC,CAAA;AAGvE,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,qBAAqB;IAC7D,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAA;IAEpC,gBAAgB,CAAQ;IAE/B,YAAmB,MAAoB;QACnC,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,qBAAqB,CAAC,qBAAqB,EAAE,CAAC;YAC9C,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 { EventMarkerEmitter, EventMarkerOptions, TimedEventMarker } from '../../impl/LslEventMarkerEmitter.js';
2
+ export default class ThrowingEventMarkerEmitter implements EventMarkerEmitter {
3
+ private errorMsg;
4
+ constructor();
5
+ emit(_markerName: string, _options?: EventMarkerOptions): Promise<void>;
6
+ emitMany(_markers: TimedEventMarker[]): Promise<void>;
7
+ interrupt(): void;
8
+ destroy(): void;
9
+ }
@@ -0,0 +1,19 @@
1
+ export default class ThrowingEventMarkerEmitter {
2
+ errorMsg = 'Intentional throwing: ';
3
+ constructor() {
4
+ throw new Error(this.errorMsg + 'constructor');
5
+ }
6
+ async emit(_markerName, _options) {
7
+ throw new Error(this.errorMsg + 'emit');
8
+ }
9
+ async emitMany(_markers) {
10
+ throw new Error(this.errorMsg + 'emitMany');
11
+ }
12
+ interrupt() {
13
+ throw new Error(this.errorMsg + 'interrupt');
14
+ }
15
+ destroy() {
16
+ throw new Error(this.errorMsg + 'destroy');
17
+ }
18
+ }
19
+ //# sourceMappingURL=ThrowingEventMarkerEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThrowingEventMarkerEmitter.js","sourceRoot":"","sources":["../../../src/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,0BAA0B;IACnC,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,QAA6B;QAChE,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,9 +1,9 @@
1
- import { BoundStreamInfo } from 'impl/LiblslAdapter.js';
1
+ import { InfoHandle } from '@neurodevs/ndx-native';
2
2
  import { StreamInfo, StreamInfoOptions } from '../../impl/LslStreamInfo.js';
3
3
  export default class FakeStreamInfo implements StreamInfo {
4
4
  static callsToConstructor: (StreamInfoOptions | undefined)[];
5
5
  static numCallsToDestroy: number;
6
- static boundInfo: BoundStreamInfo;
6
+ static infoHandle: InfoHandle;
7
7
  name: string;
8
8
  type: string;
9
9
  sourceId: string;
@@ -14,6 +14,6 @@ export default class FakeStreamInfo implements StreamInfo {
14
14
  constructor(options?: StreamInfoOptions);
15
15
  destroy(): void;
16
16
  get channelCount(): number;
17
- get boundInfo(): BoundStreamInfo;
17
+ get infoHandle(): InfoHandle;
18
18
  static resetTestDouble(): void;
19
19
  }
@@ -2,7 +2,7 @@ import generateId from '@neurodevs/generate-id';
2
2
  export default class FakeStreamInfo {
3
3
  static callsToConstructor = [];
4
4
  static numCallsToDestroy = 0;
5
- static boundInfo = {};
5
+ static infoHandle = {};
6
6
  name = generateId();
7
7
  type = generateId();
8
8
  sourceId = generateId();
@@ -19,8 +19,8 @@ export default class FakeStreamInfo {
19
19
  get channelCount() {
20
20
  return this.channelNames.length;
21
21
  }
22
- get boundInfo() {
23
- return FakeStreamInfo.boundInfo;
22
+ get infoHandle() {
23
+ return FakeStreamInfo.infoHandle;
24
24
  }
25
25
  static resetTestDouble() {
26
26
  FakeStreamInfo.callsToConstructor = [];
@@ -1 +1 @@
1
- {"version":3,"file":"FakeStreamInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInfo/FakeStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAK/C,MAAM,CAAC,OAAO,OAAO,cAAc;IACxB,MAAM,CAAC,kBAAkB,GAAsC,EAAE,CAAA;IACjE,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,MAAM,CAAC,SAAS,GAAG,EAAqB,CAAA;IAExC,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,OAA2B;QAC1C,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAEM,OAAO;QACV,cAAc,CAAC,iBAAiB,EAAE,CAAA;IACtC,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,cAAc,CAAC,SAAS,CAAA;IACnC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,cAAc,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACtC,cAAc,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACxC,CAAC"}
1
+ {"version":3,"file":"FakeStreamInfo.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInfo/FakeStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAK/C,MAAM,CAAC,OAAO,OAAO,cAAc;IACxB,MAAM,CAAC,kBAAkB,GAAsC,EAAE,CAAA;IACjE,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,OAA2B;QAC1C,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAEM,OAAO;QACV,cAAc,CAAC,iBAAiB,EAAE,CAAA;IACtC,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,cAAc,CAAC,UAAU,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,cAAc,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACtC,cAAc,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACxC,CAAC"}
@@ -1,21 +1,19 @@
1
- import { StreamInfo } from '../../impl/LslStreamInfo.js';
2
- import { StreamInlet, StreamInletConstructorOptions } from '../../impl/LslStreamInlet.js';
1
+ import { OnDataCallback, StreamInlet, StreamInletOptions } from '../../impl/LslStreamInlet.js';
3
2
  export default class FakeStreamInlet implements StreamInlet {
4
3
  static callsToConstructor: {
5
- info?: StreamInfo;
6
- options?: StreamInletConstructorOptions;
7
- onData?: (samples: Float32Array, timestamps: Float64Array) => void;
4
+ options?: StreamInletOptions;
5
+ onData?: OnDataCallback;
8
6
  }[];
9
7
  static numCallsToStartPulling: number;
10
8
  static numCallsToStopPulling: number;
11
- static numCallsToFlushQueue: number;
9
+ static numCallsToFlushInlet: number;
12
10
  static numCallsToDestroy: number;
13
11
  isRunning: boolean;
14
- protected onData: (samples: Float32Array, timestamps: Float64Array) => void;
15
- constructor(info?: StreamInfo, options?: StreamInletConstructorOptions, onData?: (samples: Float32Array, timestamps: Float64Array) => void);
16
- startPulling(): void;
12
+ protected onData: OnDataCallback;
13
+ constructor(options?: StreamInletOptions, onData?: OnDataCallback);
14
+ startPulling(): Promise<void>;
17
15
  stopPulling(): void;
18
- flushQueue(): void;
16
+ flushInlet(): void;
19
17
  destroy(): void;
20
18
  static resetTestDouble(): void;
21
19
  }
@@ -2,19 +2,18 @@ export default class FakeStreamInlet {
2
2
  static callsToConstructor = [];
3
3
  static numCallsToStartPulling = 0;
4
4
  static numCallsToStopPulling = 0;
5
- static numCallsToFlushQueue = 0;
5
+ static numCallsToFlushInlet = 0;
6
6
  static numCallsToDestroy = 0;
7
7
  isRunning = false;
8
8
  onData;
9
- constructor(info, options, onData) {
9
+ constructor(options, onData) {
10
10
  this.onData = onData ?? (() => { });
11
11
  FakeStreamInlet.callsToConstructor.push({
12
- info,
13
12
  options,
14
13
  onData: this.onData,
15
14
  });
16
15
  }
17
- startPulling() {
16
+ async startPulling() {
18
17
  FakeStreamInlet.numCallsToStartPulling++;
19
18
  this.isRunning = true;
20
19
  }
@@ -22,8 +21,8 @@ export default class FakeStreamInlet {
22
21
  FakeStreamInlet.numCallsToStopPulling++;
23
22
  this.isRunning = false;
24
23
  }
25
- flushQueue() {
26
- FakeStreamInlet.numCallsToFlushQueue++;
24
+ flushInlet() {
25
+ FakeStreamInlet.numCallsToFlushInlet++;
27
26
  }
28
27
  destroy() {
29
28
  FakeStreamInlet.numCallsToDestroy++;
@@ -31,7 +30,7 @@ export default class FakeStreamInlet {
31
30
  static resetTestDouble() {
32
31
  FakeStreamInlet.callsToConstructor = [];
33
32
  FakeStreamInlet.numCallsToStartPulling = 0;
34
- FakeStreamInlet.numCallsToFlushQueue = 0;
33
+ FakeStreamInlet.numCallsToFlushInlet = 0;
35
34
  FakeStreamInlet.numCallsToDestroy = 0;
36
35
  }
37
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FakeStreamInlet.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInlet/FakeStreamInlet.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,eAAe;IACzB,MAAM,CAAC,kBAAkB,GAI1B,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,CAA4D;IAE5E,YACI,IAAiB,EACjB,OAAuC,EACvC,MAAkE;QAElE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAElC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpC,IAAI;YACJ,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;IACN,CAAC;IAEM,YAAY;QACf,eAAe,CAAC,sBAAsB,EAAE,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,CAAC;IAEM,WAAW;QACd,eAAe,CAAC,qBAAqB,EAAE,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAEM,UAAU;QACb,eAAe,CAAC,oBAAoB,EAAE,CAAA;IAC1C,CAAC;IAEM,OAAO;QACV,eAAe,CAAC,iBAAiB,EAAE,CAAA;IACvC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,eAAe,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACvC,eAAe,CAAC,sBAAsB,GAAG,CAAC,CAAA;QAC1C,eAAe,CAAC,oBAAoB,GAAG,CAAC,CAAA;QACxC,eAAe,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACzC,CAAC"}
1
+ {"version":3,"file":"FakeStreamInlet.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInlet/FakeStreamInlet.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,eAAe;IACzB,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,OAA4B,EAAE,MAAuB;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAElC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpC,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,YAAY;QACrB,eAAe,CAAC,sBAAsB,EAAE,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,CAAC;IAEM,WAAW;QACd,eAAe,CAAC,qBAAqB,EAAE,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAEM,UAAU;QACb,eAAe,CAAC,oBAAoB,EAAE,CAAA;IAC1C,CAAC;IAEM,OAAO;QACV,eAAe,CAAC,iBAAiB,EAAE,CAAA;IACvC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,eAAe,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACvC,eAAe,CAAC,sBAAsB,GAAG,CAAC,CAAA;QAC1C,eAAe,CAAC,oBAAoB,GAAG,CAAC,CAAA;QACxC,eAAe,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACzC,CAAC"}
@@ -1,7 +1,4 @@
1
- import { StreamInfo } from '../../impl/LslStreamInfo.js';
2
- import LslStreamInlet, { OnDataCallback, StreamInletConstructorOptions } from '../../impl/LslStreamInlet.js';
1
+ import LslStreamInlet, { OnDataCallback, StreamInletOptions } from '../../impl/LslStreamInlet.js';
3
2
  export declare class SpyStreamInlet extends LslStreamInlet {
4
- constructor(info: StreamInfo, options: StreamInletConstructorOptions, onData: OnDataCallback);
5
- getStreamInfo(): StreamInfo;
6
- getBoundInlet(): import("../../index.js").BoundInlet;
3
+ constructor(options: StreamInletOptions, onData: OnDataCallback);
7
4
  }
@@ -1,13 +1,7 @@
1
1
  import LslStreamInlet from '../../impl/LslStreamInlet.js';
2
2
  export class SpyStreamInlet extends LslStreamInlet {
3
- constructor(info, options, onData) {
4
- super(info, options, onData);
5
- }
6
- getStreamInfo() {
7
- return this.info;
8
- }
9
- getBoundInlet() {
10
- return this.inlet;
3
+ constructor(options, onData) {
4
+ super(options, onData);
11
5
  }
12
6
  }
13
7
  //# sourceMappingURL=SpyStreamInlet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpyStreamInlet.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInlet/SpyStreamInlet.ts"],"names":[],"mappings":"AACA,OAAO,cAGN,MAAM,8BAA8B,CAAA;AAErC,MAAM,OAAO,cAAe,SAAQ,cAAc;IAC9C,YACI,IAAgB,EAChB,OAAsC,EACtC,MAAsB;QAEtB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAChC,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"SpyStreamInlet.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamInlet/SpyStreamInlet.ts"],"names":[],"mappings":"AAAA,OAAO,cAGN,MAAM,8BAA8B,CAAA;AAErC,MAAM,OAAO,cAAe,SAAQ,cAAc;IAC9C,YAAmB,OAA2B,EAAE,MAAsB;QAClE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1B,CAAC;CACJ"}
@@ -1,18 +1,16 @@
1
- import { LslSample } from 'impl/LiblslAdapter.js';
2
- import { StreamInfo } from '../../impl/LslStreamInfo.js';
1
+ import { LslSample } from '@neurodevs/ndx-native';
3
2
  import { StreamOutlet, StreamOutletOptions } from '../../impl/LslStreamOutlet.js';
4
3
  export default class FakeStreamOutlet implements StreamOutlet {
5
- static callsToConstructor: {
6
- info?: StreamInfo;
7
- options?: StreamOutletOptions;
4
+ static callsToConstructor: (StreamOutletOptions | undefined)[];
5
+ static callsToPushSample: {
6
+ sample: LslSample;
7
+ timestamp?: number;
8
8
  }[];
9
- static callsToPushSample: LslSample[];
10
9
  static numCallsToDestroy: number;
11
- info: StreamInfo;
12
10
  options?: StreamOutletOptions;
13
- constructor(info?: StreamInfo, options?: StreamOutletOptions);
11
+ constructor(options?: StreamOutletOptions);
14
12
  destroy(): void;
15
- pushSample(sample: LslSample): void;
13
+ pushSample(sample: LslSample, timestamp?: number): void;
16
14
  get name(): string;
17
15
  get type(): string;
18
16
  get sourceId(): string;
@@ -1,22 +1,19 @@
1
- import { randomInt } from 'crypto';
1
+ import { randomInt } from 'node:crypto';
2
2
  import generateId from '@neurodevs/generate-id';
3
- import FakeStreamInfo from '../StreamInfo/FakeStreamInfo.js';
4
3
  export default class FakeStreamOutlet {
5
4
  static callsToConstructor = [];
6
5
  static callsToPushSample = [];
7
6
  static numCallsToDestroy = 0;
8
- info;
9
7
  options;
10
- constructor(info, options) {
11
- FakeStreamOutlet.callsToConstructor.push({ info, options });
12
- this.info = info ?? new FakeStreamInfo();
8
+ constructor(options) {
9
+ FakeStreamOutlet.callsToConstructor.push(options);
13
10
  this.options = options;
14
11
  }
15
12
  destroy() {
16
13
  FakeStreamOutlet.numCallsToDestroy++;
17
14
  }
18
- pushSample(sample) {
19
- FakeStreamOutlet.callsToPushSample.push(sample);
15
+ pushSample(sample, timestamp) {
16
+ FakeStreamOutlet.callsToPushSample.push({ sample, timestamp });
20
17
  }
21
18
  get name() {
22
19
  return this.options?.name ?? generateId();
@@ -1 +1 @@
1
- {"version":3,"file":"FakeStreamOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamOutlet/FakeStreamOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAQ/C,OAAO,cAAc,MAAM,iCAAiC,CAAA;AAE5D,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC1B,MAAM,CAAC,kBAAkB,GAG1B,EAAE,CAAA;IAED,MAAM,CAAC,iBAAiB,GAAgB,EAAE,CAAA;IAC1C,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,IAAI,CAAY;IAChB,OAAO,CAAsB;IAEpC,YAAmB,IAAiB,EAAE,OAA6B;QAC/D,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAE3D,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,cAAc,EAAE,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAEM,OAAO;QACV,gBAAgB,CAAC,iBAAiB,EAAE,CAAA;IACxC,CAAC;IAEM,UAAU,CAAC,MAAiB;QAC/B,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnD,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,gBAAgB,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACxC,gBAAgB,CAAC,iBAAiB,GAAG,EAAE,CAAA;QACvC,gBAAgB,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC1C,CAAC"}
1
+ {"version":3,"file":"FakeStreamOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/StreamOutlet/FakeStreamOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAQ/C,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC1B,MAAM,CAAC,kBAAkB,GAAwC,EAAE,CAAA;IAEnE,MAAM,CAAC,iBAAiB,GAGzB,EAAE,CAAA;IAED,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,OAAO,CAAsB;IAEpC,YAAmB,OAA6B;QAC5C,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAEM,OAAO;QACV,gBAAgB,CAAC,iBAAiB,EAAE,CAAA;IACxC,CAAC;IAEM,UAAU,CAAC,MAAiB,EAAE,SAAkB;QACnD,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAClE,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,gBAAgB,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACxC,gBAAgB,CAAC,iBAAiB,GAAG,EAAE,CAAA;QACvC,gBAAgB,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC1C,CAAC"}
@@ -5,7 +5,7 @@ export default class FakeWebSocketBridge implements WebSocketBridge {
5
5
  static numCallsToDeactivate: number;
6
6
  static numCallsToDestroy: number;
7
7
  constructor(options?: WebSocketBridgeConstructorOptions);
8
- activate(): void;
8
+ activate(): Promise<void>;
9
9
  deactivate(): void;
10
10
  destroy(): void;
11
11
  static resetTestDouble(): void;