@neurodevs/node-lsl 23.1.2 → 23.2.1
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.
- package/build/__tests__/AbstractPackageTest.d.ts +1 -0
- package/build/__tests__/AbstractPackageTest.js +1 -0
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/BleGattController.test.d.ts +1 -0
- package/build/__tests__/impl/BleGattController.test.js +9 -0
- package/build/__tests__/impl/BleGattController.test.js.map +1 -1
- package/build/__tests__/impl/BleObserverController.test.d.ts +12 -1
- package/build/__tests__/impl/BleObserverController.test.js +77 -5
- package/build/__tests__/impl/BleObserverController.test.js.map +1 -1
- package/build/__tests__/impl/UsbDeviceController.test.d.ts +7 -0
- package/build/__tests__/impl/UsbDeviceController.test.js +43 -0
- package/build/__tests__/impl/UsbDeviceController.test.js.map +1 -1
- package/build/impl/controllers/BleGattController.d.ts +1 -0
- package/build/impl/controllers/BleGattController.js +6 -0
- package/build/impl/controllers/BleGattController.js.map +1 -1
- package/build/impl/controllers/BleObserverController.d.ts +11 -3
- package/build/impl/controllers/BleObserverController.js +25 -2
- package/build/impl/controllers/BleObserverController.js.map +1 -1
- package/build/impl/controllers/UsbDeviceController.d.ts +3 -0
- package/build/impl/controllers/UsbDeviceController.js +19 -4
- package/build/impl/controllers/UsbDeviceController.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/AbstractPackageTest.ts +2 -0
- package/src/__tests__/impl/BleGattController.test.ts +13 -0
- package/src/__tests__/impl/BleObserverController.test.ts +111 -6
- package/src/__tests__/impl/UsbDeviceController.test.ts +67 -0
- package/src/impl/controllers/BleGattController.ts +10 -0
- package/src/impl/controllers/BleObserverController.ts +37 -4
- package/src/impl/controllers/UsbDeviceController.ts +30 -4
|
@@ -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":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAoB,MAAM,uBAAuB,CAAA;AAEpE,OAAO,UAAU,MAAM,yCAAyC,CAAA;AAChE,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAC3D,OAAO,iBAEN,MAAM,6CAA6C,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,mBAAmB;IAC1D,MAAM,CAAC,QAAQ,CAAY;IAE3B,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACxC,MAAM,CAAU,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC9C,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAClD,MAAM,CAAU,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC5C,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACpD,MAAM,CAAU,cAAc,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChD,MAAM,CAAU,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,CAAU,YAAY,GAAG,cAAc,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7D,MAAM,CAAU,YAAY,GAAG,cAAc,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7D,MAAM,CAAU,oBAAoB,GACxC,gGAAgG,CAAA;IAE5F,MAAM,CAAU,aAAa,GAAG;QACpC;YACI,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACzB;QACD;YACI,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACzB;KACJ,CAAA;IAEO,MAAM,CAAU,kBAAkB,GAAG;QACzC;YACI,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACzB;KACJ,CAAA;IAEO,MAAM,CAAC,WAAW,GAAG,CAAC,WAA6B,EAAE,EAAE;QAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;IAC5B,CAAC,CAAA;IAEO,MAAM,CAAC,YAAY,CAAS;IAE5B,MAAM,CAAC,gBAAgB,GAAqB;QAChD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;QACvB,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;KAC1B,CAAA;IAES,MAAM,CAAC,KAAK,CAAC,SAAS;QAC5B,MAAM,CAAC,OAAO,CACV,iBAAiB,CAAC,WAAW,EAC7B,IAAI,EACJ,4BAA4B,CAC/B,CAAA;IACL,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAA;QACjC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAA;QAEpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC5C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,kCAAkC;QACrD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,EACzC;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;SACxB,EACD,oCAAoC,CACvC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sCAAsC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;QAEjD,MAAM,CAAC,OAAO,CACV,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,UAAU,EACf,qDAAqD,CACxD,CAAA;QAED,MAAM,CAAC,UAAU,CACb,IAAI,EAAE,YAAY,EAClB,2DAA2D,CAC9D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yCAAyC;QAC5D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,sBAAsB,CAAC,MAAM,EACxC,CAAC,EACD,8DAA8D,CACjE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,EACzC;YACI,UAAU,EAAE,IAAI,CAAC,cAAc;SAClC,EACD,sDAAsD,CACzD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,UAAU,EACpD,IAAI,CAAC,cAAc,EACnB,qDAAqD,CACxD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,CAAC,OAAO,CACV,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,cAAc,EACnB,qCAAqC,CACxC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,iCAAiC;QACpD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,IAAI,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAA;QAErD,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,2DAA2D,CAC9D,CAAA;QAED,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,CAAC,EACD,sDAAsD,CACzD,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,CACV,YAAY,CAAC,QAAQ,EACrB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC9B,qBAAqB,CACxB,CAAA;YAED,MAAM,CAAC,OAAO,CACV,YAAY,CAAC,QAAQ,EACrB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC9B,qBAAqB,CACxB,CAAA;YAED,MAAM,CAAC,UAAU,CACb,YAAY,CAAC,MAAM,EACnB,6BAA6B,CAChC,CAAA;YACD,CAAC,EAAE,CAAA;QACP,CAAC;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,YAAY;QACZ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;QAE7C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,YAAY;QACZ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;QAE7C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+BAA+B;QAClD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,QAAQ,CACX,IAAI,CAAC,YAAY,EACjB,qCAAqC,CACxC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,uCAAuC;QAC1D,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAA;QAE3C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,QAAQ,CACX,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC5C,kCAAkC,CACrC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qCAAqC;QACxD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAEhC,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,EACrC;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,gBAAgB;SAC/B,EACD,4CAA4C,CAC/C,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8BAA8B;QACjD,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAC5C,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8BAA8B;QACjD,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAC5C,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0CAA0C;QAC7D,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAErC,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,mCAAmC,CAAC,CAAC,CAAC,EACjD;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,aAAa,EAAE,IAAI,CAAC,kBAAkB;SACzC,EACD,wDAAwD,CAC3D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+CAA+C;QAClE,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAErC,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAC1C,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,EACnD,kEAAkE,CACrE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,wBAAwB,EAAE,EACjD,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,uBAAuB;QAC1C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAC5B,UAAU,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAA;QAEhD,MAAM,CAAC,WAAW,CACd,EAAE,UAAU,EAAE,UAAU,EAAE,EAC1B;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,UAAU,EAAE,IAAI,CAAC,cAAc;SAClC,EACD,mDAAmD,CACtD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAEvB,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,EACvC;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;SACxB,EACD,kCAAkC,CACrC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACxC,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EACnC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACxC,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EACnC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACpB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAEvB,MAAM,CAAC,MAAM,CACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,cAAc,EAClD,6CAA6C,CAChD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAC1B,8BAA8B,CACjC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,KAAK,EACL,kCAAkC,CACrC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0CAA0C;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CACP,MAAM,QAAQ,CAAC,mBAAmB,CAC9B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,gBAAgB,CACxB,EACL,IAAI,CAAC,oBAAoB,EACzB,0DAA0D,CAC7D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+CAA+C;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CACP,MAAM,QAAQ,CAAC,wBAAwB,CACnC,IAAI,CAAC,kBAAkB,CAC1B,EACL,IAAI,CAAC,oBAAoB,EACzB,8DAA8D,CACjE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,iCAAiC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,EACvC,IAAI,CAAC,oBAAoB,EACzB,4DAA4D,CAC/D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+BAA+B;QAClD,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAElC,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAChC,eAAe,EACf,sBAAsB,CACzB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAA;QAC1D,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAE7C,MAAM,OAAO,CAAA;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAoB;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;QAElC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEvE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtE,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,WAAW,CACjD,IAAI,CAAC,gBAAgB,CACxB,CAAA;QAED,MAAM,OAAO,CAAA;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAI,OAAgB;QAChD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,GAAG,EAAE;gBACf,IAAI,OAAO,EAAE,EAAE,CAAC;oBACZ,OAAO,EAAE,CAAA;gBACb,CAAC;qBAAM,CAAC;oBACJ,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBACxB,CAAC;YACL,CAAC,CAAA;YACD,KAAK,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CACnC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,gBAAgB,CACxB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,wBAAwB;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACzE,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,UAAU;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;IACpC,CAAC;IAEO,MAAM,CAAC,eAAe;QAC1B,UAAU,CAAC,UAAU,GAAG;YACpB,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,SAAS;SACxB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,eAAe;QAC1B,UAAU,CAAC,UAAU,GAAG;YACpB,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,SAAS;SACxB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,2BAA2B;QACtC,UAAU,CAAC,UAAU,GAAG;YACpB,MAAM,EAAE,GAAG;SACd,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,OAAiC;QAC9D,OAAO,iBAAiB,CAAC,MAAM,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,OAAO;SACb,CAAe,CAAA;IACpB,CAAC;IAEO,MAAM,CAAC,2BAA2B;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC1B,gBAAgB,EAAE,IAAI,CAAC,UAAU;YACjC,UAAU,EAAE,SAAS;SACxB,CAAC,CAAA;IACN,CAAC;;AA/esB;IADtB,IAAI,EAAE;kDAGN;AAGsB;IADtB,IAAI,EAAE;qEAWN;AAGsB;IADtB,IAAI,EAAE;yEAkBN;AAGsB;IADtB,IAAI,EAAE;4EASN;AAGsB;IADtB,IAAI,EAAE;uEAaN;AAGsB;IADtB,IAAI,EAAE;sEAWN;AAGsB;IADtB,IAAI,EAAE;wDAWN;AAGsB;IADtB,IAAI,EAAE;8DASN;AAGsB;IADtB,IAAI,EAAE;8DASN;AAGsB;IADtB,IAAI,EAAE;oEAsCN;AAGsB;IADtB,IAAI,EAAE;6DAYN;AAGsB;IADtB,IAAI,EAAE;6DAYN;AAGsB;IADtB,IAAI,EAAE;kEAQN;AAGsB;IADtB,IAAI,EAAE;0EAWN;AAGsB;IADtB,IAAI,EAAE;wEAaN;AAGsB;IADtB,IAAI,EAAE;iEASN;AAGsB;IADtB,IAAI,EAAE;iEASN;AAGsB;IADtB,IAAI,EAAE;6EAYN;AAGsB;IADtB,IAAI,EAAE;kFASN;AAGsB;IADtB,IAAI,EAAE;sEASN;AAGsB;IADtB,IAAI,EAAE;0DAeN;AAGsB;IADtB,IAAI,EAAE;sEAWN;AAGsB;IADtB,IAAI,EAAE;wDASN;AAGsB;IADtB,IAAI,EAAE;wDASN;AAGsB;IADtB,IAAI,EAAE;gEASN;AAGsB;IADtB,IAAI,EAAE;uDASN;AAGsB;IADtB,IAAI,EAAE;8DAON;AAGsB;IADtB,IAAI,EAAE;6EAaN;AAGsB;IADtB,IAAI,EAAE;kFAYN;AAGsB;IADtB,IAAI,EAAE;oEASN;AAGsB;IADtB,IAAI,EAAE;kEASN"}
|
|
1
|
+
{"version":3,"file":"BleGattController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleGattController.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAoB,MAAM,uBAAuB,CAAA;AAEpE,OAAO,UAAU,MAAM,yCAAyC,CAAA;AAChE,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAC3D,OAAO,iBAEN,MAAM,6CAA6C,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,mBAAmB;IAC1D,MAAM,CAAC,QAAQ,CAAY;IAE3B,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACxC,MAAM,CAAU,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC9C,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAClD,MAAM,CAAU,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC5C,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACpD,MAAM,CAAU,cAAc,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChD,MAAM,CAAU,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,CAAU,YAAY,GAAG,cAAc,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7D,MAAM,CAAU,YAAY,GAAG,cAAc,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7D,MAAM,CAAU,oBAAoB,GACxC,gGAAgG,CAAA;IAE5F,MAAM,CAAU,aAAa,GAAG;QACpC;YACI,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACzB;QACD;YACI,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACzB;KACJ,CAAA;IAEO,MAAM,CAAU,kBAAkB,GAAG;QACzC;YACI,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACzB;KACJ,CAAA;IAEO,MAAM,CAAC,WAAW,GAAG,CAAC,WAA6B,EAAE,EAAE;QAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;IAC5B,CAAC,CAAA;IAEO,MAAM,CAAC,YAAY,CAAS;IAE5B,MAAM,CAAC,gBAAgB,GAAqB;QAChD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;QACvB,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;KAC1B,CAAA;IAES,MAAM,CAAC,KAAK,CAAC,SAAS;QAC5B,MAAM,CAAC,OAAO,CACV,iBAAiB,CAAC,WAAW,EAC7B,IAAI,EACJ,4BAA4B,CAC/B,CAAA;IACL,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAA;QACjC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAA;QAEpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC5C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,kCAAkC;QACrD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,EACzC;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;SACxB,EACD,oCAAoC,CACvC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sCAAsC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;QAEjD,MAAM,CAAC,OAAO,CACV,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,UAAU,EACf,qDAAqD,CACxD,CAAA;QAED,MAAM,CAAC,UAAU,CACb,IAAI,EAAE,YAAY,EAClB,2DAA2D,CAC9D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yCAAyC;QAC5D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,sBAAsB,CAAC,MAAM,EACxC,CAAC,EACD,8DAA8D,CACjE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,uCAAuC;QAC1D,MAAM,CAAC,SAAS,CACZ,GAAG,EAAE,CACD,IAAI,CAAC,iBAAiB,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,gBAAgB,EAAE,IAAI,CAAC,UAAU;SACpC,CAAC,EACN,IAAI,CAAC,kBAAkB,EACvB,6DAA6D,CAChE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,EACzC;YACI,UAAU,EAAE,IAAI,CAAC,cAAc;SAClC,EACD,sDAAsD,CACzD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,UAAU,EACpD,IAAI,CAAC,cAAc,EACnB,qDAAqD,CACxD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEzC,MAAM,CAAC,OAAO,CACV,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,cAAc,EACnB,qCAAqC,CACxC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,iCAAiC;QACpD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,IAAI,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAA;QAErD,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,2DAA2D,CAC9D,CAAA;QAED,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,CAAC,EACD,sDAAsD,CACzD,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,CACV,YAAY,CAAC,QAAQ,EACrB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC9B,qBAAqB,CACxB,CAAA;YAED,MAAM,CAAC,OAAO,CACV,YAAY,CAAC,QAAQ,EACrB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC9B,qBAAqB,CACxB,CAAA;YAED,MAAM,CAAC,UAAU,CACb,YAAY,CAAC,MAAM,EACnB,6BAA6B,CAChC,CAAA;YACD,CAAC,EAAE,CAAA;QACP,CAAC;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,YAAY;QACZ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;QAE7C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,YAAY;QACZ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;QAE7C,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EACzC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+BAA+B;QAClD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,QAAQ,CACX,IAAI,CAAC,YAAY,EACjB,qCAAqC,CACxC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,uCAAuC;QAC1D,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAA;QAE3C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,QAAQ,CACX,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC5C,kCAAkC,CACrC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qCAAqC;QACxD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAEhC,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,EACrC;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,gBAAgB;SAC/B,EACD,4CAA4C,CAC/C,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8BAA8B;QACjD,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAC5C,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8BAA8B;QACjD,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAC5C,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0CAA0C;QAC7D,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAErC,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,mCAAmC,CAAC,CAAC,CAAC,EACjD;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,aAAa,EAAE,IAAI,CAAC,kBAAkB;SACzC,EACD,wDAAwD,CAC3D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+CAA+C;QAClE,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAErC,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAC1C,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,EACnD,kEAAkE,CACrE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,wBAAwB,EAAE,EACjD,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,uBAAuB;QAC1C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAC5B,UAAU,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAA;QAEhD,MAAM,CAAC,WAAW,CACd,EAAE,UAAU,EAAE,UAAU,EAAE,EAC1B;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,UAAU,EAAE,IAAI,CAAC,cAAc;SAClC,EACD,mDAAmD,CACtD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAEvB,MAAM,CAAC,WAAW,CACd,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,EACvC;YACI,UAAU,EAAE,IAAI,CAAC,IAAI;SACxB,EACD,kCAAkC,CACrC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACxC,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EACnC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACxC,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EACnC,IAAI,CAAC,YAAY,EACjB,sBAAsB,CACzB,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACpB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAEvB,MAAM,CAAC,MAAM,CACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,cAAc,EAClD,6CAA6C,CAChD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAC1B,8BAA8B,CACjC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,KAAK,EACL,kCAAkC,CACrC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0CAA0C;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CACP,MAAM,QAAQ,CAAC,mBAAmB,CAC9B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,gBAAgB,CACxB,EACL,IAAI,CAAC,oBAAoB,EACzB,0DAA0D,CAC7D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+CAA+C;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CACP,MAAM,QAAQ,CAAC,wBAAwB,CACnC,IAAI,CAAC,kBAAkB,CAC1B,EACL,IAAI,CAAC,oBAAoB,EACzB,8DAA8D,CACjE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,iCAAiC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAEnD,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,EACvC,IAAI,CAAC,oBAAoB,EACzB,4DAA4D,CAC/D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+BAA+B;QAClD,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAElC,MAAM,MAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAChC,eAAe,EACf,sBAAsB,CACzB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAA;QAC1D,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAE7C,MAAM,OAAO,CAAA;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAoB;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;QAElC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEvE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtE,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,WAAW,CACjD,IAAI,CAAC,gBAAgB,CACxB,CAAA;QAED,MAAM,OAAO,CAAA;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAI,OAAgB;QAChD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,GAAG,EAAE;gBACf,IAAI,OAAO,EAAE,EAAE,CAAC;oBACZ,OAAO,EAAE,CAAA;gBACb,CAAC;qBAAM,CAAC;oBACJ,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBACxB,CAAC;YACL,CAAC,CAAA;YACD,KAAK,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CACnC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,gBAAgB,CACxB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,wBAAwB;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACzE,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,UAAU;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;IACpC,CAAC;IAEO,MAAM,CAAC,eAAe;QAC1B,UAAU,CAAC,UAAU,GAAG;YACpB,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,SAAS;SACxB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,eAAe;QAC1B,UAAU,CAAC,UAAU,GAAG;YACpB,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,SAAS;SACxB,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,2BAA2B;QACtC,UAAU,CAAC,UAAU,GAAG;YACpB,MAAM,EAAE,GAAG;SACd,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,OAAiC;QAC9D,OAAO,iBAAiB,CAAC,MAAM,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,OAAO;SACb,CAAe,CAAA;IACpB,CAAC;IAEO,MAAM,CAAC,2BAA2B;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC1B,gBAAgB,EAAE,IAAI,CAAC,UAAU;YACjC,UAAU,EAAE,SAAS;SACxB,CAAC,CAAA;IACN,CAAC;;AA5fsB;IADtB,IAAI,EAAE;kDAGN;AAGsB;IADtB,IAAI,EAAE;qEAWN;AAGsB;IADtB,IAAI,EAAE;yEAkBN;AAGsB;IADtB,IAAI,EAAE;4EASN;AAGsB;IADtB,IAAI,EAAE;0EAWN;AAGsB;IADtB,IAAI,EAAE;uEAaN;AAGsB;IADtB,IAAI,EAAE;sEAWN;AAGsB;IADtB,IAAI,EAAE;wDAWN;AAGsB;IADtB,IAAI,EAAE;8DASN;AAGsB;IADtB,IAAI,EAAE;8DASN;AAGsB;IADtB,IAAI,EAAE;oEAsCN;AAGsB;IADtB,IAAI,EAAE;6DAYN;AAGsB;IADtB,IAAI,EAAE;6DAYN;AAGsB;IADtB,IAAI,EAAE;kEAQN;AAGsB;IADtB,IAAI,EAAE;0EAWN;AAGsB;IADtB,IAAI,EAAE;wEAaN;AAGsB;IADtB,IAAI,EAAE;iEASN;AAGsB;IADtB,IAAI,EAAE;iEASN;AAGsB;IADtB,IAAI,EAAE;6EAYN;AAGsB;IADtB,IAAI,EAAE;kFASN;AAGsB;IADtB,IAAI,EAAE;sEASN;AAGsB;IADtB,IAAI,EAAE;0DAeN;AAGsB;IADtB,IAAI,EAAE;sEAWN;AAGsB;IADtB,IAAI,EAAE;wDASN;AAGsB;IADtB,IAAI,EAAE;wDASN;AAGsB;IADtB,IAAI,EAAE;gEASN;AAGsB;IADtB,IAAI,EAAE;uDASN;AAGsB;IADtB,IAAI,EAAE;8DAON;AAGsB;IADtB,IAAI,EAAE;6EAaN;AAGsB;IADtB,IAAI,EAAE;kFAYN;AAGsB;IADtB,IAAI,EAAE;oEASN;AAGsB;IADtB,IAAI,EAAE;kEASN"}
|
|
@@ -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
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,UAAU,EAAuB,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAC3D,OAAO,qBAEN,MAAM,iDAAiD,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,mBAAmB;IAC9D,MAAM,CAAC,QAAQ,CAAa;IAC5B,MAAM,CAAC,oBAAoB,CAAuB;IAElD,MAAM,CAAU,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"BleObserverController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleObserverController.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,13 @@ export default class UsbDeviceControllerTest extends AbstractPackageTest {
|
|
|
11
11
|
protected static connectCallsLibndxStartUsbBackend(): Promise<void>;
|
|
12
12
|
protected static disconnectCallsLibndxStopUsbBackend(): Promise<void>;
|
|
13
13
|
protected static writeUsbCallsLibndxWriteUsbBackend(): Promise<void>;
|
|
14
|
+
protected static connectThrowsWhenUsbBackendCannotBeCreated(): Promise<void>;
|
|
15
|
+
protected static doesNotStartUsbBackendThatCouldNotBeCreated(): Promise<void>;
|
|
16
|
+
protected static connectThrowsWhenUsbBackendCannotBeStarted(): Promise<void>;
|
|
17
|
+
protected static writeUsbThrowsOnError(): Promise<void>;
|
|
18
|
+
protected static disconnectThrowsOnError(): Promise<void>;
|
|
19
|
+
private static readonly fakeError;
|
|
20
|
+
private static setFakeErrorResult;
|
|
14
21
|
private static connect;
|
|
15
22
|
private static disconnect;
|
|
16
23
|
private static UsbDeviceController;
|
|
@@ -50,6 +50,34 @@ export default class UsbDeviceControllerTest extends AbstractPackageTest {
|
|
|
50
50
|
value: this.valueToWrite,
|
|
51
51
|
}, 'Did not call write_usb_backend!');
|
|
52
52
|
}
|
|
53
|
+
static async connectThrowsWhenUsbBackendCannotBeCreated() {
|
|
54
|
+
this.setFakeErrorResult();
|
|
55
|
+
await assert.doesThrowAsync(async () => await this.connect(), `400 error: ${this.fakeError}`, 'Did not throw when USB backend could not be created!');
|
|
56
|
+
}
|
|
57
|
+
static async doesNotStartUsbBackendThatCouldNotBeCreated() {
|
|
58
|
+
this.setFakeErrorResult();
|
|
59
|
+
await assert.doesThrowAsync(async () => await this.connect());
|
|
60
|
+
assert.isLength(FakeLibndx.callsToStartUsbBackend, 0, 'Started a USB backend that could not be created!');
|
|
61
|
+
}
|
|
62
|
+
static async connectThrowsWhenUsbBackendCannotBeStarted() {
|
|
63
|
+
this.setFakeErrorResult();
|
|
64
|
+
//@ts-ignore
|
|
65
|
+
this.instance.createUsbBackend = () => { };
|
|
66
|
+
await assert.doesThrowAsync(async () => await this.connect(), `400 error: ${this.fakeError}`, 'Did not throw when USB backend could not be started!');
|
|
67
|
+
}
|
|
68
|
+
static async writeUsbThrowsOnError() {
|
|
69
|
+
this.setFakeErrorResult();
|
|
70
|
+
await assert.doesThrowAsync(async () => await this.instance.writeUsb(this.valueToWrite), `400 error: ${this.fakeError}`, 'Did not throw when writing failed!');
|
|
71
|
+
}
|
|
72
|
+
static async disconnectThrowsOnError() {
|
|
73
|
+
await this.connect();
|
|
74
|
+
this.setFakeErrorResult();
|
|
75
|
+
await assert.doesThrowAsync(async () => await this.disconnect(), `400 error: ${this.fakeError}`, 'Did not throw when stopping failed!');
|
|
76
|
+
}
|
|
77
|
+
static fakeError = this.generateId();
|
|
78
|
+
static setFakeErrorResult() {
|
|
79
|
+
FakeLibndx.fakeResult = { status: 400, error: this.fakeError };
|
|
80
|
+
}
|
|
53
81
|
static async connect() {
|
|
54
82
|
await this.instance.connect();
|
|
55
83
|
}
|
|
@@ -78,4 +106,19 @@ __decorate([
|
|
|
78
106
|
__decorate([
|
|
79
107
|
test()
|
|
80
108
|
], UsbDeviceControllerTest, "writeUsbCallsLibndxWriteUsbBackend", null);
|
|
109
|
+
__decorate([
|
|
110
|
+
test()
|
|
111
|
+
], UsbDeviceControllerTest, "connectThrowsWhenUsbBackendCannotBeCreated", null);
|
|
112
|
+
__decorate([
|
|
113
|
+
test()
|
|
114
|
+
], UsbDeviceControllerTest, "doesNotStartUsbBackendThatCouldNotBeCreated", null);
|
|
115
|
+
__decorate([
|
|
116
|
+
test()
|
|
117
|
+
], UsbDeviceControllerTest, "connectThrowsWhenUsbBackendCannotBeStarted", null);
|
|
118
|
+
__decorate([
|
|
119
|
+
test()
|
|
120
|
+
], UsbDeviceControllerTest, "writeUsbThrowsOnError", null);
|
|
121
|
+
__decorate([
|
|
122
|
+
test()
|
|
123
|
+
], UsbDeviceControllerTest, "disconnectThrowsOnError", null);
|
|
81
124
|
//# sourceMappingURL=UsbDeviceController.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsbDeviceController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/UsbDeviceController.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UsbDeviceController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/UsbDeviceController.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":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAA;AAEvE,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC3B,MAAM,CAAC,KAAK,CAAqB;IACjC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;IAEtB,aAAa,CAAyB;IACtC,cAAc,CAAS;IACvB,KAAK,GAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAChD,GAAG,GAAG,OAAO,CAAA;IAEf,gBAAgB,CAAS;IACzB,WAAW,CAAyC;IAE3C,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAElD,YAAsB,OAAuB;QACzC,MAAM,EACF,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,GACjB,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;QACzD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAAuB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAEtD,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAE1B,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC/B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAEnC,IAAI,CAAC,uBAAuB,EAAE,CAAA;IAClC,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAC/C,UAAU,EAAE,IAAI,CAAC,gBAA0B;YAC3C,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;YACjD,CAAC;SACJ,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAEhC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;IACtC,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAC/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,eAAe,GAAG,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,OAAO,EAAE,CAAA;gBACb,CAAC;qBAAM,CAAC;oBACJ,iBAAiB,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;gBACtD,CAAC;YACL,CAAC,CAAA;YACD,eAAe,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,oBAAoB;QACxB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACpD,UAAU,EAAE,IAAI,CAAC,IAAI;SACxB,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;IAEO,uBAAuB;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,cAAc;gBAC/B,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;gBACnC,CAAC;aACJ,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAEO,mBAAmB;QACvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACnD,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,WAAW,EAAE,CAAC,UAA4B,EAAE,EAAE;gBAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;gBAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;gBAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;gBAClD,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YACD,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;SACzC,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,cAAc,GAAG,GAAG,EAAE;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAA;gBACb,CAAC;qBAAM,CAAC;oBACJ,iBAAiB,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;gBACrD,CAAC;YACL,CAAC,CAAA;YACD,cAAc,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAChC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAChC,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,CACvE,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC5B,QAA4B,EAC5B,KAAa;QAEb,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;YAC9B,QAAQ;YACR,KAAK;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,wBAAwB,CACjC,aAAsC;QAEtC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAC5D,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;YAC9B,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC;SACpC,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAEhC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,aAAa,CAAC,CAAA;IAClE,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAClD,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;SACjC,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAClE,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAA;IACnC,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACX,gGAAgG,CACnG,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC"}
|
|
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
|
|
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
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"BleObserverController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleObserverController.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,9 @@ export default class UsbDeviceController implements UsbDevice {
|
|
|
6
6
|
protected constructor(options: UsbDeviceOptions);
|
|
7
7
|
static Create(options: UsbDeviceOptions): UsbDevice;
|
|
8
8
|
connect(): Promise<void>;
|
|
9
|
+
private createUsbBackend;
|
|
10
|
+
private throwIfError;
|
|
11
|
+
private startUsbBackend;
|
|
9
12
|
private get usbDeviceOptions();
|
|
10
13
|
private get startUsbDeviceOptions();
|
|
11
14
|
writeUsb(value: string): Promise<void>;
|
|
@@ -13,8 +13,21 @@ export default class UsbDeviceController {
|
|
|
13
13
|
return new (this.Class ?? this)(options);
|
|
14
14
|
}
|
|
15
15
|
async connect() {
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
16
|
+
this.createUsbBackend();
|
|
17
|
+
this.startUsbBackend();
|
|
18
|
+
}
|
|
19
|
+
createUsbBackend() {
|
|
20
|
+
const { status, error } = this.ndx.createUsbBackend(this.usbDeviceOptions);
|
|
21
|
+
this.throwIfError(status, error);
|
|
22
|
+
}
|
|
23
|
+
throwIfError(status, error) {
|
|
24
|
+
if (status !== 200) {
|
|
25
|
+
throw new Error(`${status} error: ${error ?? 'Unknown error'}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
startUsbBackend() {
|
|
29
|
+
const { status, error } = this.ndx.startUsbBackend(this.startUsbDeviceOptions);
|
|
30
|
+
this.throwIfError(status, error);
|
|
18
31
|
}
|
|
19
32
|
get usbDeviceOptions() {
|
|
20
33
|
return {
|
|
@@ -28,13 +41,15 @@ export default class UsbDeviceController {
|
|
|
28
41
|
};
|
|
29
42
|
}
|
|
30
43
|
async writeUsb(value) {
|
|
31
|
-
this.ndx.writeUsbBackend({
|
|
44
|
+
const { status, error } = this.ndx.writeUsbBackend({
|
|
32
45
|
...this.usbDeviceOptions,
|
|
33
46
|
value,
|
|
34
47
|
});
|
|
48
|
+
this.throwIfError(status, error);
|
|
35
49
|
}
|
|
36
50
|
async disconnect() {
|
|
37
|
-
this.ndx.stopUsbBackend(this.usbDeviceOptions);
|
|
51
|
+
const { status, error } = this.ndx.stopUsbBackend(this.usbDeviceOptions);
|
|
52
|
+
this.throwIfError(status, error);
|
|
38
53
|
}
|
|
39
54
|
}
|
|
40
55
|
//# 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,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,
|
|
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,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,eAAe,EAAE,CAAA;IAC1B,CAAC;IAEO,gBAAgB;QACpB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAC/C,IAAI,CAAC,gBAAgB,CACxB,CAAA;QAED,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;IAEO,eAAe;QACnB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAC9C,IAAI,CAAC,qBAAqB,CAC7B,CAAA;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,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,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAC/C,GAAG,IAAI,CAAC,gBAAgB;YACxB,KAAK;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAExE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -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
|
|
137
|
-
|
|
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() {
|
|
@@ -92,6 +92,73 @@ export default class UsbDeviceControllerTest extends AbstractPackageTest {
|
|
|
92
92
|
)
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
@test()
|
|
96
|
+
protected static async connectThrowsWhenUsbBackendCannotBeCreated() {
|
|
97
|
+
this.setFakeErrorResult()
|
|
98
|
+
|
|
99
|
+
await assert.doesThrowAsync(
|
|
100
|
+
async () => await this.connect(),
|
|
101
|
+
`400 error: ${this.fakeError}`,
|
|
102
|
+
'Did not throw when USB backend could not be created!'
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@test()
|
|
107
|
+
protected static async doesNotStartUsbBackendThatCouldNotBeCreated() {
|
|
108
|
+
this.setFakeErrorResult()
|
|
109
|
+
|
|
110
|
+
await assert.doesThrowAsync(async () => await this.connect())
|
|
111
|
+
|
|
112
|
+
assert.isLength(
|
|
113
|
+
FakeLibndx.callsToStartUsbBackend,
|
|
114
|
+
0,
|
|
115
|
+
'Started a USB backend that could not be created!'
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@test()
|
|
120
|
+
protected static async connectThrowsWhenUsbBackendCannotBeStarted() {
|
|
121
|
+
this.setFakeErrorResult()
|
|
122
|
+
|
|
123
|
+
//@ts-ignore
|
|
124
|
+
this.instance.createUsbBackend = () => {}
|
|
125
|
+
|
|
126
|
+
await assert.doesThrowAsync(
|
|
127
|
+
async () => await this.connect(),
|
|
128
|
+
`400 error: ${this.fakeError}`,
|
|
129
|
+
'Did not throw when USB backend could not be started!'
|
|
130
|
+
)
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@test()
|
|
134
|
+
protected static async writeUsbThrowsOnError() {
|
|
135
|
+
this.setFakeErrorResult()
|
|
136
|
+
|
|
137
|
+
await assert.doesThrowAsync(
|
|
138
|
+
async () => await this.instance.writeUsb(this.valueToWrite),
|
|
139
|
+
`400 error: ${this.fakeError}`,
|
|
140
|
+
'Did not throw when writing failed!'
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@test()
|
|
145
|
+
protected static async disconnectThrowsOnError() {
|
|
146
|
+
await this.connect()
|
|
147
|
+
this.setFakeErrorResult()
|
|
148
|
+
|
|
149
|
+
await assert.doesThrowAsync(
|
|
150
|
+
async () => await this.disconnect(),
|
|
151
|
+
`400 error: ${this.fakeError}`,
|
|
152
|
+
'Did not throw when stopping failed!'
|
|
153
|
+
)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
private static readonly fakeError = this.generateId()
|
|
157
|
+
|
|
158
|
+
private static setFakeErrorResult() {
|
|
159
|
+
FakeLibndx.fakeResult = { status: 400, error: this.fakeError }
|
|
160
|
+
}
|
|
161
|
+
|
|
95
162
|
private static async connect() {
|
|
96
163
|
await this.instance.connect()
|
|
97
164
|
}
|
|
@@ -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
|
|
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
|
|
|
@@ -20,8 +20,30 @@ export default class UsbDeviceController implements UsbDevice {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
public async connect() {
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
23
|
+
this.createUsbBackend()
|
|
24
|
+
this.startUsbBackend()
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
private createUsbBackend() {
|
|
28
|
+
const { status, error } = this.ndx.createUsbBackend(
|
|
29
|
+
this.usbDeviceOptions
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
this.throwIfError(status, error)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
private throwIfError(status: number, error: string | undefined) {
|
|
36
|
+
if (status !== 200) {
|
|
37
|
+
throw new Error(`${status} error: ${error ?? 'Unknown error'}`)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
private startUsbBackend() {
|
|
42
|
+
const { status, error } = this.ndx.startUsbBackend(
|
|
43
|
+
this.startUsbDeviceOptions
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
this.throwIfError(status, error)
|
|
25
47
|
}
|
|
26
48
|
|
|
27
49
|
private get usbDeviceOptions() {
|
|
@@ -38,14 +60,18 @@ export default class UsbDeviceController implements UsbDevice {
|
|
|
38
60
|
}
|
|
39
61
|
|
|
40
62
|
public async writeUsb(value: string) {
|
|
41
|
-
this.ndx.writeUsbBackend({
|
|
63
|
+
const { status, error } = this.ndx.writeUsbBackend({
|
|
42
64
|
...this.usbDeviceOptions,
|
|
43
65
|
value,
|
|
44
66
|
})
|
|
67
|
+
|
|
68
|
+
this.throwIfError(status, error)
|
|
45
69
|
}
|
|
46
70
|
|
|
47
71
|
public async disconnect() {
|
|
48
|
-
this.ndx.stopUsbBackend(this.usbDeviceOptions)
|
|
72
|
+
const { status, error } = this.ndx.stopUsbBackend(this.usbDeviceOptions)
|
|
73
|
+
|
|
74
|
+
this.throwIfError(status, error)
|
|
49
75
|
}
|
|
50
76
|
}
|
|
51
77
|
|