@neurodevs/ndx-native 0.1.0 → 0.3.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.
Files changed (65) hide show
  1. package/.regressionproof.json +7 -0
  2. package/.vscode/launch.json +52 -57
  3. package/.vscode/settings.json +62 -66
  4. package/.vscode/tasks.json +123 -129
  5. package/README.md +1 -0
  6. package/build/.spruce/settings.json +7 -7
  7. package/build/__tests__/AbstractPackageTest.d.ts +1 -0
  8. package/build/__tests__/AbstractPackageTest.js +1 -0
  9. package/build/__tests__/AbstractPackageTest.js.map +1 -1
  10. package/build/__tests__/impl/LabrecorderAdapter.test.d.ts +1 -1
  11. package/build/__tests__/impl/LabrecorderAdapter.test.js +9 -9
  12. package/build/__tests__/impl/LabrecorderAdapter.test.js.map +1 -1
  13. package/build/__tests__/impl/LiblslAdapter.test.d.ts +3 -4
  14. package/build/__tests__/impl/LiblslAdapter.test.js +18 -28
  15. package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -1
  16. package/build/__tests__/impl/LibndxAdapter.test.d.ts +35 -0
  17. package/build/__tests__/impl/LibndxAdapter.test.js +258 -0
  18. package/build/__tests__/impl/LibndxAdapter.test.js.map +1 -0
  19. package/build/__tests__/impl/LibxdfAdapter.test.d.ts +1 -2
  20. package/build/__tests__/impl/LibxdfAdapter.test.js +5 -6
  21. package/build/__tests__/impl/LibxdfAdapter.test.js.map +1 -1
  22. package/build/impl/LiblslAdapter.d.ts +11 -13
  23. package/build/impl/LiblslAdapter.js +115 -123
  24. package/build/impl/LiblslAdapter.js.map +1 -1
  25. package/build/impl/LibndxAdapter.d.ts +57 -0
  26. package/build/impl/LibndxAdapter.js +145 -0
  27. package/build/impl/LibndxAdapter.js.map +1 -0
  28. package/build/impl/LibxdfAdapter.d.ts +3 -3
  29. package/build/impl/LibxdfAdapter.js +10 -7
  30. package/build/impl/LibxdfAdapter.js.map +1 -1
  31. package/build/index.d.ts +6 -2
  32. package/build/index.js +8 -3
  33. package/build/index.js.map +1 -1
  34. package/build/lib/{handleError.d.ts → handleLslError.d.ts} +1 -1
  35. package/build/lib/{handleError.js → handleLslError.js} +2 -2
  36. package/build/lib/handleLslError.js.map +1 -0
  37. package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +3 -3
  38. package/build/testDoubles/Liblsl/FakeLiblsl.js +3 -3
  39. package/build/testDoubles/Liblsl/FakeLiblsl.js.map +1 -1
  40. package/build/testDoubles/Libndx/FakeLibndx.d.ts +22 -0
  41. package/build/testDoubles/Libndx/FakeLibndx.js +58 -0
  42. package/build/testDoubles/Libndx/FakeLibndx.js.map +1 -0
  43. package/build/types.d.ts +2 -0
  44. package/build/types.js +2 -0
  45. package/build/types.js.map +1 -0
  46. package/eslint.config.js +3 -0
  47. package/package.json +15 -31
  48. package/prettier.config.js +3 -0
  49. package/src/.spruce/settings.json +7 -7
  50. package/src/__tests__/AbstractPackageTest.ts +2 -0
  51. package/src/__tests__/impl/LabrecorderAdapter.test.ts +27 -11
  52. package/src/__tests__/impl/LiblslAdapter.test.ts +19 -28
  53. package/src/__tests__/impl/LibndxAdapter.test.ts +279 -0
  54. package/src/__tests__/impl/LibxdfAdapter.test.ts +5 -6
  55. package/src/impl/LiblslAdapter.ts +125 -135
  56. package/src/impl/LibndxAdapter.ts +204 -0
  57. package/src/impl/LibxdfAdapter.ts +13 -15
  58. package/src/index.ts +11 -3
  59. package/src/lib/{handleError.ts → handleLslError.ts} +1 -1
  60. package/src/testDoubles/Liblsl/FakeLiblsl.ts +3 -3
  61. package/src/testDoubles/Libndx/FakeLibndx.ts +74 -0
  62. package/src/types.ts +7 -0
  63. package/tsconfig.json +24 -27
  64. package/build/lib/handleError.js.map +0 -1
  65. package/eslint.config.mjs +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LibndxAdapter.js","sourceRoot":"","sources":["../../src/impl/LibndxAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { MangledNameMap } from '@neurodevs/node-mangled-names';
