@neurodevs/node-lsl 17.1.0 → 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 +22 -8
  19. package/build/__tests__/impl/LslStreamInlet.test.js +240 -66
  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 -47
  38. package/build/impl/LslStreamInlet.js +82 -143
  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 +24 -8
  101. package/src/.spruce/settings.json +5 -1
  102. package/src/__tests__/AbstractPackageTest.ts +13 -15
  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 +366 -95
  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 +105 -208
  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 -159
  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 -548
  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
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiblslAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LiblslAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import AbstractPackageTest from '../AbstractPackageTest.js';
2
- export default class EventMarkerOutletTest extends AbstractPackageTest {
3
- private static instance;
4
- protected static beforeEach(): Promise<void>;
5
- protected static createsInstance(): Promise<void>;
6
- protected static loadsWithEventMarkerSpecificOptions(): Promise<void>;
7
- protected static canOverrideDefaultOptions(): Promise<void>;
8
- protected static pushingSingleMarkerIncrementsHitCountAndWaitTime(): Promise<void>;
9
- protected static pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice(): Promise<void>;
10
- protected static canStopEventMarkersMidPush(bailIdx: number): Promise<void>;
11
- protected static canStartAgainAfterStopping(): Promise<void>;
12
- protected static doesNotWaitIfStopped(): Promise<void>;
13
- protected static clearsTheTimeoutOnStop(): Promise<void>;
14
- protected static pushMarkerCallsPushSampleOnMarkerOutlet(): Promise<void>;
15
- protected static destroyCallsDestroyOnInternalStreamOutlet(): Promise<void>;
16
- private static get streamOutlet();
17
- private static setupOutlet;
18
- private static pushTotalMarkers;
19
- private static generateDurationMarker;
20
- private static LslEventMarkerOutlet;
21
- }
@@ -1,160 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { randomInt } from 'crypto';
8
- import { assert, test } from '@neurodevs/node-tdd';
9
- import LslEventMarkerOutlet from '../../impl/LslEventMarkerOutlet.js';
10
- import generateRandomOutletOptions from '../../testDoubles/generateRandomOutletOptions.js';
11
- import FakeStreamOutlet from '../../testDoubles/StreamOutlet/FakeStreamOutlet.js';
12
- import AbstractPackageTest from '../AbstractPackageTest.js';
13
- export default class EventMarkerOutletTest extends AbstractPackageTest {
14
- static instance;
15
- static async beforeEach() {
16
- await super.beforeEach();
17
- this.setFakeLiblsl();
18
- this.setFakeStreamOutlet();
19
- this.setSpyEventMarkerOutlet();
20
- this.instance = await this.LslEventMarkerOutlet();
21
- }
22
- static async createsInstance() {
23
- assert.isTruthy(this.instance, 'Failed to create instance!');
24
- }
25
- static async loadsWithEventMarkerSpecificOptions() {
26
- assert.isEqualDeep(FakeStreamOutlet.callsToConstructor[0].options, {
27
- name: 'Event markers',
28
- type: 'Markers',
29
- sourceId: 'event-markers',
30
- channelNames: ['Markers'],
31
- channelFormat: 'string',
32
- sampleRateHz: 0,
33
- chunkSize: 0,
34
- maxBufferedMs: 0,
35
- manufacturer: 'N/A',
36
- units: 'N/A',
37
- });
38
- }
39
- static async canOverrideDefaultOptions() {
40
- const options = generateRandomOutletOptions();
41
- await this.LslEventMarkerOutlet(options);
42
- assert.isEqualDeep(FakeStreamOutlet.callsToConstructor[1].options, options);
43
- }
44
- static async pushingSingleMarkerIncrementsHitCountAndWaitTime() {
45
- const markers = [this.generateDurationMarker()];
46
- await this.instance.pushMarkers(markers);
47
- const marker = markers[0];
48
- assert.isEqual(FakeStreamOutlet.callsToPushSample[0][0], marker.name, 'Pushed the wrong marker!');
49
- assert.isEqual(this.instance.totalWaitTimeMs, marker.durationMs);
50
- }
51
- static async pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice() {
52
- const markers = await this.pushTotalMarkers(2);
53
- assert.isEqual(FakeStreamOutlet.callsToPushSample.length, 2);
54
- assert.isEqual(this.instance.totalWaitTimeMs, markers[0].durationMs + markers[1].durationMs);
55
- }
56
- static async canStopEventMarkersMidPush(bailIdx) {
57
- let hitCount = 0;
58
- const outlet = this.instance.getStreamOutlet();
59
- outlet.pushSample = () => {
60
- hitCount += 1;
61
- if (hitCount === bailIdx) {
62
- this.instance.stop();
63
- }
64
- };
65
- await this.pushTotalMarkers(10);
66
- assert.isEqual(hitCount, bailIdx);
67
- }
68
- static async canStartAgainAfterStopping() {
69
- this.instance.stop();
70
- let hitCount = 0;
71
- const outlet = this.instance.getStreamOutlet();
72
- outlet.pushSample = () => {
73
- hitCount++;
74
- };
75
- await this.pushTotalMarkers(10);
76
- assert.isEqual(hitCount, 10);
77
- }
78
- static async doesNotWaitIfStopped() {
79
- await this.setupOutlet();
80
- const startMs = Date.now();
81
- const promise = this.pushTotalMarkers(2, 1000);
82
- this.instance.stop();
83
- await promise;
84
- const endMs = Date.now();
85
- assert.isBelow(endMs - startMs, 10);
86
- }
87
- static async clearsTheTimeoutOnStop() {
88
- void this.pushTotalMarkers(2, 100);
89
- this.instance.stop();
90
- this.streamOutlet.pushSample = () => assert.fail('Should not have been called');
91
- }
92
- static async pushMarkerCallsPushSampleOnMarkerOutlet() {
93
- const markerName = this.generateId();
94
- this.instance.pushMarker(markerName);
95
- assert.isEqual(FakeStreamOutlet.callsToPushSample[0][0], markerName);
96
- }
97
- static async destroyCallsDestroyOnInternalStreamOutlet() {
98
- this.instance.destroy();
99
- assert.isEqual(FakeStreamOutlet.numCallsToDestroy, 1, 'Did not call destroy on outlet!');
100
- }
101
- static get streamOutlet() {
102
- return this.instance.getStreamOutlet();
103
- }
104
- static async setupOutlet() {
105
- LslEventMarkerOutlet.Class = LslEventMarkerOutlet;
106
- this.instance = await this.LslEventMarkerOutlet();
107
- }
108
- static async pushTotalMarkers(total, durationMs) {
109
- const markers = new Array(total)
110
- .fill(null)
111
- .map(() => this.generateDurationMarker(durationMs));
112
- await this.instance.pushMarkers(markers);
113
- return markers;
114
- }
115
- static generateDurationMarker(durationMs) {
116
- return {
117
- name: this.generateId(),
118
- durationMs: durationMs ?? randomInt(100, 1000),
119
- };
120
- }
121
- static async LslEventMarkerOutlet(options) {
122
- return (await LslEventMarkerOutlet.Create(options));
123
- }
124
- }
125
- __decorate([
126
- test()
127
- ], EventMarkerOutletTest, "createsInstance", null);
128
- __decorate([
129
- test()
130
- ], EventMarkerOutletTest, "loadsWithEventMarkerSpecificOptions", null);
131
- __decorate([
132
- test()
133
- ], EventMarkerOutletTest, "canOverrideDefaultOptions", null);
134
- __decorate([
135
- test()
136
- ], EventMarkerOutletTest, "pushingSingleMarkerIncrementsHitCountAndWaitTime", null);
137
- __decorate([
138
- test()
139
- ], EventMarkerOutletTest, "pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice", null);
140
- __decorate([
141
- test('can stop on the first marker', 1),
142
- test('can stop on the second marker', 2),
143
- test('can stop on the third marker', 3)
144
- ], EventMarkerOutletTest, "canStopEventMarkersMidPush", null);
145
- __decorate([
146
- test()
147
- ], EventMarkerOutletTest, "canStartAgainAfterStopping", null);
148
- __decorate([
149
- test()
150
- ], EventMarkerOutletTest, "doesNotWaitIfStopped", null);
151
- __decorate([
152
- test()
153
- ], EventMarkerOutletTest, "clearsTheTimeoutOnStop", null);
154
- __decorate([
155
- test()
156
- ], EventMarkerOutletTest, "pushMarkerCallsPushSampleOnMarkerOutlet", null);
157
- __decorate([
158
- test()
159
- ], EventMarkerOutletTest, "destroyCallsDestroyOnInternalStreamOutlet", null);
160
- //# sourceMappingURL=LslEventMarkerOutlet.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LslEventMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslEventMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export default function handleError(errorCode: number): void;
2
- export declare enum LslErrorCode {
3
- Ok = 0,
4
- Timeout = -1,
5
- Lost = -2,
6
- BadArgument = -3,
7
- InternalError = -4
8
- }
@@ -1,25 +0,0 @@
1
- export default function handleError(errorCode) {
2
- switch (errorCode) {
3
- case 0:
4
- return;
5
- case -1:
6
- throw new Error(`The liblsl operation failed due to a timeout!`);
7
- case -2:
8
- throw new Error(`The liblsl stream has been lost!`);
9
- case -3:
10
- throw new Error(`A liblsl argument was incorrectly specified!`);
11
- case -4:
12
- throw new Error(`An internal liblsl error has occurred!`);
13
- default:
14
- throw new Error(`An unknown liblsl error has occurred!`);
15
- }
16
- }
17
- export var LslErrorCode;
18
- (function (LslErrorCode) {
19
- LslErrorCode[LslErrorCode["Ok"] = 0] = "Ok";
20
- LslErrorCode[LslErrorCode["Timeout"] = -1] = "Timeout";
21
- LslErrorCode[LslErrorCode["Lost"] = -2] = "Lost";
22
- LslErrorCode[LslErrorCode["BadArgument"] = -3] = "BadArgument";
23
- LslErrorCode[LslErrorCode["InternalError"] = -4] = "InternalError";
24
- })(LslErrorCode || (LslErrorCode = {}));
25
- //# sourceMappingURL=handleError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleError.js","sourceRoot":"","sources":["../src/handleError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,SAAiB;IACjD,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,CAAC;YACF,OAAM;QACV,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QACpE,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACvD,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACnE,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC7D;YACI,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAChE,CAAC;AACL,CAAC;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,2CAAM,CAAA;IACN,sDAAY,CAAA;IACZ,gDAAS,CAAA;IACT,8DAAgB,CAAA;IAChB,kEAAkB,CAAA;AACtB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -1,159 +0,0 @@
1
- import { define, JsExternal, load, open } from 'ffi-rs';
2
- import { CHANNEL_FORMATS } from '../consts.js';
3
- import { LslErrorCode } from '../handleError.js';
4
- export default class LiblslAdapter implements Liblsl {
5
- static open: typeof open;
6
- static define: typeof define;
7
- static load: typeof load;
8
- static alloc: (size: number, fill?: string | Uint8Array | number, encoding?: BufferEncoding) => Buffer<ArrayBuffer>;
9
- private static instance?;
10
- liblslPath: string;
11
- private bindings;
12
- private readonly defaultMacOsPath;
13
- protected constructor();
14
- private tryToLoadBindings;
15
- private throwFailedToLoadLiblsl;
16
- static getInstance(): Liblsl;
17
- static setInstance(instance: Liblsl): void;
18
- static resetInstance(): void;
19
- private loadBindings;
20
- private openLiblsl;
21
- private defineLiblslBindings;
22
- createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo;
23
- appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
24
- destroyStreamInfo(options: DestroyStreamInfoOptions): void;
25
- resolveByProp(options: ResolveByPropOptions): Promise<bigint[]>;
26
- createOutlet(options: CreateOutletOptions): BoundOutlet;
27
- pushSampleFloatTimestamp(options: PushSampleFloatTimestampOptions): LslErrorCode;
28
- pushSampleStringTimestamp(options: PushSampleStringTimestampOptions): LslErrorCode;
29
- destroyOutlet(options: DestroyOutletOptions): void;
30
- createInlet(options: CreateInletOptions): BoundInlet;
31
- private readonly maxChunkSize;
32
- private readonly shouldRecover;
33
- pullSample(options: PullSampleOptions): number;
34
- pullChunk(options: PullChunkOptions): number;
35
- flushInlet(options: FlushInletOptions): void;
36
- destroyInlet(options: DestroyInletOptions): void;
37
- localClock(): number;
38
- private get open();
39
- private get define();
40
- private get load();
41
- private get alloc();
42
- private get liblslFuncs();
43
- }
44
- export interface Liblsl {
45
- liblslPath: string;
46
- createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo;
47
- destroyStreamInfo(options: DestroyStreamInfoOptions): void;
48
- appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
49
- resolveByProp(options: ResolveByPropOptions): Promise<bigint[]>;
50
- createOutlet(options: CreateOutletOptions): BoundOutlet;
51
- pushSampleFloatTimestamp(options: PushSampleFloatTimestampOptions): LslErrorCode;
52
- pushSampleStringTimestamp(options: PushSampleStringTimestampOptions): LslErrorCode;
53
- destroyOutlet(options: DestroyOutletOptions): void;
54
- createInlet(options: CreateInletOptions): BoundInlet;
55
- pullSample(options: PullSampleOptions): number;
56
- pullChunk(options: PullChunkOptions): number;
57
- flushInlet(options: FlushInletOptions): void;
58
- destroyInlet(options: DestroyInletOptions): void;
59
- localClock(): number;
60
- }
61
- export interface CreateStreamInfoOptions {
62
- name: string;
63
- type: string;
64
- sourceId: string;
65
- channelCount: number;
66
- channelFormat: number;
67
- sampleRateHz: number;
68
- manufacturer?: string;
69
- units?: string;
70
- }
71
- export interface AppendChannelsToStreamInfoOptions {
72
- info: BoundStreamInfo;
73
- channels: LslChannel[];
74
- }
75
- export interface DestroyStreamInfoOptions {
76
- info: BoundStreamInfo;
77
- }
78
- export interface ResolveByPropOptions {
79
- prop: string;
80
- value: string;
81
- minResults?: number;
82
- timeoutMs?: number;
83
- }
84
- export interface CreateOutletOptions {
85
- info: BoundStreamInfo;
86
- chunkSize: number;
87
- maxBufferedMs: number;
88
- }
89
- export interface PushSampleFloatTimestampOptions {
90
- outlet: BoundOutlet;
91
- sample: number[];
92
- timestamp: number;
93
- }
94
- export interface PushSampleStringTimestampOptions {
95
- outlet: BoundOutlet;
96
- sample: string[];
97
- timestamp: number;
98
- }
99
- export interface DestroyOutletOptions {
100
- outlet: BoundOutlet;
101
- }
102
- export interface CreateInletOptions {
103
- info: BoundStreamInfo;
104
- maxBufferedMs: number;
105
- }
106
- export interface PullSampleOptions {
107
- inlet: BoundInlet;
108
- dataBufferPtr: JsExternal;
109
- dataBufferElements: number;
110
- timeout: number;
111
- errcodePtr: JsExternal;
112
- }
113
- export interface PullChunkOptions {
114
- inlet: BoundInlet;
115
- dataBufferPtr: JsExternal;
116
- timestampBufferPtr: JsExternal;
117
- dataBufferElements: number;
118
- timestampBufferElements: number;
119
- timeout: number;
120
- errcodePtr: JsExternal;
121
- }
122
- export interface FlushInletOptions {
123
- inlet: BoundInlet;
124
- }
125
- export interface DestroyInletOptions {
126
- inlet: BoundInlet;
127
- }
128
- export interface LiblslBindings {
129
- lsl_create_streaminfo(args: [string, string, number, number, number, string]): BoundStreamInfo;
130
- lsl_destroy_streaminfo(args: [BoundStreamInfo]): void;
131
- lsl_create_outlet(args: [BoundStreamInfo, number, number]): BoundOutlet;
132
- lsl_push_sample_ft(args: [BoundOutlet, LslSample, number]): LslErrorCode;
133
- lsl_push_sample_strt(args: [BoundOutlet, LslSample, number]): LslErrorCode;
134
- lsl_destroy_outlet(args: [BoundOutlet]): void;
135
- lsl_create_inlet(args: any): BoundInlet;
136
- lsl_flush_inlet(args: [BoundInlet]): void;
137
- lsl_destroy_inlet(args: any): void;
138
- lsl_local_clock(args: []): number;
139
- lsl_get_desc(args: [BoundStreamInfo]): BoundDescription;
140
- lsl_append_child(args: [BoundDescription, string]): BoundChild;
141
- lsl_append_child_value(args: [BoundChild, string, string]): void;
142
- }
143
- export type ChannelFormat = (typeof CHANNEL_FORMATS)[number];
144
- export interface LslChannel {
145
- label: string;
146
- units: string;
147
- type: string;
148
- }
149
- export type LslSample = (number | string | undefined)[];
150
- export interface BoundStreamInfo {
151
- }
152
- export interface BoundOutlet {
153
- }
154
- export interface BoundInlet {
155
- }
156
- export interface BoundDescription {
157
- }
158
- export interface BoundChild {
159
- }