@neurodevs/node-lsl 8.0.3 → 8.0.5

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,7 +11,7 @@ class SpruceError extends error_1.default {
11
11
  let message;
12
12
  switch (options === null || options === void 0 ? void 0 : options.code) {
13
13
  case 'FAILED_TO_LOAD_LIBLSL':
14
- message = `Well shoot! Loading the liblsl dylib failed. I tried to load it from ${options.liblslPath}.`;
14
+ message = `Well shoot! Loading the liblsl dylib failed. I tried to load it from ${options.liblslPath}. Original error:\n\n${options.originalError}`;
15
15
  break;
16
16
  default:
17
17
  message = super.friendlyMessage();
@@ -1 +1 @@
1
- {"version":3,"file":"SpruceError.js","sourceRoot":"","sources":["../../src/errors/SpruceError.ts"],"names":[],"mappings":";;;;;AAAA,8DAA+C;AAG/C,MAAqB,WAAY,SAAQ,eAA6B;IAClE,kDAAkD;IAC3C,eAAe;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QACxB,IAAI,OAAO,CAAA;QACX,QAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;YACpB,KAAK,uBAAuB;gBACxB,OAAO,GAAG,wEAAwE,OAAO,CAAC,UAAU,GAAG,CAAA;gBACvG,MAAK;YACT;gBACI,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QACzC,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe;YACvC,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,OAAO,CAAA;QAEb,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AAnBD,8BAmBC"}
1
+ {"version":3,"file":"SpruceError.js","sourceRoot":"","sources":["../../src/errors/SpruceError.ts"],"names":[],"mappings":";;;;;AAAA,8DAA+C;AAG/C,MAAqB,WAAY,SAAQ,eAA6B;IAClE,kDAAkD;IAC3C,eAAe;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QACxB,IAAI,OAAO,CAAA;QACX,QAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;YACpB,KAAK,uBAAuB;gBACxB,OAAO,GAAG,wEAAwE,OAAO,CAAC,UAAU,wBAAwB,OAAO,CAAC,aAAa,EAAE,CAAA;gBACnJ,MAAK;YACT;gBACI,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QACzC,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe;YACvC,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,OAAO,CAAA;QAEb,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AAnBD,8BAmBC"}
@@ -5,10 +5,10 @@ export default class LiblslImpl implements Liblsl {
5
5
  static ffiRsOpen: typeof open;
6
6
  static ffiRsDefine: typeof define;
7
7
  private bindings;
8
+ protected constructor();
8
9
  static getInstance(): Liblsl;
9
10
  static setInstance(instance: Liblsl): void;
10
11
  static resetInstance(): void;
11
- protected constructor();
12
12
  private loadBindings;
13
13
  createStreamInfo(options: CreateStreamInfoOptions): import("../nodeLsl.types").BoundStreamInfo;
14
14
  appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
@@ -7,18 +7,6 @@ const schema_1 = require("@sprucelabs/schema");
7
7
  const ffi_rs_1 = require("ffi-rs");
8
8
  const SpruceError_1 = __importDefault(require("../errors/SpruceError"));
9
9
  class LiblslImpl {
10
- static getInstance() {
11
- if (!this.instance) {
12
- this.setInstance(new this());
13
- }
14
- return this.instance;
15
- }
16
- static setInstance(instance) {
17
- this.instance = instance;
18
- }
19
- static resetInstance() {
20
- delete this.instance;
21
- }
22
10
  constructor() {
23
11
  const path = process.env.LIBLSL_PATH;
24
12
  if (!path) {
@@ -27,13 +15,26 @@ class LiblslImpl {
27
15
  try {
28
16
  this.bindings = this.loadBindings(path);
29
17
  }
30
- catch {
18
+ catch (error) {
31
19
  throw new SpruceError_1.default({
32
20
  code: 'FAILED_TO_LOAD_LIBLSL',
33
21
  liblslPath: path,
22
+ originalError: error,
34
23
  });
35
24
  }
36
25
  }
26
+ static getInstance() {
27
+ if (!this.instance) {
28
+ this.setInstance(new this());
29
+ }
30
+ return this.instance;
31
+ }
32
+ static setInstance(instance) {
33
+ this.instance = instance;
34
+ }
35
+ static resetInstance() {
36
+ delete this.instance;
37
+ }
37
38
  loadBindings(liblslPath) {
38
39
  LiblslImpl.ffiRsOpen({
39
40
  library: 'lsl',
@@ -1 +1 @@
1
- {"version":3,"file":"Liblsl.js","sourceRoot":"","sources":["../../src/implementations/Liblsl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Liblsl.js","sourceRoot":"","sources":["../../src/implementations/Liblsl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/node-lsl",
3
- "version": "8.0.3",
3
+ "version": "8.0.5",
4
4
  "main": "build/index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,12 +31,12 @@
31
31
  "test.rs": "node build/test.js"
32
32
  },
33
33
  "devDependencies": {
34
- "@sprucelabs/jest-json-reporter": "^8.0.24",
35
- "@sprucelabs/resolve-path-aliases": "^2.0.20",
34
+ "@sprucelabs/jest-json-reporter": "^8.0.27",
35
+ "@sprucelabs/resolve-path-aliases": "^2.0.22",
36
36
  "@sprucelabs/test": "^9.0.13",
37
- "@sprucelabs/test-utils": "^5.0.27",
37
+ "@sprucelabs/test-utils": "^5.0.35",
38
38
  "@types/ffi-napi": "^4.0.10",
39
- "@types/node": "^20.12.11",
39
+ "@types/node": "^20.12.12",
40
40
  "chokidar-cli": "^3.0.0",
41
41
  "concurrently": "^8.2.2",
42
42
  "eslint": "^9.2.0",
@@ -74,11 +74,11 @@
74
74
  }
75
75
  },
76
76
  "dependencies": {
77
- "@sprucelabs/error": "^6.0.23",
78
- "@sprucelabs/schema": "^30.0.36",
79
- "@sprucelabs/spruce-core-schemas": "^40.0.30",
80
- "@sprucelabs/spruce-skill-utils": "^31.0.39",
81
- "ffi-rs": "^1.0.74",
77
+ "@sprucelabs/error": "^6.0.24",
78
+ "@sprucelabs/schema": "^30.0.45",
79
+ "@sprucelabs/spruce-core-schemas": "^40.0.40",
80
+ "@sprucelabs/spruce-skill-utils": "^31.0.48",
81
+ "ffi-rs": "^1.0.75",
82
82
  "node-gyp": "^10.1.0",
83
83
  "ref-array-napi": "^1.2.2",
84
84
  "ref-napi": "^3.0.3"
@@ -8,7 +8,7 @@ export default class SpruceError extends BaseSpruceError<ErrorOptions> {
8
8
  let message
9
9
  switch (options?.code) {
10
10
  case 'FAILED_TO_LOAD_LIBLSL':
11
- message = `Well shoot! Loading the liblsl dylib failed. I tried to load it from ${options.liblslPath}.`
11
+ message = `Well shoot! Loading the liblsl dylib failed. I tried to load it from ${options.liblslPath}. Original error:\n\n${options.originalError}`
12
12
  break
13
13
  default:
14
14
  message = super.friendlyMessage()
@@ -19,21 +19,6 @@ export default class LiblslImpl implements Liblsl {
19
19
 
20
20
  private bindings: LiblslBindings
21
21
 
22
- public static getInstance() {
23
- if (!this.instance) {
24
- this.setInstance(new this())
25
- }
26
- return this.instance!
27
- }
28
-
29
- public static setInstance(instance: Liblsl) {
30
- this.instance = instance
31
- }
32
-
33
- public static resetInstance() {
34
- delete this.instance
35
- }
36
-
37
22
  protected constructor() {
38
23
  const path = process.env.LIBLSL_PATH!
39
24
 
@@ -43,14 +28,30 @@ export default class LiblslImpl implements Liblsl {
43
28
 
44
29
  try {
45
30
  this.bindings = this.loadBindings(path)
46
- } catch {
31
+ } catch (error) {
47
32
  throw new SpruceError({
48
33
  code: 'FAILED_TO_LOAD_LIBLSL',
49
34
  liblslPath: path,
35
+ originalError: error as any,
50
36
  })
51
37
  }
52
38
  }
53
39
 
40
+ public static getInstance() {
41
+ if (!this.instance) {
42
+ this.setInstance(new this())
43
+ }
44
+ return this.instance!
45
+ }
46
+
47
+ public static setInstance(instance: Liblsl) {
48
+ this.instance = instance
49
+ }
50
+
51
+ public static resetInstance() {
52
+ delete this.instance
53
+ }
54
+
54
55
  private loadBindings(liblslPath: string) {
55
56
  LiblslImpl.ffiRsOpen({
56
57
  library: 'lsl',