@neurodevs/ndx-native 5.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,11 +18,9 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
18
18
  private static readonly callsToWriteBle;
19
19
  private static readonly callsToReadRssi;
20
20
  private static readonly callsToStopBle;
21
- private static readonly callsToDestroyBle;
22
21
  private static readonly callsToCreateFtdi;
23
22
  private static readonly callsToStartFtdi;
24
23
  private static readonly callsToStopFtdi;
25
- private static readonly callsToDestroyFtdi;
26
24
  protected static beforeEach(): Promise<void>;
27
25
  protected static createsInstance(): Promise<void>;
28
26
  protected static throwsWhenBindingsFailToLoad(): Promise<void>;
@@ -41,26 +39,20 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
41
39
  protected static getRssiBleBackendReturnsJson(): Promise<void>;
42
40
  protected static stopBleBackendCallsBindingWithExpectedArgs(): Promise<void>;
43
41
  protected static stopBleBackendReturnsJson(): Promise<void>;
44
- protected static destroyBleBackendCallsBindingWithExpectedArgs(): Promise<void>;
45
- protected static destroyBleBackendReturnsJson(): Promise<void>;
46
42
  protected static createFtdiBackendCallsBindingWithExpectedArgs(): Promise<void>;
47
43
  protected static createFtdiBackendReturnsJson(): Promise<void>;
48
44
  protected static startFtdiBackendCallsBindingWithExpectedArgs(): Promise<void>;
49
45
  protected static startFtdiBackendReturnsJson(): Promise<void>;
50
46
  protected static stopFtdiBackendCallsBindingWithExpectedArgs(): Promise<void>;
51
47
  protected static stopFtdiBackendReturnsJson(): Promise<void>;
52
- protected static destroyFtdiBackendCallsBindingWithExpectedArgs(): Promise<void>;
53
- protected static destroyFtdiBackendReturnsJson(): Promise<void>;
54
48
  private static createBleBackend;
55
49
  private static startBleBackend;
56
50
  private static writeBleCharacteristic;
57
51
  private static stopBleBackend;
58
- private static destroyBleBackend;
59
52
  private static getRssiBleBackend;
60
53
  private static createFtdiBackend;
61
54
  private static startFtdiBackend;
62
55
  private static stopFtdiBackend;
63
- private static destroyFtdiBackend;
64
56
  private static FakeBindings;
65
57
  private static resetCallsToFakeBindings;
66
58
  private static clearAndFakeFfi;
@@ -33,11 +33,9 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
33
33
  static callsToWriteBle = [];
34
34
  static callsToReadRssi = [];
35
35
  static callsToStopBle = [];
36
- static callsToDestroyBle = [];
37
36
  static callsToCreateFtdi = [];
38
37
  static callsToStartFtdi = [];
39
38
  static callsToStopFtdi = [];
