@neurodevs/ndx-native 2.0.1 → 2.0.3

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.
@@ -11,6 +11,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
11
11
  private static readonly bleValueToWrite;
12
12
  private static readonly ftdiSerialNumber;
13
13
  private static readonly callsToCreateBle;
14
+ private static readonly onDataCallback;
14
15
  private static readonly callsToStartBle;
15
16
  private static readonly callsToWriteBle;
16
17
  private static readonly callsToReadRssi;
@@ -60,6 +61,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
60
61
  private static FakeBindings;
61
62
  private static resetCallsToFakeBindings;
62
63
  private static clearAndFakeFfi;
64
+ private static fakeKoffiRegister;
63
65
  private static fakeKoffiLoad;
64
66
  private static get failedToLoadError();
65
67
  private static resetInstance;
@@ -20,6 +20,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
20
20
  static bleValueToWrite = this.generateId();
21
21
  static ftdiSerialNumber = this.generateId();
22
22
  static callsToCreateBle = [];
23
+ static onDataCallback = (_data, _length, _timestamp) => { };
23
24
  static callsToStartBle = [];
24
25
  static callsToWriteBle = [];
25
26
  static callsToReadRssi = [];
@@ -54,7 +55,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
54
55
  static async registersExpectedKoffiFuncSignatures() {
55
56
  assert.isEqualDeep(this.koffiFuncSignatures, [
56
57
  'str create_ble_backend(str config)',
57
- 'str start_ble_backend(str uuid)',
58
+ 'str start_ble_backend(str uuid, DataCallback *cb)',
58
59
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
59
60
  'str read_ble_rssi(str uuid)',
60
61
  'str stop_ble_backend(str uuid)',
@@ -84,7 +85,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
84
85
  }
85
86
  static async startBleBackendCallsBindingWithExpectedArgs() {
86
87
  this.startBleBackend();
87
- assert.isEqual(this.callsToStartBle[0][0], this.bleDeviceUuid, 'startBleBackend did not call binding with expected args!');
88
+ assert.isEqual(this.callsToStartBle[0].uuid, this.bleDeviceUuid, 'startBleBackend did not pass expected uuid to binding!');
89
+ assert.isEqual(this.callsToStartBle[0].onData, this.onDataCallback, 'startBleBackend did not pass expected callback to binding!');
88
90
  }
89
91
  static async startBleBackendReturnsJsonString() {
90
92
  const raw = this.startBleBackend();
@@ -175,6 +177,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
175
177
  static startBleBackend() {
176
178
  return this.instance.startBleBackend({
177
179
  deviceUuid: this.bleDeviceUuid,
180
+ onData: this.onDataCallback,
178
181
  });
179
182
  }
180
183
  static writeBleCharacteristic() {
@@ -226,7 +229,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
226
229
  return JSON.stringify({});
227
230
  },
228
231
  start_ble_backend: (args) => {
229
- this.callsToStartBle.push(args);
232
+ this.callsToStartBle.push({ uuid: args[0], onData: args[1] });
230
233
  return JSON.stringify({});
231
234
  },
232
235
  write_ble_characteristic: (args) => {
@@ -278,6 +281,10 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
278
281
  delete this.koffiLoadPath;
279
282
  this.koffiFuncSignatures = [];
280
283
  this.fakeKoffiLoad();
284
+ this.fakeKoffiRegister();
285
+ }
286
+ static fakeKoffiRegister() {
287
+ LibndxAdapter.koffiRegister = (fn) => fn;
281
288
  }
282
289
  static fakeKoffiLoad() {
283
290
  LibndxAdapter.koffiLoad = (path) => {
@@ -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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"}
@@ -2,6 +2,8 @@ import koffi from 'koffi';
2
2
  export default class LibndxAdapter implements Libndx {
3
3
  static Class?: LibndxConstructor;
4
4
  static koffiLoad: typeof koffi.load;
5
+ static koffiRegister: typeof koffi.register;
6
+ private static readonly dataCallbackProto;
5
7
  private static instance?;
6
8
  private libndxPath;
7
9
  private bindings;
@@ -13,7 +15,7 @@ export default class LibndxAdapter implements Libndx {
13
15
  private defineBindings;
14
16
  private throwFailedToLoadLibndx;
15
17
  createBleBackend(options: BleBackendOptions): string;
16
- startBleBackend(options: BleBackendOptions): string;
18
+ startBleBackend(options: StartBleBackendOptions): string;
17
19
  writeBleCharacteristic(options: BleWriteOptions): string;
18
20
  readBleRssi(options: BleBackendOptions): string;
19
21
  stopBleBackend(options: BleBackendOptions): string;
@@ -25,7 +27,7 @@ export default class LibndxAdapter implements Libndx {
25
27
  }
26
28
  export interface Libndx {
27
29
  createBleBackend(options: BleBackendOptions): string;
28
- startBleBackend(options: BleBackendOptions): string;
30
+ startBleBackend(options: StartBleBackendOptions): string;
29
31
  writeBleCharacteristic(options: BleWriteOptions): string;
30
32
  readBleRssi(options: BleBackendOptions): string;
31
33
  stopBleBackend(options: BleBackendOptions): string;
@@ -42,6 +44,9 @@ export interface LibndxAdapterOptions {
42
44
  export interface BleBackendOptions {
43
45
  deviceUuid: string;
44
46
  }
47
+ export interface StartBleBackendOptions extends BleBackendOptions {
48
+ onData: (data: Buffer, length: number, timestamp: number) => void;
49
+ }
45
50
  export interface BleWriteOptions {
46
51
  deviceUuid: string;
47
52
  characteristicUuid: string;
@@ -52,7 +57,7 @@ export interface FtdiBackendOptions {
52
57
  }
53
58
  export interface LibndxBindings {
54
59
  create_ble_backend(args: [string]): string;
55
- start_ble_backend(args: [string]): string;
60
+ start_ble_backend(args: [string, unknown]): string;
56
61
  write_ble_characteristic(args: [string, string, string]): string;
57
62
  read_ble_rssi(args: [string]): string;
58
63
  stop_ble_backend(args: [string]): string;
@@ -2,6 +2,8 @@ import koffi from 'koffi';
2
2
  export default class LibndxAdapter {
3
3
  static Class;
4
4
  static koffiLoad = koffi.load.bind(koffi);
5
+ static koffiRegister = koffi.register.bind(koffi);
6
+ static dataCallbackProto = koffi.proto('void DataCallback(uint8 *data, int length, double timestamp)');
5
7
  static instance;
6
8
  libndxPath;
7
9
  bindings;
@@ -33,10 +35,11 @@ export default class LibndxAdapter {
33
35
  defineBindings() {
34
36
  const lib = LibndxAdapter.koffiLoad(this.libndxPath);
35
37
  const wrap1 = (f) => (args) => f(args[0]);
38
+ const wrap2 = (f) => (args) => f(args[0], args[1]);
36
39
  const wrap3 = (f) => (args) => f(args[0], args[1], args[2]);
37
40
  this.bindings = {
38
41
  create_ble_backend: wrap1(lib.func('str create_ble_backend(str config)')),
39
- start_ble_backend: wrap1(lib.func('str start_ble_backend(str uuid)')),
42
+ start_ble_backend: wrap2(lib.func('str start_ble_backend(str uuid, DataCallback *cb)')),
40
43
  write_ble_characteristic: wrap3(lib.func('str write_ble_characteristic(str uuid, str charUuid, str value)')),
41
44
  read_ble_rssi: wrap1(lib.func('str read_ble_rssi(str uuid)')),
42
45
  stop_ble_backend: wrap1(lib.func('str stop_ble_backend(str uuid)')),
@@ -74,8 +77,9 @@ export default class LibndxAdapter {
74
77
  return this.bindings.create_ble_backend([configJson]);
75
78
  }
76
79
  startBleBackend(options) {
77
- const { deviceUuid } = options;
78
- return this.bindings.start_ble_backend([deviceUuid]);
80
+ const { deviceUuid, onData } = options;
81
+ const cb = LibndxAdapter.koffiRegister(onData, koffi.pointer(LibndxAdapter.dataCallbackProto));
82
+ return this.bindings.start_ble_backend([deviceUuid, cb]);
79
83
  }
80
84
  writeBleCharacteristic(options) {
81
85
  const { deviceUuid, characteristicUuid, value } = options;
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-native",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "Native Node.js adapters for LSL, XDF, and LabRecorder",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -23,7 +23,15 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
23
23
  private static readonly ftdiSerialNumber = this.generateId()
24
24
 
25
25
  private static readonly callsToCreateBle: string[][] = []
26
- private static readonly callsToStartBle: string[][] = []
26
+ private static readonly onDataCallback = (
27
+ _data: Buffer,
28
+ _length: number,
29
+ _timestamp: number
30
+ ) => {}
31
+ private static readonly callsToStartBle: {
32
+ uuid: string
33
+ onData: (data: Buffer, length: number, timestamp: number) => void
34
+ }[] = []
27
35
  private static readonly callsToWriteBle: string[][] = []
28
36
  private static readonly callsToReadRssi: string[][] = []
29
37
  private static readonly callsToStopBle: string[][] = []
@@ -80,7 +88,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
80
88
  this.koffiFuncSignatures,
81
89
  [
82
90
  'str create_ble_backend(str config)',
83
- 'str start_ble_backend(str uuid)',
91
+ 'str start_ble_backend(str uuid, DataCallback *cb)',
84
92
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
85
93
  'str read_ble_rssi(str uuid)',
86
94
  'str stop_ble_backend(str uuid)',
@@ -130,9 +138,15 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
130
138
  this.startBleBackend()
131
139
 
132
140
  assert.isEqual(
133
- this.callsToStartBle[0][0],
141
+ this.callsToStartBle[0].uuid,
134
142
  this.bleDeviceUuid,
135
- 'startBleBackend did not call binding with expected args!'
143
+ 'startBleBackend did not pass expected uuid to binding!'
144
+ )
145
+
146
+ assert.isEqual(
147
+ this.callsToStartBle[0].onData,
148
+ this.onDataCallback,
149
+ 'startBleBackend did not pass expected callback to binding!'
136
150
  )
137
151
  }
138
152
 
@@ -315,6 +329,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
315
329
  private static startBleBackend() {
316
330
  return this.instance.startBleBackend({
317
331
  deviceUuid: this.bleDeviceUuid,
332
+ onData: this.onDataCallback,
318
333
  })
319
334
  }
320
335
 
@@ -374,8 +389,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
374
389
  this.callsToCreateBle.push(args)
375
390
  return JSON.stringify({})
376
391
  },
377
- start_ble_backend: (args) => {
378
- this.callsToStartBle.push(args)
392
+ start_ble_backend: (args: any) => {
393
+ this.callsToStartBle.push({ uuid: args[0], onData: args[1] })
379
394
  return JSON.stringify({})
380
395
  },
381
396
  write_ble_characteristic: (args) => {
@@ -429,6 +444,11 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
429
444
  delete this.koffiLoadPath
430
445
  this.koffiFuncSignatures = []
431
446
  this.fakeKoffiLoad()
447
+ this.fakeKoffiRegister()
448
+ }
449
+
450
+ private static fakeKoffiRegister() {
451
+ LibndxAdapter.koffiRegister = (fn) => fn as any
432
452
  }
433
453
 
434
454
  private static fakeKoffiLoad() {
@@ -445,8 +465,10 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
445
465
  const name = sig.match(
446
466
  /\w+\s+(\w+)\s*\(/
447
467
  )![1] as keyof LibndxBindings
448
- return (...args: string[]) =>
449
- this.fakeBindings[name](args as any)
468
+ return (...args: unknown[]) =>
469
+ (this.fakeBindings[name] as (a: unknown) => string)(
470
+ args
471
+ )
450
472
  },
451
473
  } as any
452
474
  }
@@ -3,6 +3,11 @@ import koffi from 'koffi'
3
3
  export default class LibndxAdapter implements Libndx {
4
4
  public static Class?: LibndxConstructor
5
5
  public static koffiLoad: typeof koffi.load = koffi.load.bind(koffi)
6
+ public static koffiRegister = koffi.register.bind(koffi)
7
+
8
+ private static readonly dataCallbackProto = koffi.proto(
9
+ 'void DataCallback(uint8 *data, int length, double timestamp)'
10
+ )
6
11
 
7
12
  private static instance?: Libndx
8
13
 
@@ -46,6 +51,11 @@ export default class LibndxAdapter implements Libndx {
46
51
  const wrap1 = (f: (a: string) => string) => (args: [string]) =>
47
52
  f(args[0])
48
53
 
54
+ const wrap2 =
55
+ (f: (a: string, b: unknown) => string) =>
56
+ (args: [string, unknown]) =>
57
+ f(args[0], args[1])
58
+
49
59
  const wrap3 =
50
60
  (f: (a: string, b: string, c: string) => string) =>
51
61
  (args: [string, string, string]) =>
@@ -55,8 +65,8 @@ export default class LibndxAdapter implements Libndx {
55
65
  create_ble_backend: wrap1(
56
66
  lib.func('str create_ble_backend(str config)')
57
67
  ),
58
- start_ble_backend: wrap1(
59
- lib.func('str start_ble_backend(str uuid)')
68
+ start_ble_backend: wrap2(
69
+ lib.func('str start_ble_backend(str uuid, DataCallback *cb)')
60
70
  ),
61
71
  write_ble_characteristic: wrap3(
62
72
  lib.func(
@@ -113,9 +123,14 @@ export default class LibndxAdapter implements Libndx {
113
123
  return this.bindings.create_ble_backend([configJson])
114
124
  }
115
125
 
116
- public startBleBackend(options: BleBackendOptions) {
117
- const { deviceUuid } = options
118
- return this.bindings.start_ble_backend([deviceUuid])
126
+ public startBleBackend(options: StartBleBackendOptions) {
127
+ const { deviceUuid, onData } = options
128
+
129
+ const cb = LibndxAdapter.koffiRegister(
130
+ onData,
131
+ koffi.pointer(LibndxAdapter.dataCallbackProto)
132
+ )
133
+ return this.bindings.start_ble_backend([deviceUuid, cb])
119
134
  }
120
135
 
121
136
  public writeBleCharacteristic(options: BleWriteOptions) {
@@ -166,7 +181,7 @@ export default class LibndxAdapter implements Libndx {
166
181
 
167
182
  export interface Libndx {
168
183
  createBleBackend(options: BleBackendOptions): string
169
- startBleBackend(options: BleBackendOptions): string
184
+ startBleBackend(options: StartBleBackendOptions): string
170
185
  writeBleCharacteristic(options: BleWriteOptions): string
171
186
  readBleRssi(options: BleBackendOptions): string
172
187
  stopBleBackend(options: BleBackendOptions): string
@@ -187,6 +202,10 @@ export interface BleBackendOptions {
187
202
  deviceUuid: string
188
203
  }
189
204
 
205
+ export interface StartBleBackendOptions extends BleBackendOptions {
206
+ onData: (data: Buffer, length: number, timestamp: number) => void
207
+ }
208
+
190
209
  export interface BleWriteOptions {
191
210
  deviceUuid: string
192
211
  characteristicUuid: string
@@ -199,7 +218,7 @@ export interface FtdiBackendOptions {
199
218
 
200
219
  export interface LibndxBindings {
201
220
  create_ble_backend(args: [string]): string
202
- start_ble_backend(args: [string]): string
221
+ start_ble_backend(args: [string, unknown]): string
203
222
  write_ble_characteristic(args: [string, string, string]): string
204
223
  read_ble_rssi(args: [string]): string
205
224
  stop_ble_backend(args: [string]): string