@neurodevs/ndx-native 6.0.2 → 6.1.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.
@@ -15,6 +15,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
15
15
  private static readonly ftdiSerialNumber;
16
16
  private static readonly charCallbacks;
17
17
  private static readonly successfulResult;
18
+ private static readonly bleNamePrefix;
19
+ private static readonly callsToDiscoverBle;
18
20
  private static readonly callsToCreateBle;
19
21
  private static readonly callsToStartBle;
20
22
  private static readonly callsToWriteBle;
@@ -30,9 +32,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
30
32
  protected static registersExpectedKoffiFuncSignatures(): Promise<void>;
31
33
  protected static registersCharCallbackStruct(): Promise<void>;
32
34
  protected static registersOnRssiProtoBeforeLoadingBindings(): Promise<void>;
35
+ protected static registersOnDiscoveredProtoBeforeLoadingBindings(): Promise<void>;
33
36
  protected static onConnectedReceivesPeripheral(): Promise<void>;
34
37
  protected static getInstanceReturnsASingleton(): Promise<void>;
35
38
  protected static canSetInstance(): void;
39
+ protected static discoverBleUuidCallsBindingWithExpectedArgs(): Promise<void>;
40
+ protected static discoverBleUuidReturnsJson(): Promise<void>;
41
+ protected static discoverBleUuidInvokesOnDiscoveredWithUuid(): Promise<void>;
36
42
  protected static createBleBackendCallsBindingWithExpectedArgs(): Promise<void>;
37
43
  protected static createBleBackendReturnsJson(): Promise<void>;
38
44
  protected static startBleBackendCallsBindingWithExpectedArgs(): Promise<void>;
@@ -50,6 +56,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
50
56
  protected static startFtdiBackendReturnsJson(): Promise<void>;
51
57
  protected static stopFtdiBackendCallsBindingWithExpectedArgs(): Promise<void>;
52
58
  protected static stopFtdiBackendReturnsJson(): Promise<void>;
59
+ private static discoverBleUuid;
53
60
  private static createBleBackend;
54
61
  private static startBleBackend;
55
62
  private static writeBleCharacteristic;
@@ -30,6 +30,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
30
30
  },
31
31
  ];
32
32
  static successfulResult = { status: 200 };
33
+ static bleNamePrefix = this.generateId();
34
+ static callsToDiscoverBle = [];
33
35
  static callsToCreateBle = [];
34
36
  static callsToStartBle = [];
35
37
  static callsToWriteBle = [];
@@ -62,6 +64,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
62
64
  }