40
- static callsToDestroyFtdi = [];
41
39
  static async beforeEach() {
42
40
  await super.beforeEach();
43
41
  this.shouldThrowWhenLoadingBindings = false;
@@ -63,15 +61,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
63
61
  static async registersExpectedKoffiFuncSignatures() {
64
62
  assert.isEqualDeep(this.koffiFuncSignatures, [
65
63
  'str create_ble_backend(str config)',
66
- 'str start_ble_backend(str uuid, CharCallback *callbacks, int num_callbacks)',
64
+ 'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)',
67
65
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
68
66
  'str read_ble_rssi(str uuid)',
69
67
  'str stop_ble_backend(str uuid)',
70
- 'str destroy_ble_backend(str uuid)',
71
68
  'str create_ftdi_backend(str config)',
72
69
  'str start_ftdi_backend(str serial)',
73
70
  'str stop_ftdi_backend(str serial)',
74
- 'str destroy_ftdi_backend(str serial)',
75
71
  ], 'Did not register expected koffi func signatures!');
76
72
  }
77
73
  static async registersCharCallbackStruct() {
@@ -105,6 +101,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
105
101
  static async startBleBackendCallsBindingWithExpectedArgs() {
106
102
  this.startBleBackend();
107
103
  assert.isEqual(this.callsToStartBle[0].uuid, this.bleDeviceUuid, 'startBleBackend did not pass expected uuid to binding!');
104
+ debugger;
108
105
  assert.isEqualDeep(this.callsToStartBle[0].charCallbacks, this.charCallbacks, 'startBleBackend did not pass expected charCallbacks to binding!');
109
106
  }
110
107
  static async startBleBackendReturnsJson() {
@@ -139,14 +136,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
139
136
  const json = this.stopBleBackend();
140
137
  assert.isEqualDeep(json, this.successfulResult, 'stopBleBackend did not return a JSON string!');
141
138
  }
142
- static async destroyBleBackendCallsBindingWithExpectedArgs() {
143
- this.destroyBleBackend();
144
- assert.isEqual(this.callsToDestroyBle[0][0], this.bleDeviceUuid, 'destroyBleBackend did not call binding with expected args!');
145
- }
146
- static async destroyBleBackendReturnsJson() {
147
- const json = this.destroyBleBackend();
148
- assert.isEqualDeep(json, this.successfulResult, 'destroyBleBackend did not return a JSON string!');
149
- }
150
139
  static async createFtdiBackendCallsBindingWithExpectedArgs() {
151
140
  this.createFtdiBackend();
152
141
  assert.isEqualDeep(this.callsToCreateFtdi[0][0], JSON.stringify({ serialNumber: this.ftdiSerialNumber }), 'createFtdiBackend did not call binding with expected args!');
@@ -171,14 +160,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
171
160
  const json = this.stopFtdiBackend();
172
161
  assert.isEqualDeep(json, this.successfulResult, 'stopFtdiBackend did not return a JSON string!');
173
162
  }
174
- static async destroyFtdiBackendCallsBindingWithExpectedArgs() {
175
- this.destroyFtdiBackend();
176
- assert.isEqual(this.callsToDestroyFtdi[0][0], this.ftdiSerialNumber, 'destroyFtdiBackend did not call binding with expected args!');
177
- }
178
- static async destroyFtdiBackendReturnsJson() {
179
- const json = this.destroyFtdiBackend();
180
- assert.isEqualDeep(json, this.successfulResult, 'destroyFtdiBackend did not return a JSON string!');
181
- }
182
163
  static createBleBackend() {
183
164
  return this.instance.createBleBackend({
184
165
  deviceUuid: this.bleDeviceUuid,
@@ -187,6 +168,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
187
168
  static startBleBackend() {
188
169
  return this.instance.startBleBackend({
189
170
  deviceUuid: this.bleDeviceUuid,
171
+ onConnected: () => { },
190
172
  charCallbacks: this.charCallbacks,
191
173
  });
192
174
  }
@@ -202,11 +184,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
202
184
  deviceUuid: this.bleDeviceUuid,
203
185
  });
204
186
  }
205
- static destroyBleBackend() {
206
- return this.instance.destroyBleBackend({
207
- deviceUuid: this.bleDeviceUuid,
208
- });
209
- }
210
187
  static getRssiBleBackend() {
211
188
  return this.instance.readBleRssi({
212
189
  deviceUuid: this.bleDeviceUuid,
@@ -227,11 +204,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
227
204
  serialNumber: this.ftdiSerialNumber,
228
205
  });
229
206
  }
230
- static destroyFtdiBackend() {
231
- return this.instance.destroyFtdiBackend({
232
- serialNumber: this.ftdiSerialNumber,
233
- });
234
- }
235
207
  static FakeBindings() {
236
208
  return {
237
209
  create_ble_backend: (args) => {
@@ -241,7 +213,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
241
213
  start_ble_backend: (args) => {
242
214
  this.callsToStartBle.push({
243
215
  uuid: args[0],
244
- charCallbacks: args[1],
216
+ onConnected: args[1],
217
+ charCallbacks: args[2],
245
218
  });
246
219
  return JSON.stringify(this.successfulResult);
247
220
  },
@@ -257,10 +230,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
257
230
  this.callsToStopBle.push(args);
258
231
  return JSON.stringify(this.successfulResult);
259
232
  },
260
- destroy_ble_backend: (args) => {
261
- this.callsToDestroyBle.push(args);
262
- return JSON.stringify(this.successfulResult);
263
- },
264
233
  create_ftdi_backend: (args) => {
265
234
  this.callsToCreateFtdi.push(args);
266
235
  return JSON.stringify(this.successfulResult);
@@ -273,22 +242,16 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
273
242
  this.callsToStopFtdi.push(args);
274
243
  return JSON.stringify(this.successfulResult);
275
244
  },
276
- destroy_ftdi_backend: (args) => {
277
- this.callsToDestroyFtdi.push(args);
278
- return JSON.stringify(this.successfulResult);
279
- },
280
245
  };
281
246
  }
282
247
  static resetCallsToFakeBindings() {
283
248
  this.callsToCreateBle.length = 0;
284
249
  this.callsToStartBle.length = 0;
285
250
  this.callsToStopBle.length = 0;
286
- this.callsToDestroyBle.length = 0;
287
251
  this.callsToReadRssi.length = 0;
288
252
  this.callsToCreateFtdi.length = 0;
289
253
  this.callsToStartFtdi.length = 0;
290
254
  this.callsToStopFtdi.length = 0;
291
- this.callsToDestroyFtdi.length = 0;
292
255
  }
293
256
  static clearAndFakeFfi() {
294
257
  delete this.koffiLoadPath;
@@ -410,12 +373,6 @@ __decorate([
410
373
  __decorate([
411
374
  test()
412
375
  ], LibndxAdapterTest, "stopBleBackendReturnsJson", null);
413
- __decorate([
414
- test()
415
- ], LibndxAdapterTest, "destroyBleBackendCallsBindingWithExpectedArgs", null);
416
- __decorate([
417
- test()
418
- ], LibndxAdapterTest, "destroyBleBackendReturnsJson", null);
419
376
  __decorate([
420
377
  test()
421
378
  ], LibndxAdapterTest, "createFtdiBackendCallsBindingWithExpectedArgs", null);
@@ -434,10 +391,4 @@ __decorate([
434
391
  __decorate([
435
392
  test()
436
393
  ], LibndxAdapterTest, "stopFtdiBackendReturnsJson", null);
437
- __decorate([
438
- test()
439
- ], LibndxAdapterTest, "destroyFtdiBackendCallsBindingWithExpectedArgs", null);
440
- __decorate([
441
- test()
442
- ], LibndxAdapterTest, "destroyFtdiBackendReturnsJson", null);
443
394
  //# sourceMappingURL=LibndxAdapter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LibndxAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LibndxAdapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LibndxAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LibndxAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -8,7 +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 onConnectedProto?;
11
12
  private static getCharCallbackProto;
13
+ private static getOnConnectedProto;
12
14
  private static getCharCallbackStruct;
13
15
  private static instance?;
14
16
  private libndxPath;
@@ -27,11 +29,9 @@ export default class LibndxAdapter implements Libndx {
27
29
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): any;
28
30
  readBleRssi(options: BleBackendOptions): any;
29
31
  stopBleBackend(options: BleBackendOptions): any;
30
- destroyBleBackend(options: BleBackendOptions): any;
31
32
  createFtdiBackend(options: FtdiBackendOptions): any;
32
33
  startFtdiBackend(options: FtdiBackendOptions): any;
33
34
  stopFtdiBackend(options: FtdiBackendOptions): any;
34
- destroyFtdiBackend(options: FtdiBackendOptions): any;
35
35
  }
36
36
  export interface Libndx {
37
37
  createBleBackend(options: BleBackendOptions): NativeResult;
@@ -39,11 +39,9 @@ export interface Libndx {
39
39
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult;
40
40
  readBleRssi(options: BleBackendOptions): NativeResult;
41
41
  stopBleBackend(options: BleBackendOptions): NativeResult;
42
- destroyBleBackend(options: BleBackendOptions): NativeResult;
43
42
  createFtdiBackend(options: FtdiBackendOptions): NativeResult;
44
43
  startFtdiBackend(options: FtdiBackendOptions): NativeResult;
45
44
  stopFtdiBackend(options: FtdiBackendOptions): NativeResult;
46
- destroyFtdiBackend(options: FtdiBackendOptions): NativeResult;
47
45
  }
48
46
  export type LibndxConstructor = new (options?: LibndxAdapterOptions) => Libndx;
49
47
  export interface LibndxAdapterOptions {
@@ -53,6 +51,7 @@ export interface BleBackendOptions {
53
51
  deviceUuid: string;
54
52
  }
55
53
  export interface StartBleBackendOptions extends BleBackendOptions {
54
+ onConnected: (peripheral: NativePeripheral) => void;
56
55
  charCallbacks: CharacteristicCallback[];
57
56
  }
58
57
  export interface WriteBleCharacteristicOptions {
@@ -70,15 +69,17 @@ export interface FtdiBackendOptions {
70
69
  }
71
70
  export interface LibndxBindings {
72
71
  create_ble_backend(args: [string]): string;
73
- start_ble_backend(args: [string, unknown, number]): string;
72
+ start_ble_backend(args: [string, unknown, unknown, number]): string;
74
73
  write_ble_characteristic(args: [string, string, string]): string;
75
74
  read_ble_rssi(args: [string]): string;
76
75
  stop_ble_backend(args: [string]): string;
77
- destroy_ble_backend(args: [string]): string;
78
76
  create_ftdi_backend(args: [string]): string;
79
77
  start_ftdi_backend(args: [string]): string;
80
78
  stop_ftdi_backend(args: [string]): string;
81
- destroy_ftdi_backend(args: [string]): string;
79
+ }
80
+ export interface NativePeripheral {
81
+ uuid: string;
82
+ name: string;
82
83
  }
83
84
  export interface NativeResult {
84
85
  status: number;
@@ -8,12 +8,19 @@ export default class LibndxAdapter {
8
8
  static koffiPointer = koffi.pointer.bind(koffi);
9
9
  static charCallbackProto;
10
10
  static charCallbackStruct;
11
+ static onConnectedProto;
11
12
  static getCharCallbackProto() {
12
13
  if (!this.charCallbackProto) {
13
14
  this.charCallbackProto = LibndxAdapter.koffiProto('void CharCallbackFn(uint8 *data, int length, double timestamp)');
14
15
  }
15
16
  return this.charCallbackProto;
16
17
  }
18
+ static getOnConnectedProto() {
19
+ if (!this.onConnectedProto) {
20
+ this.onConnectedProto = LibndxAdapter.koffiProto('void OnConnectedFn()');
21
+ }
22
+ return this.onConnectedProto;
23
+ }
17
24
  static getCharCallbackStruct() {
18
25
  if (!this.charCallbackStruct) {
19
26
  this.getCharCallbackProto();
@@ -49,6 +56,7 @@ export default class LibndxAdapter {
49
56
  static resetKoffiCache() {
50
57
  delete this.charCallbackProto;
51
58
  delete this.charCallbackStruct;
59
+ delete this.onConnectedProto;
52
60
  }
53
61
  tryToLoadBindings() {
54
62
  try {
@@ -60,21 +68,20 @@ export default class LibndxAdapter {
60
68
  }
61
69
  defineBindings() {
62
70
  LibndxAdapter.getCharCallbackStruct();
71
+ LibndxAdapter.getOnConnectedProto();
63
72
  const lib = LibndxAdapter.koffiLoad(this.libndxPath);
64
73
  const wrap1 = (f) => (args) => f(args[0]);
65
74
  const wrap3 = (f) => (args) => f(args[0], args[1], args[2]);
66
- const wrapStartBle = (f) => (args) => f(args[0], args[1], args[2]);
75
+ const wrapStartBle = (f) => (args) => f(args[0], args[1], args[2], args[3]);
67
76
  this.bindings = {
68
77
  create_ble_backend: wrap1(lib.func('str create_ble_backend(str config)')),
69
- start_ble_backend: wrapStartBle(lib.func('str start_ble_backend(str uuid, CharCallback *callbacks, int num_callbacks)')),
78
+ start_ble_backend: wrapStartBle(lib.func('str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)')),
70
79
  write_ble_characteristic: wrap3(lib.func('str write_ble_characteristic(str uuid, str charUuid, str value)')),
71
80
  read_ble_rssi: wrap1(lib.func('str read_ble_rssi(str uuid)')),
72
81
  stop_ble_backend: wrap1(lib.func('str stop_ble_backend(str uuid)')),
73
- destroy_ble_backend: wrap1(lib.func('str destroy_ble_backend(str uuid)')),
74
82
  create_ftdi_backend: wrap1(lib.func('str create_ftdi_backend(str config)')),
75
83
  start_ftdi_backend: wrap1(lib.func('str start_ftdi_backend(str serial)')),
76
84
  stop_ftdi_backend: wrap1(lib.func('str stop_ftdi_backend(str serial)')),
77
- destroy_ftdi_backend: wrap1(lib.func('str destroy_ftdi_backend(str serial)')),
78
85
  };
79
86
  }
80
87
  throwFailedToLoadLibndx(err) {
@@ -104,7 +111,8 @@ export default class LibndxAdapter {
104
111
  return JSON.parse(this.bindings.create_ble_backend([configJson]));
105
112
  }
106
113
  startBleBackend(options) {
107
- const { deviceUuid, charCallbacks } = options;
114
+ const { deviceUuid, onConnected, charCallbacks } = options;
115
+ const registeredOnConnected = LibndxAdapter.koffiRegister(onConnected, LibndxAdapter.koffiPointer(LibndxAdapter.getOnConnectedProto()));
108
116
  this.registeredCallbacks = charCallbacks.map(({ charUuid, charName, onData }) => ({
109
117
  charUuid,
110
118
  charName,
@@ -112,6 +120,7 @@ export default class LibndxAdapter {
112
120
  }));
113
121
  return JSON.parse(this.bindings.start_ble_backend([
114
122
  deviceUuid,
123
+ registeredOnConnected,
115
124
  this.registeredCallbacks,
116
125
  this.registeredCallbacks.length,
117
126
  ]));
@@ -132,10 +141,6 @@ export default class LibndxAdapter {
132
141
  const { deviceUuid } = options;
133
142
  return JSON.parse(this.bindings.stop_ble_backend([deviceUuid]));
134
143
  }
135
- destroyBleBackend(options) {
136
- const { deviceUuid } = options;
137
- return JSON.parse(this.bindings.destroy_ble_backend([deviceUuid]));
138
- }
139
144
  createFtdiBackend(options) {
140
145
  const { serialNumber } = options;
141
146
  const configJson = JSON.stringify({ serialNumber });
@@ -149,9 +154,5 @@ export default class LibndxAdapter {
149
154
  const { serialNumber } = options;
150
155
  return JSON.parse(this.bindings.stop_ftdi_backend([serialNumber]));
151
156
  }
152
- destroyFtdiBackend(options) {
153
- const { serialNumber } = options;
154
- return JSON.parse(this.bindings.destroy_ftdi_backend([serialNumber]));
155
- }
156
157
  }
157
158
  //# 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,gBAAgB,CAAiC;IAExD,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,sBAAsB,CACzB,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,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;IAEO,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,gBAAgB,CAAA;IAChC,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,mBAAmB,EAAE,CAAA;QACnC,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,IAAI,CAAC,QAAQ,GAAG;YACZ,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,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7D,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,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,WAAW,EACX,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,WAAW,CAAC,OAA0B;QACzC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAChE,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"}
@@ -1,49 +1,23 @@
1
- import { BleBackendOptions, WriteBleCharacteristicOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions, StartBleBackendOptions } from '../../impl/LibndxAdapter.js';
1
+ import { BleBackendOptions, WriteBleCharacteristicOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions, StartBleBackendOptions, NativeResult } from '../../impl/LibndxAdapter.js';
2
2
  export default class FakeLibndx implements Libndx {
3
3
  static callsToConstructor: (LibndxAdapterOptions | undefined)[];
4
4
  static callsToCreateBleBackend: BleBackendOptions[];
5
5
  static callsToStartBleBackend: StartBleBackendOptions[];
6
- static callsToWriteBle: WriteBleCharacteristicOptions[];
7
- static callsToStopBleBacked: BleBackendOptions[];
8
- static callsToDestroyBleBackend: BleBackendOptions[];
6
+ static callsToWriteBleChar: WriteBleCharacteristicOptions[];
7
+ static callsToStopBleBackend: BleBackendOptions[];
9
8
  static callsToGetRssiBleBackend: BleBackendOptions[];
10
9
  static callsToCreateFtdiBackend: FtdiBackendOptions[];
11
10
  static callsToStartFtdiBackend: FtdiBackendOptions[];
12
11
  static callsToStopFtdiBackend: FtdiBackendOptions[];
13
- static callsToDestroyFtdiBackend: FtdiBackendOptions[];
14
- static fakeResult: {
15
- status: number;
16
- };
12
+ static fakeResult: NativeResult;
17
13
  constructor(options?: LibndxAdapterOptions);
18
- createBleBackend(options: BleBackendOptions): {
19
- status: number;
20
- };
21
- startBleBackend(options: StartBleBackendOptions): {
22
- status: number;
23
- };
24
- writeBleCharacteristic(options: WriteBleCharacteristicOptions): {
25
- status: number;
26
- };
27
- readBleRssi(options: BleBackendOptions): {
28
- status: number;
29
- };
30
- stopBleBackend(options: BleBackendOptions): {
31
- status: number;
32
- };
33
- destroyBleBackend(options: BleBackendOptions): {
34
- status: number;
35
- };
36
- createFtdiBackend(options: FtdiBackendOptions): {
37
- status: number;
38
- };
39
- startFtdiBackend(options: FtdiBackendOptions): {
40
- status: number;
41
- };
42
- stopFtdiBackend(options: FtdiBackendOptions): {
43
- status: number;
44
- };
45
- destroyFtdiBackend(options: FtdiBackendOptions): {
46
- status: number;
47
- };
14
+ createBleBackend(options: BleBackendOptions): NativeResult;
15
+ startBleBackend(options: StartBleBackendOptions): NativeResult;
16
+ writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult;
17
+ readBleRssi(options: BleBackendOptions): NativeResult;
18
+ stopBleBackend(options: BleBackendOptions): NativeResult;
19
+ createFtdiBackend(options: FtdiBackendOptions): NativeResult;
20
+ startFtdiBackend(options: FtdiBackendOptions): NativeResult;
21
+ stopFtdiBackend(options: FtdiBackendOptions): NativeResult;
48
22
  static resetTestDouble(): void;
49
23
  }
@@ -2,14 +2,12 @@ export default class FakeLibndx {
2
2
  static callsToConstructor = [];
3
3
  static callsToCreateBleBackend = [];
4
4
  static callsToStartBleBackend = [];
5
- static callsToWriteBle = [];
6
- static callsToStopBleBacked = [];
7
- static callsToDestroyBleBackend = [];
5
+ static callsToWriteBleChar = [];
6
+ static callsToStopBleBackend = [];
8
7
  static callsToGetRssiBleBackend = [];
9
8
  static callsToCreateFtdiBackend = [];
10
9
  static callsToStartFtdiBackend = [];
11
10
  static callsToStopFtdiBackend = [];
12
- static callsToDestroyFtdiBackend = [];
13
11
  static fakeResult = { status: 200 };
14
12
  constructor(options) {
15
13
  FakeLibndx.callsToConstructor.push(options);
@@ -23,7 +21,7 @@ export default class FakeLibndx {
23
21
  return FakeLibndx.fakeResult;
24
22
  }
25
23
  writeBleCharacteristic(options) {
26
- FakeLibndx.callsToWriteBle.push(options);
24
+ FakeLibndx.callsToWriteBleChar.push(options);
27
25
  return FakeLibndx.fakeResult;
28
26
  }
29
27
  readBleRssi(options) {
@@ -31,11 +29,7 @@ export default class FakeLibndx {
31
29
  return FakeLibndx.fakeResult;
32
30
  }
33
31
  stopBleBackend(options) {
34
- FakeLibndx.callsToStopBleBacked.push(options);
35
- return FakeLibndx.fakeResult;
36
- }
37
- destroyBleBackend(options) {
38
- FakeLibndx.callsToDestroyBleBackend.push(options);
32
+ FakeLibndx.callsToStopBleBackend.push(options);
39
33
  return FakeLibndx.fakeResult;
40
34
  }
41
35
  createFtdiBackend(options) {
@@ -50,22 +44,16 @@ export default class FakeLibndx {
50
44
  FakeLibndx.callsToStopFtdiBackend.push(options);
51
45
  return FakeLibndx.fakeResult;
52
46
  }
53
- destroyFtdiBackend(options) {
54
- FakeLibndx.callsToDestroyFtdiBackend.push(options);
55
- return FakeLibndx.fakeResult;
56
- }
57
47
  static resetTestDouble() {
58
48
  FakeLibndx.callsToConstructor = [];
59
49
  FakeLibndx.callsToCreateBleBackend = [];
60
50
  FakeLibndx.callsToStartBleBackend = [];
61
- FakeLibndx.callsToWriteBle = [];
62
- FakeLibndx.callsToStopBleBacked = [];
51
+ FakeLibndx.callsToWriteBleChar = [];
52
+ FakeLibndx.callsToStopBleBackend = [];
63
53
  FakeLibndx.callsToGetRssiBleBackend = [];
64
- FakeLibndx.callsToDestroyBleBackend = [];
65
54
  FakeLibndx.callsToCreateFtdiBackend = [];
66
55
  FakeLibndx.callsToStartFtdiBackend = [];
67
56
  FakeLibndx.callsToStopFtdiBackend = [];
68
- FakeLibndx.callsToDestroyFtdiBackend = [];
69
57
  }
70
58
  }
71
59
  //# sourceMappingURL=FakeLibndx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"AASA,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,eAAe,GAAoC,EAAE,CAAA;IAC5D,MAAM,CAAC,oBAAoB,GAAwB,EAAE,CAAA;IACrD,MAAM,CAAC,wBAAwB,GAAwB,EAAE,CAAA;IACzD,MAAM,CAAC,wBAAwB,GAAwB,EAAE,CAAA;IACzD,MAAM,CAAC,wBAAwB,GAAyB,EAAE,CAAA;IAC1D,MAAM,CAAC,uBAAuB,GAAyB,EAAE,CAAA;IACzD,MAAM,CAAC,sBAAsB,GAAyB,EAAE,CAAA;IACxD,MAAM,CAAC,yBAAyB,GAAyB,EAAE,CAAA;IAE3D,MAAM,CAAC,UAAU,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;IAE1C,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,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,WAAW,CAAC,OAA0B;QACzC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,cAAc,CAAC,OAA0B;QAC5C,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,iBAAiB,CAAC,OAA0B;QAC/C,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,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,kBAAkB,CAAC,OAA2B;QACjD,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,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,eAAe,GAAG,EAAE,CAAA;QAC/B,UAAU,CAAC,oBAAoB,GAAG,EAAE,CAAA;QACpC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAA;QACxC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAA;QACxC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAA;QACxC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAA;QACvC,UAAU,CAAC,sBAAsB,GAAG,EAAE,CAAA;QACtC,UAAU,CAAC,yBAAyB,GAAG,EAAE,CAAA;IAC7C,CAAC"}
1
+ {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"AAUA,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,mBAAmB,GAAoC,EAAE,CAAA;IAChE,MAAM,CAAC,qBAAqB,GAAwB,EAAE,CAAA;IACtD,MAAM,CAAC,wBAAwB,GAAwB,EAAE,CAAA;IACzD,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,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,WAAW,CAAC,OAA0B;QACzC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,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,mBAAmB,GAAG,EAAE,CAAA;QACnC,UAAU,CAAC,qBAAqB,GAAG,EAAE,CAAA;QACrC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAA;QACxC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAA;QACxC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAA;QACvC,UAAU,CAAC,sBAAsB,GAAG,EAAE,CAAA;IAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-native",
3
- "version": "5.0.0",
3
+ "version": "6.0.0",
4
4
  "description": "Native Node.js adapters for LSL, XDF, and LabRecorder",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -37,17 +37,16 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
37
37
  private static readonly callsToCreateBle: string[][] = []
38
38
  private static readonly callsToStartBle: {
39
39
  uuid: string
40
+ onConnected: unknown
40
41
  charCallbacks: CharacteristicCallback[]
41
42
  }[] = []
42
43
  private static readonly callsToWriteBle: string[][] = []
43
44
  private static readonly callsToReadRssi: string[][] = []
44
45
  private static readonly callsToStopBle: string[][] = []
45
- private static readonly callsToDestroyBle: string[][] = []
46
46
 
47
47
  private static readonly callsToCreateFtdi: string[][] = []
48
48
  private static readonly callsToStartFtdi: string[][] = []
49
49
  private static readonly callsToStopFtdi: string[][] = []
50
- private static readonly callsToDestroyFtdi: string[][] = []
51
50
 
52
51
  protected static async beforeEach() {
53
52
  await super.beforeEach()
@@ -96,15 +95,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
96
95
  this.koffiFuncSignatures,
97
96
  [
98
97
  'str create_ble_backend(str config)',
99
- 'str start_ble_backend(str uuid, CharCallback *callbacks, int num_callbacks)',
98
+ 'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)',
100
99
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
101
100
  'str read_ble_rssi(str uuid)',
102
101
  'str stop_ble_backend(str uuid)',
103
- 'str destroy_ble_backend(str uuid)',
104
102
  'str create_ftdi_backend(str config)',
105
103
  'str start_ftdi_backend(str serial)',
106
104
  'str stop_ftdi_backend(str serial)',
107
- 'str destroy_ftdi_backend(str serial)',
108
105
  ],
109
106
  'Did not register expected koffi func signatures!'
110
107
  )
@@ -172,6 +169,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
172
169
  'startBleBackend did not pass expected uuid to binding!'
173
170
  )
174
171
 
172
+ debugger
173
+
175
174
  assert.isEqualDeep(
176
175
  this.callsToStartBle[0].charCallbacks,
177
176
  this.charCallbacks,
@@ -260,28 +259,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
260
259
  )
261
260
  }
262
261
 
263
- @test()
264
- protected static async destroyBleBackendCallsBindingWithExpectedArgs() {
265
- this.destroyBleBackend()
266
-
267
- assert.isEqual(
268
- this.callsToDestroyBle[0][0],
269
- this.bleDeviceUuid,
270
- 'destroyBleBackend did not call binding with expected args!'
271
- )
272
- }
273
-
274
- @test()
275
- protected static async destroyBleBackendReturnsJson() {
276
- const json = this.destroyBleBackend()
277
-
278
- assert.isEqualDeep(
279
- json,
280
- this.successfulResult,
281
- 'destroyBleBackend did not return a JSON string!'
282
- )
283
- }
284
-
285
262
  @test()
286
263
  protected static async createFtdiBackendCallsBindingWithExpectedArgs() {
287
264
  this.createFtdiBackend()
@@ -348,28 +325,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
348
325
  )
349
326
  }
350
327
 
351
- @test()
352
- protected static async destroyFtdiBackendCallsBindingWithExpectedArgs() {
353
- this.destroyFtdiBackend()
354
-
355
- assert.isEqual(
356
- this.callsToDestroyFtdi[0][0],
357
- this.ftdiSerialNumber,
358
- 'destroyFtdiBackend did not call binding with expected args!'
359
- )
360
- }
361
-
362
- @test()
363
- protected static async destroyFtdiBackendReturnsJson() {
364
- const json = this.destroyFtdiBackend()
365
-
366
- assert.isEqualDeep(
367
- json,
368
- this.successfulResult,
369
- 'destroyFtdiBackend did not return a JSON string!'
370
- )
371
- }
372
-
373
328
  private static createBleBackend() {
374
329
  return this.instance.createBleBackend({
375
330
  deviceUuid: this.bleDeviceUuid,
@@ -379,6 +334,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
379
334
  private static startBleBackend() {
380
335
  return this.instance.startBleBackend({
381
336
  deviceUuid: this.bleDeviceUuid,
337
+ onConnected: () => {},
382
338
  charCallbacks: this.charCallbacks,
383
339
  })
384
340
  }
@@ -397,12 +353,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
397
353
  })
398
354
  }
399
355
 
400
- private static destroyBleBackend() {
401
- return this.instance.destroyBleBackend({
402
- deviceUuid: this.bleDeviceUuid,
403
- })
404
- }
405
-
406
356
  private static getRssiBleBackend() {
407
357
  return this.instance.readBleRssi({
408
358
  deviceUuid: this.bleDeviceUuid,
@@ -427,12 +377,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
427
377
  })
428
378
  }
429
379
 
430
- private static destroyFtdiBackend() {
431
- return this.instance.destroyFtdiBackend({
432
- serialNumber: this.ftdiSerialNumber,
433
- })
434
- }
435
-
436
380
  private static FakeBindings(): LibndxBindings {
437
381
  return {
438
382
  create_ble_backend: (args) => {
@@ -442,7 +386,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
442
386
  start_ble_backend: (args: any) => {
443
387
  this.callsToStartBle.push({
444
388
  uuid: args[0],
445
- charCallbacks: args[1],
389
+ onConnected: args[1],
390
+ charCallbacks: args[2],
446
391
  })
447
392
  return JSON.stringify(this.successfulResult)
448
393
  },
@@ -458,10 +403,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
458
403
  this.callsToStopBle.push(args)
459
404
  return JSON.stringify(this.successfulResult)
460
405
  },
461
- destroy_ble_backend: (args) => {
462
- this.callsToDestroyBle.push(args)
463
- return JSON.stringify(this.successfulResult)
464
- },
465
406
  create_ftdi_backend: (args) => {
466
407
  this.callsToCreateFtdi.push(args)
467
408
  return JSON.stringify(this.successfulResult)
@@ -474,10 +415,6 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
474
415
  this.callsToStopFtdi.push(args)
475
416
  return JSON.stringify(this.successfulResult)
476
417
  },
477
- destroy_ftdi_backend: (args) => {
478
- this.callsToDestroyFtdi.push(args)
479
- return JSON.stringify(this.successfulResult)
480
- },
481
418
  }
482
419
  }
483
420
 
@@ -485,12 +422,10 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
485
422
  this.callsToCreateBle.length = 0
486
423
  this.callsToStartBle.length = 0
487
424
  this.callsToStopBle.length = 0
488
- this.callsToDestroyBle.length = 0
489
425
  this.callsToReadRssi.length = 0
490
426
  this.callsToCreateFtdi.length = 0
491
427
  this.callsToStartFtdi.length = 0
492
428
  this.callsToStopFtdi.length = 0
493
- this.callsToDestroyFtdi.length = 0
494
429
  }
495
430
 
496
431
  private static clearAndFakeFfi() {
@@ -10,6 +10,7 @@ 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 onConnectedProto?: ReturnType<typeof koffi.proto>
13
14
 
14
15
  private static getCharCallbackProto() {
15
16
  if (!this.charCallbackProto) {
@@ -20,6 +21,15 @@ export default class LibndxAdapter implements Libndx {
20
21
  return this.charCallbackProto
21
22
  }
22
23
 
24
+ private static getOnConnectedProto() {
25
+ if (!this.onConnectedProto) {
26
+ this.onConnectedProto = LibndxAdapter.koffiProto(
27
+ 'void OnConnectedFn()'
28
+ )
29
+ }
30
+ return this.onConnectedProto
31
+ }
32
+
23
33
  private static getCharCallbackStruct() {
24
34
  if (!this.charCallbackStruct) {
25
35
  this.getCharCallbackProto()
@@ -67,6 +77,7 @@ export default class LibndxAdapter implements Libndx {
67
77
  public static resetKoffiCache() {
68
78
  delete this.charCallbackProto
69
79
  delete this.charCallbackStruct
80
+ delete this.onConnectedProto
70
81
  }
71
82
 
72
83
  private tryToLoadBindings() {
@@ -79,6 +90,7 @@ export default class LibndxAdapter implements Libndx {
79
90
 
80
91
  private defineBindings() {
81
92
  LibndxAdapter.getCharCallbackStruct()
93
+ LibndxAdapter.getOnConnectedProto()
82
94
  const lib = LibndxAdapter.koffiLoad(this.libndxPath)
83
95
 
84
96
  const wrap1 = (f: (a: string) => string) => (args: [string]) =>
@@ -90,9 +102,9 @@ export default class LibndxAdapter implements Libndx {
90
102
  f(args[0], args[1], args[2])
91
103
 
92
104
  const wrapStartBle =
93
- (f: (a: string, b: unknown, c: number) => string) =>
94
- (args: [string, unknown, number]) =>
95
- f(args[0], args[1], args[2])
105
+ (f: (a: string, b: unknown, c: unknown, d: number) => string) =>
106
+ (args: [string, unknown, unknown, number]) =>
107
+ f(args[0], args[1], args[2], args[3])
96
108
 
97
109
  this.bindings = {
98
110
  create_ble_backend: wrap1(
@@ -100,7 +112,7 @@ export default class LibndxAdapter implements Libndx {
100
112
  ),
101
113
  start_ble_backend: wrapStartBle(
102
114
  lib.func(
103
- 'str start_ble_backend(str uuid, CharCallback *callbacks, int num_callbacks)'
115
+ 'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)'
104
116
  )
105
117
  ),
106
118
  write_ble_characteristic: wrap3(
@@ -110,9 +122,6 @@ export default class LibndxAdapter implements Libndx {
110
122
  ),
111
123
  read_ble_rssi: wrap1(lib.func('str read_ble_rssi(str uuid)')),
112
124
  stop_ble_backend: wrap1(lib.func('str stop_ble_backend(str uuid)')),
113
- destroy_ble_backend: wrap1(
114
- lib.func('str destroy_ble_backend(str uuid)')
115
- ),
116
125
  create_ftdi_backend: wrap1(
117
126
  lib.func('str create_ftdi_backend(str config)')
118
127
  ),
@@ -122,9 +131,6 @@ export default class LibndxAdapter implements Libndx {
122
131
  stop_ftdi_backend: wrap1(
123
132
  lib.func('str stop_ftdi_backend(str serial)')
124
133
  ),
125
- destroy_ftdi_backend: wrap1(
126
- lib.func('str destroy_ftdi_backend(str serial)')
127
- ),
128
134
  }
129
135
  }
130
136
 
@@ -160,7 +166,12 @@ export default class LibndxAdapter implements Libndx {
160
166
  }
161
167
 
162
168
  public startBleBackend(options: StartBleBackendOptions) {
163
- const { deviceUuid, charCallbacks } = options
169
+ const { deviceUuid, onConnected, charCallbacks } = options
170
+
171
+ const registeredOnConnected = LibndxAdapter.koffiRegister(
172
+ onConnected,
173
+ LibndxAdapter.koffiPointer(LibndxAdapter.getOnConnectedProto()!)
174
+ )
164
175
 
165
176
  this.registeredCallbacks = charCallbacks.map(
166
177
  ({ charUuid, charName, onData }) => ({
@@ -178,6 +189,7 @@ export default class LibndxAdapter implements Libndx {
178
189
  return JSON.parse(
179
190
  this.bindings.start_ble_backend([
180
191
  deviceUuid,
192
+ registeredOnConnected,
181
193
  this.registeredCallbacks,
182
194
  this.registeredCallbacks.length,
183
195
  ])
@@ -206,11 +218,6 @@ export default class LibndxAdapter implements Libndx {
206
218
  return JSON.parse(this.bindings.stop_ble_backend([deviceUuid]))
207
219
  }
208
220
 
209
- public destroyBleBackend(options: BleBackendOptions) {
210
- const { deviceUuid } = options
211
- return JSON.parse(this.bindings.destroy_ble_backend([deviceUuid]))
212
- }
213
-
214
221
  public createFtdiBackend(options: FtdiBackendOptions) {
215
222
  const { serialNumber } = options
216
223
  const configJson = JSON.stringify({ serialNumber })
@@ -227,11 +234,6 @@ export default class LibndxAdapter implements Libndx {
227
234
  const { serialNumber } = options
228
235
  return JSON.parse(this.bindings.stop_ftdi_backend([serialNumber]))
229
236
  }
230
-
231
- public destroyFtdiBackend(options: FtdiBackendOptions) {
232
- const { serialNumber } = options
233
- return JSON.parse(this.bindings.destroy_ftdi_backend([serialNumber]))
234
- }
235
237
  }
236
238
 
237
239
  export interface Libndx {
@@ -240,11 +242,9 @@ export interface Libndx {
240
242
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult
241
243
  readBleRssi(options: BleBackendOptions): NativeResult
242
244
  stopBleBackend(options: BleBackendOptions): NativeResult
243
- destroyBleBackend(options: BleBackendOptions): NativeResult
244
245
  createFtdiBackend(options: FtdiBackendOptions): NativeResult
245
246
  startFtdiBackend(options: FtdiBackendOptions): NativeResult
246
247
  stopFtdiBackend(options: FtdiBackendOptions): NativeResult
247
- destroyFtdiBackend(options: FtdiBackendOptions): NativeResult
248
248
  }
249
249
 
250
250
  export type LibndxConstructor = new (options?: LibndxAdapterOptions) => Libndx
@@ -258,6 +258,7 @@ export interface BleBackendOptions {
258
258
  }
259
259
 
260
260
  export interface StartBleBackendOptions extends BleBackendOptions {
261
+ onConnected: (peripheral: NativePeripheral) => void
261
262
  charCallbacks: CharacteristicCallback[]
262
263
  }
263
264
 
@@ -279,15 +280,18 @@ export interface FtdiBackendOptions {
279
280
 
280
281
  export interface LibndxBindings {
281
282
  create_ble_backend(args: [string]): string
282
- start_ble_backend(args: [string, unknown, number]): string
283
+ start_ble_backend(args: [string, unknown, unknown, number]): string
283
284
  write_ble_characteristic(args: [string, string, string]): string
284
285
  read_ble_rssi(args: [string]): string
285
286
  stop_ble_backend(args: [string]): string
286
- destroy_ble_backend(args: [string]): string
287
287
  create_ftdi_backend(args: [string]): string
288
288
  start_ftdi_backend(args: [string]): string
289
289
  stop_ftdi_backend(args: [string]): string
290
- destroy_ftdi_backend(args: [string]): string
290
+ }
291
+
292
+ export interface NativePeripheral {
293
+ uuid: string
294
+ name: string
291
295
  }
292
296
 
293
297
  export interface NativeResult {
@@ -5,22 +5,21 @@ import {
5
5
  Libndx,
6
6
  LibndxAdapterOptions,
7
7
  StartBleBackendOptions,
8
+ NativeResult,
8
9
  } from '../../impl/LibndxAdapter.js'
9
10
 
10
11
  export default class FakeLibndx implements Libndx {
11
12
  public static callsToConstructor: (LibndxAdapterOptions | undefined)[] = []
12
13
  public static callsToCreateBleBackend: BleBackendOptions[] = []
13
14
  public static callsToStartBleBackend: StartBleBackendOptions[] = []
14
- public static callsToWriteBle: WriteBleCharacteristicOptions[] = []
15
- public static callsToStopBleBacked: BleBackendOptions[] = []
16
- public static callsToDestroyBleBackend: BleBackendOptions[] = []
15
+ public static callsToWriteBleChar: WriteBleCharacteristicOptions[] = []
16
+ public static callsToStopBleBackend: BleBackendOptions[] = []
17
17
  public static callsToGetRssiBleBackend: BleBackendOptions[] = []
18
18
  public static callsToCreateFtdiBackend: FtdiBackendOptions[] = []
19
19
  public static callsToStartFtdiBackend: FtdiBackendOptions[] = []
20
20
  public static callsToStopFtdiBackend: FtdiBackendOptions[] = []
21
- public static callsToDestroyFtdiBackend: FtdiBackendOptions[] = []
22
21
 
23
- public static fakeResult = { status: 200 }
22
+ public static fakeResult: NativeResult = { status: 200 }
24
23
 
25
24
  public constructor(options?: LibndxAdapterOptions) {
26
25
  FakeLibndx.callsToConstructor.push(options)
@@ -37,7 +36,7 @@ export default class FakeLibndx implements Libndx {
37
36
  }
38
37
 
39
38
  public writeBleCharacteristic(options: WriteBleCharacteristicOptions) {
40
- FakeLibndx.callsToWriteBle.push(options)
39
+ FakeLibndx.callsToWriteBleChar.push(options)
41
40
  return FakeLibndx.fakeResult
42
41
  }
43
42
 
@@ -47,12 +46,7 @@ export default class FakeLibndx implements Libndx {
47
46
  }
48
47
 
49
48
  public stopBleBackend(options: BleBackendOptions) {
50
- FakeLibndx.callsToStopBleBacked.push(options)
51
- return FakeLibndx.fakeResult
52
- }
53
-
54
- public destroyBleBackend(options: BleBackendOptions) {
55
- FakeLibndx.callsToDestroyBleBackend.push(options)
49
+ FakeLibndx.callsToStopBleBackend.push(options)
56
50
  return FakeLibndx.fakeResult
57
51
  }
58
52
 
@@ -71,22 +65,15 @@ export default class FakeLibndx implements Libndx {
71
65
  return FakeLibndx.fakeResult
72
66
  }
73
67
 
74
- public destroyFtdiBackend(options: FtdiBackendOptions) {
75
- FakeLibndx.callsToDestroyFtdiBackend.push(options)
76
- return FakeLibndx.fakeResult
77
- }
78
-
79
68
  public static resetTestDouble() {
80
69
  FakeLibndx.callsToConstructor = []
81
70
  FakeLibndx.callsToCreateBleBackend = []
82
71
  FakeLibndx.callsToStartBleBackend = []
83
- FakeLibndx.callsToWriteBle = []
84
- FakeLibndx.callsToStopBleBacked = []
72
+ FakeLibndx.callsToWriteBleChar = []
73
+ FakeLibndx.callsToStopBleBackend = []
85
74
  FakeLibndx.callsToGetRssiBleBackend = []
86
- FakeLibndx.callsToDestroyBleBackend = []
87
75
  FakeLibndx.callsToCreateFtdiBackend = []
88
76
  FakeLibndx.callsToStartFtdiBackend = []
89
77
  FakeLibndx.callsToStopFtdiBackend = []
90
- FakeLibndx.callsToDestroyFtdiBackend = []
91
78
  }
92
79
  }