@neurodevs/node-lsl 11.4.1 → 12.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/.vscode/tasks.json +19 -1
- package/README.md +44 -34
- package/build/.spruce/settings.json +1 -3
- package/build/__tests__/{AbstractLslTest.d.ts → AbstractPackageTest.d.ts} +6 -4
- package/build/__tests__/AbstractPackageTest.js +58 -0
- package/build/__tests__/AbstractPackageTest.js.map +1 -0
- package/build/__tests__/{modules → impl}/LiblslAdapter.test.d.ts +5 -8
- package/build/__tests__/{modules → impl}/LiblslAdapter.test.js +37 -86
- package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -0
- package/build/__tests__/{modules/EventMarkerOutlet.test.d.ts → impl/LslEventMarkerOutlet.test.d.ts} +5 -4
- package/build/__tests__/{modules/EventMarkerOutlet.test.js → impl/LslEventMarkerOutlet.test.js} +32 -25
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
- package/build/__tests__/{modules → impl}/LslStreamInfo.test.d.ts +3 -4
- package/build/__tests__/{modules → impl}/LslStreamInfo.test.js +17 -27
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -0
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +10 -0
- package/build/__tests__/{modules → impl}/LslStreamInlet.test.js +9 -26
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -0
- package/build/__tests__/{modules → impl}/LslStreamOutlet.test.d.ts +9 -7
- package/build/__tests__/{modules → impl}/LslStreamOutlet.test.js +40 -57
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.d.ts +7 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.js +63 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -0
- package/build/assertions.d.ts +1 -1
- package/build/assertions.js +10 -31
- package/build/assertions.js.map +1 -1
- package/build/{modules → impl}/LiblslAdapter.d.ts +3 -1
- package/build/{modules → impl}/LiblslAdapter.js +15 -44
- package/build/impl/LiblslAdapter.js.map +1 -0
- package/build/impl/LslEventMarkerOutlet.d.ts +23 -0
- package/build/{modules/EventMarkerOutlet.js → impl/LslEventMarkerOutlet.js} +6 -6
- package/build/impl/LslEventMarkerOutlet.js.map +1 -0
- package/build/{modules → impl}/LslStreamInfo.js +4 -6
- package/build/impl/LslStreamInfo.js.map +1 -0
- package/build/{modules → impl}/LslStreamInlet.d.ts +8 -8
- package/build/{modules → impl}/LslStreamInlet.js +6 -14
- package/build/impl/LslStreamInlet.js.map +1 -0
- package/build/{modules → impl}/LslStreamOutlet.d.ts +8 -8
- package/build/{modules → impl}/LslStreamOutlet.js +2 -15
- package/build/impl/LslStreamOutlet.js.map +1 -0
- package/build/impl/LslWebSocketBridge.d.ts +8 -0
- package/build/impl/LslWebSocketBridge.js +10 -0
- package/build/impl/LslWebSocketBridge.js.map +1 -0
- package/build/index.d.ts +26 -22
- package/build/index.js +41 -34
- package/build/index.js.map +1 -1
- package/build/scripts/runLslEventMarkerOutlet.d.ts +1 -0
- package/build/scripts/runLslEventMarkerOutlet.js +23 -0
- package/build/scripts/runLslEventMarkerOutlet.js.map +1 -0
- package/build/scripts/runLslStreamOutlet.d.ts +1 -0
- package/build/scripts/runLslStreamOutlet.js +25 -0
- package/build/scripts/runLslStreamOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/FakeMarkerOutlet.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js +29 -0
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.d.ts → EventMarkerOutlet/MockEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.js → EventMarkerOutlet/MockEventMarkerOutlet.js} +3 -3
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +9 -0
- package/build/testDoubles/{MarkerOutlet/SpyMarkerOutlet.js → EventMarkerOutlet/SpyEventMarkerOutlet.js} +8 -8
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.d.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +3 -3
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +1 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +10 -0
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js +16 -0
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -0
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +7 -0
- package/build/testDoubles/{LslInlet/SpyLslInlet.js → StreamInlet/SpyStreamInlet.js} +5 -5
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -0
- package/build/testDoubles/{LslOutlet/FakeLslOutlet.d.ts → StreamOutlet/FakeStreamOutlet.d.ts} +9 -10
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +62 -0
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.d.ts +6 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js +13 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js.map +1 -0
- package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
- package/build/testDoubles/generateRandomOutletOptions.js +10 -7
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/build/types.d.ts +3 -3
- package/package.json +26 -18
- package/src/.spruce/settings.json +1 -3
- package/src/__tests__/{AbstractLslTest.ts → AbstractPackageTest.ts} +23 -17
- package/src/__tests__/{modules → impl}/LiblslAdapter.test.ts +36 -76
- package/src/__tests__/{modules/EventMarkerOutlet.test.ts → impl/LslEventMarkerOutlet.test.ts} +38 -27
- package/src/__tests__/{modules → impl}/LslStreamInfo.test.ts +7 -17
- package/src/__tests__/{modules → impl}/LslStreamInlet.test.ts +13 -30
- package/src/__tests__/{modules → impl}/LslStreamOutlet.test.ts +71 -63
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +23 -0
- package/src/assertions.ts +19 -30
- package/src/{modules → impl}/LiblslAdapter.ts +18 -44
- package/src/{modules/EventMarkerOutlet.ts → impl/LslEventMarkerOutlet.ts} +16 -11
- package/src/{modules → impl}/LslStreamInfo.ts +1 -3
- package/src/{modules → impl}/LslStreamInlet.ts +14 -22
- package/src/{modules → impl}/LslStreamOutlet.ts +12 -26
- package/src/impl/LslWebSocketBridge.ts +13 -0
- package/src/index.ts +37 -29
- package/src/scripts/runLslEventMarkerOutlet.ts +23 -0
- package/src/scripts/runLslStreamOutlet.ts +22 -0
- package/src/testDoubles/{MarkerOutlet/FakeMarkerOutlet.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +6 -6
- package/src/testDoubles/{MarkerOutlet/MockMarkerOutlet.ts → EventMarkerOutlet/MockEventMarkerOutlet.ts} +2 -2
- package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +24 -0
- package/src/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +2 -2
- package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInfo/SpyStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +20 -0
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +16 -0
- package/src/testDoubles/{LslOutlet/FakeLslOutlet.ts → StreamOutlet/FakeStreamOutlet.ts} +17 -18
- package/src/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.ts +15 -0
- package/src/testDoubles/generateRandomOutletOptions.ts +3 -3
- package/src/types.ts +3 -3
- package/build/.spruce/errors/errors.types.d.ts +0 -21
- package/build/.spruce/errors/errors.types.js +0 -3
- package/build/.spruce/errors/errors.types.js.map +0 -1
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.d.ts +0 -3
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js +0 -19
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js.map +0 -1
- package/build/.spruce/errors/options.types.d.ts +0 -7
- package/build/.spruce/errors/options.types.js +0 -3
- package/build/.spruce/errors/options.types.js.map +0 -1
- package/build/.spruce/schemas/fields/fieldClassMap.d.ts +0 -2
- package/build/.spruce/schemas/fields/fieldClassMap.js +0 -5
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +0 -1
- package/build/.spruce/schemas/fields/fields.types.d.ts +0 -1
- package/build/.spruce/schemas/fields/fields.types.js +0 -3
- package/build/.spruce/schemas/fields/fields.types.js.map +0 -1
- package/build/__tests__/AbstractLslTest.js +0 -86
- package/build/__tests__/AbstractLslTest.js.map +0 -1
- package/build/__tests__/modules/EventMarkerOutlet.test.js.map +0 -1
- package/build/__tests__/modules/LiblslAdapter.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamInfo.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamInlet.test.d.ts +0 -11
- package/build/__tests__/modules/LslStreamInlet.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamOutlet.test.js.map +0 -1
- package/build/errors/SpruceError.d.ts +0 -6
- package/build/errors/SpruceError.js +0 -26
- package/build/errors/SpruceError.js.map +0 -1
- package/build/errors/failedToLoadLiblsl.builder.d.ts +0 -11
- package/build/errors/failedToLoadLiblsl.builder.js +0 -14
- package/build/errors/failedToLoadLiblsl.builder.js.map +0 -1
- package/build/modules/EventMarkerOutlet.d.ts +0 -23
- package/build/modules/EventMarkerOutlet.js.map +0 -1
- package/build/modules/LiblslAdapter.js.map +0 -1
- package/build/modules/LslStreamInfo.js.map +0 -1
- package/build/modules/LslStreamInlet.js.map +0 -1
- package/build/modules/LslStreamOutlet.js.map +0 -1
- package/build/testDoubles/LslInlet/FakeLslInlet.d.ts +0 -11
- package/build/testDoubles/LslInlet/FakeLslInlet.js +0 -16
- package/build/testDoubles/LslInlet/FakeLslInlet.js.map +0 -1
- package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +0 -7
- package/build/testDoubles/LslInlet/SpyLslInlet.js.map +0 -1
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js +0 -59
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js +0 -29
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.d.ts +0 -9
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/ThrowingMarkerOutlet.js.map +0 -1
- package/src/.spruce/errors/errors.types.ts +0 -37
- package/src/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.ts +0 -22
- package/src/.spruce/errors/options.types.ts +0 -10
- package/src/.spruce/schemas/fields/fieldClassMap.ts +0 -6
- package/src/.spruce/schemas/fields/fields.types.ts +0 -1
- package/src/errors/SpruceError.ts +0 -23
- package/src/errors/failedToLoadLiblsl.builder.ts +0 -12
- package/src/testDoubles/LslInlet/FakeLslInlet.ts +0 -22
- package/src/testDoubles/LslInlet/SpyLslInlet.ts +0 -16
- package/src/testDoubles/MarkerOutlet/SpyMarkerOutlet.ts +0 -24
- /package/build/{modules → impl}/LslStreamInfo.d.ts +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
|
|
46
|
+
const LslWebSocketBridge_1 = __importDefault(require("../../impl/LslWebSocketBridge"));
|
|
47
|
+
class LslWebSocketBridgeTest extends test_utils_1.default {
|
|
48
|
+
static async beforeEach() {
|
|
49
|
+
await super.beforeEach();
|
|
50
|
+
this.instance = this.LslWebSocketBridge();
|
|
51
|
+
}
|
|
52
|
+
static async createsInstance() {
|
|
53
|
+
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
54
|
+
}
|
|
55
|
+
static LslWebSocketBridge() {
|
|
56
|
+
return LslWebSocketBridge_1.default.Create();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.default = LslWebSocketBridgeTest;
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, test_utils_1.test)()
|
|
62
|
+
], LslWebSocketBridgeTest, "createsInstance", null);
|
|
63
|
+
//# sourceMappingURL=LslWebSocketBridge.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslWebSocketBridge.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslWebSocketBridge.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAyE;AACzE,uFAEsC;AAEtC,MAAqB,sBAAuB,SAAQ,oBAAkB;IAGxD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,mBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAEO,MAAM,CAAC,kBAAkB;QAC7B,OAAO,4BAAkB,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;CACJ;AAjBD,yCAiBC;AAP0B;IADtB,IAAA,iBAAI,GAAE;mDAGN"}
|
package/build/assertions.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChannelFormat } from './types';
|
|
2
|
-
export declare function assertValidMaxBuffered(maxBuffered: number): void;
|
|
3
2
|
export declare function assertValidChunkSize(chunkSize: number): void;
|
|
3
|
+
export declare function assertValidMaxBuffered(maxBuffered: number): void;
|
|
4
4
|
export declare function assertValidChannelFormat(channelFormat: ChannelFormat): void;
|
|
5
5
|
export declare function assertValidSampleRate(sampleRate: number): void;
|
|
6
6
|
export declare function assertValidChannelCount(channelCount: number): void;
|
package/build/assertions.js
CHANGED
|
@@ -1,56 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertValidMaxBuffered = assertValidMaxBuffered;
|
|
4
3
|
exports.assertValidChunkSize = assertValidChunkSize;
|
|
4
|
+
exports.assertValidMaxBuffered = assertValidMaxBuffered;
|
|
5
5
|
exports.assertValidChannelFormat = assertValidChannelFormat;
|
|
6
6
|
exports.assertValidSampleRate = assertValidSampleRate;
|
|
7
7
|
exports.assertValidChannelCount = assertValidChannelCount;
|
|
8
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
9
8
|
const consts_1 = require("./consts");
|
|
10
9
|
const validations_1 = require("./validations");
|
|
11
|
-
function assertValidMaxBuffered(maxBuffered) {
|
|
12
|
-
if (!(0, validations_1.isPositiveIntegerOrZero)(maxBuffered)) {
|
|
13
|
-
throw new schema_1.SchemaError({
|
|
14
|
-
code: 'INVALID_PARAMETERS',
|
|
15
|
-
parameters: ['maxBuffered'],
|
|
16
|
-
friendlyMessage: 'Max buffered must be a positive integer or zero.',
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
10
|
function assertValidChunkSize(chunkSize) {
|
|
21
11
|
if (!(0, validations_1.isPositiveIntegerOrZero)(chunkSize)) {
|
|
22
|
-
throw new
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
12
|
+
throw new Error(`Invalid chunk size! Must be a positive integer or zero, not: ${chunkSize}.`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function assertValidMaxBuffered(maxBuffered) {
|
|
16
|
+
if (!(0, validations_1.isPositiveIntegerOrZero)(maxBuffered)) {
|
|
17
|
+
throw new Error(`Invalid max buffered! Must be a positive integer or zero, not: ${maxBuffered}.`);
|
|
27
18
|
}
|
|
28
19
|
}
|
|
29
20
|
function assertValidChannelFormat(channelFormat) {
|
|
30
21
|
if (!(0, validations_1.isStringInArray)(channelFormat, consts_1.CHANNEL_FORMATS)) {
|
|
31
|
-
throw new
|
|
32
|
-
code: 'INVALID_PARAMETERS',
|
|
33
|
-
parameters: ['channelFormat'],
|
|
34
|
-
friendlyMessage: `Invalid `,
|
|
35
|
-
});
|
|
22
|
+
throw new Error(`Invalid channel format! Must be one of: ${consts_1.CHANNEL_FORMATS.join(', ')}, not ${channelFormat}.`);
|
|
36
23
|
}
|
|
37
24
|
}
|
|
38
25
|
function assertValidSampleRate(sampleRate) {
|
|
39
26
|
if (!(0, validations_1.isGreaterThanOrEqualToZero)(sampleRate)) {
|
|
40
|
-
throw new
|
|
41
|
-
code: 'INVALID_PARAMETERS',
|
|
42
|
-
parameters: ['sampleRate'],
|
|
43
|
-
friendlyMessage: 'Sample rate must be a positive number or zero.',
|
|
44
|
-
});
|
|
27
|
+
throw new Error(`Invalid sample rate! Must be a positive number or zero, not: ${sampleRate}.`);
|
|
45
28
|
}
|
|
46
29
|
}
|
|
47
30
|
function assertValidChannelCount(channelCount) {
|
|
48
31
|
if (!(0, validations_1.isPositiveInteger)(channelCount)) {
|
|
49
|
-
throw new
|
|
50
|
-
code: 'INVALID_PARAMETERS',
|
|
51
|
-
parameters: ['channelNames'],
|
|
52
|
-
friendlyMessage: 'channelNames must have 1 or more labels.',
|
|
53
|
-
});
|
|
32
|
+
throw new Error(`Invalid channel count! Must be a positive integer, not: ${channelCount}.`);
|
|
54
33
|
}
|
|
55
34
|
}
|
|
56
35
|
//# sourceMappingURL=assertions.js.map
|
package/build/assertions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":";;AASA,oDAMC;AAED,wDAMC;AAED,4DAMC;AAED,sDAMC;AAED,0DAMC;AA/CD,qCAA0C;AAE1C,+CAKsB;AAEtB,SAAgB,oBAAoB,CAAC,SAAiB;IAClD,IAAI,CAAC,IAAA,qCAAuB,EAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACX,gEAAgE,SAAS,GAAG,CAC/E,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CAAC,WAAmB;IACtD,IAAI,CAAC,IAAA,qCAAuB,EAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACX,kEAAkE,WAAW,GAAG,CACnF,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,wBAAwB,CAAC,aAA4B;IACjE,IAAI,CAAC,IAAA,6BAAe,EAAC,aAAa,EAAE,wBAAe,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACX,2CAA2C,wBAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,aAAa,GAAG,CACjG,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,qBAAqB,CAAC,UAAkB;IACpD,IAAI,CAAC,IAAA,wCAA0B,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACX,gEAAgE,UAAU,GAAG,CAChF,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,YAAoB;IACxD,IAAI,CAAC,IAAA,+BAAiB,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACX,2DAA2D,YAAY,GAAG,CAC7E,CAAA;IACL,CAAC;AACL,CAAC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { define, open } from 'ffi-rs';
|
|
2
2
|
import { Liblsl, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, DestroyOutletOptions, PushSampleFloatTimestampOptions, PushSampleStringTimestampOptions, CreateInletOptions, DestroyInletOptions } from '../types';
|
|
3
3
|
export default class LiblslAdapter implements Liblsl {
|
|
4
|
-
private static instance?;
|
|
5
4
|
static ffiRsOpen: typeof open;
|
|
6
5
|
static ffiRsDefine: typeof define;
|
|
6
|
+
private static instance?;
|
|
7
|
+
private path;
|
|
7
8
|
private bindings;
|
|
8
9
|
protected constructor();
|
|
9
10
|
private tryToLoadBindings;
|
|
11
|
+
private generateFailedMessage;
|
|
10
12
|
static getInstance(): Liblsl;
|
|
11
13
|
static setInstance(instance: Liblsl): void;
|
|
12
14
|
static resetInstance(): void;
|
|
@@ -1,29 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
7
3
|
const ffi_rs_1 = require("ffi-rs");
|
|
8
|
-
const SpruceError_1 = __importDefault(require("../errors/SpruceError"));
|
|
9
4
|
class LiblslAdapter {
|
|
10
5
|
constructor() {
|
|
11
6
|
this.defaultMacOsPath = '/opt/homebrew/Cellar/lsl/1.16.2/lib/liblsl.1.16.2.dylib';
|
|
12
|
-
|
|
13
|
-
this.tryToLoadBindings(
|
|
7
|
+
this.path = process.env.LIBLSL_PATH ?? this.defaultMacOsPath;
|
|
8
|
+
this.tryToLoadBindings();
|
|
14
9
|
}
|
|
15
|
-
tryToLoadBindings(
|
|
10
|
+
tryToLoadBindings() {
|
|
16
11
|
try {
|
|
17
|
-
this.bindings = this.loadBindings(path);
|
|
12
|
+
this.bindings = this.loadBindings(this.path);
|
|
18
13
|
}
|
|
19
14
|
catch (error) {
|
|
20
|
-
throw new
|
|
21
|
-
code: 'FAILED_TO_LOAD_LIBLSL',
|
|
22
|
-
liblslPath: path,
|
|
23
|
-
originalError: error,
|
|
24
|
-
});
|
|
15
|
+
throw new Error(this.generateFailedMessage(error));
|
|
25
16
|
}
|
|
26
17
|
}
|
|
18
|
+
generateFailedMessage(error) {
|
|
19
|
+
return `Loading the liblsl dylib failed! I tried to load it from ${this.path}.\n\n${error.message}\n\n`;
|
|
20
|
+
}
|
|
27
21
|
static getInstance() {
|
|
28
22
|
if (!this.instance) {
|
|
29
23
|
this.setInstance(new this());
|
|
@@ -119,14 +113,7 @@ class LiblslAdapter {
|
|
|
119
113
|
});
|
|
120
114
|
}
|
|
121
115
|
createStreamInfo(options) {
|
|
122
|
-
const { name, type, channelCount, sampleRate, channelFormat, sourceId, } =
|
|
123
|
-
'name',
|
|
124
|
-
'type',
|
|
125
|
-
'channelCount',
|
|
126
|
-
'sampleRate',
|
|
127
|
-
'channelFormat',
|
|
128
|
-
'sourceId',
|
|
129
|
-
]);
|
|
116
|
+
const { name, type, channelCount, sampleRate, channelFormat, sourceId, } = options;
|
|
130
117
|
return this.bindings.lsl_create_streaminfo([
|
|
131
118
|
name,
|
|
132
119
|
type,
|
|
@@ -137,7 +124,7 @@ class LiblslAdapter {
|
|
|
137
124
|
]);
|
|
138
125
|
}
|
|
139
126
|
appendChannelsToStreamInfo(options) {
|
|
140
|
-
const { info, channels } =
|
|
127
|
+
const { info, channels } = options;
|
|
141
128
|
const description = this.bindings.lsl_get_desc([info]);
|
|
142
129
|
const parent = this.bindings.lsl_append_child([description, 'channels']);
|
|
143
130
|
for (const channel of channels) {
|
|
@@ -152,39 +139,23 @@ class LiblslAdapter {
|
|
|
152
139
|
}
|
|
153
140
|
}
|
|
154
141
|
createOutlet(options) {
|
|
155
|
-
const { info, chunkSize, maxBuffered } =
|
|
156
|
-
'info',
|
|
157
|
-
'chunkSize',
|
|
158
|
-
'maxBuffered',
|
|
159
|
-
]);
|
|
142
|
+
const { info, chunkSize, maxBuffered } = options;
|
|
160
143
|
return this.bindings.lsl_create_outlet([info, chunkSize, maxBuffered]);
|
|
161
144
|
}
|
|
162
145
|
pushSampleFloatTimestamp(options) {
|
|
163
|
-
const { outlet, sample, timestamp } =
|
|
164
|
-
'outlet',
|
|
165
|
-
'sample',
|
|
166
|
-
'timestamp',
|
|
167
|
-
]);
|
|
146
|
+
const { outlet, sample, timestamp } = options;
|
|
168
147
|
this.bindings.lsl_push_sample_ft([outlet, sample, timestamp]);
|
|
169
148
|
}
|
|
170
149
|
pushSampleStringTimestamp(options) {
|
|
171
|
-
const { outlet, sample, timestamp } =
|
|
172
|
-
'outlet',
|
|
173
|
-
'sample',
|
|
174
|
-
'timestamp',
|
|
175
|
-
]);
|
|
150
|
+
const { outlet, sample, timestamp } = options;
|
|
176
151
|
this.bindings.lsl_push_sample_strt([outlet, sample, timestamp]);
|
|
177
152
|
}
|
|
178
153
|
destroyOutlet(options) {
|
|
179
|
-
const { outlet } =
|
|
154
|
+
const { outlet } = options;
|
|
180
155
|
this.bindings.lsl_destroy_outlet([outlet]);
|
|
181
156
|
}
|
|
182
157
|
createInlet(options) {
|
|
183
|
-
const { info, chunkSize, maxBuffered } =
|
|
184
|
-
'info',
|
|
185
|
-
'chunkSize',
|
|
186
|
-
'maxBuffered',
|
|
187
|
-
]);
|
|
158
|
+
const { info, chunkSize, maxBuffered } = options;
|
|
188
159
|
return this.bindings.lsl_create_inlet([info, chunkSize, maxBuffered]);
|
|
189
160
|
}
|
|
190
161
|
destroyInlet(_options) { }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiblslAdapter.js","sourceRoot":"","sources":["../../src/impl/LiblslAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DurationMarker } from '../types';
|
|
2
|
+
import { StreamOutletOptions, StreamOutlet } from './LslStreamOutlet';
|
|
3
|
+
export default class LslEventMarkerOutlet implements EventMarkerOutlet {
|
|
4
|
+
static Class?: EventMarkerOutletConstructor;
|
|
5
|
+
protected streamOutlet: StreamOutlet;
|
|
6
|
+
private isPlaying;
|
|
7
|
+
private waitResolve?;
|
|
8
|
+
private timeout?;
|
|
9
|
+
protected constructor(outlet: StreamOutlet);
|
|
10
|
+
static Create(options?: Partial<StreamOutletOptions>): Promise<EventMarkerOutlet>;
|
|
11
|
+
pushMarker(markerName: string): void;
|
|
12
|
+
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
13
|
+
private pushMarkerToOutlet;
|
|
14
|
+
protected wait(durationMs: number): Promise<unknown>;
|
|
15
|
+
private setTimeout;
|
|
16
|
+
stop(): void;
|
|
17
|
+
}
|
|
18
|
+
export interface EventMarkerOutlet {
|
|
19
|
+
pushMarker(markerName: string): void;
|
|
20
|
+
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
21
|
+
stop(): void;
|
|
22
|
+
}
|
|
23
|
+
export type EventMarkerOutletConstructor = new (outlet: StreamOutlet) => EventMarkerOutlet;
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const LslStreamOutlet_1 = __importDefault(require("./LslStreamOutlet"));
|
|
7
|
-
class
|
|
8
|
-
constructor(
|
|
7
|
+
class LslEventMarkerOutlet {
|
|
8
|
+
constructor(outlet) {
|
|
9
9
|
this.isPlaying = false;
|
|
10
|
-
this.
|
|
10
|
+
this.streamOutlet = outlet;
|
|
11
11
|
}
|
|
12
12
|
static async Create(options) {
|
|
13
13
|
const defaultOptions = {
|
|
@@ -43,7 +43,7 @@ class EventMarkerOutlet {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
pushMarkerToOutlet(markerName) {
|
|
46
|
-
this.
|
|
46
|
+
this.streamOutlet.pushSample([markerName]);
|
|
47
47
|
}
|
|
48
48
|
async wait(durationMs) {
|
|
49
49
|
return new Promise((resolve) => this.setTimeout(resolve, durationMs));
|
|
@@ -58,5 +58,5 @@ class EventMarkerOutlet {
|
|
|
58
58
|
this.isPlaying = false;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
exports.default =
|
|
62
|
-
//# sourceMappingURL=
|
|
61
|
+
exports.default = LslEventMarkerOutlet;
|
|
62
|
+
//# sourceMappingURL=LslEventMarkerOutlet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslEventMarkerOutlet.js","sourceRoot":"","sources":["../../src/impl/LslEventMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,wEAG0B;AAE1B,MAAqB,oBAAoB;IAQrC,YAAsB,MAAoB;QAJlC,cAAS,GAAG,KAAK,CAAA;QAKrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAsC;QAC7D,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;SACM,CAAA;QAExB,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,UAAU,CAAC,UAAkB;QAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAE7B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IAC9C,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;AAvED,uCAuEC"}
|
|
@@ -3,15 +3,14 @@ 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
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
6
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
8
7
|
const consts_1 = require("../consts");
|
|
9
8
|
const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
|
|
10
9
|
class LslStreamInfo {
|
|
11
10
|
constructor(options) {
|
|
12
|
-
this.defaultName = `lsl-stream-info-${(0,
|
|
13
|
-
this.defaultType = (0,
|
|
14
|
-
this.defaultSourceId = (0,
|
|
11
|
+
this.defaultName = `lsl-stream-info-${(0, generate_id_1.default)()}`;
|
|
12
|
+
this.defaultType = (0, generate_id_1.default)();
|
|
13
|
+
this.defaultSourceId = (0, generate_id_1.default)();
|
|
15
14
|
this.defaultUnits = 'N/A';
|
|
16
15
|
const { channelNames, channelFormat, sampleRate, name = this.defaultName, type = this.defaultType, sourceId = this.defaultSourceId, units = this.defaultUnits, } = options;
|
|
17
16
|
this.name = name;
|
|
@@ -25,7 +24,6 @@ class LslStreamInfo {
|
|
|
25
24
|
this.appendChannelsToStreamInfo();
|
|
26
25
|
}
|
|
27
26
|
static Create(options) {
|
|
28
|
-
(0, schema_1.assertOptions)(options, ['channelNames', 'channelFormat', 'sampleRate']);
|
|
29
27
|
return new (this.Class ?? this)(options);
|
|
30
28
|
}
|
|
31
29
|
createStreamInfo() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/impl/LslStreamInfo.ts"],"names":[],"mappings":";;;;;AAAA,yEAA+C;AAC/C,sCAA+C;AAE/C,oEAA2C;AAE3C,MAAqB,aAAa;IAY9B,YAAsB,OAA0B;QAiE/B,gBAAW,GAAG,mBAAmB,IAAA,qBAAU,GAAE,EAAE,CAAA;QAC/C,gBAAW,GAAG,IAAA,qBAAU,GAAE,CAAA;QAC1B,oBAAe,GAAG,IAAA,qBAAU,GAAE,CAAA;QAC9B,iBAAY,GAAG,KAAK,CAAA;QAnEjC,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,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;AAjFD,gCAiFC"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { ChannelFormat } from '../types';
|
|
2
2
|
import { StreamInfo } from './LslStreamInfo';
|
|
3
|
-
export default class LslStreamInlet implements
|
|
4
|
-
static Class?:
|
|
3
|
+
export default class LslStreamInlet implements StreamInlet {
|
|
4
|
+
static Class?: StreamInletConstructor;
|
|
5
5
|
protected name: string;
|
|
6
6
|
protected info: StreamInfo;
|
|
7
7
|
private chunkSize;
|
|
8
8
|
private maxBuffered;
|
|
9
|
-
protected constructor(info: StreamInfo, options:
|
|
10
|
-
static Create(options:
|
|
11
|
-
private
|
|
9
|
+
protected constructor(info: StreamInfo, options: StreamInletOptions);
|
|
10
|
+
static Create(options: StreamInletOptions): StreamInlet;
|
|
11
|
+
private createStreamInlet;
|
|
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 StreamInlet {
|
|
18
18
|
}
|
|
19
|
-
export type
|
|
20
|
-
export interface
|
|
19
|
+
export type StreamInletConstructor = new (info: StreamInfo, options: StreamInletOptions) => StreamInlet;
|
|
20
|
+
export interface StreamInletOptions {
|
|
21
21
|
sampleRate: number;
|
|
22
22
|
channelNames: string[];
|
|
23
23
|
channelFormat: ChannelFormat;
|
|
@@ -3,34 +3,26 @@ 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
|
-
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
6
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
8
7
|
const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
|
|
9
8
|
const LslStreamInfo_1 = __importDefault(require("./LslStreamInfo"));
|
|
10
9
|
class LslStreamInlet {
|
|
11
10
|
constructor(info, options) {
|
|
12
|
-
this.defaultName = `lsl-inlet-${(0,
|
|
11
|
+
this.defaultName = `lsl-inlet-${(0, generate_id_1.default)()}`;
|
|
13
12
|
const { name = this.defaultName, chunkSize, maxBuffered, } = options ?? {};
|
|
14
13
|
this.info = info;
|
|
15
14
|
this.chunkSize = chunkSize;
|
|
16
15
|
this.maxBuffered = maxBuffered;
|
|
17
16
|
this.name = name;
|
|
18
|
-
this.
|
|
17
|
+
this.createStreamInlet();
|
|
19
18
|
}
|
|
20
19
|
static Create(options) {
|
|
21
|
-
(0, schema_1.assertOptions)(options, [
|
|
22
|
-
'channelNames',
|
|
23
|
-
'channelFormat',
|
|
24
|
-
'sampleRate',
|
|
25
|
-
'chunkSize',
|
|
26
|
-
'maxBuffered',
|
|
27
|
-
]);
|
|
28
20
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
-
const { maxBuffered, chunkSize, ...
|
|
30
|
-
const info = this.LslStreamInfo(
|
|
21
|
+
const { maxBuffered, chunkSize, ...infoOptions } = options;
|
|
22
|
+
const info = this.LslStreamInfo(infoOptions);
|
|
31
23
|
return new (this.Class ?? this)(info, options);
|
|
32
24
|
}
|
|
33
|
-
|
|
25
|
+
createStreamInlet() {
|
|
34
26
|
this.lsl.createInlet({
|
|
35
27
|
info: this.boundStreamInfo,
|
|
36
28
|
chunkSize: this.chunkSize,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamInlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamInlet.ts"],"names":[],"mappings":";;;;;AAAA,yEAA+C;AAE/C,oEAA2C;AAC3C,oEAA8E;AAE9E,MAAqB,cAAc;IAQ/B,YAAsB,IAAgB,EAAE,OAA2B;QAsClD,gBAAW,GAAG,aAAa,IAAA,qBAAU,GAAE,EAAE,CAAA;QArCtD,MAAM,EACF,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,SAAS,EACT,WAAW,GACd,GAAG,OAAO,IAAI,EAAE,CAAA;QAEjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA2B;QAC5C,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAA;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC,CAAA;IACN,CAAC;IAED,IAAY,eAAe;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAA;IACpC,CAAC;IAED,IAAY,GAAG;QACX,OAAO,uBAAa,CAAC,WAAW,EAAE,CAAA;IACtC,CAAC;IAIO,MAAM,CAAC,aAAa,CAAC,OAA0B;QACnD,OAAO,uBAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;CACJ;AAnDD,iCAmDC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ChannelFormat, LslSample } from '../types';
|
|
2
2
|
import { StreamInfo } from './LslStreamInfo';
|
|
3
|
-
export default class LslStreamOutlet implements
|
|
4
|
-
static Class?:
|
|
3
|
+
export default class LslStreamOutlet implements StreamOutlet {
|
|
4
|
+
static Class?: StreamOutletConstructor;
|
|
5
5
|
private info;
|
|
6
6
|
private options;
|
|
7
7
|
private outlet;
|
|
8
8
|
private pushSampleByType;
|
|
9
|
-
protected constructor(info: StreamInfo, options:
|
|
10
|
-
static Create(options:
|
|
9
|
+
protected constructor(info: StreamInfo, options: StreamOutletOptions);
|
|
10
|
+
static Create(options: StreamOutletOptions): Promise<StreamOutlet>;
|
|
11
11
|
private validateOptions;
|
|
12
|
-
private
|
|
12
|
+
private createStreamOutlet;
|
|
13
13
|
private setPushSampleType;
|
|
14
14
|
private validateChannelFormat;
|
|
15
15
|
private throwUnsupportedChannelFormat;
|
|
@@ -34,7 +34,7 @@ export default class LslStreamOutlet implements LslOutlet {
|
|
|
34
34
|
private static wait;
|
|
35
35
|
private static LslStreamInfo;
|
|
36
36
|
}
|
|
37
|
-
export interface
|
|
37
|
+
export interface StreamOutlet {
|
|
38
38
|
pushSample(sample: LslSample): void;
|
|
39
39
|
destroy(): void;
|
|
40
40
|
readonly name: string;
|
|
@@ -48,8 +48,8 @@ export interface LslOutlet {
|
|
|
48
48
|
readonly manufacturer: string;
|
|
49
49
|
readonly unit: string;
|
|
50
50
|
}
|
|
51
|
-
export type
|
|
52
|
-
export interface
|
|
51
|
+
export type StreamOutletConstructor = new (info: StreamInfo, options: StreamOutletOptions) => StreamOutlet;
|
|
52
|
+
export interface StreamOutletOptions {
|
|
53
53
|
name: string;
|
|
54
54
|
type: string;
|
|
55
55
|
sourceId: string;
|
|
@@ -3,7 +3,6 @@ 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 schema_1 = require("@sprucelabs/schema");
|
|
7
6
|
const assertions_1 = require("../assertions");
|
|
8
7
|
const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
|
|
9
8
|
const LslStreamInfo_1 = __importDefault(require("./LslStreamInfo"));
|
|
@@ -16,22 +15,10 @@ class LslStreamOutlet {
|
|
|
16
15
|
this.info = info;
|
|
17
16
|
this.options = options;
|
|
18
17
|
this.validateOptions();
|
|
19
|
-
this.
|
|
18
|
+
this.createStreamOutlet();
|
|
20
19
|
this.setPushSampleType();
|
|
21
20
|
}
|
|
22
21
|
static async Create(options) {
|
|
23
|
-
(0, schema_1.assertOptions)(options, [
|
|
24
|
-
'name',
|
|
25
|
-
'type',
|
|
26
|
-
'sourceId',
|
|
27
|
-
'channelNames',
|
|
28
|
-
'channelFormat',
|
|
29
|
-
'sampleRate',
|
|
30
|
-
'chunkSize',
|
|
31
|
-
'maxBuffered',
|
|
32
|
-
'manufacturer',
|
|
33
|
-
'unit',
|
|
34
|
-
]);
|
|
35
22
|
const { waitAfterConstructionMs = 10 } = options ?? {};
|
|
36
23
|
const streamInfoOptions = {
|
|
37
24
|
channelNames: options.channelNames,
|
|
@@ -54,7 +41,7 @@ class LslStreamOutlet {
|
|
|
54
41
|
(0, assertions_1.assertValidChunkSize)(this.chunkSize);
|
|
55
42
|
(0, assertions_1.assertValidMaxBuffered)(this.maxBuffered);
|
|
56
43
|
}
|
|
57
|
-
|
|
44
|
+
createStreamOutlet() {
|
|
58
45
|
this.outlet = this.lsl.createOutlet({
|
|
59
46
|
info: this.boundStreamInfo,
|
|
60
47
|
chunkSize: this.chunkSize,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamOutlet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default class LslWebSocketBridge implements StreamTransportBridge {
|
|
2
|
+
static Class?: StreamTransportBridgeConstructor;
|
|
3
|
+
protected constructor();
|
|
4
|
+
static Create(): LslWebSocketBridge;
|
|
5
|
+
}
|
|
6
|
+
export interface StreamTransportBridge {
|
|
7
|
+
}
|
|
8
|
+
export type StreamTransportBridgeConstructor = new () => StreamTransportBridge;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class LslWebSocketBridge {
|
|
4
|
+
constructor() { }
|
|
5
|
+
static Create() {
|
|
6
|
+
return new (this.Class ?? this)();
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.default = LslWebSocketBridge;
|
|
10
|
+
//# sourceMappingURL=LslWebSocketBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslWebSocketBridge.js","sourceRoot":"","sources":["../../src/impl/LslWebSocketBridge.ts"],"names":[],"mappings":";;AAAA,MAAqB,kBAAkB;IAGnC,gBAAyB,CAAC;IAEnB,MAAM,CAAC,MAAM;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAA;IACrC,CAAC;CACJ;AARD,qCAQC"}
|