@neurodevs/node-lsl 20.0.0 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +6 -6
  2. package/build/__tests__/AbstractPackageTest.d.ts +2 -1
  3. package/build/__tests__/AbstractPackageTest.js +9 -7
  4. package/build/__tests__/AbstractPackageTest.js.map +1 -1
  5. package/build/__tests__/impl/{BleDeviceController.test.d.ts → BleGattController.test.d.ts} +3 -3
  6. package/build/__tests__/impl/{BleDeviceController.test.js → BleGattController.test.js} +65 -65
  7. package/build/__tests__/impl/BleGattController.test.js.map +1 -0
  8. package/build/__tests__/impl/BleObserverController.test.d.ts +12 -0
  9. package/build/__tests__/impl/BleObserverController.test.js +62 -0
  10. package/build/__tests__/impl/BleObserverController.test.js.map +1 -0
  11. package/build/__tests__/impl/{LslEventMarkerEmitter.test.d.ts → LslEventMarkerOutlet.test.d.ts} +3 -3
  12. package/build/__tests__/impl/{LslEventMarkerEmitter.test.js → LslEventMarkerOutlet.test.js} +35 -36
  13. package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
  14. package/build/__tests__/impl/LslJsonOutlet.test.d.ts +14 -0
  15. package/build/__tests__/impl/LslJsonOutlet.test.js +118 -0
  16. package/build/__tests__/impl/LslJsonOutlet.test.js.map +1 -0
  17. package/build/__tests__/impl/LslStreamInfo.test.js +0 -1
  18. package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
  19. package/build/__tests__/impl/LslStreamInlet.test.js +0 -1
  20. package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
  21. package/build/__tests__/impl/LslStreamOutlet.test.js +0 -1
  22. package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
  23. package/build/__tests__/impl/LslWebSocketBridge.test.js +0 -1
  24. package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
  25. package/build/__tests__/impl/UsbDeviceController.test.js.map +1 -1
  26. package/build/impl/{LslEventMarkerEmitter.d.ts → LslEventMarkerOutlet.d.ts} +6 -6
  27. package/build/impl/{LslEventMarkerEmitter.js → LslEventMarkerOutlet.js} +2 -2
  28. package/build/impl/LslEventMarkerOutlet.js.map +1 -0
  29. package/build/impl/LslJsonOutlet.d.ts +33 -0
  30. package/build/impl/LslJsonOutlet.js +44 -0
  31. package/build/impl/LslJsonOutlet.js.map +1 -0
  32. package/build/impl/LslStreamOutlet.d.ts +3 -4
  33. package/build/impl/controllers/{BleDeviceController.d.ts → BleGattController.d.ts} +10 -10
  34. package/build/impl/controllers/{BleDeviceController.js → BleGattController.js} +18 -18
  35. package/build/impl/controllers/BleGattController.js.map +1 -0
  36. package/build/impl/controllers/BleObserverController.d.ts +20 -0
  37. package/build/impl/controllers/BleObserverController.js +37 -0
  38. package/build/impl/controllers/BleObserverController.js.map +1 -0
  39. package/build/impl/controllers/UsbDeviceController.d.ts +9 -9
  40. package/build/impl/controllers/UsbDeviceController.js +7 -7
  41. package/build/impl/controllers/UsbDeviceController.js.map +1 -1
  42. package/build/index.d.ts +24 -16
  43. package/build/index.js +29 -19
  44. package/build/index.js.map +1 -1
  45. package/build/scripts/runEventMarkerOutlet.js +12 -0
  46. package/build/scripts/runEventMarkerOutlet.js.map +1 -0
  47. package/build/scripts/runMuse.js +2 -2
  48. package/build/scripts/runMuse.js.map +1 -1
  49. package/build/testDoubles/{BleController/FakeBleController.d.ts → BleGatt/FakeBleGatt.d.ts} +6 -6
  50. package/build/testDoubles/{BleController/FakeBleController.js → BleGatt/FakeBleGatt.js} +8 -8
  51. package/build/testDoubles/BleGatt/FakeBleGatt.js.map +1 -0
  52. package/build/testDoubles/{BleController/SpyBleController.d.ts → BleGatt/SpyBleGatt.d.ts} +4 -4
  53. package/build/testDoubles/{BleController/SpyBleController.js → BleGatt/SpyBleGatt.js} +3 -3
  54. package/build/testDoubles/BleGatt/SpyBleGatt.js.map +1 -0
  55. package/build/testDoubles/BleObserver/FakeBleObserver.d.ts +10 -0
  56. package/build/testDoubles/BleObserver/FakeBleObserver.js +20 -0
  57. package/build/testDoubles/BleObserver/FakeBleObserver.js.map +1 -0
  58. package/build/testDoubles/{LslEmitter/FakeLslEmitter.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +2 -2
  59. package/build/testDoubles/{LslEmitter/FakeLslEmitter.js → EventMarkerOutlet/FakeEventMarkerOutlet.js} +7 -7
  60. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
  61. package/build/testDoubles/{LslEmitter/SpyLslEmitter.d.ts → EventMarkerOutlet/SpyEventMarkerOutlet.d.ts} +3 -3
  62. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js +23 -0
  63. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
  64. package/build/testDoubles/{LslEmitter/ThrowingLslEmitter.d.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts} +2 -2
  65. package/build/testDoubles/{LslEmitter/ThrowingLslEmitter.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +2 -2
  66. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
  67. package/build/testDoubles/JsonOutlet/FakeJsonOutlet.d.ts +10 -0
  68. package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js +20 -0
  69. package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js.map +1 -0
  70. package/build/testDoubles/UsbDevice/FakeUsbDevice.d.ts +12 -0
  71. package/build/testDoubles/UsbDevice/FakeUsbDevice.js +25 -0
  72. package/build/testDoubles/UsbDevice/FakeUsbDevice.js.map +1 -0
  73. package/package.json +3 -3
  74. package/src/__tests__/AbstractPackageTest.ts +9 -7
  75. package/src/__tests__/impl/{BleDeviceController.test.ts → BleGattController.test.ts} +43 -43
  76. package/src/__tests__/impl/BleObserverController.test.ts +72 -0
  77. package/src/__tests__/impl/{LslEventMarkerEmitter.test.ts → LslEventMarkerOutlet.test.ts} +20 -19
  78. package/src/__tests__/impl/LslJsonOutlet.test.ts +135 -0
  79. package/src/__tests__/impl/LslStreamInfo.test.ts +0 -1
  80. package/src/__tests__/impl/LslStreamInlet.test.ts +0 -1
  81. package/src/__tests__/impl/LslStreamOutlet.test.ts +0 -1
  82. package/src/__tests__/impl/LslWebSocketBridge.test.ts +0 -1
  83. package/src/__tests__/impl/UsbDeviceController.test.ts +2 -2
  84. package/src/impl/{LslEventMarkerEmitter.ts → LslEventMarkerOutlet.ts} +8 -6
  85. package/src/impl/LslJsonOutlet.ts +87 -0
  86. package/src/impl/LslStreamOutlet.ts +7 -5
  87. package/src/impl/controllers/{BleDeviceController.ts → BleGattController.ts} +23 -28
  88. package/src/impl/controllers/BleObserverController.ts +62 -0
  89. package/src/impl/controllers/UsbDeviceController.ts +14 -16
  90. package/src/index.ts +40 -24
  91. package/src/scripts/{runLslEmitter.ts → runEventMarkerOutlet.ts} +5 -5
  92. package/src/scripts/runMuse.ts +2 -2
  93. package/src/testDoubles/{BleController/FakeBleController.ts → BleGatt/FakeBleGatt.ts} +14 -14
  94. package/src/testDoubles/{BleController/SpyBleController.ts → BleGatt/SpyBleGatt.ts} +5 -5
  95. package/src/testDoubles/BleObserver/FakeBleObserver.ts +28 -0
  96. package/src/testDoubles/{LslEmitter/FakeLslEmitter.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +8 -8
  97. package/src/testDoubles/{LslEmitter/SpyLslEmitter.ts → EventMarkerOutlet/SpyEventMarkerOutlet.ts} +7 -7
  98. package/src/testDoubles/{LslEmitter/ThrowingLslEmitter.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +3 -3
  99. package/src/testDoubles/JsonOutlet/FakeJsonOutlet.ts +25 -0
  100. package/src/testDoubles/UsbDevice/FakeUsbDevice.ts +34 -0
  101. package/build/__tests__/impl/BleDeviceController.test.js.map +0 -1
  102. package/build/__tests__/impl/LslEventMarkerEmitter.test.js.map +0 -1
  103. package/build/impl/LslEventMarkerEmitter.js.map +0 -1
  104. package/build/impl/controllers/BleDeviceController.js.map +0 -1
  105. package/build/scripts/runLslEmitter.js +0 -12
  106. package/build/scripts/runLslEmitter.js.map +0 -1
  107. package/build/testDoubles/BleController/FakeBleController.js.map +0 -1
  108. package/build/testDoubles/BleController/SpyBleController.js.map +0 -1
  109. package/build/testDoubles/LslEmitter/FakeLslEmitter.js.map +0 -1
  110. package/build/testDoubles/LslEmitter/SpyLslEmitter.js +0 -23
  111. package/build/testDoubles/LslEmitter/SpyLslEmitter.js.map +0 -1
  112. package/build/testDoubles/LslEmitter/ThrowingLslEmitter.js.map +0 -1
  113. package/build/testDoubles/UsbController/FakeUsbController.d.ts +0 -12
  114. package/build/testDoubles/UsbController/FakeUsbController.js +0 -25
  115. package/build/testDoubles/UsbController/FakeUsbController.js.map +0 -1
  116. package/src/testDoubles/UsbController/FakeUsbController.ts +0 -34
  117. /package/build/scripts/{runLslEmitter.d.ts → runEventMarkerOutlet.d.ts} +0 -0
@@ -0,0 +1,33 @@
1
+ import { LslOutlet } from './LslStreamOutlet.js';
2
+ export default class LslJsonOutlet implements JsonOutlet {
3
+ static Class?: JsonOutletConstructor;
4
+ static backupIdCounter: number;
5
+ private outlet;
6
+ private maxBytesPerSample?;
7
+ protected constructor(outlet: LslOutlet, maxBytesPerSample?: number);
8
+ static Create(options?: JsonOutletOptions): Promise<JsonOutlet>;
9
+ pushJson(data: Json): void;
10
+ private throwIfPayloadTooLarge;
11
+ destroy(): void;
12
+ private static LslStreamOutlet;
13
+ }
14
+ export interface JsonOutlet {
15
+ pushJson(data: Json): void;
16
+ destroy(): void;
17
+ }
18
+ export type Json = Record<string, unknown>;
19
+ export type JsonOutletConstructor = new (outlet: LslOutlet, maxBytesPerSample?: number) => JsonOutlet;
20
+ export interface JsonOutletOptions {
21
+ name?: string;
22
+ type?: string;
23
+ sourceId?: string;
24
+ channelName?: string;
25
+ sampleRateHz?: number;
26
+ chunkSize?: number;
27
+ maxBufferedMs?: number;
28
+ maxBytesPerSample?: number;
29
+ manufacturer?: string;
30
+ units?: string;
31
+ waitAfterConstructionMs?: number;
32
+ }
33
+ export type JsonOutletConstructorOptions = Omit<JsonOutletOptions, 'waitAfterConstructionMs'>;
@@ -0,0 +1,44 @@
1
+ import LslStreamOutlet from './LslStreamOutlet.js';
2
+ export default class LslJsonOutlet {
3
+ static Class;
4
+ static backupIdCounter = 0;
5
+ outlet;
6
+ maxBytesPerSample;
7
+ constructor(outlet, maxBytesPerSample) {
8
+ this.outlet = outlet;
9
+ this.maxBytesPerSample = maxBytesPerSample;
10
+ }
11
+ static async Create(options) {
12
+ const outlet = await this.LslStreamOutlet(options);
13
+ return new (this.Class ?? this)(outlet, options?.maxBytesPerSample);
14
+ }
15
+ pushJson(data) {
16
+ const json = JSON.stringify(data);
17
+ this.throwIfPayloadTooLarge(json);
18
+ this.outlet.pushSample([json]);
19
+ }
20
+ throwIfPayloadTooLarge(json) {
21
+ const totalBytes = Buffer.byteLength(json);
22
+ if (this.maxBytesPerSample && totalBytes > this.maxBytesPerSample) {
23
+ throw new Error(`Payload of ${totalBytes} bytes exceeds maxBytesPerSample of ${this.maxBytesPerSample}!`);
24
+ }
25
+ }
26
+ destroy() {
27
+ this.outlet.destroy();
28
+ }
29
+ static LslStreamOutlet(options) {
30
+ this.backupIdCounter++;
31
+ const { channelName, maxBytesPerSample: _, ...rest } = options ?? {};
32
+ return LslStreamOutlet.Create({
33
+ name: `JSON (json-${this.backupIdCounter})`,
34
+ type: 'JSON',
35
+ sourceId: `json-${this.backupIdCounter}`,
36
+ channelNames: [channelName ?? 'JSON'],
37
+ channelFormat: 'string',
38
+ sampleRateHz: 0,
39
+ chunkSize: 1,
40
+ ...rest,
41
+ });
42
+ }
43
+ }
44
+ //# sourceMappingURL=LslJsonOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LslJsonOutlet.js","sourceRoot":"","sources":["../../src/impl/LslJsonOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,eAA8B,MAAM,sBAAsB,CAAA;AAEjE,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,KAAK,CAAwB;IACpC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAA;IAEzB,MAAM,CAAW;IACjB,iBAAiB,CAAS;IAElC,YAAsB,MAAiB,EAAE,iBAA0B;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAA2B;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACvE,CAAC;IAEM,QAAQ,CAAC,IAAU;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IAEO,sBAAsB,CAAC,IAAY;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACX,cAAc,UAAU,uCAAuC,IAAI,CAAC,iBAAiB,GAAG,CAC3F,CAAA;QACL,CAAC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,OAA2B;QACtD,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEpE,OAAO,eAAe,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,cAAc,IAAI,CAAC,eAAe,GAAG;YAC3C,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,QAAQ,IAAI,CAAC,eAAe,EAAE;YACxC,YAAY,EAAE,CAAC,WAAW,IAAI,MAAM,CAAC;YACrC,aAAa,EAAE,QAAQ;YACvB,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;YACZ,GAAG,IAAI;SACV,CAAC,CAAA;IACN,CAAC"}
@@ -48,10 +48,7 @@ export interface LslOutlet {
48
48
  readonly manufacturer: string;
49
49
  }
50
50
  export type LslOutletConstructor = new (options: LslOutletOptions) => LslOutlet;
51
- export interface LslOutletOptions extends LslOutletConstructorOptions {
52
- waitAfterConstructionMs?: number;
53
- }
54
- export interface LslOutletConstructorOptions {
51
+ export interface LslOutletOptions {
55
52
  name: string;
56
53
  type: string;
57
54
  sourceId: string;
@@ -62,4 +59,6 @@ export interface LslOutletConstructorOptions {
62
59
  maxBufferedMs?: number;
63
60
  manufacturer?: string;
64
61
  units?: string;
62
+ waitAfterConstructionMs?: number;
65
63
  }
64
+ export type LslOutletConstructorOptions = Omit<LslOutletOptions, 'waitAfterConstructionMs'>;
@@ -1,6 +1,6 @@
1
1
  import { Libndx, NativePeripheral } from '@neurodevs/ndx-native';
2
- export default class BleDeviceController implements BleController {
3
- static Class?: BleControllerConstructor;
2
+ export default class BleGattController implements BleGatt {
3
+ static Class?: BleGattConstructor;
4
4
  static setTimeout: typeof setTimeout;
5
5
  static waitAfterMs: number;
6
6
  private static _ndx?;
@@ -14,15 +14,15 @@ export default class BleDeviceController implements BleController {
14
14
  private deviceNamePrefix?;
15
15
  private deviceName?;
16
16
  private onConnected?;
17
- protected constructor(options: BleControllerOptions);
18
- static Create(options: BleControllerOptions): BleDeviceController | BleController;
17
+ protected constructor(options: BleGattOptions);
18
+ static Create(options: BleGattOptions): BleGattController | BleGatt;
19
19
  connect(): Promise<void>;
20
20
  private discoverUuid;
21
21
  private waitForDiscoveredUuid;
22
- private createBleBackend;
22
+ private createBleGattBackend;
23
23
  private throwIfError;
24
- private setBleRssiInterval;
25
- private startBleBackend;
24
+ private startBleGattRssiPolling;
25
+ private startBleGattBackend;
26
26
  private waitForOnConnected;
27
27
  private waitToDiscoverServices;
28
28
  writeCharacteristic(charUuid: CharacteristicUuid, value: string): Promise<void>;
@@ -32,7 +32,7 @@ export default class BleDeviceController implements BleController {
32
32
  get name(): string;
33
33
  private get ndx();
34
34
  }
35
- export interface BleController {
35
+ export interface BleGatt {
36
36
  uuid: string;
37
37
  name: string;
38
38
  connect(): Promise<void>;
@@ -40,7 +40,7 @@ export interface BleController {
40
40
  writeCharacteristic(charUuid: CharacteristicUuid, value: string): Promise<void>;
41
41
  disconnect(): Promise<void>;
42
42
  }
43
- export type BleControllerOptions = {
43
+ export type BleGattOptions = {
44
44
  charCallbacks: CharacteristicCallbacks;
45
45
  onConnected?: (peripheral: NativePeripheral) => void;
46
46
  rssiIntervalMs?: number;
@@ -51,7 +51,7 @@ export type BleControllerOptions = {
51
51
  deviceUuid?: string;
52
52
  deviceNamePrefix: string;
53
53
  });
54
- export type BleControllerConstructor = new (options: BleControllerOptions) => BleController;
54
+ export type BleGattConstructor = new (options: BleGattOptions) => BleGatt;
55
55
  export type CharacteristicCallbacks = {
56
56
  charUuid: string;
57
57
  charName?: string;
@@ -1,5 +1,5 @@
1
1
  import { LibndxAdapter } from '@neurodevs/ndx-native';
2
- export default class BleDeviceController {
2
+ export default class BleGattController {
3
3
  static Class;
4
4
  static setTimeout = setTimeout;
5
5
  static waitAfterMs = 1000;
@@ -36,11 +36,11 @@ export default class BleDeviceController {
36
36
  if (!this.deviceUuid) {
37
37
  await this.discoverUuid();
38
38
  }
39
- this.createBleBackend();
40
- this.startBleBackend();
39
+ this.createBleGattBackend();
40
+ this.startBleGattBackend();
41
41
  await this.waitForOnConnected();
42
42
  await this.waitToDiscoverServices();
43
- this.setBleRssiInterval();
43
+ this.startBleGattRssiPolling();
44
44
  }
45
45
  async discoverUuid() {
46
46
  const { status, error } = this.ndx.discoverBleUuid({
@@ -59,14 +59,14 @@ export default class BleDeviceController {
59
59
  resolve();
60
60
  }
61
61
  else {
62
- BleDeviceController.setTimeout(checkDiscovered, 100);
62
+ BleGattController.setTimeout(checkDiscovered, 100);
63
63
  }
64
64
  };
65
65
  checkDiscovered();
66
66
  });
67
67
  }
68
- createBleBackend() {
69
- const { status, error } = this.ndx.createBleBackend({
68
+ createBleGattBackend() {
69
+ const { status, error } = this.ndx.createBleGattBackend({
70
70
  deviceUuid: this.uuid,
71
71
  });
72
72
  this.throwIfError(status, error);
@@ -76,9 +76,9 @@ export default class BleDeviceController {
76
76
  throw new Error(`${status} error: ${error ?? 'Unknown error'}`);
77
77
  }
78
78
  }
79
- setBleRssiInterval() {
79
+ startBleGattRssiPolling() {
80
80
  if (this.rssiIntervalMs) {
81
- this.ndx.setBleRssiInterval({
81
+ this.ndx.startBleGattRssiPolling({
82
82
  deviceUuid: this.uuid,
83
83
  intervalMs: this.rssiIntervalMs,
84
84
  onRssi: (rssi) => {
@@ -87,8 +87,8 @@ export default class BleDeviceController {
87
87
  });
88
88
  }
89
89
  }
90
- startBleBackend() {
91
- const { status, error } = this.ndx.startBleBackend({
90
+ startBleGattBackend() {
91
+ const { status, error } = this.ndx.startBleGattBackend({
92
92
  deviceUuid: this.uuid,
93
93
  onConnected: (peripheral) => {
94
94
  const { name } = peripheral;
@@ -108,17 +108,17 @@ export default class BleDeviceController {
108
108
  resolve();
109
109
  }
110
110
  else {
111
- BleDeviceController.setTimeout(checkConnected, 100);
111
+ BleGattController.setTimeout(checkConnected, 100);
112
112
  }
113
113
  };
114
114
  checkConnected();
115
115
  });
116
116
  }
117
117
  async waitToDiscoverServices() {
118
- await new Promise((resolve) => BleDeviceController.setTimeout(resolve, BleDeviceController.waitAfterMs));
118
+ await new Promise((resolve) => BleGattController.setTimeout(resolve, BleGattController.waitAfterMs));
119
119
  }
120
120
  async writeCharacteristic(charUuid, value) {
121
- const { status, error } = this.ndx.writeBleCharacteristic({
121
+ const { status, error } = this.ndx.writeBleGattChar({
122
122
  deviceUuid: this.uuid,
123
123
  charUuid,
124
124
  value,
@@ -126,7 +126,7 @@ export default class BleDeviceController {
126
126
  this.throwIfError(status, error);
127
127
  }
128
128
  async subscribeCharacteristics(charCallbacks) {
129
- const { status, error } = this.ndx.addBleCharCallbacks({
129
+ const { status, error } = this.ndx.registerBleGattCharCallbacks({
130
130
  deviceUuid: this.uuid,
131
131
  charCallbacks,
132
132
  });
@@ -134,7 +134,7 @@ export default class BleDeviceController {
134
134
  this.charCallbacks = [...this.charCallbacks, ...charCallbacks];
135
135
  }
136
136
  async disconnect() {
137
- const { status, error } = this.ndx.stopBleBackend({
137
+ const { status, error } = this.ndx.stopBleGattBackend({
138
138
  deviceUuid: this.uuid,
139
139
  });
140
140
  this.throwIfError(status, error);
@@ -147,7 +147,7 @@ export default class BleDeviceController {
147
147
  return this.deviceName ?? 'N/A';
148
148
  }
149
149
  get ndx() {
150
- return BleDeviceController.ndx;
150
+ return BleGattController.ndx;
151
151
  }
152
152
  }
153
- //# sourceMappingURL=BleDeviceController.js.map
153
+ //# sourceMappingURL=BleGattController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BleGattController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleGattController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export default class BleObserverController implements BleObserver {
2
+ static Class?: BleObserverConstructor;
3
+ private readonly deviceUuid;
4
+ private readonly ndx;
5
+ protected constructor(options: BleObserverOptions);
6
+ static Create(options: BleObserverOptions): BleObserver;
7
+ startObserving(): Promise<void>;
8
+ private createBleObserverBackend;
9
+ private startBleObserverBackend;
10
+ stopObserving(): Promise<void>;
11
+ private stopBleObserverBackend;
12
+ }
13
+ export interface BleObserver {
14
+ startObserving(): Promise<void>;
15
+ stopObserving(): Promise<void>;
16
+ }
17
+ export type BleObserverConstructor = new (options: BleObserverOptions) => BleObserver;
18
+ export type BleObserverOptions = {
19
+ deviceUuid: string;
20
+ };
@@ -0,0 +1,37 @@
1
+ import { LibndxAdapter } from '@neurodevs/ndx-native';
2
+ export default class BleObserverController {
3
+ static Class;
4
+ deviceUuid;
5
+ ndx = LibndxAdapter.getInstance();
6
+ constructor(options) {
7
+ const { deviceUuid } = options;
8
+ this.deviceUuid = deviceUuid ?? '';
9
+ }
10
+ static Create(options) {
11
+ return new (this.Class ?? this)(options);
12
+ }
13
+ async startObserving() {
14
+ this.createBleObserverBackend();
15
+ this.startBleObserverBackend();
16
+ }
17
+ createBleObserverBackend() {
18
+ this.ndx.createBleObserverBackend({
19
+ deviceUuid: this.deviceUuid,
20
+ });
21
+ }
22
+ startBleObserverBackend() {
23
+ this.ndx.startBleObserverBackend({
24
+ deviceUuid: this.deviceUuid,
25
+ onAdvertisement: (_data, _length, _timestampSec) => { },
26
+ });
27
+ }
28
+ async stopObserving() {
29
+ this.stopBleObserverBackend();
30
+ }
31
+ stopBleObserverBackend() {
32
+ this.ndx.stopBleObserverBackend({
33
+ deviceUuid: this.deviceUuid,
34
+ });
35
+ }
36
+ }
37
+ //# sourceMappingURL=BleObserverController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BleObserverController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleObserverController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAC/B,MAAM,CAAC,KAAK,CAAyB;IAE3B,UAAU,CAAQ;IAClB,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAElD,YAAsB,OAA2B;QAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAE9B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAA;IACtC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA2B;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,uBAAuB,EAAE,CAAA;IAClC,CAAC;IAEO,wBAAwB;QAC5B,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,CACb,KAAa,EACb,OAAe,EACf,aAAqB,EACvB,EAAE,GAAE,CAAC;SACV,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAA;IACjC,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;CACJ"}
@@ -1,23 +1,23 @@
1
- export default class UsbDeviceController implements UsbController {
2
- static Class?: UsbControllerConstructor;
1
+ export default class UsbDeviceController implements UsbDevice {
2
+ static Class?: UsbDeviceConstructor;
3
3
  private onData;
4
4
  private serialNumber;
5
5
  private ndx;
6
- protected constructor(options: UsbControllerOptions);
7
- static Create(options: UsbControllerOptions): UsbController;
6
+ protected constructor(options: UsbDeviceOptions);
7
+ static Create(options: UsbDeviceOptions): UsbDevice;
8
8
  connect(): Promise<void>;
9
- private get usbControllerOptions();
10
- private get startUsbControllerOptions();
9
+ private get usbDeviceOptions();
10
+ private get startUsbDeviceOptions();
11
11
  writeUsb(value: string): Promise<void>;
12
12
  disconnect(): Promise<void>;
13
13
  }
14
- export interface UsbController {
14
+ export interface UsbDevice {
15
15
  connect(): Promise<void>;
16
16
  writeUsb(value: string): Promise<void>;
17
17
  disconnect(): Promise<void>;
18
18
  }
19
- export interface UsbControllerOptions {
19
+ export interface UsbDeviceOptions {
20
20
  onData: (data: Buffer, length: number, timestampSec: number) => void;
21
21
  serialNumber?: string;
22
22
  }
23
- export type UsbControllerConstructor = new (options?: UsbControllerOptions) => UsbController;
23
+ export type UsbDeviceConstructor = new (options?: UsbDeviceOptions) => UsbDevice;
@@ -13,28 +13,28 @@ export default class UsbDeviceController {
13
13
  return new (this.Class ?? this)(options);
14
14
  }
15
15
  async connect() {
16
- this.ndx.createUsbBackend(this.usbControllerOptions);
17
- this.ndx.startUsbBackend(this.startUsbControllerOptions);
16
+ this.ndx.createUsbBackend(this.usbDeviceOptions);
17
+ this.ndx.startUsbBackend(this.startUsbDeviceOptions);
18
18
  }
19
- get usbControllerOptions() {
19
+ get usbDeviceOptions() {
20
20
  return {
21
21
  serialNumber: this.serialNumber,
22
22
  };
23
23
  }
24
- get startUsbControllerOptions() {
24
+ get startUsbDeviceOptions() {
25
25
  return {
26
- ...this.usbControllerOptions,
26
+ ...this.usbDeviceOptions,
27
27
  onData: this.onData,
28
28
  };
29
29
  }
30
30
  async writeUsb(value) {
31
31
  this.ndx.writeUsbBackend({
32
- ...this.usbControllerOptions,
32
+ ...this.usbDeviceOptions,
33
33
  value,
34
34
  });
35
35
  }
36
36
  async disconnect() {
37
- this.ndx.stopUsbBackend(this.usbControllerOptions);
37
+ this.ndx.stopUsbBackend(this.usbDeviceOptions);
38
38
  }
39
39
  }
40
40
  //# sourceMappingURL=UsbDeviceController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UsbDeviceController.js","sourceRoot":"","sources":["../../../src/impl/controllers/UsbDeviceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC7B,MAAM,CAAC,KAAK,CAA2B;IAEtC,MAAM,CAA8D;IACpE,YAAY,CAAQ;IAEpB,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAEzC,YAAsB,OAA6B;QAC/C,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAE9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA6B;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACpD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAC5D,CAAC;IAED,IAAY,oBAAoB;QAC5B,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAA;IACL,CAAC;IAED,IAAY,yBAAyB;QACjC,OAAO;YACH,GAAG,IAAI,CAAC,oBAAoB;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC/B,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YACrB,GAAG,IAAI,CAAC,oBAAoB;YAC5B,KAAK;SACR,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IACtD,CAAC;CACJ"}
1
+ {"version":3,"file":"UsbDeviceController.js","sourceRoot":"","sources":["../../../src/impl/controllers/UsbDeviceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC7B,MAAM,CAAC,KAAK,CAAuB;IAElC,MAAM,CAA8D;IACpE,YAAY,CAAQ;IAEpB,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAEzC,YAAsB,OAAyB;QAC3C,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAE9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAAyB;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAChD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACxD,CAAC;IAED,IAAY,gBAAgB;QACxB,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAA;IACL,CAAC;IAED,IAAY,qBAAqB;QAC7B,OAAO;YACH,GAAG,IAAI,CAAC,gBAAgB;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC/B,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YACrB,GAAG,IAAI,CAAC,gBAAgB;YACxB,KAAK;SACR,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAClD,CAAC;CACJ"}
package/build/index.d.ts CHANGED
@@ -1,27 +1,35 @@
1
+ export { default as BleObserverController } from './impl/controllers/BleObserverController.js';
2
+ export * from './impl/controllers/BleObserverController.js';
3
+ export { default as FakeBleObserver } from './testDoubles/BleObserver/FakeBleObserver.js';
4
+ export * from './testDoubles/BleObserver/FakeBleObserver.js';
1
5
  export { default as WindowedClockRegressor } from './impl/clocks/WindowedClockRegressor.js';
2
6
  export * from './impl/clocks/WindowedClockRegressor.js';
3
7
  export { default as FakeClockRegressor } from './testDoubles/ClockRegressor/FakeClockRegressor.js';
4
8
  export * from './testDoubles/ClockRegressor/FakeClockRegressor.js';
5
- export { default as BleDeviceController } from './impl/controllers/BleDeviceController.js';
6
- export * from './impl/controllers/BleDeviceController.js';
7
- export { default as SpyBleController } from './testDoubles/BleController/SpyBleController.js';
8
- export * from './testDoubles/BleController/SpyBleController.js';
9
- export { default as FakeBleController } from './testDoubles/BleController/FakeBleController.js';
10
- export * from './testDoubles/BleController/FakeBleController.js';
9
+ export { default as BleGattController } from './impl/controllers/BleGattController.js';
10
+ export * from './impl/controllers/BleGattController.js';
11
+ export { default as SpyBleGatt } from './testDoubles/BleGatt/SpyBleGatt.js';
12
+ export * from './testDoubles/BleGatt/SpyBleGatt.js';
13
+ export { default as FakeBleGatt } from './testDoubles/BleGatt/FakeBleGatt.js';
14
+ export * from './testDoubles/BleGatt/FakeBleGatt.js';
15
+ export { default as LslEventMarkerOutlet } from './impl/LslEventMarkerOutlet.js';
16
+ export * from './impl/LslEventMarkerOutlet.js';
17
+ export { default as SpyEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
18
+ export * from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
19
+ export { default as FakeEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
20
+ export * from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
21
+ export { default as ThrowingEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
22
+ export * from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
23
+ export { default as LslJsonOutlet } from './impl/LslJsonOutlet.js';
24
+ export * from './impl/LslJsonOutlet.js';
25
+ export { default as FakeJsonOutlet } from './testDoubles/JsonOutlet/FakeJsonOutlet.js';
26
+ export * from './testDoubles/JsonOutlet/FakeJsonOutlet.js';
11
27
  export { default as LslWebSocketBridge } from './impl/LslWebSocketBridge.js';
12
28
  export * from './impl/LslWebSocketBridge.js';
13
29
  export { default as SpyLslWsBridge } from './testDoubles/LslWsBridge/SpyLslWsBridge.js';
14
30
  export * from './testDoubles/LslWsBridge/SpyLslWsBridge.js';
15
31
  export { default as FakeLslWsBridge } from './testDoubles/LslWsBridge/FakeLslWsBridge.js';
16
32
  export * from './testDoubles/LslWsBridge/FakeLslWsBridge.js';
17
- export { default as LslEventMarkerEmitter } from './impl/LslEventMarkerEmitter.js';
18
- export * from './impl/LslEventMarkerEmitter.js';
19
- export { default as SpyLslEmitter } from './testDoubles/LslEmitter/SpyLslEmitter.js';
20
- export * from './testDoubles/LslEmitter/SpyLslEmitter.js';
21
- export { default as FakeLslEmitter } from './testDoubles/LslEmitter/FakeLslEmitter.js';
22
- export * from './testDoubles/LslEmitter/FakeLslEmitter.js';
23
- export { default as ThrowingLslEmitter } from './testDoubles/LslEmitter/ThrowingLslEmitter.js';
24
- export * from './testDoubles/LslEmitter/ThrowingLslEmitter.js';
25
33
  export { default as LslStreamInfo } from './impl/LslStreamInfo.js';
26
34
  export * from './impl/LslStreamInfo.js';
27
35
  export { default as SpyLslInfo } from './testDoubles/LslInfo/SpyLslInfo.js';
@@ -41,8 +49,8 @@ export * from './testDoubles/LslOutlet/FakeLslOutlet.js';
41
49
  export { default as generateRandomOutletOptions } from './testDoubles/generateRandomOutletOptions.js';
42
50
  export { default as UsbDeviceController } from './impl/controllers/UsbDeviceController.js';
43
51
  export * from './impl/controllers/UsbDeviceController.js';
44
- export { default as FakeUsbController } from './testDoubles/UsbController/FakeUsbController.js';
45
- export * from './testDoubles/UsbController/FakeUsbController.js';
52
+ export { default as FakeUsbDevice } from './testDoubles/UsbDevice/FakeUsbDevice.js';
53
+ export * from './testDoubles/UsbDevice/FakeUsbDevice.js';
46
54
  export { default as FakeWebSocket } from './testDoubles/WebSockets/FakeWebSocket.js';
47
55
  export * from './testDoubles/WebSockets/FakeWebSocket.js';
48
56
  export { default as FakeWebSocketServer } from './testDoubles/WebSockets/FakeWebSocketServer.js';
package/build/index.js CHANGED
@@ -1,15 +1,34 @@
1
+ // BleObserver
2
+ export { default as BleObserverController } from './impl/controllers/BleObserverController.js';
3
+ export * from './impl/controllers/BleObserverController.js';
4
+ export { default as FakeBleObserver } from './testDoubles/BleObserver/FakeBleObserver.js';
5
+ export * from './testDoubles/BleObserver/FakeBleObserver.js';
1
6
  // ClockRegressor
2
7
  export { default as WindowedClockRegressor } from './impl/clocks/WindowedClockRegressor.js';
3
8
  export * from './impl/clocks/WindowedClockRegressor.js';
4
9
  export { default as FakeClockRegressor } from './testDoubles/ClockRegressor/FakeClockRegressor.js';
5
10
  export * from './testDoubles/ClockRegressor/FakeClockRegressor.js';
6
- // DeviceController
7
- export { default as BleDeviceController } from './impl/controllers/BleDeviceController.js';
8
- export * from './impl/controllers/BleDeviceController.js';
9
- export { default as SpyBleController } from './testDoubles/BleController/SpyBleController.js';
10
- export * from './testDoubles/BleController/SpyBleController.js';
11
- export { default as FakeBleController } from './testDoubles/BleController/FakeBleController.js';
12
- export * from './testDoubles/BleController/FakeBleController.js';
11
+ // BleGatt
12
+ export { default as BleGattController } from './impl/controllers/BleGattController.js';
13
+ export * from './impl/controllers/BleGattController.js';
14
+ export { default as SpyBleGatt } from './testDoubles/BleGatt/SpyBleGatt.js';
15
+ export * from './testDoubles/BleGatt/SpyBleGatt.js';
16
+ export { default as FakeBleGatt } from './testDoubles/BleGatt/FakeBleGatt.js';
17
+ export * from './testDoubles/BleGatt/FakeBleGatt.js';
18
+ // EventMarkerOutlet
19
+ export { default as LslEventMarkerOutlet } from './impl/LslEventMarkerOutlet.js';
20
+ export * from './impl/LslEventMarkerOutlet.js';
21
+ export { default as SpyEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
22
+ export * from './testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
23
+ export { default as FakeEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
24
+ export * from './testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js';
25
+ export { default as ThrowingEventMarkerOutlet } from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
26
+ export * from './testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js';
27
+ // JsonOutlet
28
+ export { default as LslJsonOutlet } from './impl/LslJsonOutlet.js';
29
+ export * from './impl/LslJsonOutlet.js';
30
+ export { default as FakeJsonOutlet } from './testDoubles/JsonOutlet/FakeJsonOutlet.js';
31
+ export * from './testDoubles/JsonOutlet/FakeJsonOutlet.js';
13
32
  // LslWsBridge
14
33
  export { default as LslWebSocketBridge } from './impl/LslWebSocketBridge.js';
15
34
  export * from './impl/LslWebSocketBridge.js';
@@ -17,15 +36,6 @@ export { default as SpyLslWsBridge } from './testDoubles/LslWsBridge/SpyLslWsBri
17
36
  export * from './testDoubles/LslWsBridge/SpyLslWsBridge.js';
18
37
  export { default as FakeLslWsBridge } from './testDoubles/LslWsBridge/FakeLslWsBridge.js';
19
38
  export * from './testDoubles/LslWsBridge/FakeLslWsBridge.js';
20
- // LslEmitter
21
- export { default as LslEventMarkerEmitter } from './impl/LslEventMarkerEmitter.js';
22
- export * from './impl/LslEventMarkerEmitter.js';
23
- export { default as SpyLslEmitter } from './testDoubles/LslEmitter/SpyLslEmitter.js';
24
- export * from './testDoubles/LslEmitter/SpyLslEmitter.js';
25
- export { default as FakeLslEmitter } from './testDoubles/LslEmitter/FakeLslEmitter.js';
26
- export * from './testDoubles/LslEmitter/FakeLslEmitter.js';
27
- export { default as ThrowingLslEmitter } from './testDoubles/LslEmitter/ThrowingLslEmitter.js';
28
- export * from './testDoubles/LslEmitter/ThrowingLslEmitter.js';
29
39
  // LslInfo
30
40
  export { default as LslStreamInfo } from './impl/LslStreamInfo.js';
31
41
  export * from './impl/LslStreamInfo.js';
@@ -46,11 +56,11 @@ export * from './impl/LslStreamOutlet.js';
46
56
  export { default as FakeLslOutlet } from './testDoubles/LslOutlet/FakeLslOutlet.js';
47
57
  export * from './testDoubles/LslOutlet/FakeLslOutlet.js';
48
58
  export { default as generateRandomOutletOptions } from './testDoubles/generateRandomOutletOptions.js';
49
- // UsbController
59
+ // UsbDevice
50
60
  export { default as UsbDeviceController } from './impl/controllers/UsbDeviceController.js';
51
61
  export * from './impl/controllers/UsbDeviceController.js';
52
- export { default as FakeUsbController } from './testDoubles/UsbController/FakeUsbController.js';
53
- export * from './testDoubles/UsbController/FakeUsbController.js';
62
+ export { default as FakeUsbDevice } from './testDoubles/UsbDevice/FakeUsbDevice.js';
63
+ export * from './testDoubles/UsbDevice/FakeUsbDevice.js';
54
64
  // WebSockets
55
65
  export { default as FakeWebSocket } from './testDoubles/WebSockets/FakeWebSocket.js';
56
66
  export * from './testDoubles/WebSockets/FakeWebSocket.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AAEjB,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAC3F,cAAc,yCAAyC,CAAA;AAEvD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oDAAoD,CAAA;AAClG,cAAc,oDAAoD,CAAA;AAElE,mBAAmB;AAEnB,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC1F,cAAc,2CAA2C,CAAA;AAEzD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAC7F,cAAc,iDAAiD,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AAC/F,cAAc,kDAAkD,CAAA;AAEhE,cAAc;AAEd,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,cAAc,8BAA8B,CAAA;AAE5C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6CAA6C,CAAA;AACvF,cAAc,6CAA6C,CAAA;AAE3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8CAA8C,CAAA;AACzF,cAAc,8CAA8C,CAAA;AAE5D,aAAa;AAEb,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAClF,cAAc,iCAAiC,CAAA;AAE/C,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,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AAC9F,cAAc,gDAAgD,CAAA;AAE9D,UAAU;AAEV,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAC3E,cAAc,qCAAqC,CAAA;AAEnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC7E,cAAc,sCAAsC,CAAA;AAEpD,WAAW;AAEX,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACpE,cAAc,0BAA0B,CAAA;AAExC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAC9E,cAAc,uCAAuC,CAAA;AAErD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAChF,cAAc,wCAAwC,CAAA;AAEtD,YAAY;AAEZ,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACtE,cAAc,2BAA2B,CAAA;AAEzC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0CAA0C,CAAA;AACnF,cAAc,0CAA0C,CAAA;AAExD,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,8CAA8C,CAAA;AAErG,gBAAgB;AAEhB,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC1F,cAAc,2CAA2C,CAAA;AAEzD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AAC/F,cAAc,kDAAkD,CAAA;AAEhE,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":"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"}
@@ -0,0 +1,12 @@
1
+ import LslEventMarkerOutlet from '../impl/LslEventMarkerOutlet.js';
2
+ const outlet = await LslEventMarkerOutlet.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
+ outlet.destroy();
12
+ //# sourceMappingURL=runEventMarkerOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runEventMarkerOutlet.js","sourceRoot":"","sources":["../../src/scripts/runEventMarkerOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,iCAAiC,CAAA;AAElE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,CAAA;AAElD,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;AAClB,MAAM,CAAC,OAAO,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import koffi from 'koffi';
2
- import BleDeviceController from '../impl/controllers/BleDeviceController.js';
2
+ import BleGattController from '../impl/controllers/BleGattController.js';
3
3
  const MUSE_CHARACTERISTIC_UUIDS = {
4
4
  CONTROL: '273E0001-4C4D-454D-96BE-F03BAC821358',
5
5
  TELEMETRY: '273E000B-4C4D-454D-96BE-F03BAC821358',
@@ -25,7 +25,7 @@ const charCallbacks = Object.entries(MUSE_CHARACTERISTIC_UUIDS).map(([name, uuid
25
25
  },
26
26
  };
27
27
  });
28
- const muse = BleDeviceController.Create({
28
+ const muse = BleGattController.Create({
29
29
  deviceUuid: 'CA6A61B7-B7A8-AF24-3C9E-04A6A5012554',
30
30
  charCallbacks,
31
31
  rssiIntervalMs: 1000,
@@ -1 +1 @@
1
- {"version":3,"file":"runMuse.js","sourceRoot":"","sources":["../../src/scripts/runMuse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,mBAAmB,MAAM,4CAA4C,CAAA;AAE5E,MAAM,yBAAyB,GAA2B;IACtD,OAAO,EAAE,sCAAsC;IAC/C,SAAS,EAAE,sCAAsC;IACjD,SAAS,EAAE,sCAAsC;IACjD,aAAa,EAAE,sCAAsC;IACrD,WAAW,EAAE,sCAAsC;IACnD,YAAY,EAAE,sCAAsC;IACpD,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,QAAQ,EAAE,sCAAsC;IAChD,OAAO,EAAE,sCAAsC;CAClD,CAAA;AAED,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAA;AAEzD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAC/D,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;IACb,OAAO;QACH,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,YAAoB,EAAE,EAAE;YAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAa,CAAA;YAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,YAAY,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;QAC7D,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA;AAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACpC,UAAU,EAAE,sCAAsC;IAClD,aAAa;IACb,cAAc,EAAE,IAAI;CACvB,CAAC,CAAA;AAEF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;AAEpB,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACjD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;AAE7D,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"runMuse.js","sourceRoot":"","sources":["../../src/scripts/runMuse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,iBAAiB,MAAM,0CAA0C,CAAA;AAExE,MAAM,yBAAyB,GAA2B;IACtD,OAAO,EAAE,sCAAsC;IAC/C,SAAS,EAAE,sCAAsC;IACjD,SAAS,EAAE,sCAAsC;IACjD,aAAa,EAAE,sCAAsC;IACrD,WAAW,EAAE,sCAAsC;IACnD,YAAY,EAAE,sCAAsC;IACpD,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,QAAQ,EAAE,sCAAsC;IAChD,OAAO,EAAE,sCAAsC;CAClD,CAAA;AAED,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAA;AAEzD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAC/D,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;IACb,OAAO;QACH,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,YAAoB,EAAE,EAAE;YAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAa,CAAA;YAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,YAAY,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;QAC7D,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA;AAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,sCAAsC;IAClD,aAAa;IACb,cAAc,EAAE,IAAI;CACvB,CAAC,CAAA;AAEF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;AAEpB,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACjD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;AAE7D,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA"}