@neurodevs/node-lsl 8.0.4 → 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.
- package/build/errors/SpruceError.js +1 -1
- package/build/errors/SpruceError.js.map +1 -1
- package/build/implementations/Liblsl.d.ts +1 -1
- package/build/implementations/Liblsl.js +14 -13
- package/build/implementations/Liblsl.js.map +1 -1
- package/package.json +1 -1
- package/src/errors/SpruceError.ts +1 -1
- package/src/implementations/Liblsl.ts +17 -16
|
@@ -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,
|
|
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":";;;;;AAAA,+CAAkD;AAClD,mCAA+C;AAC/C,wEAA+C;AAY/C,MAAqB,UAAU;
|
|
1
|
+
{"version":3,"file":"Liblsl.js","sourceRoot":"","sources":["../../src/implementations/Liblsl.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -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',
|