@neurodevs/node-lsl 4.1.1 → 4.1.3
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/LslOutlet.d.ts +1 -11
- package/build/LslOutlet.js +8 -71
- package/build/LslOutlet.js.map +1 -1
- package/build/__tests__/behavioral/LslOutlet.test.d.ts +1 -1
- package/build/__tests__/behavioral/LslOutlet.test.js +19 -19
- package/build/__tests__/behavioral/LslOutlet.test.js.map +1 -1
- package/build/__tests__/behavioral/TimeMarkerOutlet.test.d.ts +1 -1
- package/build/__tests__/behavioral/TimeMarkerOutlet.test.js +5 -5
- package/build/__tests__/behavioral/TimeMarkerOutlet.test.js.map +1 -1
- package/build/__tests__/implementation/Liblsl.test.js +2 -2
- package/build/__tests__/implementation/Liblsl.test.js.map +1 -1
- package/build/__tests__/support/{SpyLiblsl.d.ts → FakeLiblsl.d.ts} +1 -1
- package/build/__tests__/support/{SpyLiblsl.js → FakeLiblsl.js} +4 -4
- package/build/__tests__/support/FakeLiblsl.js.map +1 -0
- package/build/__tests__/support/consts.d.ts +1 -1
- package/build/__tests__/support/consts.js.map +1 -1
- package/build/assertions.d.ts +6 -0
- package/build/assertions.js +57 -0
- package/build/assertions.js.map +1 -0
- package/build/consts.d.ts +2 -0
- package/build/consts.js +14 -0
- package/build/consts.js.map +1 -0
- package/build/validations.d.ts +4 -0
- package/build/validations.js +20 -0
- package/build/validations.js.map +1 -0
- package/package.json +1 -1
- package/src/LslOutlet.ts +14 -83
- package/src/__tests__/behavioral/LslOutlet.test.ts +28 -25
- package/src/__tests__/behavioral/TimeMarkerOutlet.test.ts +6 -6
- package/src/__tests__/implementation/Liblsl.test.ts +2 -2
- package/src/__tests__/support/{SpyLiblsl.ts → FakeLiblsl.ts} +1 -1
- package/src/__tests__/support/consts.ts +1 -1
- package/src/assertions.ts +58 -0
- package/src/consts.ts +12 -0
- package/src/validations.ts +15 -0
- package/build/__tests__/support/SpyLiblsl.js.map +0 -1
package/build/LslOutlet.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChannelFormat } from './consts';
|
|
1
2
|
import { LslSample } from './Liblsl';
|
|
2
3
|
export default class LslOutletImpl implements LslOutlet {
|
|
3
4
|
static Class?: new (options: LslOutletOptions) => LslOutlet;
|
|
@@ -10,18 +11,8 @@ export default class LslOutletImpl implements LslOutlet {
|
|
|
10
11
|
pushSample(sample: LslSample): void;
|
|
11
12
|
private getPushMethod;
|
|
12
13
|
private lookupChannelFormat;
|
|
13
|
-
private assertValidMaxBufferred;
|
|
14
|
-
private assertValidChunkSize;
|
|
15
|
-
private assertValidChannelFormat;
|
|
16
|
-
private assertValidSampleRate;
|
|
17
|
-
private assertValidChannelCount;
|
|
18
|
-
private isGreaterThanZero;
|
|
19
|
-
private isPositiveInteger;
|
|
20
|
-
private isPositiveIntegerOrZero;
|
|
21
14
|
private get lsl();
|
|
22
15
|
}
|
|
23
|
-
declare const CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
|
|
24
|
-
export type ChannelFormat = (typeof CHANNEL_FORMATS)[number];
|
|
25
16
|
export interface LslOutlet {
|
|
26
17
|
destroy(): void;
|
|
27
18
|
pushSample(sample: LslSample): void;
|
|
@@ -38,4 +29,3 @@ export interface LslOutletOptions {
|
|
|
38
29
|
chunkSize: number;
|
|
39
30
|
maxBuffered: number;
|
|
40
31
|
}
|
|
41
|
-
export {};
|
package/build/LslOutlet.js
CHANGED
|
@@ -15,6 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
const schema_1 = require("@sprucelabs/schema");
|
|
18
|
+
const assertions_1 = require("./assertions");
|
|
19
|
+
const consts_1 = require("./consts");
|
|
18
20
|
const Liblsl_1 = __importDefault(require("./Liblsl"));
|
|
19
21
|
class LslOutletImpl {
|
|
20
22
|
constructor(options) {
|
|
@@ -34,11 +36,11 @@ class LslOutletImpl {
|
|
|
34
36
|
const _a = this
|
|
35
37
|
.options, { chunkSize, maxBuffered, channelNames } = _a, streamInfoOptions = __rest(_a, ["chunkSize", "maxBuffered", "channelNames"]);
|
|
36
38
|
const channelCount = channelNames.length;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
(0, assertions_1.assertValidChannelCount)(channelCount);
|
|
40
|
+
(0, assertions_1.assertValidSampleRate)(sampleRate);
|
|
41
|
+
(0, assertions_1.assertValidChannelFormat)(channelFormat);
|
|
42
|
+
(0, assertions_1.assertValidChunkSize)(chunkSize);
|
|
43
|
+
(0, assertions_1.assertValidMaxBufferred)(maxBuffered);
|
|
42
44
|
delete streamInfoOptions.manufacturer;
|
|
43
45
|
delete streamInfoOptions.unit;
|
|
44
46
|
this.streamInfo = this.lsl.createStreamInfo(Object.assign(Object.assign({}, streamInfoOptions), { channelCount, channelFormat: this.lookupChannelFormat(channelFormat) }));
|
|
@@ -85,76 +87,11 @@ class LslOutletImpl {
|
|
|
85
87
|
return method;
|
|
86
88
|
}
|
|
87
89
|
lookupChannelFormat(channelFormat) {
|
|
88
|
-
return CHANNEL_FORMATS.indexOf(channelFormat);
|
|
89
|
-
}
|
|
90
|
-
assertValidMaxBufferred(maxBuffered) {
|
|
91
|
-
if (!this.isPositiveIntegerOrZero(maxBuffered)) {
|
|
92
|
-
throw new schema_1.SchemaError({
|
|
93
|
-
code: 'INVALID_PARAMETERS',
|
|
94
|
-
parameters: ['maxBuffered'],
|
|
95
|
-
friendlyMessage: 'Max buffered must be a positive integer or zero.',
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
assertValidChunkSize(chunkSize) {
|
|
100
|
-
if (!this.isPositiveIntegerOrZero(chunkSize)) {
|
|
101
|
-
throw new schema_1.SchemaError({
|
|
102
|
-
code: 'INVALID_PARAMETERS',
|
|
103
|
-
parameters: ['chunkSize'],
|
|
104
|
-
friendlyMessage: 'Chunk size must be a positive integer or zero.',
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
assertValidChannelFormat(channelFormat) {
|
|
109
|
-
const validFormats = CHANNEL_FORMATS;
|
|
110
|
-
if (validFormats.indexOf(channelFormat) === -1) {
|
|
111
|
-
throw new schema_1.SchemaError({
|
|
112
|
-
code: 'INVALID_PARAMETERS',
|
|
113
|
-
parameters: ['channelFormat'],
|
|
114
|
-
friendlyMessage: 'Channel format must be a valid format.',
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
assertValidSampleRate(sampleRate) {
|
|
119
|
-
if (!this.isGreaterThanZero(sampleRate)) {
|
|
120
|
-
throw new schema_1.SchemaError({
|
|
121
|
-
code: 'INVALID_PARAMETERS',
|
|
122
|
-
parameters: ['sampleRate'],
|
|
123
|
-
friendlyMessage: 'Sample rate must be a positive number or zero.',
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
assertValidChannelCount(channelCount) {
|
|
128
|
-
if (!this.isPositiveInteger(channelCount)) {
|
|
129
|
-
throw new schema_1.SchemaError({
|
|
130
|
-
code: 'INVALID_PARAMETERS',
|
|
131
|
-
parameters: ['channelNames'],
|
|
132
|
-
friendlyMessage: 'channelNames must have 1 or more labels.',
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
isGreaterThanZero(value) {
|
|
137
|
-
return value >= 0;
|
|
138
|
-
}
|
|
139
|
-
isPositiveInteger(value) {
|
|
140
|
-
return Number.isInteger(value) && value > 0;
|
|
141
|
-
}
|
|
142
|
-
isPositiveIntegerOrZero(value) {
|
|
143
|
-
return Number.isInteger(value) && value >= 0;
|
|
90
|
+
return consts_1.CHANNEL_FORMATS.indexOf(channelFormat);
|
|
144
91
|
}
|
|
145
92
|
get lsl() {
|
|
146
93
|
return Liblsl_1.default.getInstance();
|
|
147
94
|
}
|
|
148
95
|
}
|
|
149
96
|
exports.default = LslOutletImpl;
|
|
150
|
-
const CHANNEL_FORMATS = [
|
|
151
|
-
'undefined',
|
|
152
|
-
'float32',
|
|
153
|
-
'double64',
|
|
154
|
-
'string',
|
|
155
|
-
'int32',
|
|
156
|
-
'int16',
|
|
157
|
-
'int8',
|
|
158
|
-
'int64',
|
|
159
|
-
];
|
|
160
97
|
//# sourceMappingURL=LslOutlet.js.map
|
package/build/LslOutlet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../src/LslOutlet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../src/LslOutlet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import AbstractSpruceTest from '@sprucelabs/test-utils';
|
|
2
2
|
import { LslSample } from '../../Liblsl';
|
|
3
3
|
export default class LslOutletTest extends AbstractSpruceTest {
|
|
4
|
-
private static
|
|
4
|
+
private static fakeLiblsl;
|
|
5
5
|
private static randomOutletOptions;
|
|
6
6
|
private static channelFormatIdx;
|
|
7
7
|
protected static beforeEach(): Promise<void>;
|
|
@@ -48,16 +48,16 @@ const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
|
|
|
48
48
|
const Liblsl_1 = __importDefault(require("../../Liblsl"));
|
|
49
49
|
const LslOutlet_1 = __importDefault(require("../../LslOutlet"));
|
|
50
50
|
const consts_1 = require("../support/consts");
|
|
51
|
+
const FakeLiblsl_1 = require("../support/FakeLiblsl");
|
|
51
52
|
const generateRandomOutletOptions_1 = __importDefault(require("../support/generateRandomOutletOptions"));
|
|
52
|
-
const SpyLiblsl_1 = require("../support/SpyLiblsl");
|
|
53
53
|
class LslOutletTest extends test_utils_1.default {
|
|
54
54
|
static async beforeEach() {
|
|
55
55
|
await super.beforeEach();
|
|
56
56
|
delete LslOutlet_1.default.Class;
|
|
57
57
|
this.channelFormatIdx = (0, crypto_1.randomInt)(8);
|
|
58
58
|
this.randomOutletOptions = (0, generateRandomOutletOptions_1.default)(this.channelFormatIdx);
|
|
59
|
-
this.
|
|
60
|
-
Liblsl_1.default.setInstance(this.
|
|
59
|
+
this.fakeLiblsl = new FakeLiblsl_1.FakeLiblsl();
|
|
60
|
+
Liblsl_1.default.setInstance(this.fakeLiblsl);
|
|
61
61
|
}
|
|
62
62
|
static async throwsWhenMissingRequiredParams() {
|
|
63
63
|
//@ts-ignore
|
|
@@ -112,35 +112,35 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
112
112
|
var _a, _b, _c;
|
|
113
113
|
const outlet = this.FloatOutlet();
|
|
114
114
|
outlet.pushSample(sample);
|
|
115
|
-
test_utils_1.assert.isEqual((_a = this.
|
|
116
|
-
test_utils_1.assert.isEqualDeep((_b = this.
|
|
117
|
-
test_utils_1.assert.isEqualDeep(this.
|
|
118
|
-
info: this.
|
|
115
|
+
test_utils_1.assert.isEqual((_a = this.fakeLiblsl.lastPushSampleFtOptions) === null || _a === void 0 ? void 0 : _a.outlet, this.fakeLiblsl.outlet);
|
|
116
|
+
test_utils_1.assert.isEqualDeep((_b = this.fakeLiblsl.lastPushSampleFtOptions) === null || _b === void 0 ? void 0 : _b.sample, sample);
|
|
117
|
+
test_utils_1.assert.isEqualDeep(this.fakeLiblsl.lastCreateOutletOptions, {
|
|
118
|
+
info: this.fakeLiblsl.streamInfo,
|
|
119
119
|
chunkSize: this.randomOutletOptions.chunkSize,
|
|
120
120
|
maxBuffered: this.randomOutletOptions.maxBuffered,
|
|
121
121
|
});
|
|
122
|
-
test_utils_1.assert.isNumber((_c = this.
|
|
122
|
+
test_utils_1.assert.isNumber((_c = this.fakeLiblsl.lastPushSampleFtOptions) === null || _c === void 0 ? void 0 : _c.timestamp);
|
|
123
123
|
}
|
|
124
124
|
static async canPushStringSampleToLsl() {
|
|
125
125
|
var _a, _b, _c;
|
|
126
126
|
const sample = [(0, test_utils_1.generateId)()];
|
|
127
127
|
const outlet = this.StringOutlet();
|
|
128
128
|
outlet.pushSample(sample);
|
|
129
|
-
test_utils_1.assert.isEqual((_a = this.
|
|
130
|
-
test_utils_1.assert.isEqualDeep((_b = this.
|
|
131
|
-
test_utils_1.assert.isNumber((_c = this.
|
|
129
|
+
test_utils_1.assert.isEqual((_a = this.fakeLiblsl.lastPushSampleStrtOptions) === null || _a === void 0 ? void 0 : _a.outlet, this.fakeLiblsl.outlet);
|
|
130
|
+
test_utils_1.assert.isEqualDeep((_b = this.fakeLiblsl.lastPushSampleStrtOptions) === null || _b === void 0 ? void 0 : _b.sample, sample);
|
|
131
|
+
test_utils_1.assert.isNumber((_c = this.fakeLiblsl.lastPushSampleStrtOptions) === null || _c === void 0 ? void 0 : _c.timestamp);
|
|
132
132
|
}
|
|
133
133
|
static async pushingStringTwiceGivesDifferentTimestamps() {
|
|
134
134
|
var _a, _b;
|
|
135
135
|
const outlet = this.StringOutlet();
|
|
136
136
|
const sample = [(0, test_utils_1.generateId)()];
|
|
137
137
|
outlet.pushSample(sample);
|
|
138
|
-
const t1 = (_a = this.
|
|
138
|
+
const t1 = (_a = this.fakeLiblsl.lastPushSampleStrtOptions) === null || _a === void 0 ? void 0 : _a.timestamp;
|
|
139
139
|
await this.wait(10);
|
|
140
140
|
outlet.pushSample(sample);
|
|
141
|
-
const t2 = (_b = this.
|
|
141
|
+
const t2 = (_b = this.fakeLiblsl.lastPushSampleStrtOptions) === null || _b === void 0 ? void 0 : _b.timestamp;
|
|
142
142
|
test_utils_1.assert.isNotEqual(t1, t2);
|
|
143
|
-
test_utils_1.assert.isEqual(this.
|
|
143
|
+
test_utils_1.assert.isEqual(this.fakeLiblsl.localClockHitCount, 2);
|
|
144
144
|
}
|
|
145
145
|
static async constructionCreatesStreamInfo() {
|
|
146
146
|
this.Outlet();
|
|
@@ -151,7 +151,7 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
151
151
|
delete options.chunkSize;
|
|
152
152
|
delete options.maxBuffered;
|
|
153
153
|
delete options.channelNames;
|
|
154
|
-
test_utils_1.assert.isEqualDeep(this.
|
|
154
|
+
test_utils_1.assert.isEqualDeep(this.fakeLiblsl.lastCreateStreamInfoOptions, Object.assign(Object.assign({}, options), { channelFormat: this.channelFormatIdx }));
|
|
155
155
|
}
|
|
156
156
|
static async canOverrideClassInstantiatedInFactory() {
|
|
157
157
|
LslOutlet_1.default.Class = CheckingOutlet;
|
|
@@ -162,8 +162,8 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
162
162
|
const type = (0, test_utils_1.generateId)();
|
|
163
163
|
const unit = (0, test_utils_1.generateId)();
|
|
164
164
|
this.Outlet({ channelNames: labels, type, unit });
|
|
165
|
-
test_utils_1.assert.isEqualDeep(this.
|
|
166
|
-
info: this.
|
|
165
|
+
test_utils_1.assert.isEqualDeep(this.fakeLiblsl.lastAppendChannelsToStreamInfoOptions, {
|
|
166
|
+
info: this.fakeLiblsl.streamInfo,
|
|
167
167
|
channels: labels.map((label) => ({
|
|
168
168
|
label,
|
|
169
169
|
type,
|
|
@@ -174,14 +174,14 @@ class LslOutletTest extends test_utils_1.default {
|
|
|
174
174
|
static async canDestroyOutlet() {
|
|
175
175
|
const outlet = this.Outlet();
|
|
176
176
|
outlet.destroy();
|
|
177
|
-
test_utils_1.assert.isEqual(this.
|
|
177
|
+
test_utils_1.assert.isEqual(this.fakeLiblsl.destroyOutletHitCount, 1);
|
|
178
178
|
}
|
|
179
179
|
static async pushSampleShouldNotCreateMultipleOutlets() {
|
|
180
180
|
const outlet = this.FloatOutlet();
|
|
181
181
|
outlet.pushSample([1.0]);
|
|
182
182
|
outlet.pushSample([2.0]);
|
|
183
183
|
outlet.pushSample([3.0]);
|
|
184
|
-
test_utils_1.assert.isEqual(this.
|
|
184
|
+
test_utils_1.assert.isEqual(this.fakeLiblsl.createStreamInfoHitCount, 1);
|
|
185
185
|
}
|
|
186
186
|
static async pushSampleThrowsWithUnsupportedType() {
|
|
187
187
|
const unsupportedTypes = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LslOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkC;AAClC,qEAK+B;AAC/B,0DAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"LslOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LslOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import AbstractSpruceTest from '@sprucelabs/test-utils';
|
|
2
2
|
export default class TimeMarkerOutletTest extends AbstractSpruceTest {
|
|
3
|
-
private static
|
|
3
|
+
private static fakeLiblsl;
|
|
4
4
|
private static outlet;
|
|
5
5
|
protected static beforeEach(): Promise<void>;
|
|
6
6
|
protected static loadsWithTimeMarkerSpecificOptions(): Promise<void>;
|
|
@@ -36,14 +36,14 @@ const crypto_1 = require("crypto");
|
|
|
36
36
|
const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
|
|
37
37
|
const Liblsl_1 = __importDefault(require("../../Liblsl"));
|
|
38
38
|
const TimeMarkerOutlet_1 = __importDefault(require("../../TimeMarkerOutlet"));
|
|
39
|
+
const FakeLiblsl_1 = require("../support/FakeLiblsl");
|
|
39
40
|
const generateRandomOutletOptions_1 = __importDefault(require("../support/generateRandomOutletOptions"));
|
|
40
|
-
const SpyLiblsl_1 = require("../support/SpyLiblsl");
|
|
41
41
|
class TimeMarkerOutletTest extends test_utils_1.default {
|
|
42
42
|
static async beforeEach() {
|
|
43
43
|
await super.beforeEach();
|
|
44
44
|
TimeMarkerOutlet_1.default.Class = SpyTimeMarkerOutlet;
|
|
45
|
-
this.
|
|
46
|
-
Liblsl_1.default.setInstance(this.
|
|
45
|
+
this.fakeLiblsl = new FakeLiblsl_1.FakeLiblsl();
|
|
46
|
+
Liblsl_1.default.setInstance(this.fakeLiblsl);
|
|
47
47
|
this.outlet = this.Outlet();
|
|
48
48
|
}
|
|
49
49
|
static async loadsWithTimeMarkerSpecificOptions() {
|
|
@@ -68,7 +68,7 @@ class TimeMarkerOutletTest extends test_utils_1.default {
|
|
|
68
68
|
static async pushingSingleMarkerIncrementsHitCountAndWaitTime() {
|
|
69
69
|
const markers = [this.generateRandomDurationMarker()];
|
|
70
70
|
await this.outlet.pushMarkers(markers);
|
|
71
|
-
test_utils_1.assert.isEqual(this.
|
|
71
|
+
test_utils_1.assert.isEqual(this.fakeLiblsl.pushSampleStrtHitCount, 1);
|
|
72
72
|
test_utils_1.assert.isEqual(this.outlet.totalWaitTimeMs, markers[0].durationMs);
|
|
73
73
|
}
|
|
74
74
|
static async pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice() {
|
|
@@ -77,7 +77,7 @@ class TimeMarkerOutletTest extends test_utils_1.default {
|
|
|
77
77
|
this.generateRandomDurationMarker(),
|
|
78
78
|
];
|
|
79
79
|
await this.outlet.pushMarkers(markers);
|
|
80
|
-
test_utils_1.assert.isEqual(this.
|
|
80
|
+
test_utils_1.assert.isEqual(this.fakeLiblsl.pushSampleStrtHitCount, 2);
|
|
81
81
|
test_utils_1.assert.isEqual(this.outlet.totalWaitTimeMs, markers[0].durationMs + markers[1].durationMs);
|
|
82
82
|
}
|
|
83
83
|
static generateRandomDurationMarker() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/TimeMarkerOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkC;AAClC,qEAI+B;AAC/B,0DAAqC;AAErC,8EAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"TimeMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/TimeMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
|
|
|
37
37
|
const ref_array_napi_1 = __importDefault(require("ref-array-napi"));
|
|
38
38
|
const ref_napi_1 = __importDefault(require("ref-napi"));
|
|
39
39
|
const Liblsl_1 = __importDefault(require("../../Liblsl"));
|
|
40
|
-
const
|
|
40
|
+
const FakeLiblsl_1 = require("../support/FakeLiblsl");
|
|
41
41
|
class LiblslTest extends test_utils_1.default {
|
|
42
42
|
static async beforeEach() {
|
|
43
43
|
await super.beforeEach();
|
|
@@ -137,7 +137,7 @@ class LiblslTest extends test_utils_1.default {
|
|
|
137
137
|
test_utils_1.assert.isEqual(Liblsl_1.default.getInstance(), Liblsl_1.default.getInstance());
|
|
138
138
|
}
|
|
139
139
|
static canSetInstance() {
|
|
140
|
-
const fake = new
|
|
140
|
+
const fake = new FakeLiblsl_1.FakeLiblsl();
|
|
141
141
|
Liblsl_1.default.setInstance(fake);
|
|
142
142
|
test_utils_1.assert.isEqual(Liblsl_1.default.getInstance(), fake);
|
|
143
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Liblsl.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/Liblsl.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Liblsl.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/Liblsl.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Liblsl, BoundOutlet, BoundStreamInfo, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, PushSampleFtOptions as PushSampleFtOptions, PushSampleStrtOptions } from '../../Liblsl';
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class FakeLiblsl implements Liblsl {
|
|
3
3
|
outlet: BoundOutlet;
|
|
4
4
|
streamInfo: BoundStreamInfo;
|
|
5
5
|
lastCreateStreamInfoOptions?: CreateStreamInfoOptions;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
class
|
|
3
|
+
exports.FakeLiblsl = void 0;
|
|
4
|
+
class FakeLiblsl {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.outlet = {};
|
|
7
7
|
this.streamInfo = {};
|
|
@@ -37,5 +37,5 @@ class SpyLiblsl {
|
|
|
37
37
|
return new Date().getTime();
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
exports.
|
|
41
|
-
//# sourceMappingURL=
|
|
40
|
+
exports.FakeLiblsl = FakeLiblsl;
|
|
41
|
+
//# sourceMappingURL=FakeLiblsl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeLiblsl.js","sourceRoot":"","sources":["../../../src/__tests__/support/FakeLiblsl.ts"],"names":[],"mappings":";;;AAWA,MAAa,UAAU;IAAvB;QACQ,WAAM,GAAgB,EAAiB,CAAA;QACvC,eAAU,GAAoB,EAAqB,CAAA;QAQnD,6BAAwB,GAAG,CAAC,CAAA;QAC5B,0BAAqB,GAAG,CAAC,CAAA;QACzB,uBAAkB,GAAG,CAAC,CAAA;QACtB,2BAAsB,GAAG,CAAC,CAAA;IAoClC,CAAC;IAlCO,gBAAgB,CAAC,OAAgC;QACvD,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;IAEM,0BAA0B,CAChC,OAA0C;QAE1C,IAAI,CAAC,qCAAqC,GAAG,OAAO,CAAA;IACrD,CAAC;IAEM,YAAY,CAAC,OAA4B;QAC/C,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAA;QACtC,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAEM,aAAa;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC7B,CAAC;IAEM,YAAY,CAAC,OAA4B;QAC/C,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAA;IACvC,CAAC;IAEM,cAAc,CAAC,OAA8B;QACnD,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAA;QACxC,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC9B,CAAC;IAEM,UAAU;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;CACD;AAjDD,gCAiDC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const TEST_CHANNEL_FORMATS: string
|
|
1
|
+
export declare const TEST_CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
|
|
2
2
|
export type TestChannelFormat = (typeof TEST_CHANNEL_FORMATS)[number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/__tests__/support/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IACnC,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/__tests__/support/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IACnC,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACE,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChannelFormat } from './consts';
|
|
2
|
+
export declare function assertValidMaxBufferred(maxBuffered: number): void;
|
|
3
|
+
export declare function assertValidChunkSize(chunkSize: number): void;
|
|
4
|
+
export declare function assertValidChannelFormat(channelFormat: ChannelFormat): void;
|
|
5
|
+
export declare function assertValidSampleRate(sampleRate: number): void;
|
|
6
|
+
export declare function assertValidChannelCount(channelCount: number): void;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertValidChannelCount = exports.assertValidSampleRate = exports.assertValidChannelFormat = exports.assertValidChunkSize = exports.assertValidMaxBufferred = void 0;
|
|
4
|
+
const schema_1 = require("@sprucelabs/schema");
|
|
5
|
+
const consts_1 = require("./consts");
|
|
6
|
+
const validations_1 = require("./validations");
|
|
7
|
+
function assertValidMaxBufferred(maxBuffered) {
|
|
8
|
+
if (!(0, validations_1.isPositiveIntegerOrZero)(maxBuffered)) {
|
|
9
|
+
throw new schema_1.SchemaError({
|
|
10
|
+
code: 'INVALID_PARAMETERS',
|
|
11
|
+
parameters: ['maxBuffered'],
|
|
12
|
+
friendlyMessage: 'Max buffered must be a positive integer or zero.',
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.assertValidMaxBufferred = assertValidMaxBufferred;
|
|
17
|
+
function assertValidChunkSize(chunkSize) {
|
|
18
|
+
if (!(0, validations_1.isPositiveIntegerOrZero)(chunkSize)) {
|
|
19
|
+
throw new schema_1.SchemaError({
|
|
20
|
+
code: 'INVALID_PARAMETERS',
|
|
21
|
+
parameters: ['chunkSize'],
|
|
22
|
+
friendlyMessage: 'Chunk size must be a positive integer or zero.',
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.assertValidChunkSize = assertValidChunkSize;
|
|
27
|
+
function assertValidChannelFormat(channelFormat) {
|
|
28
|
+
if (!(0, validations_1.isStringInArray)(channelFormat, consts_1.CHANNEL_FORMATS)) {
|
|
29
|
+
throw new schema_1.SchemaError({
|
|
30
|
+
code: 'INVALID_PARAMETERS',
|
|
31
|
+
parameters: ['channelFormat'],
|
|
32
|
+
friendlyMessage: `Invalid `,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.assertValidChannelFormat = assertValidChannelFormat;
|
|
37
|
+
function assertValidSampleRate(sampleRate) {
|
|
38
|
+
if (!(0, validations_1.isGreaterThanOrEqualToZero)(sampleRate)) {
|
|
39
|
+
throw new schema_1.SchemaError({
|
|
40
|
+
code: 'INVALID_PARAMETERS',
|
|
41
|
+
parameters: ['sampleRate'],
|
|
42
|
+
friendlyMessage: 'Sample rate must be a positive number or zero.',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.assertValidSampleRate = assertValidSampleRate;
|
|
47
|
+
function assertValidChannelCount(channelCount) {
|
|
48
|
+
if (!(0, validations_1.isPositiveInteger)(channelCount)) {
|
|
49
|
+
throw new schema_1.SchemaError({
|
|
50
|
+
code: 'INVALID_PARAMETERS',
|
|
51
|
+
parameters: ['channelNames'],
|
|
52
|
+
friendlyMessage: 'channelNames must have 1 or more labels.',
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.assertValidChannelCount = assertValidChannelCount;
|
|
57
|
+
//# sourceMappingURL=assertions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAChD,qCAAyD;AACzD,+CAKsB;AAEtB,SAAgB,uBAAuB,CAAC,WAAmB;IAC1D,IAAI,CAAC,IAAA,qCAAuB,EAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,oBAAW,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,eAAe,EAAE,kDAAkD;SACnE,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AARD,0DAQC;AAED,SAAgB,oBAAoB,CAAC,SAAiB;IACrD,IAAI,CAAC,IAAA,qCAAuB,EAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,oBAAW,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,WAAW,CAAC;YACzB,eAAe,EAAE,gDAAgD;SACjE,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AARD,oDAQC;AAED,SAAgB,wBAAwB,CAAC,aAA4B;IACpE,IAAI,CAAC,IAAA,6BAAe,EAAC,aAAa,EAAE,wBAAe,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,oBAAW,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,eAAe,CAAC;YAC7B,eAAe,EAAE,UAAU;SAC3B,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AARD,4DAQC;AAED,SAAgB,qBAAqB,CAAC,UAAkB;IACvD,IAAI,CAAC,IAAA,wCAA0B,EAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,oBAAW,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,YAAY,CAAC;YAC1B,eAAe,EAAE,gDAAgD;SACjE,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AARD,sDAQC;AAED,SAAgB,uBAAuB,CAAC,YAAoB;IAC3D,IAAI,CAAC,IAAA,+BAAiB,EAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,oBAAW,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,cAAc,CAAC;YAC5B,eAAe,EAAE,0CAA0C;SAC3D,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AARD,0DAQC"}
|
package/build/consts.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CHANNEL_FORMATS = void 0;
|
|
4
|
+
exports.CHANNEL_FORMATS = [
|
|
5
|
+
'undefined',
|
|
6
|
+
'float32',
|
|
7
|
+
'double64',
|
|
8
|
+
'string',
|
|
9
|
+
'int32',
|
|
10
|
+
'int16',
|
|
11
|
+
'int8',
|
|
12
|
+
'int64',
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC9B,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACE,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function isStringInArray(value: string, array: readonly string[]): boolean;
|
|
2
|
+
export declare function isGreaterThanOrEqualToZero(value: number): boolean;
|
|
3
|
+
export declare function isPositiveInteger(value: number): boolean;
|
|
4
|
+
export declare function isPositiveIntegerOrZero(value: number): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPositiveIntegerOrZero = exports.isPositiveInteger = exports.isGreaterThanOrEqualToZero = exports.isStringInArray = void 0;
|
|
4
|
+
function isStringInArray(value, array) {
|
|
5
|
+
return array.indexOf(value) !== -1;
|
|
6
|
+
}
|
|
7
|
+
exports.isStringInArray = isStringInArray;
|
|
8
|
+
function isGreaterThanOrEqualToZero(value) {
|
|
9
|
+
return value >= 0;
|
|
10
|
+
}
|
|
11
|
+
exports.isGreaterThanOrEqualToZero = isGreaterThanOrEqualToZero;
|
|
12
|
+
function isPositiveInteger(value) {
|
|
13
|
+
return Number.isInteger(value) && value > 0;
|
|
14
|
+
}
|
|
15
|
+
exports.isPositiveInteger = isPositiveInteger;
|
|
16
|
+
function isPositiveIntegerOrZero(value) {
|
|
17
|
+
return Number.isInteger(value) && value >= 0;
|
|
18
|
+
}
|
|
19
|
+
exports.isPositiveIntegerOrZero = isPositiveIntegerOrZero;
|
|
20
|
+
//# sourceMappingURL=validations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../src/validations.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAAC,KAAa,EAAE,KAAwB;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACnC,CAAC;AAFD,0CAEC;AAED,SAAgB,0BAA0B,CAAC,KAAa;IACvD,OAAO,KAAK,IAAI,CAAC,CAAA;AAClB,CAAC;AAFD,gEAEC;AAED,SAAgB,iBAAiB,CAAC,KAAa;IAC9C,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;AAC5C,CAAC;AAFD,8CAEC;AAED,SAAgB,uBAAuB,CAAC,KAAa;IACpD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC7C,CAAC;AAFD,0DAEC"}
|
package/package.json
CHANGED
package/src/LslOutlet.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assertOptions } from '@sprucelabs/schema'
|
|
2
|
+
import {
|
|
3
|
+
assertValidChannelCount,
|
|
4
|
+
assertValidChannelFormat,
|
|
5
|
+
assertValidChunkSize,
|
|
6
|
+
assertValidMaxBufferred,
|
|
7
|
+
assertValidSampleRate,
|
|
8
|
+
} from './assertions'
|
|
9
|
+
import { CHANNEL_FORMATS, ChannelFormat } from './consts'
|
|
2
10
|
import LiblslImpl, {
|
|
3
11
|
BoundOutlet,
|
|
4
12
|
BoundStreamInfo,
|
|
@@ -33,11 +41,11 @@ export default class LslOutletImpl implements LslOutlet {
|
|
|
33
41
|
|
|
34
42
|
const channelCount = channelNames.length
|
|
35
43
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
assertValidChannelCount(channelCount)
|
|
45
|
+
assertValidSampleRate(sampleRate)
|
|
46
|
+
assertValidChannelFormat(channelFormat)
|
|
47
|
+
assertValidChunkSize(chunkSize)
|
|
48
|
+
assertValidMaxBufferred(maxBuffered)
|
|
41
49
|
|
|
42
50
|
delete streamInfoOptions.manufacturer
|
|
43
51
|
delete streamInfoOptions.unit
|
|
@@ -74,7 +82,6 @@ export default class LslOutletImpl implements LslOutlet {
|
|
|
74
82
|
|
|
75
83
|
public pushSample(sample: LslSample): void {
|
|
76
84
|
const timestamp = this.lsl.localClock()
|
|
77
|
-
|
|
78
85
|
const method = this.getPushMethod()
|
|
79
86
|
|
|
80
87
|
this.lsl[method]({
|
|
@@ -106,87 +113,11 @@ export default class LslOutletImpl implements LslOutlet {
|
|
|
106
113
|
return CHANNEL_FORMATS.indexOf(channelFormat)
|
|
107
114
|
}
|
|
108
115
|
|
|
109
|
-
private assertValidMaxBufferred(maxBuffered: number): void {
|
|
110
|
-
if (!this.isPositiveIntegerOrZero(maxBuffered)) {
|
|
111
|
-
throw new SchemaError({
|
|
112
|
-
code: 'INVALID_PARAMETERS',
|
|
113
|
-
parameters: ['maxBuffered'],
|
|
114
|
-
friendlyMessage: 'Max buffered must be a positive integer or zero.',
|
|
115
|
-
})
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
private assertValidChunkSize(chunkSize: number): void {
|
|
120
|
-
if (!this.isPositiveIntegerOrZero(chunkSize)) {
|
|
121
|
-
throw new SchemaError({
|
|
122
|
-
code: 'INVALID_PARAMETERS',
|
|
123
|
-
parameters: ['chunkSize'],
|
|
124
|
-
friendlyMessage: 'Chunk size must be a positive integer or zero.',
|
|
125
|
-
})
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
private assertValidChannelFormat(channelFormat: ChannelFormat): void {
|
|
130
|
-
const validFormats = CHANNEL_FORMATS
|
|
131
|
-
if (validFormats.indexOf(channelFormat) === -1) {
|
|
132
|
-
throw new SchemaError({
|
|
133
|
-
code: 'INVALID_PARAMETERS',
|
|
134
|
-
parameters: ['channelFormat'],
|
|
135
|
-
friendlyMessage: 'Channel format must be a valid format.',
|
|
136
|
-
})
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
private assertValidSampleRate(sampleRate: number): void {
|
|
141
|
-
if (!this.isGreaterThanZero(sampleRate)) {
|
|
142
|
-
throw new SchemaError({
|
|
143
|
-
code: 'INVALID_PARAMETERS',
|
|
144
|
-
parameters: ['sampleRate'],
|
|
145
|
-
friendlyMessage: 'Sample rate must be a positive number or zero.',
|
|
146
|
-
})
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
private assertValidChannelCount(channelCount: number): void {
|
|
151
|
-
if (!this.isPositiveInteger(channelCount)) {
|
|
152
|
-
throw new SchemaError({
|
|
153
|
-
code: 'INVALID_PARAMETERS',
|
|
154
|
-
parameters: ['channelNames'],
|
|
155
|
-
friendlyMessage: 'channelNames must have 1 or more labels.',
|
|
156
|
-
})
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
private isGreaterThanZero(value: number): boolean {
|
|
161
|
-
return value >= 0
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
private isPositiveInteger(value: number): boolean {
|
|
165
|
-
return Number.isInteger(value) && value > 0
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
private isPositiveIntegerOrZero(value: number): boolean {
|
|
169
|
-
return Number.isInteger(value) && value >= 0
|
|
170
|
-
}
|
|
171
|
-
|
|
172
116
|
private get lsl(): Liblsl {
|
|
173
117
|
return LiblslImpl.getInstance()
|
|
174
118
|
}
|
|
175
119
|
}
|
|
176
120
|
|
|
177
|
-
const CHANNEL_FORMATS = [
|
|
178
|
-
'undefined',
|
|
179
|
-
'float32',
|
|
180
|
-
'double64',
|
|
181
|
-
'string',
|
|
182
|
-
'int32',
|
|
183
|
-
'int16',
|
|
184
|
-
'int8',
|
|
185
|
-
'int64',
|
|
186
|
-
] as const
|
|
187
|
-
|
|
188
|
-
export type ChannelFormat = (typeof CHANNEL_FORMATS)[number]
|
|
189
|
-
|
|
190
121
|
export interface LslOutlet {
|
|
191
122
|
destroy(): void
|
|
192
123
|
pushSample(sample: LslSample): void
|
|
@@ -6,13 +6,13 @@ import AbstractSpruceTest, {
|
|
|
6
6
|
generateId,
|
|
7
7
|
} from '@sprucelabs/test-utils'
|
|
8
8
|
import LiblslImpl, { LslSample } from '../../Liblsl'
|
|
9
|
-
import LslOutlet, {
|
|
10
|
-
import { TEST_CHANNEL_FORMATS } from '../support/consts'
|
|
9
|
+
import LslOutlet, { LslOutletOptions } from '../../LslOutlet'
|
|
10
|
+
import { TEST_CHANNEL_FORMATS, TestChannelFormat } from '../support/consts'
|
|
11
|
+
import { FakeLiblsl } from '../support/FakeLiblsl'
|
|
11
12
|
import generateRandomOutletOptions from '../support/generateRandomOutletOptions'
|
|
12
|
-
import { SpyLiblsl } from '../support/SpyLiblsl'
|
|
13
13
|
|
|
14
14
|
export default class LslOutletTest extends AbstractSpruceTest {
|
|
15
|
-
private static
|
|
15
|
+
private static fakeLiblsl: FakeLiblsl
|
|
16
16
|
private static randomOutletOptions: LslOutletOptions
|
|
17
17
|
private static channelFormatIdx: number
|
|
18
18
|
|
|
@@ -23,8 +23,8 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
23
23
|
this.randomOutletOptions = generateRandomOutletOptions(
|
|
24
24
|
this.channelFormatIdx
|
|
25
25
|
)
|
|
26
|
-
this.
|
|
27
|
-
LiblslImpl.setInstance(this.
|
|
26
|
+
this.fakeLiblsl = new FakeLiblsl()
|
|
27
|
+
LiblslImpl.setInstance(this.fakeLiblsl)
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
@test()
|
|
@@ -86,7 +86,7 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
86
86
|
@test()
|
|
87
87
|
protected static async supportsAllKnownChannelFormats() {
|
|
88
88
|
for (const format of TEST_CHANNEL_FORMATS) {
|
|
89
|
-
this.Outlet({ channelFormat: format as
|
|
89
|
+
this.Outlet({ channelFormat: format as TestChannelFormat })
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -97,16 +97,16 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
97
97
|
outlet.pushSample(sample)
|
|
98
98
|
|
|
99
99
|
assert.isEqual(
|
|
100
|
-
this.
|
|
101
|
-
this.
|
|
100
|
+
this.fakeLiblsl.lastPushSampleFtOptions?.outlet,
|
|
101
|
+
this.fakeLiblsl.outlet
|
|
102
102
|
)
|
|
103
|
-
assert.isEqualDeep(this.
|
|
104
|
-
assert.isEqualDeep(this.
|
|
105
|
-
info: this.
|
|
103
|
+
assert.isEqualDeep(this.fakeLiblsl.lastPushSampleFtOptions?.sample, sample)
|
|
104
|
+
assert.isEqualDeep(this.fakeLiblsl.lastCreateOutletOptions, {
|
|
105
|
+
info: this.fakeLiblsl.streamInfo,
|
|
106
106
|
chunkSize: this.randomOutletOptions.chunkSize,
|
|
107
107
|
maxBuffered: this.randomOutletOptions.maxBuffered,
|
|
108
108
|
})
|
|
109
|
-
assert.isNumber(this.
|
|
109
|
+
assert.isNumber(this.fakeLiblsl.lastPushSampleFtOptions?.timestamp)
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
@test()
|
|
@@ -117,11 +117,14 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
117
117
|
outlet.pushSample(sample)
|
|
118
118
|
|
|
119
119
|
assert.isEqual(
|
|
120
|
-
this.
|
|
121
|
-
this.
|
|
120
|
+
this.fakeLiblsl.lastPushSampleStrtOptions?.outlet,
|
|
121
|
+
this.fakeLiblsl.outlet
|
|
122
122
|
)
|
|
123
|
-
assert.isEqualDeep(
|
|
124
|
-
|
|
123
|
+
assert.isEqualDeep(
|
|
124
|
+
this.fakeLiblsl.lastPushSampleStrtOptions?.sample,
|
|
125
|
+
sample
|
|
126
|
+
)
|
|
127
|
+
assert.isNumber(this.fakeLiblsl.lastPushSampleStrtOptions?.timestamp)
|
|
125
128
|
}
|
|
126
129
|
|
|
127
130
|
@test()
|
|
@@ -130,15 +133,15 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
130
133
|
const sample = [generateId()]
|
|
131
134
|
|
|
132
135
|
outlet.pushSample(sample)
|
|
133
|
-
const t1 = this.
|
|
136
|
+
const t1 = this.fakeLiblsl.lastPushSampleStrtOptions?.timestamp
|
|
134
137
|
|
|
135
138
|
await this.wait(10)
|
|
136
139
|
|
|
137
140
|
outlet.pushSample(sample)
|
|
138
|
-
const t2 = this.
|
|
141
|
+
const t2 = this.fakeLiblsl.lastPushSampleStrtOptions?.timestamp
|
|
139
142
|
|
|
140
143
|
assert.isNotEqual(t1, t2)
|
|
141
|
-
assert.isEqual(this.
|
|
144
|
+
assert.isEqual(this.fakeLiblsl.localClockHitCount, 2)
|
|
142
145
|
}
|
|
143
146
|
|
|
144
147
|
@test()
|
|
@@ -155,7 +158,7 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
155
158
|
delete options.maxBuffered
|
|
156
159
|
delete options.channelNames
|
|
157
160
|
|
|
158
|
-
assert.isEqualDeep(this.
|
|
161
|
+
assert.isEqualDeep(this.fakeLiblsl.lastCreateStreamInfoOptions, {
|
|
159
162
|
...options,
|
|
160
163
|
channelFormat: this.channelFormatIdx,
|
|
161
164
|
})
|
|
@@ -177,8 +180,8 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
177
180
|
|
|
178
181
|
this.Outlet({ channelNames: labels, type, unit })
|
|
179
182
|
|
|
180
|
-
assert.isEqualDeep(this.
|
|
181
|
-
info: this.
|
|
183
|
+
assert.isEqualDeep(this.fakeLiblsl.lastAppendChannelsToStreamInfoOptions, {
|
|
184
|
+
info: this.fakeLiblsl.streamInfo,
|
|
182
185
|
channels: labels.map((label) => ({
|
|
183
186
|
label,
|
|
184
187
|
type,
|
|
@@ -192,7 +195,7 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
192
195
|
const outlet = this.Outlet()
|
|
193
196
|
outlet.destroy()
|
|
194
197
|
|
|
195
|
-
assert.isEqual(this.
|
|
198
|
+
assert.isEqual(this.fakeLiblsl.destroyOutletHitCount, 1)
|
|
196
199
|
}
|
|
197
200
|
|
|
198
201
|
@test()
|
|
@@ -202,7 +205,7 @@ export default class LslOutletTest extends AbstractSpruceTest {
|
|
|
202
205
|
outlet.pushSample([2.0])
|
|
203
206
|
outlet.pushSample([3.0])
|
|
204
207
|
|
|
205
|
-
assert.isEqual(this.
|
|
208
|
+
assert.isEqual(this.fakeLiblsl.createStreamInfoHitCount, 1)
|
|
206
209
|
}
|
|
207
210
|
|
|
208
211
|
@test()
|
|
@@ -7,18 +7,18 @@ import AbstractSpruceTest, {
|
|
|
7
7
|
import LiblslImpl from '../../Liblsl'
|
|
8
8
|
import { LslOutletOptions } from '../../LslOutlet'
|
|
9
9
|
import TimeMarkerOutlet from '../../TimeMarkerOutlet'
|
|
10
|
+
import { FakeLiblsl } from '../support/FakeLiblsl'
|
|
10
11
|
import generateRandomOutletOptions from '../support/generateRandomOutletOptions'
|
|
11
|
-
import { SpyLiblsl } from '../support/SpyLiblsl'
|
|
12
12
|
|
|
13
13
|
export default class TimeMarkerOutletTest extends AbstractSpruceTest {
|
|
14
|
-
private static
|
|
14
|
+
private static fakeLiblsl: FakeLiblsl
|
|
15
15
|
private static outlet: SpyTimeMarkerOutlet
|
|
16
16
|
|
|
17
17
|
protected static async beforeEach() {
|
|
18
18
|
await super.beforeEach()
|
|
19
19
|
TimeMarkerOutlet.Class = SpyTimeMarkerOutlet
|
|
20
|
-
this.
|
|
21
|
-
LiblslImpl.setInstance(this.
|
|
20
|
+
this.fakeLiblsl = new FakeLiblsl()
|
|
21
|
+
LiblslImpl.setInstance(this.fakeLiblsl)
|
|
22
22
|
this.outlet = this.Outlet()
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -49,7 +49,7 @@ export default class TimeMarkerOutletTest extends AbstractSpruceTest {
|
|
|
49
49
|
protected static async pushingSingleMarkerIncrementsHitCountAndWaitTime() {
|
|
50
50
|
const markers = [this.generateRandomDurationMarker()]
|
|
51
51
|
await this.outlet.pushMarkers(markers)
|
|
52
|
-
assert.isEqual(this.
|
|
52
|
+
assert.isEqual(this.fakeLiblsl.pushSampleStrtHitCount, 1)
|
|
53
53
|
assert.isEqual(this.outlet.totalWaitTimeMs, markers[0].durationMs)
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -60,7 +60,7 @@ export default class TimeMarkerOutletTest extends AbstractSpruceTest {
|
|
|
60
60
|
this.generateRandomDurationMarker(),
|
|
61
61
|
]
|
|
62
62
|
await this.outlet.pushMarkers(markers)
|
|
63
|
-
assert.isEqual(this.
|
|
63
|
+
assert.isEqual(this.fakeLiblsl.pushSampleStrtHitCount, 2)
|
|
64
64
|
assert.isEqual(
|
|
65
65
|
this.outlet.totalWaitTimeMs,
|
|
66
66
|
markers[0].durationMs + markers[1].durationMs
|
|
@@ -16,7 +16,7 @@ import LiblslImpl, {
|
|
|
16
16
|
BoundDesc,
|
|
17
17
|
BoundChild,
|
|
18
18
|
} from '../../Liblsl'
|
|
19
|
-
import {
|
|
19
|
+
import { FakeLiblsl } from '../support/FakeLiblsl'
|
|
20
20
|
|
|
21
21
|
export default class LiblslTest extends AbstractSpruceTest {
|
|
22
22
|
private static lsl: Liblsl
|
|
@@ -164,7 +164,7 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
164
164
|
|
|
165
165
|
@test()
|
|
166
166
|
protected static canSetInstance() {
|
|
167
|
-
const fake = new
|
|
167
|
+
const fake = new FakeLiblsl()
|
|
168
168
|
LiblslImpl.setInstance(fake)
|
|
169
169
|
assert.isEqual(LiblslImpl.getInstance(), fake)
|
|
170
170
|
}
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
PushSampleStrtOptions,
|
|
10
10
|
} from '../../Liblsl'
|
|
11
11
|
|
|
12
|
-
export class
|
|
12
|
+
export class FakeLiblsl implements Liblsl {
|
|
13
13
|
public outlet: BoundOutlet = {} as BoundOutlet
|
|
14
14
|
public streamInfo: BoundStreamInfo = {} as BoundStreamInfo
|
|
15
15
|
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { SchemaError } from '@sprucelabs/schema'
|
|
2
|
+
import { CHANNEL_FORMATS, ChannelFormat } from './consts'
|
|
3
|
+
import {
|
|
4
|
+
isGreaterThanOrEqualToZero,
|
|
5
|
+
isPositiveInteger,
|
|
6
|
+
isPositiveIntegerOrZero,
|
|
7
|
+
isStringInArray,
|
|
8
|
+
} from './validations'
|
|
9
|
+
|
|
10
|
+
export function assertValidMaxBufferred(maxBuffered: number): void {
|
|
11
|
+
if (!isPositiveIntegerOrZero(maxBuffered)) {
|
|
12
|
+
throw new SchemaError({
|
|
13
|
+
code: 'INVALID_PARAMETERS',
|
|
14
|
+
parameters: ['maxBuffered'],
|
|
15
|
+
friendlyMessage: 'Max buffered must be a positive integer or zero.',
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function assertValidChunkSize(chunkSize: number): void {
|
|
21
|
+
if (!isPositiveIntegerOrZero(chunkSize)) {
|
|
22
|
+
throw new SchemaError({
|
|
23
|
+
code: 'INVALID_PARAMETERS',
|
|
24
|
+
parameters: ['chunkSize'],
|
|
25
|
+
friendlyMessage: 'Chunk size must be a positive integer or zero.',
|
|
26
|
+
})
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function assertValidChannelFormat(channelFormat: ChannelFormat): void {
|
|
31
|
+
if (!isStringInArray(channelFormat, CHANNEL_FORMATS)) {
|
|
32
|
+
throw new SchemaError({
|
|
33
|
+
code: 'INVALID_PARAMETERS',
|
|
34
|
+
parameters: ['channelFormat'],
|
|
35
|
+
friendlyMessage: `Invalid `,
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function assertValidSampleRate(sampleRate: number): void {
|
|
41
|
+
if (!isGreaterThanOrEqualToZero(sampleRate)) {
|
|
42
|
+
throw new SchemaError({
|
|
43
|
+
code: 'INVALID_PARAMETERS',
|
|
44
|
+
parameters: ['sampleRate'],
|
|
45
|
+
friendlyMessage: 'Sample rate must be a positive number or zero.',
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function assertValidChannelCount(channelCount: number): void {
|
|
51
|
+
if (!isPositiveInteger(channelCount)) {
|
|
52
|
+
throw new SchemaError({
|
|
53
|
+
code: 'INVALID_PARAMETERS',
|
|
54
|
+
parameters: ['channelNames'],
|
|
55
|
+
friendlyMessage: 'channelNames must have 1 or more labels.',
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
}
|
package/src/consts.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function isStringInArray(value: string, array: readonly string[]) {
|
|
2
|
+
return array.indexOf(value) !== -1
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export function isGreaterThanOrEqualToZero(value: number): boolean {
|
|
6
|
+
return value >= 0
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function isPositiveInteger(value: number): boolean {
|
|
10
|
+
return Number.isInteger(value) && value > 0
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function isPositiveIntegerOrZero(value: number): boolean {
|
|
14
|
+
return Number.isInteger(value) && value >= 0
|
|
15
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SpyLiblsl.js","sourceRoot":"","sources":["../../../src/__tests__/support/SpyLiblsl.ts"],"names":[],"mappings":";;;AAWA,MAAa,SAAS;IAAtB;QACQ,WAAM,GAAgB,EAAiB,CAAA;QACvC,eAAU,GAAoB,EAAqB,CAAA;QAQnD,6BAAwB,GAAG,CAAC,CAAA;QAC5B,0BAAqB,GAAG,CAAC,CAAA;QACzB,uBAAkB,GAAG,CAAC,CAAA;QACtB,2BAAsB,GAAG,CAAC,CAAA;IAoClC,CAAC;IAlCO,gBAAgB,CAAC,OAAgC;QACvD,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;IAEM,0BAA0B,CAChC,OAA0C;QAE1C,IAAI,CAAC,qCAAqC,GAAG,OAAO,CAAA;IACrD,CAAC;IAEM,YAAY,CAAC,OAA4B;QAC/C,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAA;QACtC,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAEM,aAAa;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC7B,CAAC;IAEM,YAAY,CAAC,OAA4B;QAC/C,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAA;IACvC,CAAC;IAEM,cAAc,CAAC,OAA8B;QACnD,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAA;QACxC,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC9B,CAAC;IAEM,UAAU;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;CACD;AAjDD,8BAiDC"}
|