63
65
  static async registersExpectedKoffiFuncSignatures() {
64
66
  assert.isEqualDeep(this.koffiFuncSignatures, [
67
+ 'str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)',
65
68
  'str create_ble_backend(str config)',
66
69
  'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)',
67
70
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
@@ -90,6 +93,12 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
90
93
  assert.isAbove(onRssiProtoIdx, -1, 'Did not register OnRssiFn proto before loading bindings!');
91
94
  assert.isBelow(onRssiProtoIdx, firstFuncIdx + this.koffiProtoCalls.length, 'OnRssiFn proto must be registered before bindings are loaded!');
92
95
  }
96
+ static async registersOnDiscoveredProtoBeforeLoadingBindings() {
97
+ const onDiscoveredProtoIdx = this.koffiProtoCalls.findIndex((s) => s.includes('OnDiscoveredFn'));
98
+ const firstFuncIdx = this.koffiFuncSignatures.findIndex((s) => s.includes('OnDiscoveredFn'));
99
+ assert.isAbove(onDiscoveredProtoIdx, -1, 'Did not register OnDiscoveredFn proto before loading bindings!');
100
+ assert.isBelow(onDiscoveredProtoIdx, firstFuncIdx + this.koffiProtoCalls.length, 'OnDiscoveredFn proto must be registered before bindings are loaded!');
101
+ }
93
102
  static async onConnectedReceivesPeripheral() {
94
103
  let received = undefined;
95
104
  this.startBleBackend((peripheral) => {
@@ -108,6 +117,26 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
108
117
  LibndxAdapter.setInstance(fake);
109
118
  assert.isEqual(LibndxAdapter.getInstance(), fake);
110
119
  }
120
+ static async discoverBleUuidCallsBindingWithExpectedArgs() {
121
+ this.discoverBleUuid();
122
+ assert.isEqual(this.callsToDiscoverBle[0].namePrefix, this.bleNamePrefix, 'discoverBleUuid did not pass expected namePrefix to binding!');
123
+ assert.isFunction(this.callsToDiscoverBle[0].onDiscovered, 'discoverBleUuid did not pass an onDiscovered callback to the binding!');
124
+ }
125
+ static async discoverBleUuidReturnsJson() {
126
+ const json = this.discoverBleUuid();
127
+ assert.isEqualDeep(json, this.successfulResult, 'discoverBleUuid did not return a JSON string!');
128
+ }
129
+ static async discoverBleUuidInvokesOnDiscoveredWithUuid() {
130
+ let received;
131
+ this.discoverBleUuid((uuid) => {
132
+ received = uuid;
133
+ });
134
+ const discoveredUuid = this.generateId();
135
+ const registeredOnDiscovered = this.callsToDiscoverBle[0]
136
+ .onDiscovered;
137
+ registeredOnDiscovered(discoveredUuid);
138
+ assert.isEqual(received, discoveredUuid, 'onDiscovered was not invoked with discovered uuid!');
139
+ }
111
140
  static async createBleBackendCallsBindingWithExpectedArgs() {
112
141
  this.createBleBackend();
113
142
  assert.isEqualDeep(this.callsToCreateBle[0][0], JSON.stringify({ uuid: this.bleDeviceUuid }), 'createBleBackend did not call binding with expected args!');
@@ -192,6 +221,12 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
192
221
  const json = this.stopFtdiBackend();
193
222
  assert.isEqualDeep(json, this.successfulResult, 'stopFtdiBackend did not return a JSON string!');
194
223
  }
224
+ static discoverBleUuid(onDiscovered) {
225
+ return this.instance.discoverBleUuid({
226
+ namePrefix: this.bleNamePrefix,
227
+ onDiscovered: onDiscovered ?? (() => { }),
228
+ });
229
+ }
195
230
  static createBleBackend() {
196
231
  return this.instance.createBleBackend({
197
232
  deviceUuid: this.bleDeviceUuid,
@@ -240,6 +275,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
240
275
  }
241
276
  static FakeBindings() {
242
277
  return {
278
+ discover_ble_uuid: (args) => {
279
+ this.callsToDiscoverBle.push({
280
+ namePrefix: args[0],
281
+ onDiscovered: args[1],
282
+ });
283
+ return JSON.stringify(this.successfulResult);
284
+ },
243
285
  create_ble_backend: (args) => {
244
286
  this.callsToCreateBle.push(args);
245
287
  return JSON.stringify(this.successfulResult);
@@ -283,6 +325,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
283
325
  };
284
326
  }
285
327
  static resetCallsToFakeBindings() {
328
+ this.callsToDiscoverBle.length = 0;
286
329
  this.callsToCreateBle.length = 0;
287
330
  this.callsToStartBle.length = 0;
288
331
  this.callsToStopBle.length = 0;
@@ -382,6 +425,9 @@ __decorate([
382
425
  __decorate([
383
426
  test()
384
427
  ], LibndxAdapterTest, "registersOnRssiProtoBeforeLoadingBindings", null);
428
+ __decorate([
429
+ test()
430
+ ], LibndxAdapterTest, "registersOnDiscoveredProtoBeforeLoadingBindings", null);
385
431
  __decorate([
386
432
  test()
387
433
  ], LibndxAdapterTest, "onConnectedReceivesPeripheral", null);
@@ -391,6 +437,15 @@ __decorate([
391
437
  __decorate([
392
438
  test()
393
439
  ], LibndxAdapterTest, "canSetInstance", null);
440
+ __decorate([
441
+ test()
442
+ ], LibndxAdapterTest, "discoverBleUuidCallsBindingWithExpectedArgs", null);
443
+ __decorate([
444
+ test()
445
+ ], LibndxAdapterTest, "discoverBleUuidReturnsJson", null);
446
+ __decorate([
447
+ test()
448
+ ], LibndxAdapterTest, "discoverBleUuidInvokesOnDiscoveredWithUuid", null);
394
449
  __decorate([
395
450
  test()
396
451
  ], LibndxAdapterTest, "createBleBackendCallsBindingWithExpectedArgs", null);
@@ -1 +1 @@
1
- {"version":3,"file":"LibndxAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LibndxAdapter.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,aAIN,MAAM,6BAA6B,CAAA;AAEpC,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAC3D,OAAO,UAAU,MAAM,wCAAwC,CAAA;AAE/D,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,mBAAmB;IACtD,MAAM,CAAC,QAAQ,CAAQ;IACvB,MAAM,CAAC,UAAU,GAAG,6BAA6B,CAAA;IACjD,MAAM,CAAC,8BAA8B,CAAS;IAC9C,MAAM,CAAC,YAAY,CAAgB;IAEnC,MAAM,CAAC,aAAa,CAAS;IAC7B,MAAM,CAAC,mBAAmB,CAAW;IACrC,MAAM,CAAC,eAAe,CAAW;IACjC,MAAM,CAAC,gBAAgB,CAAqC;IAE5D,MAAM,CAAU,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACjD,MAAM,CAAU,qBAAqB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACzD,MAAM,CAAU,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACnD,MAAM,CAAU,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAEjD,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAEpD,MAAM,CAAU,aAAa,GAAG;QACpC;YACI,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,UAAkB,EAAE,EAAE,GAAE,CAAC;SACrE;KACJ,CAAA;IAEO,MAAM,CAAU,gBAAgB,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;IAElD,MAAM,CAAU,gBAAgB,GAAe,EAAE,CAAA;IACjD,MAAM,CAAU,eAAe,GAIjC,EAAE,CAAA;IACA,MAAM,CAAU,eAAe,GAAe,EAAE,CAAA;IAChD,MAAM,CAAU,yBAAyB,GAI3C,EAAE,CAAA;IACA,MAAM,CAAU,cAAc,GAAe,EAAE,CAAA;IAE/C,MAAM,CAAU,iBAAiB,GAAe,EAAE,CAAA;IAClD,MAAM,CAAU,gBAAgB,GAAe,EAAE,CAAA;IACjD,MAAM,CAAU,eAAe,GAAe,EAAE,CAAA;IAE9C,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAA;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACvC,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACxC,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,4BAA4B;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAA;QAE1C,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAE7D,MAAM,CAAC,OAAO,CACV,MAAM,EACN,IAAI,CAAC,iBAAiB,EACtB,qCAAqC,CACxC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,UAAU,EACf,wDAAwD,CAC3D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,mBAAmB,EACxB;YACI,oCAAoC;YACpC,0GAA0G;YAC1G,iEAAiE;YACjE,yEAAyE;YACzE,gCAAgC;YAChC,qCAAqC;YACrC,oCAAoC;YACpC,mCAAmC;SACtC,EACD,kDAAkD,CACrD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,gBAAgB,EACrB;YACI;gBACI,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE;oBACJ,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,EAAE;iBACb;aACJ;SACJ,EACD,4DAA4D,CAC/D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yCAAyC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,eAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CACzB,CAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CACzB,CAAA;QACD,MAAM,CAAC,OAAO,CACV,cAAc,EACd,CAAC,CAAC,EACF,0DAA0D,CAC7D,CAAA;QACD,MAAM,CAAC,OAAO,CACV,cAAc,EACd,YAAY,GAAG,IAAI,CAAC,eAAgB,CAAC,MAAM,EAC3C,+DAA+D,CAClE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,IAAI,QAAQ,GAAiC,SAAS,CAAA;QAEtD,IAAI,CAAC,eAAe,CAAC,CAAC,UAA4B,EAAE,EAAE;YAClD,QAAQ,GAAG,UAAU,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;QAEjE,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAG7C,CAAA;QACT,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QAEvD,MAAM,CAAC,WAAW,CACd,QAAQ,EACR,UAAU,EACV,iDAAiD,CACpD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,CAAA;IAC5E,CAAC;IAGgB,AAAP,MAAM,CAAC,cAAc;QAC3B,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAA;QAC7B,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4CAA4C;QAC/D,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEvB,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3B,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,EAC5C,2DAA2D,CAC9D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEpC,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,gDAAgD,CACnD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2CAA2C;QAC9D,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAC5B,IAAI,CAAC,aAAa,EAClB,wDAAwD,CAC3D,CAAA;QAED,QAAQ,CAAA;QAER,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,EACrC,IAAI,CAAC,aAAa,EAClB,iEAAiE,CACpE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAEnC,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,+CAA+C,CAClD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,kDAAkD;QACrE,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAE7B,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EACvB;YACI,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,eAAe;SACvB,EACD,iEAAiE,CACpE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,iCAAiC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAE1C,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,EAAE,MAAM,EAAE,GAAG,EAAE,EACf,sDAAsD,CACzD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8CAA8C;QACjE,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAA;QAE9D,MAAM,CAAC,WAAW,CACd,EAAE,IAAI,EAAE,UAAU,EAAE,EACpB;YACI,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,UAAU,EAAE,IAAI,CAAC,iBAAiB;SACrC,EACD,6DAA6D,CAChE,CAAA;QAED,MAAM,CAAC,UAAU,CACb,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,EACxC,oEAAoE,CACvE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEtC,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,kDAAkD,CACrD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4CAA4C;QAC/D,IAAI,QAA4B,CAAA;QAEhC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAY,EAAE,EAAE;YACrC,QAAQ,GAAG,IAAI,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAElD,CAAA;QACT,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAA;QAErB,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,yCAAyC,CAAC,CAAA;IAC5E,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0CAA0C;QAC7D,IAAI,CAAC,cAAc,EAAE,CAAA;QAErB,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,aAAa,EAClB,yDAAyD,CAC5D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAElC,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,8CAA8C,CACjD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6CAA6C;QAChE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,MAAM,CAAC,WAAW,CACd,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,EACvD,4DAA4D,CAC/D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAErC,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,iDAAiD,CACpD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4CAA4C;QAC/D,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEvB,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3B,IAAI,CAAC,gBAAgB,EACrB,2DAA2D,CAC9D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEpC,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,gDAAgD,CACnD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2CAA2C;QAC9D,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,CAAC,OAAO,CACV,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,IAAI,CAAC,gBAAgB,EACrB,0DAA0D,CAC7D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAEnC,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,+CAA+C,CAClD,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,gBAAgB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClC,UAAU,EAAE,IAAI,CAAC,aAAa;SACjC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,eAAe,CAC1B,WAAoD;QAEpD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACjC,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,WAAW,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,sBAAsB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACxC,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,QAAQ,EAAE,IAAI,CAAC,qBAAqB;YACpC,KAAK,EAAE,IAAI,CAAC,eAAe;SAC9B,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YAChC,UAAU,EAAE,IAAI,CAAC,aAAa;SACjC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,MAA+B;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,UAAU,EAAE,IAAI,CAAC,iBAAiB;YAClC,MAAM,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SAC/B,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,iBAAiB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB;SACtC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,gBAAgB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClC,YAAY,EAAE,IAAI,CAAC,gBAAgB;SACtC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,eAAe;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACjC,YAAY,EAAE,IAAI,CAAC,gBAAgB;SACtC,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,YAAY;QACvB,OAAO;YACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,iBAAiB,EAAE,CAAC,IAAS,EAAE,EAAE;gBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACtB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBACb,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;oBACpB,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;iBACzB,CAAC,CAAA;gBACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBAChC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBACb,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;oBACnB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;iBAClB,CAAC,CAAA;gBACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;SACJ,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,wBAAwB;QACnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;IACnC,CAAC;IAEO,MAAM,CAAC,eAAe;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAA;QACzB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAA;QAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,aAAa,CAAC,eAAe,EAAE,CAAA;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,eAAe,EAAE,CAAA;IAC1B,CAAC;IAEO,MAAM,CAAC,iBAAiB;QAC5B,aAAa,CAAC,aAAa,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAS,CAAA;IACnD,CAAC;IAEO,MAAM,CAAC,gBAAgB;QAC3B,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAA;IACpD,CAAC;IAEO,MAAM,CAAC,cAAc;QACzB,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE;YACxC,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC/B,OAAO,EAAS,CAAA;QACpB,CAAC,CAAQ,CAAA;IACb,CAAC;IAEO,MAAM,CAAC,eAAe;QAC1B,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;YAC1D,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAC7C,OAAO,EAAS,CAAA;QACpB,CAAC,CAAQ,CAAA;IACb,CAAC;IAEO,MAAM,CAAC,aAAa;QACxB,aAAa,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAc,CAAA;YACnC,OAAO;gBACH,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;oBAClB,IAAI,CAAC,mBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAEnC,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;wBACtC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;oBAC1C,CAAC;oBAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAClB,kBAAkB,CACpB,CAAC,CAAC,CAAyB,CAAA;oBAC7B,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAA4B,CAC/C,IAAI,CACP,CAAA;gBACT,CAAC;aACG,CAAA;QACZ,CAAC,CAAA;IACL,CAAC;IAEO,MAAM,KAAK,iBAAiB;QAChC,OAAO;;;qBAGM,IAAI,CAAC,UAAU;;;;;;;;;;;;;iCAaH,IAAI,CAAC,gBAAgB;;SAE7C,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC;IAEO,MAAM,CAAC,aAAa;QACxB,aAAa,CAAC,aAAa,EAAE,CAAA;IACjC,CAAC;IAEO,MAAM,CAAC,aAAa;QACxB,OAAO,aAAa,CAAC,WAAW,EAAE,CAAA;IACtC,CAAC;;AAlhBsB;IADtB,IAAI,EAAE;8CAGN;AAGsB;IADtB,IAAI,EAAE;2DAaN;AAGsB;IADtB,IAAI,EAAE;2DAON;AAGsB;IADtB,IAAI,EAAE;mEAgBN;AAGsB;IADtB,IAAI,EAAE;0DAgBN;AAGsB;IADtB,IAAI,EAAE;wEAkBN;AAGsB;IADtB,IAAI,EAAE;4DAqBN;AAGsB;IADtB,IAAI,EAAE;2DAGN;AAGgB;IADhB,IAAI,EAAE;6CAKN;AAGsB;IADtB,IAAI,EAAE;2EASN;AAGsB;IADtB,IAAI,EAAE;0DASN;AAGsB;IADtB,IAAI,EAAE;0EAiBN;AAGsB;IADtB,IAAI,EAAE;yDASN;AAGsB;IADtB,IAAI,EAAE;iFAaN;AAGsB;IADtB,IAAI,EAAE;gEASN;AAGsB;IADtB,IAAI,EAAE;6EAmBN;AAGsB;IADtB,IAAI,EAAE;4DASN;AAGsB;IADtB,IAAI,EAAE;2EAcN;AAGsB;IADtB,IAAI,EAAE;yEASN;AAGsB;IADtB,IAAI,EAAE;wDASN;AAGsB;IADtB,IAAI,EAAE;4EASN;AAGsB;IADtB,IAAI,EAAE;2DASN;AAGsB;IADtB,IAAI,EAAE;2EASN;AAGsB;IADtB,IAAI,EAAE;0DASN;AAGsB;IADtB,IAAI,EAAE;0EASN;AAGsB;IADtB,IAAI,EAAE;yDASN"}
1
+ {"version":3,"file":"LibndxAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LibndxAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,9 @@ export default class LibndxAdapter implements Libndx {
8
8
  static koffiPointer: typeof koffi.pointer;
9
9
  private static charCallbackProto?;
10
10
  private static charCallbackStruct?;
11
+ private static onDiscoveredProto?;
11
12
  private static onConnectedProto?;
12
13
  private static onRssiProto?;
13
- private static getCharCallbackProto;
14
- private static getOnConnectedProto;
15
- private static getOnRssiProto;
16
- private static getCharCallbackStruct;
17
14
  private static instance?;
18
15
  private libndxPath;
19
16
  private bindings;
@@ -26,6 +23,7 @@ export default class LibndxAdapter implements Libndx {
26
23
  private tryToLoadBindings;
27
24
  private defineBindings;
28
25
  private throwFailedToLoadLibndx;
26
+ discoverBleUuid(options: DiscoverBleUuidOptions): any;
29
27
  createBleBackend(options: BleBackendOptions): any;
30
28
  startBleBackend(options: StartBleBackendOptions): any;
31
29
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): any;
@@ -34,8 +32,14 @@ export default class LibndxAdapter implements Libndx {
34
32
  createFtdiBackend(options: FtdiBackendOptions): any;
35
33
  startFtdiBackend(options: FtdiBackendOptions): any;
36
34
  stopFtdiBackend(options: FtdiBackendOptions): any;
35
+ private static getCharCallbackProto;
36
+ private static getOnConnectedProto;
37
+ private static getOnRssiProto;
38
+ private static getOnDiscoveredProto;
39
+ private static getCharCallbackStruct;
37
40
  }
38
41
  export interface Libndx {
42
+ discoverBleUuid(options: DiscoverBleUuidOptions): NativeResult;
39
43
  createBleBackend(options: BleBackendOptions): NativeResult;
40
44
  startBleBackend(options: StartBleBackendOptions): NativeResult;
41
45
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult;
@@ -49,6 +53,10 @@ export type LibndxConstructor = new (options?: LibndxAdapterOptions) => Libndx;
49
53
  export interface LibndxAdapterOptions {
50
54
  libndxPath?: string;
51
55
  }
56
+ export interface DiscoverBleUuidOptions {
57
+ namePrefix: string;
58
+ onDiscovered: (uuid: string) => void;
59
+ }
52
60
  export interface BleBackendOptions {
53
61
  deviceUuid: string;
54
62
  }
@@ -74,6 +82,7 @@ export interface FtdiBackendOptions {
74
82
  serialNumber: string;
75
83
  }
76
84
  export interface LibndxBindings {
85
+ discover_ble_uuid(args: [string, unknown]): string;
77
86
  create_ble_backend(args: [string]): string;
78
87
  start_ble_backend(args: [string, unknown, unknown, number]): string;
79
88
  write_ble_characteristic(args: [string, string, string]): string;
@@ -8,37 +8,9 @@ export default class LibndxAdapter {
8
8
  static koffiPointer = koffi.pointer.bind(koffi);
9
9
  static charCallbackProto;
10
10
  static charCallbackStruct;
11
+ static onDiscoveredProto;
11
12
  static onConnectedProto;
12
13
  static onRssiProto;
13
- static getCharCallbackProto() {
14
- if (!this.charCallbackProto) {
15
- this.charCallbackProto = LibndxAdapter.koffiProto('void CharCallbackFn(uint8 *data, int length, double timestamp)');
16
- }
17
- return this.charCallbackProto;
18
- }
19
- static getOnConnectedProto() {
20
- if (!this.onConnectedProto) {
21
- this.onConnectedProto = LibndxAdapter.koffiProto('void OnConnectedFn(str uuid, str name)');
22
- }
23
- return this.onConnectedProto;
24
- }
25
- static getOnRssiProto() {
26
- if (!this.onRssiProto) {
27
- this.onRssiProto = LibndxAdapter.koffiProto('void OnRssiFn(int rssi)');
28
- }
29
- return this.onRssiProto;
30
- }
31
- static getCharCallbackStruct() {
32
- if (!this.charCallbackStruct) {
33
- this.getCharCallbackProto();
34
- this.charCallbackStruct = LibndxAdapter.koffiStruct('CharCallback', {
35
- charUuid: 'str',
36
- charName: 'str',
37
- onData: LibndxAdapter.koffiPointer(this.charCallbackProto),
38
- });
39
- }
40
- return this.charCallbackStruct;
41
- }
42
14
  static instance;
43
15
  libndxPath;
44
16
  bindings;
@@ -63,6 +35,7 @@ export default class LibndxAdapter {
63
35
  static resetKoffiCache() {
64
36
  delete this.charCallbackProto;
65
37
  delete this.charCallbackStruct;
38
+ delete this.onDiscoveredProto;
66
39
  delete this.onConnectedProto;
67
40
  delete this.onRssiProto;
68
41
  }
@@ -75,15 +48,18 @@ export default class LibndxAdapter {
75
48
  }
76
49
  }
77
50
  defineBindings() {
51
+ LibndxAdapter.getCharCallbackStruct();
52
+ LibndxAdapter.getOnDiscoveredProto();
78
53
  LibndxAdapter.getOnConnectedProto();
79
54
  LibndxAdapter.getOnRssiProto();
80
- LibndxAdapter.getCharCallbackStruct();
81
55
  const lib = LibndxAdapter.koffiLoad(this.libndxPath);
82
56
  const wrap1 = (f) => (args) => f(args[0]);
83
57
  const wrap3 = (f) => (args) => f(args[0], args[1], args[2]);
84
58
  const wrapStartBle = (f) => (args) => f(args[0], args[1], args[2], args[3]);
85
59
  const wrapSetBleRssiInterval = (f) => (args) => f(args[0], args[1], args[2]);
60
+ const wrapDiscoverBleUuid = (f) => (args) => f(args[0], args[1]);
86
61
  this.bindings = {
62
+ discover_ble_uuid: wrapDiscoverBleUuid(lib.func('str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)')),
87
63
  create_ble_backend: wrap1(lib.func('str create_ble_backend(str config)')),
88
64
  start_ble_backend: wrapStartBle(lib.func('str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)')),
89
65
  write_ble_characteristic: wrap3(lib.func('str write_ble_characteristic(str uuid, str charUuid, str value)')),
@@ -115,6 +91,14 @@ export default class LibndxAdapter {
115
91
  \n
116
92
  `.replace(/\s+/g, ''));
117
93
  }
94
+ discoverBleUuid(options) {
95
+ const { namePrefix, onDiscovered } = options;
96
+ const registeredOnDiscovered = LibndxAdapter.koffiRegister(onDiscovered, LibndxAdapter.koffiPointer(LibndxAdapter.getOnDiscoveredProto()));
97
+ return JSON.parse(this.bindings.discover_ble_uuid([
98
+ namePrefix,
99
+ registeredOnDiscovered,
100
+ ]));
101
+ }
118
102
  createBleBackend(options) {
119
103
  const { deviceUuid } = options;
120
104
  const configJson = JSON.stringify({ uuid: deviceUuid });
@@ -169,5 +153,40 @@ export default class LibndxAdapter {
169
153
  const { serialNumber } = options;
170
154
  return JSON.parse(this.bindings.stop_ftdi_backend([serialNumber]));
171
155
  }
156
+ static getCharCallbackProto() {
157
+ if (!this.charCallbackProto) {
158
+ this.charCallbackProto = LibndxAdapter.koffiProto('void CharCallbackFn(uint8 *data, int length, double timestamp)');
159
+ }
160
+ return this.charCallbackProto;
161
+ }
162
+ static getOnConnectedProto() {
163
+ if (!this.onConnectedProto) {
164
+ this.onConnectedProto = LibndxAdapter.koffiProto('void OnConnectedFn(str uuid, str name)');
165
+ }
166
+ return this.onConnectedProto;
167
+ }
168
+ static getOnRssiProto() {
169
+ if (!this.onRssiProto) {
170
+ this.onRssiProto = LibndxAdapter.koffiProto('void OnRssiFn(int rssi)');
171
+ }
172
+ return this.onRssiProto;
173
+ }
174
+ static getOnDiscoveredProto() {
175
+ if (!this.onDiscoveredProto) {
176
+ this.onDiscoveredProto = LibndxAdapter.koffiProto('void OnDiscoveredFn(str uuid)');
177
+ }
178
+ return this.onDiscoveredProto;
179
+ }
180
+ static getCharCallbackStruct() {
181
+ if (!this.charCallbackStruct) {
182
+ this.getCharCallbackProto();
183
+ this.charCallbackStruct = LibndxAdapter.koffiStruct('CharCallback', {
184
+ charUuid: 'str',
185
+ charName: 'str',
186
+ onData: LibndxAdapter.koffiPointer(this.charCallbackProto),
187
+ });
188
+ }
189
+ return this.charCallbackStruct;
190
+ }
172
191
  }
173
192
  //# sourceMappingURL=LibndxAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LibndxAdapter.js","sourceRoot":"","sources":["../../src/impl/LibndxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LibndxAdapter.js","sourceRoot":"","sources":["../../src/impl/LibndxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,KAAK,CAAoB;IAChC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,YAAY,GAAyB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,CAAC,iBAAiB,CAAiC;IACzD,MAAM,CAAC,kBAAkB,CAAkC;IAC3D,MAAM,CAAC,iBAAiB,CAAiC;IACzD,MAAM,CAAC,gBAAgB,CAAiC;IACxD,MAAM,CAAC,WAAW,CAAiC;IAEnD,MAAM,CAAC,QAAQ,CAAS;IAExB,UAAU,CAAQ;IAClB,QAAQ,CAAiB;IACzB,mBAAmB,GAAc,EAAE,CAAA;IAE3C,YAAsB,OAA8B;QAChD,MAAM,EAAE,UAAU,GAAG,6BAA6B,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAA8B;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,QAAS,CAAA;IACzB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,QAAgB;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAA;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAA;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAA;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAA;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAA;QACzB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,CAAC,uBAAuB,CAAC,GAAY,CAAC,CAAA;QAC9C,CAAC;IACL,CAAC;IAEO,cAAc;QAClB,aAAa,CAAC,qBAAqB,EAAE,CAAA;QACrC,aAAa,CAAC,oBAAoB,EAAE,CAAA;QACpC,aAAa,CAAC,mBAAmB,EAAE,CAAA;QACnC,aAAa,CAAC,cAAc,EAAE,CAAA;QAC9B,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEpD,MAAM,KAAK,GAAG,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,EAAE,CAC3D,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAEd,MAAM,KAAK,GACP,CAAC,CAA8C,EAAE,EAAE,CACnD,CAAC,IAA8B,EAAE,EAAE,CAC/B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpC,MAAM,YAAY,GACd,CAAC,CAA2D,EAAE,EAAE,CAChE,CAAC,IAAwC,EAAE,EAAE,CACzC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7C,MAAM,sBAAsB,GACxB,CAAC,CAA+C,EAAE,EAAE,CACpD,CAAC,IAA+B,EAAE,EAAE,CAChC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpC,MAAM,mBAAmB,GACrB,CAAC,CAAoC,EAAE,EAAE,CACzC,CAAC,IAAuB,EAAE,EAAE,CACxB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,CAAC,QAAQ,GAAG;YACZ,iBAAiB,EAAE,mBAAmB,CAClC,GAAG,CAAC,IAAI,CACJ,uEAAuE,CAC1E,CACJ;YACD,kBAAkB,EAAE,KAAK,CACrB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CACjD;YACD,iBAAiB,EAAE,YAAY,CAC3B,GAAG,CAAC,IAAI,CACJ,0GAA0G,CAC7G,CACJ;YACD,wBAAwB,EAAE,KAAK,CAC3B,GAAG,CAAC,IAAI,CACJ,iEAAiE,CACpE,CACJ;YACD,qBAAqB,EAAE,sBAAsB,CACzC,GAAG,CAAC,IAAI,CACJ,yEAAyE,CAC5E,CACJ;YACD,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACnE,mBAAmB,EAAE,KAAK,CACtB,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAClD;YACD,kBAAkB,EAAE,KAAK,CACrB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CACjD;YACD,iBAAiB,EAAE,KAAK,CACpB,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAChD;SACJ,CAAA;IACL,CAAC;IAEO,uBAAuB,CAAC,GAAU;QACtC,MAAM,IAAI,KAAK,CACX;;;qBAGS,IAAI,CAAC,UAAU;;;;;;;;;;;;;iCAaH,GAAG,CAAC,OAAO;;SAEnC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACpB,CAAA;IACL,CAAC;IAEM,eAAe,CAAC,OAA+B;QAClD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAE5C,MAAM,sBAAsB,GAAG,aAAa,CAAC,aAAa,CACtD,YAAY,EACZ,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,EAAG,CAAC,CACpE,CAAA;QAED,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5B,UAAU;YACV,sBAAsB;SACzB,CAAC,CACL,CAAA;IACL,CAAC;IAEM,gBAAgB,CAAC,OAA0B;QAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;IAEM,eAAe,CAAC,OAA+B;QAClD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAE1D,MAAM,qBAAqB,GAAG,aAAa,CAAC,aAAa,CACrD,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAC3D,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,mBAAmB,EAAG,CAAC,CACnE,CAAA;QAED,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CACxC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,QAAQ;YACR,QAAQ;YACR,MAAM,EAAE,aAAa,CAAC,aAAa,CAC/B,MAAM,EACN,aAAa,CAAC,YAAY,CACtB,aAAa,CAAC,oBAAoB,EAAG,CACxC,CACJ;SACJ,CAAC,CACL,CAAA;QAED,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5B,UAAU;YACV,qBAAqB;YACrB,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,mBAAmB,CAAC,MAAM;SAClC,CAAC,CACL,CAAA;IACL,CAAC;IAEM,sBAAsB,CAAC,OAAsC;QAChE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QAEnE,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACnC,UAAU;YACV,kBAAkB;YAClB,KAAK;SACR,CAAC,CACL,CAAA;IACL,CAAC;IAEM,kBAAkB,CAAC,OAAuB;QAC7C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAElD,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,CAChD,MAAM,EACN,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,EAAG,CAAC,CAC9D,CAAA;QAED,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChC,UAAU;YACV,UAAU;YACV,gBAAgB;SACnB,CAAC,CACL,CAAA;IACL,CAAC;IAEM,cAAc,CAAC,OAA0B;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAEM,iBAAiB,CAAC,OAA2B;QAChD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC;IAEM,gBAAgB,CAAC,OAA2B;QAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAEM,eAAe,CAAC,OAA2B;QAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC;IAEO,MAAM,CAAC,oBAAoB;QAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAC7C,gEAAgE,CACnE,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAEO,MAAM,CAAC,mBAAmB;QAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAC5C,wCAAwC,CAC3C,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAEO,MAAM,CAAC,cAAc;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,UAAU,CACvC,yBAAyB,CAC5B,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAEO,MAAM,CAAC,oBAAoB;QAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAC7C,+BAA+B,CAClC,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAEO,MAAM,CAAC,qBAAqB;QAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAA;YAC3B,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,WAAW,CAC/C,cAAc,EACd;gBACI,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAkB,CAAC;aAC9D,CACJ,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAClC,CAAC"}
@@ -1,6 +1,7 @@
1
- import { BleBackendOptions, WriteBleCharacteristicOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions, StartBleBackendOptions, NativeResult, BleRssiOptions } from '../../impl/LibndxAdapter.js';
1
+ import { BleBackendOptions, WriteBleCharacteristicOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions, StartBleBackendOptions, NativeResult, BleRssiOptions, DiscoverBleUuidOptions } from '../../impl/LibndxAdapter.js';
2
2
  export default class FakeLibndx implements Libndx {
3
3
  static callsToConstructor: (LibndxAdapterOptions | undefined)[];
4
+ static callsToDiscoverBleUuid: DiscoverBleUuidOptions[];
4
5
  static callsToCreateBleBackend: BleBackendOptions[];
5
6
  static callsToStartBleBackend: StartBleBackendOptions[];
6
7
  static callsToWriteBleCharacteristic: WriteBleCharacteristicOptions[];
@@ -11,6 +12,7 @@ export default class FakeLibndx implements Libndx {
11
12
  static callsToStopFtdiBackend: FtdiBackendOptions[];
12
13
  static fakeResult: NativeResult;
13
14
  constructor(options?: LibndxAdapterOptions);
15
+ discoverBleUuid(options: DiscoverBleUuidOptions): NativeResult;
14
16
  createBleBackend(options: BleBackendOptions): NativeResult;
15
17
  startBleBackend(options: StartBleBackendOptions): NativeResult;
16
18
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult;
@@ -1,5 +1,6 @@
1
1
  export default class FakeLibndx {
2
2
  static callsToConstructor = [];
3
+ static callsToDiscoverBleUuid = [];
3
4
  static callsToCreateBleBackend = [];
4
5
  static callsToStartBleBackend = [];
5
6
  static callsToWriteBleCharacteristic = [];
@@ -12,6 +13,10 @@ export default class FakeLibndx {
12
13
  constructor(options) {
13
14
  FakeLibndx.callsToConstructor.push(options);
14
15
  }
16
+ discoverBleUuid(options) {
17
+ FakeLibndx.callsToDiscoverBleUuid.push(options);
18
+ return FakeLibndx.fakeResult;
19
+ }
15
20
  createBleBackend(options) {
16
21
  FakeLibndx.callsToCreateBleBackend.push(options);
17
22
  return FakeLibndx.fakeResult;
@@ -46,6 +51,7 @@ export default class FakeLibndx {
46
51
  }
47
52
  static resetTestDouble() {
48
53
  FakeLibndx.callsToConstructor = [];
54
+ FakeLibndx.callsToDiscoverBleUuid = [];
49
55
  FakeLibndx.callsToCreateBleBackend = [];
50
56
  FakeLibndx.callsToStartBleBackend = [];
51
57
  FakeLibndx.callsToWriteBleCharacteristic = [];
@@ -1 +1 @@
1
- {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,OAAO,UAAU;IACpB,MAAM,CAAC,kBAAkB,GAAyC,EAAE,CAAA;IACpE,MAAM,CAAC,uBAAuB,GAAwB,EAAE,CAAA;IACxD,MAAM,CAAC,sBAAsB,GAA6B,EAAE,CAAA;IAC5D,MAAM,CAAC,6BAA6B,GACvC,EAAE,CAAA;IACC,MAAM,CAAC,qBAAqB,GAAwB,EAAE,CAAA;IACtD,MAAM,CAAC,yBAAyB,GAAqB,EAAE,CAAA;IACvD,MAAM,CAAC,wBAAwB,GAAyB,EAAE,CAAA;IAC1D,MAAM,CAAC,uBAAuB,GAAyB,EAAE,CAAA;IACzD,MAAM,CAAC,sBAAsB,GAAyB,EAAE,CAAA;IAExD,MAAM,CAAC,UAAU,GAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;IAExD,YAAmB,OAA8B;QAC7C,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAEM,gBAAgB,CAAC,OAA0B;QAC9C,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,eAAe,CAAC,OAA+B;QAClD,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,sBAAsB,CAAC,OAAsC;QAChE,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,kBAAkB,CAAC,OAAuB;QAC7C,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,cAAc,CAAC,OAA0B;QAC5C,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,iBAAiB,CAAC,OAA2B;QAChD,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,gBAAgB,CAAC,OAA2B;QAC/C,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,eAAe,CAAC,OAA2B;QAC9C,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAClC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAA;QACvC,UAAU,CAAC,sBAAsB,GAAG,EAAE,CAAA;QACtC,UAAU,CAAC,6BAA6B,GAAG,EAAE,CAAA;QAC7C,UAAU,CAAC,qBAAqB,GAAG,EAAE,CAAA;QACrC,UAAU,CAAC,yBAAyB,GAAG,EAAE,CAAA;QACzC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAA;QACxC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAA;QACvC,UAAU,CAAC,sBAAsB,GAAG,EAAE,CAAA;IAC1C,CAAC"}
1
+ {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-native",
3
- "version": "6.0.2",
3
+ "version": "6.1.0",
4
4
  "description": "Native Node.js adapters for LSL, XDF, and LabRecorder",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -37,6 +37,12 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
37
37
 
38
38
  private static readonly successfulResult = { status: 200 }
39
39
 
40
+ private static readonly bleNamePrefix = this.generateId()
41
+
42
+ private static readonly callsToDiscoverBle: {
43
+ namePrefix: string
44
+ onDiscovered: unknown
45
+ }[] = []
40
46
  private static readonly callsToCreateBle: string[][] = []
41
47
  private static readonly callsToStartBle: {
42
48
  uuid: string
@@ -101,6 +107,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
101
107
  assert.isEqualDeep(
102
108
  this.koffiFuncSignatures,
103
109
  [
110
+ 'str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)',
104
111
  'str create_ble_backend(str config)',
105
112
  'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)',
106
113
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
@@ -152,6 +159,26 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
152
159
  )
153
160
  }
154
161
 
162
+ @test()
163
+ protected static async registersOnDiscoveredProtoBeforeLoadingBindings() {
164
+ const onDiscoveredProtoIdx = this.koffiProtoCalls!.findIndex((s) =>
165
+ s.includes('OnDiscoveredFn')
166
+ )
167
+ const firstFuncIdx = this.koffiFuncSignatures!.findIndex((s) =>
168
+ s.includes('OnDiscoveredFn')
169
+ )
170
+ assert.isAbove(
171
+ onDiscoveredProtoIdx,
172
+ -1,
173
+ 'Did not register OnDiscoveredFn proto before loading bindings!'
174
+ )
175
+ assert.isBelow(
176
+ onDiscoveredProtoIdx,
177
+ firstFuncIdx + this.koffiProtoCalls!.length,
178
+ 'OnDiscoveredFn proto must be registered before bindings are loaded!'
179
+ )
180
+ }
181
+
155
182
  @test()
156
183
  protected static async onConnectedReceivesPeripheral() {
157
184
  let received: NativePeripheral | undefined = undefined
@@ -187,6 +214,53 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
187
214
  assert.isEqual(LibndxAdapter.getInstance(), fake)
188
215
  }
189
216
 
217
+ @test()
218
+ protected static async discoverBleUuidCallsBindingWithExpectedArgs() {
219
+ this.discoverBleUuid()
220
+
221
+ assert.isEqual(
222
+ this.callsToDiscoverBle[0].namePrefix,
223
+ this.bleNamePrefix,
224
+ 'discoverBleUuid did not pass expected namePrefix to binding!'
225
+ )
226
+
227
+ assert.isFunction(
228
+ this.callsToDiscoverBle[0].onDiscovered,
229
+ 'discoverBleUuid did not pass an onDiscovered callback to the binding!'
230
+ )
231
+ }
232
+
233
+ @test()
234
+ protected static async discoverBleUuidReturnsJson() {
235
+ const json = this.discoverBleUuid()
236
+
237
+ assert.isEqualDeep(
238
+ json,
239
+ this.successfulResult,
240
+ 'discoverBleUuid did not return a JSON string!'
241
+ )
242
+ }
243
+
244
+ @test()
245
+ protected static async discoverBleUuidInvokesOnDiscoveredWithUuid() {
246
+ let received: string | undefined
247
+
248
+ this.discoverBleUuid((uuid: string) => {
249
+ received = uuid
250
+ })
251
+
252
+ const discoveredUuid = this.generateId()
253
+ const registeredOnDiscovered = this.callsToDiscoverBle[0]
254
+ .onDiscovered as (uuid: string) => void
255
+ registeredOnDiscovered(discoveredUuid)
256
+
257
+ assert.isEqual(
258
+ received,
259
+ discoveredUuid,
260
+ 'onDiscovered was not invoked with discovered uuid!'
261
+ )
262
+ }
263
+
190
264
  @test()
191
265
  protected static async createBleBackendCallsBindingWithExpectedArgs() {
192
266
  this.createBleBackend()
@@ -401,6 +475,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
401
475
  )
402
476
  }
403
477
 
478
+ private static discoverBleUuid(onDiscovered?: (uuid: string) => void) {
479
+ return this.instance.discoverBleUuid({
480
+ namePrefix: this.bleNamePrefix,
481
+ onDiscovered: onDiscovered ?? (() => {}),
482
+ })
483
+ }
484
+
404
485
  private static createBleBackend() {
405
486
  return this.instance.createBleBackend({
406
487
  deviceUuid: this.bleDeviceUuid,
@@ -459,6 +540,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
459
540
 
460
541
  private static FakeBindings(): LibndxBindings {
461
542
  return {
543
+ discover_ble_uuid: (args: any) => {
544
+ this.callsToDiscoverBle.push({
545
+ namePrefix: args[0],
546
+ onDiscovered: args[1],
547
+ })
548
+ return JSON.stringify(this.successfulResult)
549
+ },
462
550
  create_ble_backend: (args) => {
463
551
  this.callsToCreateBle.push(args)
464
552
  return JSON.stringify(this.successfulResult)
@@ -503,6 +591,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
503
591
  }
504
592
 
505
593
  private static resetCallsToFakeBindings() {
594
+ this.callsToDiscoverBle.length = 0
506
595
  this.callsToCreateBle.length = 0
507
596
  this.callsToStartBle.length = 0
508
597
  this.callsToStopBle.length = 0
@@ -10,51 +10,10 @@ export default class LibndxAdapter implements Libndx {
10
10
 
11
11
  private static charCallbackProto?: ReturnType<typeof koffi.proto>
12
12
  private static charCallbackStruct?: ReturnType<typeof koffi.struct>
13
+ private static onDiscoveredProto?: ReturnType<typeof koffi.proto>
13
14
  private static onConnectedProto?: ReturnType<typeof koffi.proto>
14
15
  private static onRssiProto?: ReturnType<typeof koffi.proto>
15
16
 
16
- private static getCharCallbackProto() {
17
- if (!this.charCallbackProto) {
18
- this.charCallbackProto = LibndxAdapter.koffiProto(
19
- 'void CharCallbackFn(uint8 *data, int length, double timestamp)'
20
- )
21
- }
22
- return this.charCallbackProto
23
- }
24
-
25
- private static getOnConnectedProto() {
26
- if (!this.onConnectedProto) {
27
- this.onConnectedProto = LibndxAdapter.koffiProto(
28
- 'void OnConnectedFn(str uuid, str name)'
29
- )
30
- }
31
- return this.onConnectedProto
32
- }
33
-
34
- private static getOnRssiProto() {
35
- if (!this.onRssiProto) {
36
- this.onRssiProto = LibndxAdapter.koffiProto(
37
- 'void OnRssiFn(int rssi)'
38
- )
39
- }
40
- return this.onRssiProto
41
- }
42
-
43
- private static getCharCallbackStruct() {
44
- if (!this.charCallbackStruct) {
45
- this.getCharCallbackProto()
46
- this.charCallbackStruct = LibndxAdapter.koffiStruct(
47
- 'CharCallback',
48
- {
49
- charUuid: 'str',
50
- charName: 'str',
51
- onData: LibndxAdapter.koffiPointer(this.charCallbackProto!),
52
- }
53
- )
54
- }
55
- return this.charCallbackStruct
56
- }
57
-
58
17
  private static instance?: Libndx
59
18
 
60
19
  private libndxPath: string
@@ -87,6 +46,7 @@ export default class LibndxAdapter implements Libndx {
87
46
  public static resetKoffiCache() {
88
47
  delete this.charCallbackProto
89
48
  delete this.charCallbackStruct
49
+ delete this.onDiscoveredProto
90
50
  delete this.onConnectedProto
91
51
  delete this.onRssiProto
92
52
  }
@@ -100,9 +60,10 @@ export default class LibndxAdapter implements Libndx {
100
60
  }
101
61
 
102
62
  private defineBindings() {
63
+ LibndxAdapter.getCharCallbackStruct()
64
+ LibndxAdapter.getOnDiscoveredProto()
103
65
  LibndxAdapter.getOnConnectedProto()
104
66
  LibndxAdapter.getOnRssiProto()
105
- LibndxAdapter.getCharCallbackStruct()
106
67
  const lib = LibndxAdapter.koffiLoad(this.libndxPath)
107
68
 
108
69
  const wrap1 = (f: (a: string) => string) => (args: [string]) =>
@@ -123,7 +84,17 @@ export default class LibndxAdapter implements Libndx {
123
84
  (args: [string, number, unknown]) =>
124
85
  f(args[0], args[1], args[2])
125
86
 
87
+ const wrapDiscoverBleUuid =
88
+ (f: (a: string, b: unknown) => string) =>
89
+ (args: [string, unknown]) =>
90
+ f(args[0], args[1])
91
+
126
92
  this.bindings = {
93
+ discover_ble_uuid: wrapDiscoverBleUuid(
94
+ lib.func(
95
+ 'str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)'
96
+ )
97
+ ),
127
98
  create_ble_backend: wrap1(
128
99
  lib.func('str create_ble_backend(str config)')
129
100
  ),
@@ -179,6 +150,22 @@ export default class LibndxAdapter implements Libndx {
179
150
  )
180
151
  }
181
152
 
153
+ public discoverBleUuid(options: DiscoverBleUuidOptions) {
154
+ const { namePrefix, onDiscovered } = options
155
+
156
+ const registeredOnDiscovered = LibndxAdapter.koffiRegister(
157
+ onDiscovered,
158
+ LibndxAdapter.koffiPointer(LibndxAdapter.getOnDiscoveredProto()!)
159
+ )
160
+
161
+ return JSON.parse(
162
+ this.bindings.discover_ble_uuid([
163
+ namePrefix,
164
+ registeredOnDiscovered,
165
+ ])
166
+ )
167
+ }
168
+
182
169
  public createBleBackend(options: BleBackendOptions) {
183
170
  const { deviceUuid } = options
184
171
  const configJson = JSON.stringify({ uuid: deviceUuid })
@@ -267,9 +254,61 @@ export default class LibndxAdapter implements Libndx {
267
254
  const { serialNumber } = options
268
255
  return JSON.parse(this.bindings.stop_ftdi_backend([serialNumber]))
269
256
  }
257
+
258
+ private static getCharCallbackProto() {
259
+ if (!this.charCallbackProto) {
260
+ this.charCallbackProto = LibndxAdapter.koffiProto(
261
+ 'void CharCallbackFn(uint8 *data, int length, double timestamp)'
262
+ )
263
+ }
264
+ return this.charCallbackProto
265
+ }
266
+
267
+ private static getOnConnectedProto() {
268
+ if (!this.onConnectedProto) {
269
+ this.onConnectedProto = LibndxAdapter.koffiProto(
270
+ 'void OnConnectedFn(str uuid, str name)'
271
+ )
272
+ }
273
+ return this.onConnectedProto
274
+ }
275
+
276
+ private static getOnRssiProto() {
277
+ if (!this.onRssiProto) {
278
+ this.onRssiProto = LibndxAdapter.koffiProto(
279
+ 'void OnRssiFn(int rssi)'
280
+ )
281
+ }
282
+ return this.onRssiProto
283
+ }
284
+
285
+ private static getOnDiscoveredProto() {
286
+ if (!this.onDiscoveredProto) {
287
+ this.onDiscoveredProto = LibndxAdapter.koffiProto(
288
+ 'void OnDiscoveredFn(str uuid)'
289
+ )
290
+ }
291
+ return this.onDiscoveredProto
292
+ }
293
+
294
+ private static getCharCallbackStruct() {
295
+ if (!this.charCallbackStruct) {
296
+ this.getCharCallbackProto()
297
+ this.charCallbackStruct = LibndxAdapter.koffiStruct(
298
+ 'CharCallback',
299
+ {
300
+ charUuid: 'str',
301
+ charName: 'str',
302
+ onData: LibndxAdapter.koffiPointer(this.charCallbackProto!),
303
+ }
304
+ )
305
+ }
306
+ return this.charCallbackStruct
307
+ }
270
308
  }
271
309
 
272
310
  export interface Libndx {
311
+ discoverBleUuid(options: DiscoverBleUuidOptions): NativeResult
273
312
  createBleBackend(options: BleBackendOptions): NativeResult
274
313
  startBleBackend(options: StartBleBackendOptions): NativeResult
275
314
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult
@@ -286,6 +325,11 @@ export interface LibndxAdapterOptions {
286
325
  libndxPath?: string
287
326
  }
288
327
 
328
+ export interface DiscoverBleUuidOptions {
329
+ namePrefix: string
330
+ onDiscovered: (uuid: string) => void
331
+ }
332
+
289
333
  export interface BleBackendOptions {
290
334
  deviceUuid: string
291
335
  }
@@ -317,6 +361,7 @@ export interface FtdiBackendOptions {
317
361
  }
318
362
 
319
363
  export interface LibndxBindings {
364
+ discover_ble_uuid(args: [string, unknown]): string
320
365
  create_ble_backend(args: [string]): string
321
366
  start_ble_backend(args: [string, unknown, unknown, number]): string
322
367
  write_ble_characteristic(args: [string, string, string]): string
@@ -7,10 +7,12 @@ import {
7
7
  StartBleBackendOptions,
8
8
  NativeResult,
9
9
  BleRssiOptions,
10
+ DiscoverBleUuidOptions,
10
11
  } from '../../impl/LibndxAdapter.js'
11
12
 
12
13
  export default class FakeLibndx implements Libndx {
13
14
  public static callsToConstructor: (LibndxAdapterOptions | undefined)[] = []
15
+ public static callsToDiscoverBleUuid: DiscoverBleUuidOptions[] = []
14
16
  public static callsToCreateBleBackend: BleBackendOptions[] = []
15
17
  public static callsToStartBleBackend: StartBleBackendOptions[] = []
16
18
  public static callsToWriteBleCharacteristic: WriteBleCharacteristicOptions[] =
@@ -27,6 +29,11 @@ export default class FakeLibndx implements Libndx {
27
29
  FakeLibndx.callsToConstructor.push(options)
28
30
  }
29
31
 
32
+ public discoverBleUuid(options: DiscoverBleUuidOptions) {
33
+ FakeLibndx.callsToDiscoverBleUuid.push(options)
34
+ return FakeLibndx.fakeResult
35
+ }
36
+
30
37
  public createBleBackend(options: BleBackendOptions) {
31
38
  FakeLibndx.callsToCreateBleBackend.push(options)
32
39
  return FakeLibndx.fakeResult
@@ -69,6 +76,7 @@ export default class FakeLibndx implements Libndx {
69
76
 
70
77
  public static resetTestDouble() {
71
78
  FakeLibndx.callsToConstructor = []
79
+ FakeLibndx.callsToDiscoverBleUuid = []
72
80
  FakeLibndx.callsToCreateBleBackend = []
73
81
  FakeLibndx.callsToStartBleBackend = []
74
82
  FakeLibndx.callsToWriteBleCharacteristic = []