2
- import { define, FieldType, FuncObj, open } from 'ffi-rs';
2
+ import { define, open } from 'ffi-rs';
3
3
  export default class LibxdfAdapter implements Libxdf {
4
4
  static Class?: LibxdfConstructor;
5
5
  static ffiRsOpen: typeof open;
@@ -12,7 +12,6 @@ export default class LibxdfAdapter implements Libxdf {
12
12
  protected constructor(libxdfPath: string, mangledNameMap: MangledNameMap);
13
13
  static Create(libxdfPath: string, throwIfPathNotExists?: boolean): Promise<Libxdf>;
14
14
  private tryToLoadBindings;
15
- private loadBindings;
16
15
  private openLibxdf;
17
16
  private defineBindings;
18
17
  private throwFailedToLoadLiblsl;
@@ -37,6 +36,8 @@ export default class LibxdfAdapter implements Libxdf {
37
36
  };
38
37
  private get unmangledNames();
39
38
  private get loadXdfName();
39
+ private get ffiRsOpen();
40
+ private get ffiRsDefine();
40
41
  private static generateFailedMessage;
41
42
  private static loadMangledNameMap;
42
43
  private static MangledNameExtractor;
@@ -47,7 +48,6 @@ export interface Libxdf {
47
48
  export type LibxdfConstructor = new (libxdfPath: string, mangledNameMap: MangledNameMap) => Libxdf;
48
49
  export type LibxdfBindings = Record<string, (path: string[]) => string>;
49
50
  export type LibxdfStatusCode = 0 | Exclude<number, 0>;
50
- export type FfiRsDefineOptions = FuncObj<FieldType, boolean | undefined, boolean | undefined>;
51
51
  export interface XdfFile {
52
52
  path: string;
53
53
  streams: XdfStream[];
@@ -24,18 +24,15 @@ export default class LibxdfAdapter {
24
24
  }
25
25
  tryToLoadBindings() {
26
26
  try {
27
- this.bindings = this.loadBindings();
27
+ this.openLibxdf();
28
+ this.bindings = this.defineBindings();
28
29
  }
29
30
  catch (err) {
30
31
  this.throwFailedToLoadLiblsl(err);
31
32
  }
32
33
  }
33
- loadBindings() {
34
- this.openLibxdf();
35
- return this.defineBindings();
36
- }
37
34
  openLibxdf() {
38
- LibxdfAdapter.ffiRsOpen({
35
+ this.ffiRsOpen({
39
36
  library: 'xdf',
40
37
  path: this.libxdfPath,
41
38
  });
@@ -51,7 +48,7 @@ export default class LibxdfAdapter {
51
48
  };
52
49
  return acc;
53
50
  }, {});
54
- return LibxdfAdapter.ffiRsDefine(funcs);
51
+ return this.ffiRsDefine(funcs);
55
52
  }
56
53
  throwFailedToLoadLiblsl(err) {
57
54
  throw new Error(this.generateFailedMessage(err));
@@ -98,6 +95,12 @@ export default class LibxdfAdapter {
98
95
  get loadXdfName() {
99
96
  return LibxdfAdapter.loadXdfName;
100
97
  }
98
+ get ffiRsOpen() {
99
+ return LibxdfAdapter.ffiRsOpen;
100
+ }
101
+ get ffiRsDefine() {
102
+ return LibxdfAdapter.ffiRsDefine;
103
+ }
101
104
  static generateFailedMessage(libxdfPath) {
102
105
  return `
103
106
  \n -----------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"LibxdfAdapter.js","sourceRoot":"","sources":["../../src/impl/LibxdfAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LibxdfAdapter.js","sourceRoot":"","sources":["../../src/impl/LibxdfAdapter.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -6,12 +6,16 @@ export { default as LiblslAdapter } from './impl/LiblslAdapter.js';
6
6
  export * from './impl/LiblslAdapter.js';
7
7
  export { default as FakeLiblsl } from './testDoubles/Liblsl/FakeLiblsl.js';
8
8
  export * from './testDoubles/Liblsl/FakeLiblsl.js';
9
+ export { default as LibndxAdapter } from './impl/LibndxAdapter.js';
10
+ export * from './impl/LibndxAdapter.js';
11
+ export { default as FakeLibndx } from './testDoubles/Libndx/FakeLibndx.js';
12
+ export * from './testDoubles/Libndx/FakeLibndx.js';
9
13
  export { default as LibxdfAdapter } from './impl/LibxdfAdapter.js';
10
14
  export * from './impl/LibxdfAdapter.js';
11
15
  export { default as FakeLibxdf } from './testDoubles/Libxdf/FakeLibxdf.js';
12
16
  export * from './testDoubles/Libxdf/FakeLibxdf.js';
13
17
  export { default as SpyLibxdf } from './testDoubles/Libxdf/SpyLibxdf.js';
14
18
  export * from './testDoubles/Libxdf/SpyLibxdf.js';
15
- export { default as handleError } from './lib/handleError.js';
16
- export * from './lib/handleError.js';
19
+ export { default as handleLslError } from './lib/handleLslError.js';
20
+ export * from './lib/handleLslError.js';
17
21
  export * from './consts.js';
package/build/index.js CHANGED
@@ -8,6 +8,11 @@ export { default as LiblslAdapter } from './impl/LiblslAdapter.js';
8
8
  export * from './impl/LiblslAdapter.js';
9
9
  export { default as FakeLiblsl } from './testDoubles/Liblsl/FakeLiblsl.js';
10
10
  export * from './testDoubles/Liblsl/FakeLiblsl.js';
11
+ // Libndx
12
+ export { default as LibndxAdapter } from './impl/LibndxAdapter.js';
13
+ export * from './impl/LibndxAdapter.js';
14
+ export { default as FakeLibndx } from './testDoubles/Libndx/FakeLibndx.js';
15
+ export * from './testDoubles/Libndx/FakeLibndx.js';
11
16
  // Libxdf
12
17
  export { default as LibxdfAdapter } from './impl/LibxdfAdapter.js';
13
18
  export * from './impl/LibxdfAdapter.js';
@@ -15,9 +20,9 @@ export { default as FakeLibxdf } from './testDoubles/Libxdf/FakeLibxdf.js';
15
20
  export * from './testDoubles/Libxdf/FakeLibxdf.js';
16
21
  export { default as SpyLibxdf } from './testDoubles/Libxdf/SpyLibxdf.js';
17
22
  export * from './testDoubles/Libxdf/SpyLibxdf.js';
18
- // handleError
19
- export { default as handleError } from './lib/handleError.js';
20
- export * from './lib/handleError.js';
23
+ // handleLslError
24
+ export { default as handleLslError } from './lib/handleLslError.js';
25
+ export * from './lib/handleLslError.js';
21
26
  // consts
22
27
  export * from './consts.js';
23
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,cAAc,8BAA8B,CAAA;AAE5C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8CAA8C,CAAA;AACzF,cAAc,8CAA8C,CAAA;AAE5D,SAAS;AAET,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,oCAAoC,CAAA;AAElD,SAAS;AAET,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,oCAAoC,CAAA;AAElD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAA;AACxE,cAAc,mCAAmC,CAAA;AAEjD,cAAc;AAEd,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC7D,cAAc,sBAAsB,CAAA;AAEpC,SAAS;AAET,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,cAAc,8BAA8B,CAAA;AAE5C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8CAA8C,CAAA;AACzF,cAAc,8CAA8C,CAAA;AAE5D,SAAS;AAET,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,oCAAoC,CAAA;AAElD,SAAS;AAET,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,oCAAoC,CAAA;AAElD,SAAS;AAET,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,oCAAoC,CAAA;AAElD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAA;AACxE,cAAc,mCAAmC,CAAA;AAEjD,iBAAiB;AAEjB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACnE,cAAc,yBAAyB,CAAA;AAEvC,SAAS;AAET,cAAc,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
- export default function handleError(errorCode: number): void;
1
+ export default function handleLslError(errorCode: number): void;
2
2
  export declare enum LslErrorCode {
3
3
  Ok = 0,
4
4
  Timeout = -1,
@@ -1,4 +1,4 @@
1
- export default function handleError(errorCode) {
1
+ export default function handleLslError(errorCode) {
2
2
  switch (errorCode) {
3
3
  case 0:
4
4
  return;
@@ -22,4 +22,4 @@ export var LslErrorCode;
22
22
  LslErrorCode[LslErrorCode["BadArgument"] = -3] = "BadArgument";
23
23
  LslErrorCode[LslErrorCode["InternalError"] = -4] = "InternalError";
24
24
  })(LslErrorCode || (LslErrorCode = {}));
25
- //# sourceMappingURL=handleError.js.map
25
+ //# sourceMappingURL=handleLslError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleLslError.js","sourceRoot":"","sources":["../../src/lib/handleLslError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,SAAiB;IACpD,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,CAAC;YACF,OAAM;QACV,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QACpE,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACvD,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACnE,KAAK,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC7D;YACI,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAChE,CAAC;AACL,CAAC;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,2CAAM,CAAA;IACN,sDAAY,CAAA;IACZ,gDAAS,CAAA;IACT,8DAAgB,CAAA;IAChB,kEAAkB,CAAA;AACtB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -40,14 +40,14 @@ export default class FakeLiblsl implements Liblsl {
40
40
  appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
41
41
  getChannelCount(options: GetChannelCountOptions): number;
42
42
  destroyStreamInfo(options: DestroyStreamInfoOptions): void;
43
- resolveByProp(options: ResolveByPropOptions): Promise<InfoHandle[]>;
43
+ resolveByProp(options: ResolveByPropOptions): InfoHandle[];
44
44
  pushSampleFloatTimestamp(options: PushSampleFloatTimestampOptions): number;
45
45
  pushSampleStringTimestamp(options: PushSampleStringTimestampOptions): number;
46
46
  createOutlet(options: CreateOutletOptions): OutletHandle;
47
47
  destroyOutlet(options: DestroyOutletOptions): void;
48
48
  createInlet(options: CreateInletOptions): InletHandle;
49
- openStream(options: OpenStreamOptions): Promise<void>;
50
- closeStream(options: CloseStreamOptions): Promise<void>;
49
+ openStream(options: OpenStreamOptions): void;
50
+ closeStream(options: CloseStreamOptions): void;
51
51
  pullSample(options: PullSampleOptions): 0 | 1;
52
52
  pullChunk(options: PullChunkOptions): 0 | 1;
53
53
  flushInlet(options: FlushInletOptions): void;
@@ -60,7 +60,7 @@ export default class FakeLiblsl {
60
60
  destroyStreamInfo(options) {
61
61
  this.lastDestroyStreamInfoOptions = options;
62
62
  }
63
- async resolveByProp(options) {
63
+ resolveByProp(options) {
64
64
  this.lastResolveByPropOptions = options;
65
65
  return FakeLiblsl.fakeInfoHandles;
66
66
  }
@@ -87,10 +87,10 @@ export default class FakeLiblsl {
87
87
  this.lastCreateInletOptions = options;
88
88
  return {};
89
89
  }
90
- async openStream(options) {
90
+ openStream(options) {
91
91
  this.lastOpenStreamOptions = options;
92
92
  }
93
- async closeStream(options) {
93
+ closeStream(options) {
94
94
  this.lastCloseStreamOptions = options;
95
95
  }
96
96
  pullSample(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"FakeLiblsl.js","sourceRoot":"","sources":["../../../src/testDoubles/Liblsl/FakeLiblsl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FakeLiblsl.js","sourceRoot":"","sources":["../../../src/testDoubles/Liblsl/FakeLiblsl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { BleBackendOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions } from '../../impl/LibndxAdapter.js';
2
+ export default class FakeLibndx implements Libndx {
3
+ static callsToConstructor: (LibndxAdapterOptions | undefined)[];
4
+ static callsToCreateBleBackend: BleBackendOptions[];
5
+ static callsToStartBleBackend: BleBackendOptions[];
6
+ static callsToStopBleBacked: BleBackendOptions[];
7
+ static callsToDestroyBleBackend: BleBackendOptions[];
8
+ static callsToCreateFtdiBackend: FtdiBackendOptions[];
9
+ static callsToStartFtdiBackend: FtdiBackendOptions[];
10
+ static callsToStopFtdiBackend: FtdiBackendOptions[];
11
+ static callsToDestroyFtdiBackend: FtdiBackendOptions[];
12
+ constructor(options?: LibndxAdapterOptions);
13
+ createBleBackend(options: BleBackendOptions): string;
14
+ startBleBackend(options: BleBackendOptions): string;
15
+ stopBleBackend(options: BleBackendOptions): string;
16
+ destroyBleBackend(options: BleBackendOptions): string;
17
+ createFtdiBackend(options: FtdiBackendOptions): string;
18
+ startFtdiBackend(options: FtdiBackendOptions): string;
19
+ stopFtdiBackend(options: FtdiBackendOptions): string;
20
+ destroyFtdiBackend(options: FtdiBackendOptions): string;
21
+ static resetTestDouble(): void;
22
+ }
@@ -0,0 +1,58 @@
1
+ export default class FakeLibndx {
2
+ static callsToConstructor = [];
3
+ static callsToCreateBleBackend = [];
4
+ static callsToStartBleBackend = [];
5
+ static callsToStopBleBacked = [];
6
+ static callsToDestroyBleBackend = [];
7
+ static callsToCreateFtdiBackend = [];
8
+ static callsToStartFtdiBackend = [];
9
+ static callsToStopFtdiBackend = [];
10
+ static callsToDestroyFtdiBackend = [];
11
+ constructor(options) {
12
+ FakeLibndx.callsToConstructor.push(options);
13
+ }
14
+ createBleBackend(options) {
15
+ FakeLibndx.callsToCreateBleBackend.push(options);
16
+ return '';
17
+ }
18
+ startBleBackend(options) {
19
+ FakeLibndx.callsToStartBleBackend.push(options);
20
+ return '';
21
+ }
22
+ stopBleBackend(options) {
23
+ FakeLibndx.callsToStopBleBacked.push(options);
24
+ return '';
25
+ }
26
+ destroyBleBackend(options) {
27
+ FakeLibndx.callsToDestroyBleBackend.push(options);
28
+ return '';
29
+ }
30
+ createFtdiBackend(options) {
31
+ FakeLibndx.callsToCreateFtdiBackend.push(options);
32
+ return '';
33
+ }
34
+ startFtdiBackend(options) {
35
+ FakeLibndx.callsToStartFtdiBackend.push(options);
36
+ return '';
37
+ }
38
+ stopFtdiBackend(options) {
39
+ FakeLibndx.callsToStopFtdiBackend.push(options);
40
+ return '';
41
+ }
42
+ destroyFtdiBackend(options) {
43
+ FakeLibndx.callsToDestroyFtdiBackend.push(options);
44
+ return '';
45
+ }
46
+ static resetTestDouble() {
47
+ FakeLibndx.callsToConstructor = [];
48
+ FakeLibndx.callsToCreateBleBackend = [];
49
+ FakeLibndx.callsToStartBleBackend = [];
50
+ FakeLibndx.callsToStopBleBacked = [];
51
+ FakeLibndx.callsToDestroyBleBackend = [];
52
+ FakeLibndx.callsToCreateFtdiBackend = [];
53
+ FakeLibndx.callsToStartFtdiBackend = [];
54
+ FakeLibndx.callsToStopFtdiBackend = [];
55
+ FakeLibndx.callsToDestroyFtdiBackend = [];
56
+ }
57
+ }
58
+ //# sourceMappingURL=FakeLibndx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,OAAO,UAAU;IACpB,MAAM,CAAC,kBAAkB,GAAyC,EAAE,CAAA;IACpE,MAAM,CAAC,uBAAuB,GAAwB,EAAE,CAAA;IACxD,MAAM,CAAC,sBAAsB,GAAwB,EAAE,CAAA;IACvD,MAAM,CAAC,oBAAoB,GAAwB,EAAE,CAAA;IACrD,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;IAElE,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,EAAE,CAAA;IACb,CAAC;IAEM,eAAe,CAAC,OAA0B;QAC7C,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,EAAE,CAAA;IACb,CAAC;IAEM,cAAc,CAAC,OAA0B;QAC5C,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7C,OAAO,EAAE,CAAA;IACb,CAAC;IAEM,iBAAiB,CAAC,OAA0B;QAC/C,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,EAAE,CAAA;IACb,CAAC;IAEM,iBAAiB,CAAC,OAA2B;QAChD,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,EAAE,CAAA;IACb,CAAC;IAEM,gBAAgB,CAAC,OAA2B;QAC/C,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,EAAE,CAAA;IACb,CAAC;IAEM,eAAe,CAAC,OAA2B;QAC9C,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,EAAE,CAAA;IACb,CAAC;IAEM,kBAAkB,CAAC,OAA2B;QACjD,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,EAAE,CAAA;IACb,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,oBAAoB,GAAG,EAAE,CAAA;QACpC,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"}
@@ -0,0 +1,2 @@
1
+ import { FuncObj, FieldType } from 'ffi-rs';
2
+ export type FfiRsDefineOptions = FuncObj<FieldType, boolean | undefined, boolean | undefined>;
package/build/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import eslintConfigNdx from '@neurodevs/eslint-config-ndx'
2
+
3
+ export default eslintConfigNdx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-native",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Native Node.js adapters for LSL, XDF, and LabRecorder",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -20,10 +20,9 @@
20
20
  },
21
21
  "main": "build/index.js",
22
22
  "scripts": {
23
- "build.ci": "yarn run build.tsc && yarn run build.resolve-paths && yarn run lint",
24
- "build.dev": "yarn run build.tsc --sourceMap ; yarn run resolve-paths.lint",
23
+ "build.ci": "yarn run build.tsc && yarn run lint",
24
+ "build.dev": "yarn run build.tsc --sourceMap ; yarn run fix.lint ; prettier --write .",
25
25
  "build.copy-files": "mkdir -p build && rsync -avzq --exclude='*.ts' ./src/ ./build/",
26
- "build.resolve-paths": "resolve-path-aliases --target build --patterns '**/*.js,**/*.d.ts'",
27
26
  "build.tsc": "yarn run build.copy-files && tsc",
28
27
  "clean": "yarn run clean.build",
29
28
  "clean.all": "yarn run clean.dependencies && yarn run clean.build",
@@ -31,54 +30,39 @@
31
30
  "clean.dependencies": "rm -rf node_modules/ package-lock.json yarn.lock",
32
31
  "fix.lint": "eslint --fix --cache '**/*.ts'",
33
32
  "lint": "eslint --cache '**/*.ts'",
34
- "lint.tsc": "tsc -p . --noEmit",
35
- "post.watch.build": "yarn run build.copy-files && yarn run build.resolve-paths",
36
33
  "rebuild": "yarn run clean.all && yarn install && yarn run build.dev",
37
34
  "update.dependencies": "yarn run clean.dependencies && yarn",
38
- "resolve-paths.lint": "yarn run build.resolve-paths ; yarn run lint",
39
- "test": "jest",
40
- "watch.build.dev": "tsc-watch --sourceMap --onCompilationComplete 'yarn run post.watch.build'",
41
- "watch.rebuild": "yarn run clean.all && yarn install && yarn run watch.build.dev",
42
- "watch.tsc": "tsc -w"
35
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
36
+ "watch.build.dev": "tsc-watch --sourceMap --onCompilationComplete 'yarn run build.copy-files'"
43
37
  },
44
38
  "dependencies": {
45
39
  "@neurodevs/node-mangled-names": "^1.0.1",
46
40
  "ffi-rs": "^1.3.1"
47
41
  },
48
42
  "devDependencies": {
43
+ "@neurodevs/eslint-config-ndx": "^1.0.1",
49
44
  "@neurodevs/generate-id": "^1.1.2",
50
45
  "@neurodevs/node-tdd": "^0.2.5",
51
- "@sprucelabs/resolve-path-aliases": "^4.0.15",
52
- "@types/node": "^25.0.10",
53
- "chokidar-cli": "^3.0.0",
54
- "eslint": "^9.39.2",
55
- "eslint-config-spruce": "^11.2.26",
46
+ "@neurodevs/prettier-config-ndx": "^1.0.1",
47
+ "@regressionproof/cli": "^0.9.4",
48
+ "@regressionproof/jest-reporter": "^0.9.4",
56
49
  "jest": "^30.2.0",
57
50
  "jest-circus": "^30.2.0",
58
51
  "prettier": "^3.8.1",
59
- "ts-node": "^10.9.2",
60
52
  "tsc-watch": "^7.2.0",
61
53
  "typescript": "^5.9.3"
62
54
  },
63
- "skill": {
64
- "namespace": "ndx-native"
65
- },
66
55
  "jest": {
67
56
  "testRunner": "jest-circus/runner",
68
57
  "maxWorkers": 4,
69
- "testTimeout": 120000,
58
+ "testTimeout": 5000,
70
59
  "testEnvironment": "node",
71
- "testPathIgnorePatterns": [
72
- "<rootDir>/tmp/",
73
- "<rootDir>/src/",
74
- "<rootDir>/node_modules/",
75
- "<rootDir>/build/__tests__/testDirsAndFiles/"
76
- ],
77
60
  "testMatch": [
78
- "**/__tests__/**/*.test.js?(x)"
61
+ "<rootDir>/build/__tests__/**/*.test.js?(x)"
79
62
  ],
80
- "moduleNameMapper": {
81
- "^#spruce/(.*)$": "<rootDir>/build/.spruce/$1"
82
- }
63
+ "reporters": [
64
+ "default",
65
+ "@regressionproof/jest-reporter"
66
+ ]
83
67
  }
84
68
  }
@@ -0,0 +1,3 @@
1
+ import prettierConfigNdx from '@neurodevs/prettier-config-ndx'
2
+
3
+ export default prettierConfigNdx
@@ -2,10 +2,10 @@
2
2
  "scriptUpdater": {
3
3
  "skipped": []
4
4
  },
5
- "skipped": [
6
- "skill"
7
- ],
8
- "installed": [
9
- "test"
10
- ]
11
- }
5
+ "skipped": ["skill"],
6
+ "installed": ["test"],
7
+ "regressionproof": {
8
+ "enabled": true,
9
+ "projectName": "ndx-native"
10
+ }
11
+ }
@@ -10,6 +10,8 @@ export default abstract class AbstractPackageTest extends AbstractModuleTest {
10
10
  protected static readonly channelCount = this.channelNames.length
11
11
  protected static readonly chunkSize = 2
12
12
 
13
+ protected static readonly fakeErrorMessage = 'Fake error message!'
14
+
13
15
  protected static async beforeEach() {
14
16
  await super.beforeEach()
15
17
  }
@@ -38,16 +38,20 @@ export default class LabrecorderAdapterTest extends AbstractPackageTest {
38
38
  }
39
39
 
40
40
  @test()
41
- protected static async canCreateLabrecorderAdapter() {
42
- assert.isTruthy(this.instance, 'Should create an instance!')
41
+ protected static async createsInstance() {
42
+ assert.isTruthy(this.instance, 'Failed to create instance!')
43
43
  }
44
44
 
45
45
  @test()
46
46
  protected static async callsFfiRsOpenWithRequiredOptions() {
47
- assert.isEqualDeep(this.ffiRsOpenOptions, {
48
- library: 'labrecorder',
49
- path: this.labrecorderPath,
50
- })
47
+ assert.isEqualDeep(
48
+ this.ffiRsOpenOptions,
49
+ {
50
+ library: 'labrecorder',
51
+ path: this.labrecorderPath,
52
+ },
53
+ 'Did not pass valid options to ffiRsOpen!'
54
+ )
51
55
  }
52
56
 
53
57
  @test()
@@ -81,7 +85,7 @@ export default class LabrecorderAdapterTest extends AbstractPackageTest {
81
85
  ],
82
86
  },
83
87
  },
84
- 'Please pass valid options to ffiRsDefine!'
88
+ 'Did not pass valid options to ffiRsDefine!'
85
89
  )
86
90
  }
87
91
 
@@ -96,7 +100,7 @@ export default class LabrecorderAdapterTest extends AbstractPackageTest {
96
100
  watchFor: this.watchFor,
97
101
  watchForCount: this.watchFor.length,
98
102
  },
99
- 'Should create a recording!'
103
+ 'Did not create a recording!'
100
104
  )
101
105
  }
102
106
 
@@ -107,7 +111,11 @@ export default class LabrecorderAdapterTest extends AbstractPackageTest {
107
111
 
108
112
  const { path } = this.ffiRsOpenOptions ?? {}
109
113
 
110
- assert.isEqual(path, defaultLabrecorderPath)
114
+ assert.isEqual(
115
+ path,
116
+ defaultLabrecorderPath,
117
+ 'Did not use default macOS path!'
118
+ )
111
119
  }
112
120
 
113
121
  @test()
@@ -115,14 +123,22 @@ export default class LabrecorderAdapterTest extends AbstractPackageTest {
115
123
  const recording = this.createRecording()
116
124
  this.stopRecording(recording)
117
125
 
118
- assert.isEqualDeep(this.callsToRecordingStop[0], recording)
126
+ assert.isEqualDeep(
127
+ this.callsToRecordingStop[0],
128
+ recording,
129
+ 'Did not stop recording!'
130
+ )
119
131
  }
120
132
 
121
133
  @test()
122
134
  protected static async deleteRecordingCallsBindings() {
123
135
  const recording = this.createAndDeleteRecording()
124
136
 
125
- assert.isEqualDeep(this.callsToRecordingDelete[0], recording)
137
+ assert.isEqualDeep(
138
+ this.callsToRecordingDelete[0],
139
+ recording,
140
+ 'Did not delete recording!'
141
+ )
126
142
  }
127
143
 
128
144
  private static createAndDeleteRecording() {
@@ -133,7 +133,7 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
133
133
  }
134
134
 
135
135
  @test()
136
- protected static async callsOpenOnFfiRs() {
136
+ protected static async callsFfiRsOpenWithRequiredOptions() {
137
137
  assert.isEqualDeep(this.ffiRsOpenOptions, {
138
138
  library: 'lsl',
139
139
  path: process.env.LIBLSL_PATH,
@@ -141,27 +141,13 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
141
141
  }
142
142
 
143
143
  @test()
144
- protected static async worksAsASingleton() {
145
- const liblsl = LiblslAdapter.getInstance()
146
- //@ts-ignore
147
- assert.isInstanceOf(liblsl, LiblslAdapter)
148
- }
149
-
150
- @test()
151
- protected static async singletonIsTheSame() {
152
- assert.isEqual(LiblslAdapter.getInstance(), LiblslAdapter.getInstance())
153
- }
154
-
155
- @test()
156
- protected static canSetInstance() {
157
- const fake = new FakeLiblsl()
158
- LiblslAdapter.setInstance(fake)
159
- assert.isEqual(LiblslAdapter.getInstance(), fake)
160
- }
161
-
162
- @test()
163
- protected static async createsExpectedBindingsWithFfiRs() {
144
+ protected static async callsFfiRsDefineWithRequiredOptions() {
164
145
  assert.isEqualDeep(this.ffiRsDefineOptions, {
146
+ lsl_local_clock: {
147
+ library: 'lsl',
148
+ retType: DataType.Double,
149
+ paramsType: [],
150
+ },
165
151
  lsl_create_streaminfo: {
166
152
  library: 'lsl',
167
153
  retType: DataType.External,
@@ -251,14 +237,21 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
251
237
  DataType.String,
252
238
  ],
253
239
  },
254
- lsl_local_clock: {
255
- library: 'lsl',
256
- retType: DataType.Double,
257
- paramsType: [],
258
- },
259
240
  })
260
241
  }
261
242
 
243
+ @test()
244
+ protected static async getInstanceReturnsASingleton() {
245
+ assert.isEqual(LiblslAdapter.getInstance(), LiblslAdapter.getInstance())
246
+ }
247
+
248
+ @test()
249
+ protected static canSetInstance() {
250
+ const fake = new FakeLiblsl()
251
+ LiblslAdapter.setInstance(fake)
252
+ assert.isEqual(LiblslAdapter.getInstance(), fake)
253
+ }
254
+
262
255
  @test()
263
256
  protected static async createsStreamInfoWithRequiredParams() {
264
257
  const options = this.generateRandomCreateStreamInfoOptions()
@@ -306,7 +299,6 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
306
299
  this.minResults,
307
300
  this.timeoutMs / 1000,
308
301
  ],
309
- runInNewThread: true,
310
302
  },
311
303
  'Did not call resolveByProp with expected params!'
312
304
  )
@@ -570,7 +562,6 @@ export default class LiblslAdapterTest extends AbstractPackageTest {
570
562
  DataType.External,
571
563
  ],
572
564
  paramsValue: [inletHandle, timeoutMs / 1000, errorCodePtr],
573
- runInNewThread: true,
574
565
  },
575
566
  'Did not call openStream with expected options!'
576
567
  )