@neurodevs/node-lsl 23.1.2 → 23.2.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.
@@ -16,6 +16,7 @@ export default class AbstractPackageTest extends AbstractModuleTest {
16
16
  protected static readonly chunkSize: number;
17
17
  protected static readonly sampleRateHz: number;
18
18
  protected static readonly maxBufferedMs: number;
19
+ protected static readonly tooManyParamsError = "Cannot pass both deviceUuid and deviceNamePrefix! Please pass only one.";
19
20
  protected static beforeEach(): Promise<void>;
20
21
  protected static setFakeLiblsl(): void;
21
22
  protected static callsToSetTimeout: number[];
@@ -34,6 +34,7 @@ export default class AbstractPackageTest extends AbstractModuleTest {
34
34
  static chunkSize = randomInt(2, 100);
35
35
  static sampleRateHz = Math.floor(Math.random() * 100);
36
36
  static maxBufferedMs = Math.floor(Math.random() * 1000);
37
+ static tooManyParamsError = `Cannot pass both deviceUuid and deviceNamePrefix! Please pass only one.`;
37
38
  static async beforeEach() {
38
39
  await super.beforeEach();
39
40
  this.setImmediateTimeouts();
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
22
22
  protected static connectCallsLibndxCreateBleBackend(): Promise<void>;
23
23
  protected static discoversUuidWhenDeviceUuidNotProvided(): Promise<void>;
24
24
  protected static doesNotDiscoverUuidWhenDeviceUuidProvided(): Promise<void>;
25
+ protected static throwsWhenBothUuidAndNamePrefixProvided(): Promise<void>;
25
26
  protected static usesDiscoveredUuidToCreateBleBackend(): Promise<void>;
26
27
  protected static usesDiscoveredUuidToStartBleBackend(): Promise<void>;
27
28
  protected static exposesDiscoveredUuid(): Promise<void>;
@@ -79,6 +79,12 @@ export default class BleGattControllerTest extends AbstractPackageTest {
79
79
  await this.connect();
80
80
  assert.isEqual(FakeLibndx.callsToDiscoverBleUuid.length, 0, 'Should not call discoverBleUuid when deviceUuid is provided!');
81
81
  }
82
+ static async throwsWhenBothUuidAndNamePrefixProvided() {
83
+ assert.doesThrow(() => this.BleGattController({
84
+ deviceUuid: this.uuid,
85
+ deviceNamePrefix: this.namePrefix,
86
+ }), this.tooManyParamsError, 'Did not throw when both uuid and name prefix were provided!');
87
+ }
82
88
  static async usesDiscoveredUuidToCreateBleBackend() {
83
89
  const instance = this.BleGattControllerWithPrefix();
84
90
  await this.connectWithDiscovery(instance);
@@ -300,6 +306,9 @@ __decorate([
300
306
  __decorate([
301
307
  test()
302
308
  ], BleGattControllerTest, "doesNotDiscoverUuidWhenDeviceUuidProvided", null);
309
+ __decorate([
310
+ test()
311
+ ], BleGattControllerTest, "throwsWhenBothUuidAndNamePrefixProvided", null);
303
312
  __decorate([
304
313
  test()
305
314
  ], BleGattControllerTest, "usesDiscoveredUuidToCreateBleBackend", null);
@@ -1 +1 @@
1
- {"version":3,"file":"BleGattController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleGattController.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BleGattController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleGattController.test.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
3
3
  private static instance;
4
4
  private static passedAdvertisements;
5
5
  private static readonly fakeError;
6
+ private static readonly namePrefix;
7
+ private static readonly discoveredUuid;
6
8
  private static readonly advertisement;
7
9
  protected static beforeEach(): Promise<void>;
8
10
  protected static createsInstance(): Promise<void>;
@@ -10,11 +12,20 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
10
12
  protected static startObservingStartsBleObserverBackend(): Promise<void>;
11
13
  protected static passesExpectedArgsToOnAdvertisement(): Promise<void>;
12
14
  protected static stopObservingStopsBleObserverBackend(): Promise<void>;
15
+ protected static discoversUuidByNamePrefixWhenUuidNotProvided(): Promise<void>;
16
+ protected static doesNotDiscoverUuidWhenUuidProvided(): Promise<void>;
17
+ protected static throwsWhenBothUuidAndNamePrefixProvided(): Promise<void>;
18
+ protected static waitsForDiscoveredUuidBeforeCreatingBackend(): Promise<void>;
19
+ protected static observesDeviceWithDiscoveredUuid(): Promise<void>;
20
+ protected static stopsObservingDeviceWithDiscoveredUuid(): Promise<void>;
21
+ protected static startObservingThrowsWhenDiscoveryFails(): Promise<void>;
13
22
  protected static createBleObserverBackendThrowsOnError(): Promise<void>;
14
23
  protected static startObservingThrowsOnError(): Promise<void>;
15
24
  protected static stopObservingThrowsOnError(): Promise<void>;
16
- private static setFakeErrorResult;
17
25
  private static startObserving;
18
26
  private static stopObserving;
27
+ private static startObservingWithDiscovery;
28
+ private static setFakeErrorResult;
29
+ private static BleObserverWithNamePrefix;
19
30
  private static BleObserverController;
20
31
  }
@@ -13,6 +13,8 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
13
13
  static instance;
14
14
  static passedAdvertisements;
15
15
  static fakeError = this.generateId();
16
+ static namePrefix = this.generateId();
17
+ static discoveredUuid = this.generateId();
16
18
  static advertisement = {
17
19
  localName: this.generateId(),
18
20
  companyId: randomInt(0, 65535),
@@ -55,6 +57,43 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
55
57
  deviceUuid: this.deviceUuid,
56
58
  });
57
59
  }
60
+ static async discoversUuidByNamePrefixWhenUuidNotProvided() {
61
+ const observer = this.BleObserverWithNamePrefix();
62
+ void observer.startObserving();
63
+ assert.isEqual(FakeLibndx.callsToDiscoverBleUuid[0]?.namePrefix, this.namePrefix, 'Did not discover uuid by name prefix!');
64
+ }
65
+ static async doesNotDiscoverUuidWhenUuidProvided() {
66
+ await this.startObserving();
67
+ assert.isLength(FakeLibndx.callsToDiscoverBleUuid, 0, 'Should not discover uuid when uuid is provided!');
68
+ }
69
+ static async throwsWhenBothUuidAndNamePrefixProvided() {
70
+ assert.doesThrow(() => BleObserverController.Create({
71
+ deviceUuid: this.deviceUuid,
72
+ deviceNamePrefix: this.namePrefix,
73
+ }), this.tooManyParamsError, 'Did not throw when both uuid and name prefix were provided!');
74
+ }
75
+ static async waitsForDiscoveredUuidBeforeCreatingBackend() {
76
+ const observer = this.BleObserverWithNamePrefix();
77
+ void observer.startObserving();
78
+ await this.wait(1);
79
+ assert.isLength(FakeLibndx.callsToCreateBleObserver, 0, 'Created backend before uuid was discovered!');
80
+ }
81
+ static async observesDeviceWithDiscoveredUuid() {
82
+ await this.startObservingWithDiscovery();
83
+ assert.isEqualDeep({
84
+ created: FakeLibndx.callsToCreateBleObserver[0]?.deviceUuid,
85
+ started: FakeLibndx.callsToStartBleObserver[0]?.deviceUuid,
86
+ }, { created: this.discoveredUuid, started: this.discoveredUuid }, 'Did not observe device with discovered uuid!');
87
+ }
88
+ static async stopsObservingDeviceWithDiscoveredUuid() {
89
+ const observer = await this.startObservingWithDiscovery();
90
+ await observer.stopObserving();
91
+ assert.isEqualDeep(FakeLibndx.callsToStopBleObserver[0], { deviceUuid: this.discoveredUuid }, 'Did not stop observing device with discovered uuid!');
92
+ }
93
+ static async startObservingThrowsWhenDiscoveryFails() {
94
+ this.setFakeErrorResult();
95
+ await assert.doesThrowAsync(async () => await this.BleObserverWithNamePrefix().startObserving(), this.fakeError, 'Did not throw when discovery failed!');
96
+ }
58
97
  static async createBleObserverBackendThrowsOnError() {
59
98
  this.setFakeErrorResult();
60
99
  //@ts-ignore
@@ -69,17 +108,29 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
69
108
  this.setFakeErrorResult();
70
109
  await assert.doesThrowAsync(async () => await this.stopObserving(), this.fakeError, 'Did not throw error!');
71
110
  }
111
+ static async startObserving() {
112
+ await this.instance.startObserving();
113
+ }
114
+ static async stopObserving() {
115
+ await this.instance.stopObserving();
116
+ }
117
+ static async startObservingWithDiscovery() {
118
+ const observer = this.BleObserverWithNamePrefix();
119
+ const promise = observer.startObserving();
120
+ FakeLibndx.callsToDiscoverBleUuid[0]?.onDiscovered(this.discoveredUuid);
121
+ await promise;
122
+ return observer;
123
+ }
72
124
  static setFakeErrorResult() {
73
125
  FakeLibndx.fakeResult = {
74
126
  status: 400,
75
127
  error: this.fakeError,
76
128
  };
77
129
  }
78
- static async startObserving() {
79
- await this.instance.startObserving();
80
- }
81
- static async stopObserving() {
82
- await this.instance.stopObserving();
130
+ static BleObserverWithNamePrefix() {
131
+ return BleObserverController.Create({
132
+ deviceNamePrefix: this.namePrefix,
133
+ });
83
134
  }
84
135
  static BleObserverController() {
85
136
  return BleObserverController.Create({
@@ -105,6 +156,27 @@ __decorate([
105
156
  __decorate([
106
157
  test()
107
158
  ], BleObserverControllerTest, "stopObservingStopsBleObserverBackend", null);
159
+ __decorate([
160
+ test()
161
+ ], BleObserverControllerTest, "discoversUuidByNamePrefixWhenUuidNotProvided", null);
162
+ __decorate([
163
+ test()
164
+ ], BleObserverControllerTest, "doesNotDiscoverUuidWhenUuidProvided", null);
165
+ __decorate([
166
+ test()
167
+ ], BleObserverControllerTest, "throwsWhenBothUuidAndNamePrefixProvided", null);
168
+ __decorate([
169
+ test()
170
+ ], BleObserverControllerTest, "waitsForDiscoveredUuidBeforeCreatingBackend", null);
171
+ __decorate([
172
+ test()
173
+ ], BleObserverControllerTest, "observesDeviceWithDiscoveredUuid", null);
174
+ __decorate([
175
+ test()
176
+ ], BleObserverControllerTest, "stopsObservingDeviceWithDiscoveredUuid", null);
177
+ __decorate([
178
+ test()
179
+ ], BleObserverControllerTest, "startObservingThrowsWhenDiscoveryFails", null);
108
180
  __decorate([
109
181
  test()
110
182
  ], BleObserverControllerTest, "createBleObserverBackendThrowsOnError", null);
@@ -1 +1 @@
1
- {"version":3,"file":"BleObserverController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleObserverController.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BleObserverController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleObserverController.test.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export default class BleGattController implements BleGatt {
12
12
  private readonly ndx;
13
13
  protected constructor(options: BleGattOptions);
14
14
  static Create(options: BleGattOptions): BleGatt;
15
+ private throwTooManyParams;
15
16
  connect(): Promise<void>;
16
17
  private discoverUuid;
17
18
  private waitForDiscoveredUuid;
@@ -12,6 +12,9 @@ export default class BleGattController {
12
12
  ndx = LibndxAdapter.getInstance();
13
13
  constructor(options) {
14
14
  const { deviceUuid, deviceNamePrefix, charCallbacks, onConnected, rssiIntervalMs, } = options;
15
+ if (deviceUuid && deviceNamePrefix) {
16
+ this.throwTooManyParams();
17
+ }
15
18
  this.state = { status: 'disconnected', uuid: deviceUuid };
16
19
  this.deviceNamePrefix = deviceNamePrefix;
17
20
  this.charCallbacks = charCallbacks;
@@ -21,6 +24,9 @@ export default class BleGattController {
21
24
  static Create(options) {
22
25
  return new (this.Class ?? this)(options);
23
26
  }
27
+ throwTooManyParams() {
28
+ throw new Error('Cannot pass both deviceUuid and deviceNamePrefix! Please pass only one.');
29
+ }
24
30
  async connect() {
25
31
  if (!this.state.uuid) {
26
32
  await this.discoverUuid();
@@ -1 +1 @@
1
- {"version":3,"file":"BleGattController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleGattController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BleGattController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleGattController.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import { NativeAdvertisement } from '@neurodevs/ndx-native';
2
2
  export default class BleObserverController implements BleObserver {
3
3
  static Class?: BleObserverConstructor;
4
- private readonly deviceUuid;
4
+ private readonly deviceNamePrefix?;
5
5
  private readonly onAdvertisement?;
6
6
  private readonly ndx;
7
+ private deviceUuid;
7
8
  protected constructor(options: BleObserverOptions);
8
9
  static Create(options: BleObserverOptions): BleObserver;
10
+ private throwTooManyParams;
9
11
  startObserving(): Promise<void>;
12
+ private discoverUuid;
10
13
  private createBleObserverBackend;
11
14
  private startBleObserverBackend;
12
15
  stopObserving(): Promise<void>;
@@ -19,8 +22,13 @@ export interface BleObserver {
19
22
  }
20
23
  export type BleObserverConstructor = new (options: BleObserverOptions) => BleObserver;
21
24
  export type BleObserverOptions = {
22
- deviceUuid: string;
23
25
  onAdvertisement?: OnAdvertisement;
24
- };
26
+ } & ({
27
+ deviceUuid: string;
28
+ deviceNamePrefix?: string;
29
+ } | {
30
+ deviceUuid?: string;
31
+ deviceNamePrefix: string;
32
+ });
25
33
  export type BleAdvertisement = NativeAdvertisement;
26
34
  export type OnAdvertisement = (advertisement: BleAdvertisement) => void;
@@ -1,21 +1,44 @@
1
1
  import { LibndxAdapter } from '@neurodevs/ndx-native';
2
2
  export default class BleObserverController {
3
3
  static Class;
4
- deviceUuid;
4
+ deviceNamePrefix;
5
5
  onAdvertisement;
6
6
  ndx = LibndxAdapter.getInstance();
7
+ deviceUuid;
7
8
  constructor(options) {
8
- const { deviceUuid, onAdvertisement } = options;
9
+ const { deviceUuid, deviceNamePrefix, onAdvertisement } = options;
10
+ if (deviceUuid && deviceNamePrefix) {
11
+ this.throwTooManyParams();
12
+ }
9
13
  this.deviceUuid = deviceUuid ?? '';
14
+ this.deviceNamePrefix = deviceNamePrefix;
10
15
  this.onAdvertisement = onAdvertisement;
11
16
  }
12
17
  static Create(options) {
13
18
  return new (this.Class ?? this)(options);
14
19
  }
20
+ throwTooManyParams() {
21
+ throw new Error('Cannot pass both deviceUuid and deviceNamePrefix! Please pass only one.');
22
+ }
15
23
  async startObserving() {
24
+ if (!this.deviceUuid && this.deviceNamePrefix) {
25
+ await this.discoverUuid(this.deviceNamePrefix);
26
+ }
16
27
  this.createBleObserverBackend();
17
28
  this.startBleObserverBackend();
18
29
  }
30
+ discoverUuid(namePrefix) {
31
+ return new Promise((resolve) => {
32
+ const { status, error } = this.ndx.discoverBleUuid({
33
+ namePrefix,
34
+ onDiscovered: (uuid) => {
35
+ this.deviceUuid = uuid;
36
+ resolve();
37
+ },
38
+ });
39
+ this.throwIfError(status, error);
40
+ });
41
+ }
19
42
  createBleObserverBackend() {
20
43
  const { status, error } = this.ndx.createBleObserverBackend({
21
44
  deviceUuid: this.deviceUuid,
@@ -1 +1 @@
1
- {"version":3,"file":"BleObserverController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleObserverController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,uBAAuB,CAAA;AAE1E,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAC/B,MAAM,CAAC,KAAK,CAAyB;IAE3B,UAAU,CAAQ;IAClB,eAAe,CAAkB;IACjC,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAElD,YAAsB,OAA2B;QAC7C,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;QAE/C,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IAC1C,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,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACxD,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAEO,uBAAuB;QAC3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACvD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,CAAC,aAAkC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,CAAA;YACzC,CAAC;SACJ,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAA;IACjC,CAAC;IAEO,sBAAsB;QAC1B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACtD,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,KAAyB;QAC1D,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,KAAK,IAAI,eAAe,EAAE,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"BleObserverController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleObserverController.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/node-lsl",
3
- "version": "23.1.2",
3
+ "version": "23.2.0",
4
4
  "description": "Lab Streaming Layer (LSL) bindings for Node",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -53,6 +53,8 @@ export default class AbstractPackageTest extends AbstractModuleTest {
53
53
  protected static readonly sampleRateHz = Math.floor(Math.random() * 100)
54
54
  protected static readonly maxBufferedMs = Math.floor(Math.random() * 1000)
55
55
 
56
+ protected static readonly tooManyParamsError = `Cannot pass both deviceUuid and deviceNamePrefix! Please pass only one.`
57
+
56
58
  protected static async beforeEach() {
57
59
  await super.beforeEach()
58
60
 
@@ -124,6 +124,19 @@ export default class BleGattControllerTest extends AbstractPackageTest {
124
124
  )
125
125
  }
126
126
 
127
+ @test()
128
+ protected static async throwsWhenBothUuidAndNamePrefixProvided() {
129
+ assert.doesThrow(
130
+ () =>
131
+ this.BleGattController({
132
+ deviceUuid: this.uuid,
133
+ deviceNamePrefix: this.namePrefix,
134
+ }),
135
+ this.tooManyParamsError,
136
+ 'Did not throw when both uuid and name prefix were provided!'
137
+ )
138
+ }
139
+
127
140
  @test()
128
141
  protected static async usesDiscoveredUuidToCreateBleBackend() {
129
142
  const instance = this.BleGattControllerWithPrefix()
@@ -13,6 +13,8 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
13
13
  private static passedAdvertisements: NativeAdvertisement[]
14
14
 
15
15
  private static readonly fakeError = this.generateId()
16
+ private static readonly namePrefix = this.generateId()
17
+ private static readonly discoveredUuid = this.generateId()
16
18
 
17
19
  private static readonly advertisement: NativeAdvertisement = {
18
20
  localName: this.generateId(),
@@ -90,6 +92,93 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
90
92
  })
91
93
  }
92
94
 
95
+ @test()
96
+ protected static async discoversUuidByNamePrefixWhenUuidNotProvided() {
97
+ const observer = this.BleObserverWithNamePrefix()
98
+ void observer.startObserving()
99
+
100
+ assert.isEqual(
101
+ FakeLibndx.callsToDiscoverBleUuid[0]?.namePrefix,
102
+ this.namePrefix,
103
+ 'Did not discover uuid by name prefix!'
104
+ )
105
+ }
106
+
107
+ @test()
108
+ protected static async doesNotDiscoverUuidWhenUuidProvided() {
109
+ await this.startObserving()
110
+
111
+ assert.isLength(
112
+ FakeLibndx.callsToDiscoverBleUuid,
113
+ 0,
114
+ 'Should not discover uuid when uuid is provided!'
115
+ )
116
+ }
117
+
118
+ @test()
119
+ protected static async throwsWhenBothUuidAndNamePrefixProvided() {
120
+ assert.doesThrow(
121
+ () =>
122
+ BleObserverController.Create({
123
+ deviceUuid: this.deviceUuid,
124
+ deviceNamePrefix: this.namePrefix,
125
+ }),
126
+ this.tooManyParamsError,
127
+ 'Did not throw when both uuid and name prefix were provided!'
128
+ )
129
+ }
130
+
131
+ @test()
132
+ protected static async waitsForDiscoveredUuidBeforeCreatingBackend() {
133
+ const observer = this.BleObserverWithNamePrefix()
134
+ void observer.startObserving()
135
+
136
+ await this.wait(1)
137
+
138
+ assert.isLength(
139
+ FakeLibndx.callsToCreateBleObserver,
140
+ 0,
141
+ 'Created backend before uuid was discovered!'
142
+ )
143
+ }
144
+
145
+ @test()
146
+ protected static async observesDeviceWithDiscoveredUuid() {
147
+ await this.startObservingWithDiscovery()
148
+
149
+ assert.isEqualDeep(
150
+ {
151
+ created: FakeLibndx.callsToCreateBleObserver[0]?.deviceUuid,
152
+ started: FakeLibndx.callsToStartBleObserver[0]?.deviceUuid,
153
+ },
154
+ { created: this.discoveredUuid, started: this.discoveredUuid },
155
+ 'Did not observe device with discovered uuid!'
156
+ )
157
+ }
158
+
159
+ @test()
160
+ protected static async stopsObservingDeviceWithDiscoveredUuid() {
161
+ const observer = await this.startObservingWithDiscovery()
162
+ await observer.stopObserving()
163
+
164
+ assert.isEqualDeep(
165
+ FakeLibndx.callsToStopBleObserver[0],
166
+ { deviceUuid: this.discoveredUuid },
167
+ 'Did not stop observing device with discovered uuid!'
168
+ )
169
+ }
170
+
171
+ @test()
172
+ protected static async startObservingThrowsWhenDiscoveryFails() {
173
+ this.setFakeErrorResult()
174
+
175
+ await assert.doesThrowAsync(
176
+ async () => await this.BleObserverWithNamePrefix().startObserving(),
177
+ this.fakeError,
178
+ 'Did not throw when discovery failed!'
179
+ )
180
+ }
181
+
93
182
  @test()
94
183
  protected static async createBleObserverBackendThrowsOnError() {
95
184
  this.setFakeErrorResult()
@@ -126,6 +215,24 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
126
215
  )
127
216
  }
128
217
 
218
+ private static async startObserving() {
219
+ await this.instance.startObserving()
220
+ }
221
+
222
+ private static async stopObserving() {
223
+ await this.instance.stopObserving()
224
+ }
225
+
226
+ private static async startObservingWithDiscovery() {
227
+ const observer = this.BleObserverWithNamePrefix()
228
+ const promise = observer.startObserving()
229
+
230
+ FakeLibndx.callsToDiscoverBleUuid[0]?.onDiscovered(this.discoveredUuid)
231
+ await promise
232
+
233
+ return observer
234
+ }
235
+
129
236
  private static setFakeErrorResult() {
130
237
  FakeLibndx.fakeResult = {
131
238
  status: 400,
@@ -133,12 +240,10 @@ export default class BleObserverControllerTest extends AbstractPackageTest {
133
240
  }
134
241
  }
135
242
 
136
- private static async startObserving() {
137
- await this.instance.startObserving()
138
- }
139
-
140
- private static async stopObserving() {
141
- await this.instance.stopObserving()
243
+ private static BleObserverWithNamePrefix() {
244
+ return BleObserverController.Create({
245
+ deviceNamePrefix: this.namePrefix,
246
+ })
142
247
  }
143
248
 
144
249
  private static BleObserverController() {
@@ -24,6 +24,10 @@ export default class BleGattController implements BleGatt {
24
24
  rssiIntervalMs,
25
25
  } = options
26
26
 
27
+ if (deviceUuid && deviceNamePrefix) {
28
+ this.throwTooManyParams()
29
+ }
30
+
27
31
  this.state = { status: 'disconnected', uuid: deviceUuid }
28
32
  this.deviceNamePrefix = deviceNamePrefix
29
33
  this.charCallbacks = charCallbacks
@@ -35,6 +39,12 @@ export default class BleGattController implements BleGatt {
35
39
  return new (this.Class ?? this)(options)
36
40
  }
37
41
 
42
+ private throwTooManyParams() {
43
+ throw new Error(
44
+ 'Cannot pass both deviceUuid and deviceNamePrefix! Please pass only one.'
45
+ )
46
+ }
47
+
38
48
  public async connect() {
39
49
  if (!this.state.uuid) {
40
50
  await this.discoverUuid()
@@ -3,14 +3,21 @@ import { LibndxAdapter, NativeAdvertisement } from '@neurodevs/ndx-native'
3
3
  export default class BleObserverController implements BleObserver {
4
4
  public static Class?: BleObserverConstructor
5
5
 
6
- private readonly deviceUuid: string
6
+ private readonly deviceNamePrefix?: string
7
7
  private readonly onAdvertisement?: OnAdvertisement
8
8
  private readonly ndx = LibndxAdapter.getInstance()
9
9
 
10
+ private deviceUuid: string
11
+
10
12
  protected constructor(options: BleObserverOptions) {
11
- const { deviceUuid, onAdvertisement } = options
13
+ const { deviceUuid, deviceNamePrefix, onAdvertisement } = options
14
+
15
+ if (deviceUuid && deviceNamePrefix) {
16
+ this.throwTooManyParams()
17
+ }
12
18
 
13
19
  this.deviceUuid = deviceUuid ?? ''
20
+ this.deviceNamePrefix = deviceNamePrefix
14
21
  this.onAdvertisement = onAdvertisement
15
22
  }
16
23
 
@@ -18,11 +25,35 @@ export default class BleObserverController implements BleObserver {
18
25
  return new (this.Class ?? this)(options)
19
26
  }
20
27
 
28
+ private throwTooManyParams() {
29
+ throw new Error(
30
+ 'Cannot pass both deviceUuid and deviceNamePrefix! Please pass only one.'
31
+ )
32
+ }
33
+
21
34
  public async startObserving() {
35
+ if (!this.deviceUuid && this.deviceNamePrefix) {
36
+ await this.discoverUuid(this.deviceNamePrefix)
37
+ }
38
+
22
39
  this.createBleObserverBackend()
23
40
  this.startBleObserverBackend()
24
41
  }
25
42
 
43
+ private discoverUuid(namePrefix: string) {
44
+ return new Promise<void>((resolve) => {
45
+ const { status, error } = this.ndx.discoverBleUuid({
46
+ namePrefix,
47
+ onDiscovered: (uuid: string) => {
48
+ this.deviceUuid = uuid
49
+ resolve()
50
+ },
51
+ })
52
+
53
+ this.throwIfError(status, error)
54
+ })
55
+ }
56
+
26
57
  private createBleObserverBackend() {
27
58
  const { status, error } = this.ndx.createBleObserverBackend({
28
59
  deviceUuid: this.deviceUuid,
@@ -70,9 +101,11 @@ export type BleObserverConstructor = new (
70
101
  ) => BleObserver
71
102
 
72
103
  export type BleObserverOptions = {
73
- deviceUuid: string
74
104
  onAdvertisement?: OnAdvertisement
75
- }
105
+ } & (
106
+ | { deviceUuid: string; deviceNamePrefix?: string }
107
+ | { deviceUuid?: string; deviceNamePrefix: string }
108
+ )
76
109
 
77
110
  export type BleAdvertisement = NativeAdvertisement
78
111