@neurodevs/node-lsl 10.2.2 → 11.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.
- package/README.md +17 -38
- package/build/__tests__/{AbstractNodeLslTest.d.ts → AbstractLslTest.d.ts} +5 -4
- package/build/__tests__/{AbstractNodeLslTest.js → AbstractLslTest.js} +30 -24
- package/build/__tests__/AbstractLslTest.js.map +1 -0
- package/build/__tests__/EventMarkerOutlet.test.d.ts +18 -0
- package/build/__tests__/EventMarkerOutlet.test.js +144 -0
- package/build/__tests__/EventMarkerOutlet.test.js.map +1 -0
- package/build/__tests__/{Liblsl.test.d.ts → LiblslAdapter.test.d.ts} +2 -2
- package/build/__tests__/{Liblsl.test.js → LiblslAdapter.test.js} +43 -75
- package/build/__tests__/LiblslAdapter.test.js.map +1 -0
- package/build/__tests__/LslStreamInfo.test.d.ts +3 -3
- package/build/__tests__/LslStreamInfo.test.js +3 -3
- package/build/__tests__/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/{LslInlet.test.d.ts → LslStreamInlet.test.d.ts} +4 -4
- package/build/__tests__/{LslInlet.test.js → LslStreamInlet.test.js} +17 -17
- package/build/__tests__/LslStreamInlet.test.js.map +1 -0
- package/build/__tests__/{LslOutlet.test.d.ts → LslStreamOutlet.test.d.ts} +3 -3
- package/build/__tests__/{LslOutlet.test.js → LslStreamOutlet.test.js} +45 -41
- package/build/__tests__/LslStreamOutlet.test.js.map +1 -0
- package/build/components/EventMarkerOutlet.d.ts +20 -0
- package/build/components/{TimeMarkerOutlet.js → EventMarkerOutlet.js} +19 -25
- package/build/components/EventMarkerOutlet.js.map +1 -0
- package/build/components/{Liblsl.d.ts → LiblslAdapter.d.ts} +1 -1
- package/build/components/{Liblsl.js → LiblslAdapter.js} +7 -7
- package/build/components/LiblslAdapter.js.map +1 -0
- package/build/components/LslStreamInfo.js +2 -2
- package/build/components/LslStreamInfo.js.map +1 -1
- package/build/components/{LslInlet.d.ts → LslStreamInlet.d.ts} +4 -4
- package/build/components/{LslInlet.js → LslStreamInlet.js} +5 -5
- package/build/components/LslStreamInlet.js.map +1 -0
- package/build/components/{LslOutlet.d.ts → LslStreamOutlet.d.ts} +1 -1
- package/build/components/{LslOutlet.js → LslStreamOutlet.js} +5 -5
- package/build/components/LslStreamOutlet.js.map +1 -0
- package/build/index.d.ts +20 -19
- package/build/index.js +33 -28
- package/build/index.js.map +1 -1
- package/build/nodeLsl.types.d.ts +3 -3
- package/build/testDoubles/{FakeLiblsl.d.ts → Liblsl/FakeLiblsl.d.ts} +1 -1
- package/build/testDoubles/Liblsl/FakeLiblsl.js.map +1 -0
- package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +7 -0
- package/build/testDoubles/{SpyLslInlet.js → LslInlet/SpyLslInlet.js} +2 -2
- package/build/testDoubles/LslInlet/SpyLslInlet.js.map +1 -0
- package/build/testDoubles/{FakeLslOutlet.d.ts → LslOutlet/FakeLslOutlet.d.ts} +3 -5
- package/build/testDoubles/{FakeLslOutlet.js → LslOutlet/FakeLslOutlet.js} +0 -4
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +1 -0
- package/build/testDoubles/{FakeTimeMarkerOutlet.d.ts → MarkerOutlet/FakeMarkerOutlet.d.ts} +4 -4
- package/build/testDoubles/{FakeTimeMarkerOutlet.js → MarkerOutlet/FakeMarkerOutlet.js} +4 -4
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{MockTimeMarkerOutlet.d.ts → MarkerOutlet/MockMarkerOutlet.d.ts} +3 -2
- package/build/testDoubles/{MockTimeMarkerOutlet.js → MarkerOutlet/MockMarkerOutlet.js} +3 -3
- package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.js.map +1 -0
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.d.ts +9 -0
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.js +24 -0
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{FakeStreamInfo.d.ts → StreamInfo/FakeStreamInfo.d.ts} +2 -2
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +1 -0
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +9 -0
- package/build/testDoubles/{SpyLslStreamInfo.js → StreamInfo/SpyStreamInfo.js} +4 -4
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +1 -0
- package/build/testDoubles/generateRandomOutletOptions.d.ts +1 -1
- package/package.json +1 -1
- package/src/__tests__/AbstractLslTest.ts +58 -0
- package/src/__tests__/EventMarkerOutlet.test.ts +165 -0
- package/src/__tests__/{Liblsl.test.ts → LiblslAdapter.test.ts} +18 -22
- package/src/__tests__/LslStreamInfo.test.ts +12 -12
- package/src/__tests__/{LslInlet.test.ts → LslStreamInlet.test.ts} +11 -11
- package/src/__tests__/{LslOutlet.test.ts → LslStreamOutlet.test.ts} +28 -22
- package/src/components/{TimeMarkerOutlet.ts → EventMarkerOutlet.ts} +23 -33
- package/src/components/{Liblsl.ts → LiblslAdapter.ts} +3 -3
- package/src/components/LslStreamInfo.ts +2 -2
- package/src/components/{LslInlet.ts → LslStreamInlet.ts} +5 -5
- package/src/components/{LslOutlet.ts → LslStreamOutlet.ts} +3 -3
- package/src/index.ts +28 -19
- package/src/nodeLsl.types.ts +3 -3
- package/src/testDoubles/{FakeLiblsl.ts → Liblsl/FakeLiblsl.ts} +1 -1
- package/src/testDoubles/{SpyLslInlet.ts → LslInlet/SpyLslInlet.ts} +5 -3
- package/src/testDoubles/{FakeLslOutlet.ts → LslOutlet/FakeLslOutlet.ts} +3 -9
- package/src/testDoubles/{FakeTimeMarkerOutlet.ts → MarkerOutlet/FakeMarkerOutlet.ts} +4 -4
- package/src/testDoubles/{MockTimeMarkerOutlet.ts → MarkerOutlet/MockMarkerOutlet.ts} +3 -2
- package/src/testDoubles/MarkerOutlet/SpyMarkerOutlet.ts +24 -0
- package/src/testDoubles/{FakeStreamInfo.ts → StreamInfo/FakeStreamInfo.ts} +2 -2
- package/src/testDoubles/{SpyLslStreamInfo.ts → StreamInfo/SpyStreamInfo.ts} +4 -2
- package/src/testDoubles/generateRandomOutletOptions.ts +1 -1
- package/build/__tests__/AbstractNodeLslTest.js.map +0 -1
- package/build/__tests__/Liblsl.test.js.map +0 -1
- package/build/__tests__/LslInlet.test.js.map +0 -1
- package/build/__tests__/LslOutlet.test.js.map +0 -1
- package/build/__tests__/SpyLslStreamInfo.d.ts +0 -5
- package/build/__tests__/SpyLslStreamInfo.js +0 -17
- package/build/__tests__/SpyLslStreamInfo.js.map +0 -1
- package/build/__tests__/TimeMarkerOutlet.test.d.ts +0 -28
- package/build/__tests__/TimeMarkerOutlet.test.js +0 -165
- package/build/__tests__/TimeMarkerOutlet.test.js.map +0 -1
- package/build/components/Liblsl.js.map +0 -1
- package/build/components/LslInlet.js.map +0 -1
- package/build/components/LslOutlet.js.map +0 -1
- package/build/components/TimeMarkerOutlet.d.ts +0 -19
- package/build/components/TimeMarkerOutlet.js.map +0 -1
- package/build/demo.d.ts +0 -1
- package/build/demo.js +0 -42
- package/build/demo.js.map +0 -1
- package/build/testDoubles/FakeLiblsl.js.map +0 -1
- package/build/testDoubles/FakeLslOutlet.js.map +0 -1
- package/build/testDoubles/FakeLslStreamInfo.d.ts +0 -5
- package/build/testDoubles/FakeLslStreamInfo.js +0 -10
- package/build/testDoubles/FakeLslStreamInfo.js.map +0 -1
- package/build/testDoubles/FakeStreamInfo.js.map +0 -1
- package/build/testDoubles/FakeTimeMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MockTimeMarkerOutlet.js.map +0 -1
- package/build/testDoubles/SpyLslInlet.d.ts +0 -7
- package/build/testDoubles/SpyLslInlet.js.map +0 -1
- package/build/testDoubles/SpyLslStreamInfo.d.ts +0 -9
- package/build/testDoubles/SpyLslStreamInfo.js.map +0 -1
- package/build/testDoubles/SpyTimeMarkerOutlet.d.ts +0 -9
- package/build/testDoubles/SpyTimeMarkerOutlet.js +0 -19
- package/build/testDoubles/SpyTimeMarkerOutlet.js.map +0 -1
- package/src/__tests__/AbstractNodeLslTest.ts +0 -50
- package/src/__tests__/TimeMarkerOutlet.test.ts +0 -181
- package/src/demo.ts +0 -43
- package/src/testDoubles/SpyTimeMarkerOutlet.ts +0 -19
- /package/build/testDoubles/{FakeLiblsl.js → Liblsl/FakeLiblsl.js} +0 -0
- /package/build/testDoubles/{FakeStreamInfo.js → StreamInfo/FakeStreamInfo.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class LslStreamInfoTest extends
|
|
1
|
+
import AbstractLslTest from './AbstractLslTest';
|
|
2
|
+
export default class LslStreamInfoTest extends AbstractLslTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
5
|
protected static canCreateLslStreamInfo(): Promise<void>;
|
|
@@ -16,6 +16,6 @@ export default class LslStreamInfoTest extends AbstractNodeLslTest {
|
|
|
16
16
|
protected static callsBindingsToCreateStreamInfo(): Promise<void>;
|
|
17
17
|
protected static passesOptionsToStreamInfo(): Promise<void>;
|
|
18
18
|
protected static appendsChannelsToStreamInfo(): Promise<void>;
|
|
19
|
-
private static LslStreamInfo;
|
|
20
19
|
private static readonly defaultOptions;
|
|
20
|
+
private static LslStreamInfo;
|
|
21
21
|
}
|
|
@@ -13,11 +13,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
14
|
const LslStreamInfo_1 = __importDefault(require("../components/LslStreamInfo"));
|
|
15
15
|
const consts_1 = require("../consts");
|
|
16
|
-
const
|
|
17
|
-
class LslStreamInfoTest extends
|
|
16
|
+
const AbstractLslTest_1 = __importDefault(require("./AbstractLslTest"));
|
|
17
|
+
class LslStreamInfoTest extends AbstractLslTest_1.default {
|
|
18
18
|
static async beforeEach() {
|
|
19
19
|
await super.beforeEach();
|
|
20
|
-
this.
|
|
20
|
+
this.setSpyStreamInfo();
|
|
21
21
|
this.instance = this.LslStreamInfo();
|
|
22
22
|
}
|
|
23
23
|
static async canCreateLslStreamInfo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInfo.test.js","sourceRoot":"","sources":["../../src/__tests__/LslStreamInfo.test.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAA8E;AAC9E,gFAA8E;AAC9E,sCAA2C;AAE3C,
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.test.js","sourceRoot":"","sources":["../../src/__tests__/LslStreamInfo.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class
|
|
1
|
+
import AbstractLslTest from './AbstractLslTest';
|
|
2
|
+
export default class LslStreamInletTest extends AbstractLslTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
|
-
protected static
|
|
5
|
+
protected static canCreateLslStreamInlet(): Promise<void>;
|
|
6
6
|
protected static throwsWithMissingRequiredOptions(): Promise<void>;
|
|
7
7
|
protected static createsStreamInfoWithExpectedOptions(): Promise<void>;
|
|
8
8
|
protected static uniqueNameHasSetPrefix(): Promise<void>;
|
|
9
9
|
protected static callsBindingsToCreateLslInlet(): Promise<void>;
|
|
10
|
-
private static
|
|
10
|
+
private static LslStreamInlet;
|
|
11
11
|
}
|
|
@@ -10,23 +10,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
13
|
-
const
|
|
14
|
-
const FakeStreamInfo_1 = __importDefault(require("../testDoubles/FakeStreamInfo"));
|
|
15
|
-
const
|
|
16
|
-
class
|
|
13
|
+
const LslStreamInlet_1 = __importDefault(require("../components/LslStreamInlet"));
|
|
14
|
+
const FakeStreamInfo_1 = __importDefault(require("../testDoubles/StreamInfo/FakeStreamInfo"));
|
|
15
|
+
const AbstractLslTest_1 = __importDefault(require("./AbstractLslTest"));
|
|
16
|
+
class LslStreamInletTest extends AbstractLslTest_1.default {
|
|
17
17
|
static async beforeEach() {
|
|
18
18
|
await super.beforeEach();
|
|
19
19
|
this.setSpyLslInlet();
|
|
20
20
|
this.setFakeStreamInfo();
|
|
21
|
-
this.instance = this.
|
|
21
|
+
this.instance = this.LslStreamInlet();
|
|
22
22
|
}
|
|
23
|
-
static async
|
|
23
|
+
static async canCreateLslStreamInlet() {
|
|
24
24
|
test_utils_1.assert.isTruthy(this.instance, 'Instance should be created!');
|
|
25
25
|
}
|
|
26
26
|
static async throwsWithMissingRequiredOptions() {
|
|
27
27
|
const err = test_utils_1.assert.doesThrow(
|
|
28
28
|
// @ts-ignore
|
|
29
|
-
() =>
|
|
29
|
+
() => LslStreamInlet_1.default.Create());
|
|
30
30
|
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
31
31
|
parameters: [
|
|
32
32
|
'channelNames',
|
|
@@ -48,7 +48,7 @@ class LslInletTest extends AbstractNodeLslTest_1.default {
|
|
|
48
48
|
}, 'Stream info should have expected options!');
|
|
49
49
|
}
|
|
50
50
|
static async uniqueNameHasSetPrefix() {
|
|
51
|
-
const instance = this.
|
|
51
|
+
const instance = this.LslStreamInlet({ name: undefined });
|
|
52
52
|
test_utils_1.assert.doesInclude(instance.getName(), 'lsl-inlet-', 'Name should have set prefix!');
|
|
53
53
|
}
|
|
54
54
|
static async callsBindingsToCreateLslInlet() {
|
|
@@ -60,7 +60,7 @@ class LslInletTest extends AbstractNodeLslTest_1.default {
|
|
|
60
60
|
maxBuffered: this.maxBuffered,
|
|
61
61
|
}, 'Should have called createInlet!');
|
|
62
62
|
}
|
|
63
|
-
static
|
|
63
|
+
static LslStreamInlet(options) {
|
|
64
64
|
const defaultOptions = {
|
|
65
65
|
channelNames: this.channelNames,
|
|
66
66
|
channelFormat: 'float32',
|
|
@@ -72,23 +72,23 @@ class LslInletTest extends AbstractNodeLslTest_1.default {
|
|
|
72
72
|
maxBuffered: this.maxBuffered,
|
|
73
73
|
...options,
|
|
74
74
|
};
|
|
75
|
-
return
|
|
75
|
+
return LslStreamInlet_1.default.Create(defaultOptions);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
exports.default =
|
|
78
|
+
exports.default = LslStreamInletTest;
|
|
79
79
|
__decorate([
|
|
80
80
|
(0, test_utils_1.test)()
|
|
81
|
-
],
|
|
81
|
+
], LslStreamInletTest, "canCreateLslStreamInlet", null);
|
|
82
82
|
__decorate([
|
|
83
83
|
(0, test_utils_1.test)()
|
|
84
|
-
],
|
|
84
|
+
], LslStreamInletTest, "throwsWithMissingRequiredOptions", null);
|
|
85
85
|
__decorate([
|
|
86
86
|
(0, test_utils_1.test)()
|
|
87
|
-
],
|
|
87
|
+
], LslStreamInletTest, "createsStreamInfoWithExpectedOptions", null);
|
|
88
88
|
__decorate([
|
|
89
89
|
(0, test_utils_1.test)()
|
|
90
|
-
],
|
|
90
|
+
], LslStreamInletTest, "uniqueNameHasSetPrefix", null);
|
|
91
91
|
__decorate([
|
|
92
92
|
(0, test_utils_1.test)()
|
|
93
|
-
],
|
|
94
|
-
//# sourceMappingURL=
|
|
93
|
+
], LslStreamInletTest, "callsBindingsToCreateLslInlet", null);
|
|
94
|
+
//# sourceMappingURL=LslStreamInlet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamInlet.test.js","sourceRoot":"","sources":["../../src/__tests__/LslStreamInlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LslSample } from '../nodeLsl.types';
|
|
2
|
-
import
|
|
3
|
-
export default class
|
|
2
|
+
import AbstractLslTest from './AbstractLslTest';
|
|
3
|
+
export default class LslStreamOutletTest extends AbstractLslTest {
|
|
4
4
|
private static randomOutletOptions;
|
|
5
5
|
protected static beforeEach(): Promise<void>;
|
|
6
6
|
protected static throwsWithMissingRequiredParams(): Promise<void>;
|
|
@@ -27,5 +27,5 @@ export default class LslOutletTest extends AbstractNodeLslTest {
|
|
|
27
27
|
private static assertDoesThrowInvalidParameters;
|
|
28
28
|
private static StringOutlet;
|
|
29
29
|
private static FloatOutlet;
|
|
30
|
-
private static
|
|
30
|
+
private static LslStreamOutlet;
|
|
31
31
|
}
|
|
@@ -10,15 +10,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
13
|
-
const
|
|
13
|
+
const LslStreamOutlet_1 = __importDefault(require("../components/LslStreamOutlet"));
|
|
14
14
|
const consts_1 = require("../testDoubles/consts");
|
|
15
|
-
const FakeStreamInfo_1 = __importDefault(require("../testDoubles/FakeStreamInfo"));
|
|
16
15
|
const generateRandomOutletOptions_1 = __importDefault(require("../testDoubles/generateRandomOutletOptions"));
|
|
17
|
-
const
|
|
18
|
-
|
|
16
|
+
const FakeStreamInfo_1 = __importDefault(require("../testDoubles/StreamInfo/FakeStreamInfo"));
|
|
17
|
+
const AbstractLslTest_1 = __importDefault(require("./AbstractLslTest"));
|
|
18
|
+
class LslStreamOutletTest extends AbstractLslTest_1.default {
|
|
19
19
|
static async beforeEach() {
|
|
20
20
|
await super.beforeEach();
|
|
21
|
-
delete
|
|
21
|
+
delete LslStreamOutlet_1.default.Class;
|
|
22
22
|
this.randomOutletOptions = (0, generateRandomOutletOptions_1.default)();
|
|
23
23
|
this.setFakeLiblsl();
|
|
24
24
|
this.setFakeStreamInfo();
|
|
@@ -26,7 +26,7 @@ class LslOutletTest extends AbstractNodeLslTest_1.default {
|
|
|
26
26
|
static async throwsWithMissingRequiredParams() {
|
|
27
27
|
const err = await test_utils_1.assert.doesThrowAsync(
|
|
28
28
|
//@ts-ignore
|
|
29
|
-
async () => await
|
|
29
|
+
async () => await LslStreamOutlet_1.default.Create());
|
|
30
30
|
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
31
31
|
parameters: [
|
|
32
32
|
'name',
|
|
@@ -46,7 +46,7 @@ class LslOutletTest extends AbstractNodeLslTest_1.default {
|
|
|
46
46
|
await this.assertThrowsInvalidChannelNames(0);
|
|
47
47
|
}
|
|
48
48
|
static async allowsZeroSampleRate() {
|
|
49
|
-
await this.
|
|
49
|
+
await this.LslStreamOutlet({ sampleRate: 0 });
|
|
50
50
|
}
|
|
51
51
|
static async throwsWithInvalidSampleRate() {
|
|
52
52
|
await this.assertThrowsInvalidSampleRate(-1);
|
|
@@ -58,25 +58,29 @@ class LslOutletTest extends AbstractNodeLslTest_1.default {
|
|
|
58
58
|
{ channelFormat: (0, test_utils_1.generateId)() }, ['channelFormat']);
|
|
59
59
|
}
|
|
60
60
|
static async throwsWithInvalidChunkSize() {
|
|
61
|
-
await this.
|
|
61
|
+
await this.LslStreamOutlet({ chunkSize: 0 });
|
|
62
62
|
await this.assertThrowsInvalidChunkSize(-1);
|
|
63
63
|
await this.assertThrowsInvalidChunkSize(-1.5);
|
|
64
64
|
await this.assertThrowsInvalidChunkSize(1.5);
|
|
65
65
|
}
|
|
66
66
|
static async throwsWithInvalidMaxBuffered() {
|
|
67
|
-
await this.
|
|
67
|
+
await this.LslStreamOutlet({ maxBuffered: 0 });
|
|
68
68
|
await this.assertThrowsInvalidMaxBuffered(-1);
|
|
69
69
|
await this.assertThrowsInvalidMaxBuffered(-1.5);
|
|
70
70
|
await this.assertThrowsInvalidMaxBuffered(1.5);
|
|
71
71
|
}
|
|
72
72
|
static async throwsWithUnsupportedType() {
|
|
73
73
|
for (let unsupportedType of consts_1.TEST_UNSUPPORTED_CHANNEL_FORMATS) {
|
|
74
|
-
await test_utils_1.assert.doesThrowAsync(async () => await this.
|
|
74
|
+
await test_utils_1.assert.doesThrowAsync(async () => await this.LslStreamOutlet({
|
|
75
|
+
channelFormat: unsupportedType,
|
|
76
|
+
}), `This method currently does not support the ${unsupportedType} type! Please implement it.`);
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
79
|
static async supportsAllKnownChannelFormats() {
|
|
78
80
|
for (const format of consts_1.TEST_SUPPORTED_CHANNEL_FORMATS) {
|
|
79
|
-
await this.
|
|
81
|
+
await this.LslStreamOutlet({
|
|
82
|
+
channelFormat: format,
|
|
83
|
+
});
|
|
80
84
|
}
|
|
81
85
|
}
|
|
82
86
|
static async canPushFloatSampleToLsl(sample) {
|
|
@@ -111,7 +115,7 @@ class LslOutletTest extends AbstractNodeLslTest_1.default {
|
|
|
111
115
|
test_utils_1.assert.isEqual(this.fakeLiblsl.localClockHitCount, 2);
|
|
112
116
|
}
|
|
113
117
|
static async constructionCreatesStreamInfo() {
|
|
114
|
-
await this.
|
|
118
|
+
await this.LslStreamOutlet();
|
|
115
119
|
test_utils_1.assert.isEqualDeep(FakeStreamInfo_1.default.callsToConstructor[0], {
|
|
116
120
|
channelNames: this.randomOutletOptions.channelNames,
|
|
117
121
|
channelFormat: this.randomOutletOptions.channelFormat,
|
|
@@ -123,12 +127,12 @@ class LslOutletTest extends AbstractNodeLslTest_1.default {
|
|
|
123
127
|
});
|
|
124
128
|
}
|
|
125
129
|
static async canOverrideClassInstantiatedInFactory() {
|
|
126
|
-
|
|
127
|
-
const instance = await this.
|
|
130
|
+
LslStreamOutlet_1.default.Class = CheckingOutlet;
|
|
131
|
+
const instance = await this.LslStreamOutlet();
|
|
128
132
|
test_utils_1.assert.isInstanceOf(instance, CheckingOutlet);
|
|
129
133
|
}
|
|
130
134
|
static async canDestroyOutlet() {
|
|
131
|
-
const outlet = await this.
|
|
135
|
+
const outlet = await this.LslStreamOutlet();
|
|
132
136
|
outlet.destroy();
|
|
133
137
|
test_utils_1.assert.isEqual(this.fakeLiblsl.destroyOutletHitCount, 1);
|
|
134
138
|
}
|
|
@@ -141,7 +145,7 @@ class LslOutletTest extends AbstractNodeLslTest_1.default {
|
|
|
141
145
|
}
|
|
142
146
|
static async waitsForTenMsAfterConstructionBeforeReturning() {
|
|
143
147
|
const startMs = Date.now();
|
|
144
|
-
await this.
|
|
148
|
+
await this.LslStreamOutlet({ waitAfterConstructionMs: 10 });
|
|
145
149
|
const endMs = Date.now();
|
|
146
150
|
test_utils_1.assert.isAbove(endMs - startMs, 10);
|
|
147
151
|
}
|
|
@@ -164,80 +168,80 @@ class LslOutletTest extends AbstractNodeLslTest_1.default {
|
|
|
164
168
|
await this.assertDoesThrowInvalidParameters({ channelNames: new Array(count).fill((0, test_utils_1.generateId)()) }, ['channelNames']);
|
|
165
169
|
}
|
|
166
170
|
static async assertDoesThrowInvalidParameters(options, parameters) {
|
|
167
|
-
const err = await test_utils_1.assert.doesThrowAsync(async () => await this.
|
|
171
|
+
const err = await test_utils_1.assert.doesThrowAsync(async () => await this.LslStreamOutlet(options));
|
|
168
172
|
test_utils_1.errorAssert.assertError(err, 'INVALID_PARAMETERS', {
|
|
169
173
|
parameters,
|
|
170
174
|
});
|
|
171
175
|
}
|
|
172
176
|
static async StringOutlet() {
|
|
173
|
-
return await this.
|
|
177
|
+
return await this.LslStreamOutlet({ channelFormat: 'string' });
|
|
174
178
|
}
|
|
175
179
|
static async FloatOutlet() {
|
|
176
|
-
return await this.
|
|
180
|
+
return await this.LslStreamOutlet({ channelFormat: 'float32' });
|
|
177
181
|
}
|
|
178
|
-
static async
|
|
179
|
-
return await
|
|
182
|
+
static async LslStreamOutlet(options) {
|
|
183
|
+
return await LslStreamOutlet_1.default.Create({
|
|
180
184
|
...this.randomOutletOptions,
|
|
181
185
|
...options,
|
|
182
186
|
});
|
|
183
187
|
}
|
|
184
188
|
}
|
|
185
|
-
exports.default =
|
|
189
|
+
exports.default = LslStreamOutletTest;
|
|
186
190
|
__decorate([
|
|
187
191
|
(0, test_utils_1.test)()
|
|
188
|
-
],
|
|
192
|
+
], LslStreamOutletTest, "throwsWithMissingRequiredParams", null);
|
|
189
193
|
__decorate([
|
|
190
194
|
(0, test_utils_1.test)()
|
|
191
|
-
],
|
|
195
|
+
], LslStreamOutletTest, "throwsWithInvalidChannelNames", null);
|
|
192
196
|
__decorate([
|
|
193
197
|
(0, test_utils_1.test)()
|
|
194
|
-
],
|
|
198
|
+
], LslStreamOutletTest, "allowsZeroSampleRate", null);
|
|
195
199
|
__decorate([
|
|
196
200
|
(0, test_utils_1.test)()
|
|
197
|
-
],
|
|
201
|
+
], LslStreamOutletTest, "throwsWithInvalidSampleRate", null);
|
|
198
202
|
__decorate([
|
|
199
203
|
(0, test_utils_1.test)()
|
|
200
|
-
],
|
|
204
|
+
], LslStreamOutletTest, "throwsWithInvalidChannelFormat", null);
|
|
201
205
|
__decorate([
|
|
202
206
|
(0, test_utils_1.test)()
|
|
203
|
-
],
|
|
207
|
+
], LslStreamOutletTest, "throwsWithInvalidChunkSize", null);
|
|
204
208
|
__decorate([
|
|
205
209
|
(0, test_utils_1.test)()
|
|
206
|
-
],
|
|
210
|
+
], LslStreamOutletTest, "throwsWithInvalidMaxBuffered", null);
|
|
207
211
|
__decorate([
|
|
208
212
|
(0, test_utils_1.test)()
|
|
209
|
-
],
|
|
213
|
+
], LslStreamOutletTest, "throwsWithUnsupportedType", null);
|
|
210
214
|
__decorate([
|
|
211
215
|
(0, test_utils_1.test)()
|
|
212
|
-
],
|
|
216
|
+
], LslStreamOutletTest, "supportsAllKnownChannelFormats", null);
|
|
213
217
|
__decorate([
|
|
214
218
|
(0, test_utils_1.test)('pushing [1, 2] sample sends to LSL', [1.0, 2.0]),
|
|
215
219
|
(0, test_utils_1.test)('pushing [1] sample sends to LSL', [1.0])
|
|
216
|
-
],
|
|
220
|
+
], LslStreamOutletTest, "canPushFloatSampleToLsl", null);
|
|
217
221
|
__decorate([
|
|
218
222
|
(0, test_utils_1.test)()
|
|
219
|
-
],
|
|
223
|
+
], LslStreamOutletTest, "canPushStringSampleToLsl", null);
|
|
220
224
|
__decorate([
|
|
221
225
|
(0, test_utils_1.test)()
|
|
222
|
-
],
|
|
226
|
+
], LslStreamOutletTest, "pushingStringTwiceGivesDifferentTimestamps", null);
|
|
223
227
|
__decorate([
|
|
224
228
|
(0, test_utils_1.test)()
|
|
225
|
-
],
|
|
229
|
+
], LslStreamOutletTest, "constructionCreatesStreamInfo", null);
|
|
226
230
|
__decorate([
|
|
227
231
|
(0, test_utils_1.test)()
|
|
228
|
-
],
|
|
232
|
+
], LslStreamOutletTest, "canOverrideClassInstantiatedInFactory", null);
|
|
229
233
|
__decorate([
|
|
230
234
|
(0, test_utils_1.test)()
|
|
231
|
-
],
|
|
235
|
+
], LslStreamOutletTest, "canDestroyOutlet", null);
|
|
232
236
|
__decorate([
|
|
233
237
|
(0, test_utils_1.test)()
|
|
234
|
-
],
|
|
238
|
+
], LslStreamOutletTest, "pushSampleShouldNotCreateMultipleOutlets", null);
|
|
235
239
|
__decorate([
|
|
236
240
|
(0, test_utils_1.test)()
|
|
237
|
-
],
|
|
238
|
-
class CheckingOutlet extends
|
|
241
|
+
], LslStreamOutletTest, "waitsForTenMsAfterConstructionBeforeReturning", null);
|
|
242
|
+
class CheckingOutlet extends LslStreamOutlet_1.default {
|
|
239
243
|
constructor(info, options) {
|
|
240
244
|
super(info, options);
|
|
241
245
|
}
|
|
242
246
|
}
|
|
243
|
-
//# sourceMappingURL=
|
|
247
|
+
//# sourceMappingURL=LslStreamOutlet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.test.js","sourceRoot":"","sources":["../../src/__tests__/LslStreamOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DurationMarker } from '../nodeLsl.types';
|
|
2
|
+
import { LslOutletOptions, LslOutlet } from './LslStreamOutlet';
|
|
3
|
+
export default class EventMarkerOutlet implements MarkerOutlet {
|
|
4
|
+
static Class?: MarkerOutletConstructor;
|
|
5
|
+
protected lslOutlet: LslOutlet;
|
|
6
|
+
private isPlaying;
|
|
7
|
+
private waitResolve?;
|
|
8
|
+
private timeout?;
|
|
9
|
+
protected constructor(lslOutlet: LslOutlet);
|
|
10
|
+
static Create(options?: Partial<LslOutletOptions>): Promise<MarkerOutlet>;
|
|
11
|
+
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
12
|
+
protected wait(durationMs: number): Promise<unknown>;
|
|
13
|
+
private setTimeout;
|
|
14
|
+
stop(): void;
|
|
15
|
+
}
|
|
16
|
+
export interface MarkerOutlet {
|
|
17
|
+
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
18
|
+
stop(): void;
|
|
19
|
+
}
|
|
20
|
+
export type MarkerOutletConstructor = new (lslOutlet: LslOutlet) => MarkerOutlet;
|
|
@@ -3,41 +3,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
6
|
+
const LslStreamOutlet_1 = __importDefault(require("./LslStreamOutlet"));
|
|
7
|
+
class EventMarkerOutlet {
|
|
8
|
+
constructor(lslOutlet) {
|
|
11
9
|
this.isPlaying = false;
|
|
10
|
+
this.lslOutlet = lslOutlet;
|
|
12
11
|
}
|
|
13
12
|
static async Create(options) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
name: 'Time markers',
|
|
13
|
+
const defaultOptions = {
|
|
14
|
+
name: 'Event markers',
|
|
17
15
|
type: 'Markers',
|
|
18
16
|
channelNames: ['Markers'],
|
|
19
17
|
sampleRate: 0,
|
|
20
18
|
channelFormat: 'string',
|
|
21
|
-
sourceId: '
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const outletOptions = {
|
|
27
|
-
...infoOptions,
|
|
28
|
-
manufacturer: manufacturer ?? 'N/A',
|
|
29
|
-
chunkSize: chunkSize ?? 0,
|
|
30
|
-
maxBuffered: maxBuffered ?? 0,
|
|
31
|
-
unit: unit ?? 'N/A',
|
|
19
|
+
sourceId: 'event-markers',
|
|
20
|
+
manufacturer: 'N/A',
|
|
21
|
+
unit: 'N/A',
|
|
22
|
+
chunkSize: 0,
|
|
23
|
+
maxBuffered: 0,
|
|
32
24
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
25
|
+
const outlet = await LslStreamOutlet_1.default.Create({
|
|
26
|
+
...defaultOptions,
|
|
27
|
+
...options,
|
|
28
|
+
});
|
|
29
|
+
return new (this.Class ?? this)(outlet);
|
|
36
30
|
}
|
|
37
31
|
async pushMarkers(markers) {
|
|
38
32
|
this.isPlaying = true;
|
|
39
33
|
for (let marker of markers) {
|
|
40
|
-
this.pushSample([marker.name]);
|
|
34
|
+
this.lslOutlet.pushSample([marker.name]);
|
|
41
35
|
await this.wait(marker.durationMs);
|
|
42
36
|
if (!this.isPlaying) {
|
|
43
37
|
return;
|
|
@@ -57,5 +51,5 @@ class TimeMarkerOutletImpl extends LslOutlet_1.default {
|
|
|
57
51
|
this.isPlaying = false;
|
|
58
52
|
}
|
|
59
53
|
}
|
|
60
|
-
exports.default =
|
|
61
|
-
//# sourceMappingURL=
|
|
54
|
+
exports.default = EventMarkerOutlet;
|
|
55
|
+
//# sourceMappingURL=EventMarkerOutlet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventMarkerOutlet.js","sourceRoot":"","sources":["../../src/components/EventMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,wEAAgF;AAEhF,MAAqB,iBAAiB;IAQlC,YAAsB,SAAoB;QAJlC,cAAS,GAAG,KAAK,CAAA;QAKrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC1D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACG,CAAA;QAErB,MAAM,MAAM,GAAG,MAAM,yBAAe,CAAC,MAAM,CAAC;YACxC,GAAG,cAAc;YACjB,GAAG,OAAO;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAExC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAElC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,UAAkB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IACzE,CAAC;IAEO,UAAU,CAAC,OAAiC,EAAE,UAAkB;QACpE,IAAI,CAAC,WAAW,GAAG,OAAc,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;CACJ;AA9DD,oCA8DC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { define, open } from 'ffi-rs';
|
|
2
2
|
import { Liblsl, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, DestroyOutletOptions, PushSampleFloatTimestampOptions, PushSampleStringTimestampOptions, CreateInletOptions, DestroyInletOptions } from '../nodeLsl.types';
|
|
3
|
-
export default class
|
|
3
|
+
export default class LiblslAdapter implements Liblsl {
|
|
4
4
|
private static instance?;
|
|
5
5
|
static ffiRsOpen: typeof open;
|
|
6
6
|
static ffiRsDefine: typeof define;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
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
|
-
class
|
|
9
|
+
class LiblslAdapter {
|
|
10
10
|
constructor() {
|
|
11
11
|
this.defaultMacOsPath = '/opt/homebrew/Cellar/lsl/1.16.2/lib/liblsl.1.16.2.dylib';
|
|
12
12
|
const path = process.env.LIBLSL_PATH ?? this.defaultMacOsPath;
|
|
@@ -37,11 +37,11 @@ class LiblslImpl {
|
|
|
37
37
|
delete this.instance;
|
|
38
38
|
}
|
|
39
39
|
loadBindings(liblslPath) {
|
|
40
|
-
|
|
40
|
+
LiblslAdapter.ffiRsOpen({
|
|
41
41
|
library: 'lsl',
|
|
42
42
|
path: liblslPath,
|
|
43
43
|
});
|
|
44
|
-
return
|
|
44
|
+
return LiblslAdapter.ffiRsDefine({
|
|
45
45
|
lsl_create_streaminfo: {
|
|
46
46
|
library: 'lsl',
|
|
47
47
|
retType: 11 /* DataType.External */,
|
|
@@ -192,7 +192,7 @@ class LiblslImpl {
|
|
|
192
192
|
return this.bindings.lsl_local_clock([]);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
exports.default =
|
|
198
|
-
//# sourceMappingURL=
|
|
195
|
+
LiblslAdapter.ffiRsOpen = ffi_rs_1.open;
|
|
196
|
+
LiblslAdapter.ffiRsDefine = ffi_rs_1.define;
|
|
197
|
+
exports.default = LiblslAdapter;
|
|
198
|
+
//# sourceMappingURL=LiblslAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiblslAdapter.js","sourceRoot":"","sources":["../../src/components/LiblslAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const schema_1 = require("@sprucelabs/schema");
|
|
7
7
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
8
8
|
const consts_1 = require("../consts");
|
|
9
|
-
const
|
|
9
|
+
const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
|
|
10
10
|
class LslStreamInfo {
|
|
11
11
|
constructor(options) {
|
|
12
12
|
this.defaultName = `lsl-stream-info-${(0, test_utils_1.generateId)()}`;
|
|
@@ -58,7 +58,7 @@ class LslStreamInfo {
|
|
|
58
58
|
return consts_1.CHANNEL_FORMATS_MAP[this.channelFormat];
|
|
59
59
|
}
|
|
60
60
|
get lsl() {
|
|
61
|
-
return
|
|
61
|
+
return LiblslAdapter_1.default.getInstance();
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
exports.default = LslStreamInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/components/LslStreamInfo.ts"],"names":[],"mappings":";;;;;AAAA,+CAAkD;AAClD,uDAAmD;AACnD,sCAA+C;AAE/C,
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/components/LslStreamInfo.ts"],"names":[],"mappings":";;;;;AAAA,+CAAkD;AAClD,uDAAmD;AACnD,sCAA+C;AAE/C,oEAA2C;AAE3C,MAAqB,aAAa;IAY9B,YAAsB,OAA0B;QAkE/B,gBAAW,GAAG,mBAAmB,IAAA,uBAAU,GAAE,EAAE,CAAA;QAC/C,gBAAW,GAAG,IAAA,uBAAU,GAAE,CAAA;QAC1B,oBAAe,GAAG,IAAA,uBAAU,GAAE,CAAA;QAC9B,iBAAY,GAAG,KAAK,CAAA;QApEjC,MAAM,EACF,YAAY,EACZ,aAAa,EACb,UAAU,EACV,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,QAAQ,GAAG,IAAI,CAAC,eAAe,EAC/B,KAAK,GAAG,IAAI,CAAC,YAAY,GAC5B,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,0BAA0B,EAAE,CAAA;IACrC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA0B;QAC3C,IAAA,sBAAa,EAAC,OAAO,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAA;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;IAEO,0BAA0B;QAC9B,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;SACN,CAAC,CAAA;IACN,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAY,gBAAgB;QACxB,OAAO,4BAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAED,IAAY,GAAG;QACX,OAAO,uBAAa,CAAC,WAAW,EAAE,CAAA;IACtC,CAAC;CAMJ;AAlFD,gCAkFC"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { ChannelFormat } from '../nodeLsl.types';
|
|
2
2
|
import { StreamInfo } from './LslStreamInfo';
|
|
3
|
-
export default class
|
|
3
|
+
export default class LslStreamInlet implements LslInlet {
|
|
4
4
|
static Class?: LslInletConstructor;
|
|
5
5
|
protected name: string;
|
|
6
6
|
protected info: StreamInfo;
|
|
7
7
|
private chunkSize;
|
|
8
8
|
private maxBuffered;
|
|
9
9
|
protected constructor(info: StreamInfo, options: LslInletOptions);
|
|
10
|
-
static Create(options: LslInletOptions):
|
|
10
|
+
static Create(options: LslInletOptions): LslInlet;
|
|
11
11
|
private createLslInlet;
|
|
12
12
|
private get boundStreamInfo();
|
|
13
13
|
private get lsl();
|
|
14
14
|
private readonly defaultName;
|
|
15
15
|
private static LslStreamInfo;
|
|
16
16
|
}
|
|
17
|
-
export interface
|
|
17
|
+
export interface LslInlet {
|
|
18
18
|
}
|
|
19
|
-
export type LslInletConstructor = new (info: StreamInfo, options: LslInletOptions) =>
|
|
19
|
+
export type LslInletConstructor = new (info: StreamInfo, options: LslInletOptions) => LslInlet;
|
|
20
20
|
export interface LslInletOptions {
|
|
21
21
|
sampleRate: number;
|
|
22
22
|
channelNames: string[];
|