@neurodevs/node-lsl 10.1.4 → 10.2.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/build/__tests__/AbstractNodeLslTest.d.ts +18 -0
- package/build/__tests__/AbstractNodeLslTest.js +80 -0
- package/build/__tests__/AbstractNodeLslTest.js.map +1 -0
- package/build/__tests__/{implementation/Liblsl.test.d.ts → Liblsl.test.d.ts} +6 -0
- package/build/__tests__/{implementation/Liblsl.test.js → Liblsl.test.js} +60 -14
- package/build/__tests__/Liblsl.test.js.map +1 -0
- package/build/__tests__/LslInlet.test.d.ts +11 -0
- package/build/__tests__/LslInlet.test.js +94 -0
- package/build/__tests__/LslInlet.test.js.map +1 -0
- package/build/__tests__/{behavioral/LslOutlet.test.d.ts → LslOutlet.test.d.ts} +3 -6
- package/build/__tests__/{behavioral/LslOutlet.test.js → LslOutlet.test.js} +24 -68
- package/build/__tests__/LslOutlet.test.js.map +1 -0
- package/build/__tests__/LslStreamInfo.test.d.ts +21 -0
- package/build/__tests__/LslStreamInfo.test.js +166 -0
- package/build/__tests__/LslStreamInfo.test.js.map +1 -0
- package/build/__tests__/SpyLslStreamInfo.d.ts +5 -0
- package/build/__tests__/SpyLslStreamInfo.js +17 -0
- package/build/__tests__/SpyLslStreamInfo.js.map +1 -0
- package/build/__tests__/{behavioral/TimeMarkerOutlet.test.d.ts → TimeMarkerOutlet.test.d.ts} +2 -3
- package/build/__tests__/{behavioral/TimeMarkerOutlet.test.js → TimeMarkerOutlet.test.js} +7 -33
- package/build/__tests__/TimeMarkerOutlet.test.js.map +1 -0
- package/build/{implementations → components}/Liblsl.d.ts +4 -2
- package/build/{implementations → components}/Liblsl.js +23 -4
- package/build/components/Liblsl.js.map +1 -0
- package/build/components/LslInlet.d.ts +31 -0
- package/build/components/LslInlet.js +51 -0
- package/build/components/LslInlet.js.map +1 -0
- package/build/{implementations → components}/LslOutlet.d.ts +20 -9
- package/build/components/LslOutlet.js +118 -0
- package/build/components/LslOutlet.js.map +1 -0
- package/build/components/LslStreamInfo.d.ts +38 -0
- package/build/components/LslStreamInfo.js +65 -0
- package/build/components/LslStreamInfo.js.map +1 -0
- package/build/{implementations → components}/TimeMarkerOutlet.d.ts +2 -1
- package/build/{implementations → components}/TimeMarkerOutlet.js +1 -1
- package/build/components/TimeMarkerOutlet.js.map +1 -0
- package/build/demo.d.ts +1 -0
- package/build/demo.js +42 -0
- package/build/demo.js.map +1 -0
- package/build/index.d.ts +12 -7
- package/build/index.js +16 -8
- package/build/index.js.map +1 -1
- package/build/nodeLsl.types.d.ts +34 -18
- package/build/testDoubles/FakeLiblsl.d.ts +11 -3
- package/build/testDoubles/FakeLiblsl.js +29 -5
- package/build/testDoubles/FakeLiblsl.js.map +1 -1
- package/build/testDoubles/FakeLslOutlet.d.ts +4 -2
- package/build/testDoubles/FakeLslOutlet.js +2 -1
- package/build/testDoubles/FakeLslOutlet.js.map +1 -1
- package/build/testDoubles/FakeLslStreamInfo.d.ts +5 -0
- package/build/testDoubles/FakeLslStreamInfo.js +10 -0
- package/build/testDoubles/FakeLslStreamInfo.js.map +1 -0
- package/build/testDoubles/FakeStreamInfo.d.ts +9 -0
- package/build/testDoubles/FakeStreamInfo.js +17 -0
- package/build/testDoubles/FakeStreamInfo.js.map +1 -0
- package/build/testDoubles/FakeTimeMarkerOutlet.d.ts +1 -1
- package/build/testDoubles/SpyLslInlet.d.ts +7 -0
- package/build/testDoubles/SpyLslInlet.js +20 -0
- package/build/testDoubles/SpyLslInlet.js.map +1 -0
- package/build/testDoubles/SpyLslStreamInfo.d.ts +9 -0
- package/build/testDoubles/SpyLslStreamInfo.js +28 -0
- package/build/testDoubles/SpyLslStreamInfo.js.map +1 -0
- package/build/testDoubles/SpyTimeMarkerOutlet.d.ts +4 -3
- package/build/testDoubles/SpyTimeMarkerOutlet.js +3 -3
- package/build/testDoubles/SpyTimeMarkerOutlet.js.map +1 -1
- package/build/testDoubles/consts.js.map +1 -0
- package/build/{__tests__/support → testDoubles}/generateRandomOutletOptions.d.ts +1 -1
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/AbstractNodeLslTest.ts +50 -0
- package/src/__tests__/{implementation/Liblsl.test.ts → Liblsl.test.ts} +49 -8
- package/src/__tests__/LslInlet.test.ts +99 -0
- package/src/__tests__/{behavioral/LslOutlet.test.ts → LslOutlet.test.ts} +29 -64
- package/src/__tests__/LslStreamInfo.test.ts +209 -0
- package/src/__tests__/{behavioral/TimeMarkerOutlet.test.ts → TimeMarkerOutlet.test.ts} +12 -17
- package/src/{implementations → components}/Liblsl.ts +29 -5
- package/src/components/LslInlet.ts +85 -0
- package/src/{implementations → components}/LslOutlet.ts +91 -64
- package/src/components/LslStreamInfo.ts +105 -0
- package/src/{implementations → components}/TimeMarkerOutlet.ts +3 -1
- package/src/demo.ts +43 -0
- package/src/index.ts +15 -7
- package/src/nodeLsl.types.ts +36 -23
- package/src/testDoubles/FakeLiblsl.ts +40 -7
- package/src/testDoubles/FakeLslOutlet.ts +5 -2
- package/src/testDoubles/FakeStreamInfo.ts +19 -0
- package/src/testDoubles/FakeTimeMarkerOutlet.ts +1 -1
- package/src/testDoubles/SpyLslInlet.ts +16 -0
- package/src/testDoubles/SpyLslStreamInfo.ts +27 -0
- package/src/testDoubles/SpyTimeMarkerOutlet.ts +5 -4
- package/src/{__tests__/support → testDoubles}/generateRandomOutletOptions.ts +1 -1
- package/build/__tests__/behavioral/LslOutlet.test.js.map +0 -1
- package/build/__tests__/behavioral/TimeMarkerOutlet.test.js.map +0 -1
- package/build/__tests__/implementation/Liblsl.test.js.map +0 -1
- package/build/__tests__/support/consts.js.map +0 -1
- package/build/__tests__/support/generateRandomOutletOptions.js.map +0 -1
- package/build/implementations/Liblsl.js.map +0 -1
- package/build/implementations/LslOutlet.js +0 -94
- package/build/implementations/LslOutlet.js.map +0 -1
- package/build/implementations/TimeMarkerOutlet.js.map +0 -1
- /package/build/{__tests__/support → testDoubles}/consts.d.ts +0 -0
- /package/build/{__tests__/support → testDoubles}/consts.js +0 -0
- /package/build/{__tests__/support → testDoubles}/generateRandomOutletOptions.js +0 -0
- /package/src/{__tests__/support → testDoubles}/consts.ts +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BoundStreamInfo, ChannelFormat } from '../nodeLsl.types';
|
|
2
|
+
export default class LslStreamInfo implements StreamInfo {
|
|
3
|
+
static Class?: StreamInfoConstructor;
|
|
4
|
+
protected name: string;
|
|
5
|
+
protected type: string;
|
|
6
|
+
protected sourceId: string;
|
|
7
|
+
protected units: string;
|
|
8
|
+
protected streamInfo: BoundStreamInfo;
|
|
9
|
+
private channelNames;
|
|
10
|
+
private channelFormat;
|
|
11
|
+
private sampleRate;
|
|
12
|
+
protected constructor(options: StreamInfoOptions);
|
|
13
|
+
static Create(options: StreamInfoOptions): LslStreamInfo | StreamInfo;
|
|
14
|
+
private createStreamInfo;
|
|
15
|
+
private appendChannelsToStreamInfo;
|
|
16
|
+
get boundStreamInfo(): BoundStreamInfo;
|
|
17
|
+
private get channelCount();
|
|
18
|
+
private get lslChannelFormat();
|
|
19
|
+
private get lsl();
|
|
20
|
+
private readonly defaultName;
|
|
21
|
+
private readonly defaultType;
|
|
22
|
+
private readonly defaultSourceId;
|
|
23
|
+
private readonly defaultUnits;
|
|
24
|
+
}
|
|
25
|
+
export interface StreamInfo {
|
|
26
|
+
boundStreamInfo: BoundStreamInfo;
|
|
27
|
+
}
|
|
28
|
+
type StreamInfoConstructor = new (options: StreamInfoOptions) => StreamInfo;
|
|
29
|
+
export interface StreamInfoOptions {
|
|
30
|
+
channelNames: string[];
|
|
31
|
+
channelFormat: ChannelFormat;
|
|
32
|
+
sampleRate: number;
|
|
33
|
+
name?: string;
|
|
34
|
+
type?: string;
|
|
35
|
+
sourceId?: string;
|
|
36
|
+
units?: string;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const schema_1 = require("@sprucelabs/schema");
|
|
7
|
+
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
8
|
+
const consts_1 = require("../consts");
|
|
9
|
+
const Liblsl_1 = __importDefault(require("./Liblsl"));
|
|
10
|
+
class LslStreamInfo {
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this.defaultName = `lsl-stream-info-${(0, test_utils_1.generateId)()}`;
|
|
13
|
+
this.defaultType = (0, test_utils_1.generateId)();
|
|
14
|
+
this.defaultSourceId = (0, test_utils_1.generateId)();
|
|
15
|
+
this.defaultUnits = 'N/A';
|
|
16
|
+
const { channelNames, channelFormat, sampleRate, name = this.defaultName, type = this.defaultType, sourceId = this.defaultSourceId, units = this.defaultUnits, } = options;
|
|
17
|
+
this.name = name;
|
|
18
|
+
this.type = type;
|
|
19
|
+
this.sourceId = sourceId;
|
|
20
|
+
this.channelNames = channelNames;
|
|
21
|
+
this.channelFormat = channelFormat;
|
|
22
|
+
this.units = units;
|
|
23
|
+
this.sampleRate = sampleRate;
|
|
24
|
+
this.createStreamInfo();
|
|
25
|
+
this.appendChannelsToStreamInfo();
|
|
26
|
+
}
|
|
27
|
+
static Create(options) {
|
|
28
|
+
(0, schema_1.assertOptions)(options, ['channelNames', 'channelFormat', 'sampleRate']);
|
|
29
|
+
return new (this.Class ?? this)(options);
|
|
30
|
+
}
|
|
31
|
+
createStreamInfo() {
|
|
32
|
+
this.streamInfo = this.lsl.createStreamInfo({
|
|
33
|
+
name: this.name,
|
|
34
|
+
type: this.type,
|
|
35
|
+
sourceId: this.sourceId,
|
|
36
|
+
channelCount: this.channelCount,
|
|
37
|
+
channelFormat: this.lslChannelFormat,
|
|
38
|
+
sampleRate: this.sampleRate,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
appendChannelsToStreamInfo() {
|
|
42
|
+
this.lsl.appendChannelsToStreamInfo({
|
|
43
|
+
info: this.streamInfo,
|
|
44
|
+
channels: this.channelNames.map((label) => ({
|
|
45
|
+
label,
|
|
46
|
+
unit: this.units,
|
|
47
|
+
type: this.type,
|
|
48
|
+
})),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
get boundStreamInfo() {
|
|
52
|
+
return this.streamInfo;
|
|
53
|
+
}
|
|
54
|
+
get channelCount() {
|
|
55
|
+
return this.channelNames.length;
|
|
56
|
+
}
|
|
57
|
+
get lslChannelFormat() {
|
|
58
|
+
return consts_1.CHANNEL_FORMATS_MAP[this.channelFormat];
|
|
59
|
+
}
|
|
60
|
+
get lsl() {
|
|
61
|
+
return Liblsl_1.default.getInstance();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.default = LslStreamInfo;
|
|
65
|
+
//# sourceMappingURL=LslStreamInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/components/LslStreamInfo.ts"],"names":[],"mappings":";;;;;AAAA,+CAAkD;AAClD,uDAAmD;AACnD,sCAA+C;AAE/C,sDAAiC;AAEjC,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,gBAAU,CAAC,WAAW,EAAE,CAAA;IACnC,CAAC;CAMJ;AAlFD,gCAkFC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DurationMarker } from '../nodeLsl.types';
|
|
2
2
|
import LslOutletImpl, { LslOutlet, LslOutletOptions } from './LslOutlet';
|
|
3
|
+
import { StreamInfo } from './LslStreamInfo';
|
|
3
4
|
export default class TimeMarkerOutletImpl extends LslOutletImpl implements TimeMarkerOutlet {
|
|
4
5
|
static Class?: TimeMarkerOutletConstructor;
|
|
5
6
|
private isPlaying;
|
|
@@ -15,4 +16,4 @@ export interface TimeMarkerOutlet extends LslOutlet {
|
|
|
15
16
|
pushMarkers(markers: DurationMarker[]): Promise<void>;
|
|
16
17
|
stop(): void;
|
|
17
18
|
}
|
|
18
|
-
export type TimeMarkerOutletConstructor = new (options: LslOutletOptions) => TimeMarkerOutlet;
|
|
19
|
+
export type TimeMarkerOutletConstructor = new (info: StreamInfo, options: LslOutletOptions) => TimeMarkerOutlet;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/components/TimeMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,4DAAwE;AAGxE,MAAqB,oBACjB,SAAQ,mBAAa;IADzB;;QAMY,cAAS,GAAG,KAAK,CAAA;IAoD7B,CAAC;IAhDU,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC1D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,cAAc;YACxB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACG,CAAA;QAErB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAgB,EAAE;YAC9C,GAAG,cAAc;YACjB,GAAG,OAAO;SACb,CAAqB,CAAA;IAC1B,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,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAE9B,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;AA1DD,uCA0DC"}
|
package/build/demo.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/build/demo.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const LslInlet_1 = __importDefault(require("./components/LslInlet"));
|
|
7
|
+
const LslOutlet_1 = __importDefault(require("./components/LslOutlet"));
|
|
8
|
+
async function waitForMs(ms) {
|
|
9
|
+
return new Promise((resolve) => {
|
|
10
|
+
setTimeout(resolve, ms);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
async function main() {
|
|
14
|
+
const outlet = await LslOutlet_1.default.Create({
|
|
15
|
+
name: 'Test Outlet',
|
|
16
|
+
type: 'Test Type',
|
|
17
|
+
sourceId: 'Test Source ID',
|
|
18
|
+
channelNames: ['Channel 1', 'Channel 2'],
|
|
19
|
+
channelFormat: 'float32',
|
|
20
|
+
sampleRate: 0,
|
|
21
|
+
chunkSize: 1,
|
|
22
|
+
maxBuffered: 0,
|
|
23
|
+
manufacturer: 'Test Manufacturer',
|
|
24
|
+
unit: 'Test Unit',
|
|
25
|
+
});
|
|
26
|
+
const inlet = LslInlet_1.default.Create({
|
|
27
|
+
channelNames: ['Channel 1', 'Channel 2'],
|
|
28
|
+
channelFormat: 'float32',
|
|
29
|
+
sampleRate: 0,
|
|
30
|
+
chunkSize: 1,
|
|
31
|
+
maxBuffered: 0,
|
|
32
|
+
});
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
const promise = inlet.start();
|
|
35
|
+
for (let i = 0; i < 100; i++) {
|
|
36
|
+
outlet.pushSample([i]);
|
|
37
|
+
await waitForMs(1000);
|
|
38
|
+
}
|
|
39
|
+
await promise;
|
|
40
|
+
}
|
|
41
|
+
main().catch(console.error);
|
|
42
|
+
//# sourceMappingURL=demo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":";;;;;AAAA,qEAA4C;AAC5C,uEAAkD;AAElD,KAAK,UAAU,SAAS,CAAC,EAAU;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACN,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,MAAM,GAAG,MAAM,mBAAa,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QACxC,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,WAAW;KACpB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,kBAAQ,CAAC,MAAM,CAAC;QAC1B,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QACxC,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;KACjB,CAAC,CAAA;IAEF,aAAa;IACb,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,OAAO,CAAA;AACjB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
export * from './nodeLsl.types';
|
|
2
|
-
export { default as LiblslImpl } from './
|
|
3
|
-
export * from './
|
|
4
|
-
export { default as
|
|
5
|
-
export * from './
|
|
6
|
-
export { default as
|
|
7
|
-
export * from './
|
|
2
|
+
export { default as LiblslImpl } from './components/Liblsl';
|
|
3
|
+
export * from './components/Liblsl';
|
|
4
|
+
export { default as LslStreamInfo } from './components/LslStreamInfo';
|
|
5
|
+
export * from './components/LslStreamInfo';
|
|
6
|
+
export { default as SpyLslStreamInfo } from './testDoubles/SpyLslStreamInfo';
|
|
7
|
+
export * from './testDoubles/SpyLslStreamInfo';
|
|
8
|
+
export { default as FakeStreamInfo } from './testDoubles/FakeStreamInfo';
|
|
9
|
+
export { default as LslOutletImpl } from './components/LslOutlet';
|
|
10
|
+
export * from './components/LslOutlet';
|
|
11
|
+
export { default as TimeMarkerOutletImpl } from './components/TimeMarkerOutlet';
|
|
12
|
+
export * from './components/TimeMarkerOutlet';
|
|
8
13
|
export { default as FakeLiblsl } from './testDoubles/FakeLiblsl';
|
|
9
14
|
export * from './testDoubles/FakeLiblsl';
|
|
10
15
|
export { default as FakeLslOutlet } from './testDoubles/FakeLslOutlet';
|
|
@@ -15,4 +20,4 @@ export { default as MockTimeMarkerOutlet } from './testDoubles/MockTimeMarkerOut
|
|
|
15
20
|
export * from './testDoubles/MockTimeMarkerOutlet';
|
|
16
21
|
export { default as SpyTimeMarkerOutlet } from './testDoubles/SpyTimeMarkerOutlet';
|
|
17
22
|
export * from './testDoubles/SpyTimeMarkerOutlet';
|
|
18
|
-
export { default as generateRandomOutletOptions } from './
|
|
23
|
+
export { default as generateRandomOutletOptions } from './testDoubles/generateRandomOutletOptions';
|
package/build/index.js
CHANGED
|
@@ -17,17 +17,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.generateRandomOutletOptions = exports.SpyTimeMarkerOutlet = exports.MockTimeMarkerOutlet = exports.FakeTimeMarkerOutlet = exports.FakeLslOutlet = exports.FakeLiblsl = exports.TimeMarkerOutletImpl = exports.LslOutletImpl = exports.LiblslImpl = void 0;
|
|
20
|
+
exports.generateRandomOutletOptions = exports.SpyTimeMarkerOutlet = exports.MockTimeMarkerOutlet = exports.FakeTimeMarkerOutlet = exports.FakeLslOutlet = exports.FakeLiblsl = exports.TimeMarkerOutletImpl = exports.LslOutletImpl = exports.FakeStreamInfo = exports.SpyLslStreamInfo = exports.LslStreamInfo = exports.LiblslImpl = void 0;
|
|
21
21
|
__exportStar(require("./nodeLsl.types"), exports);
|
|
22
|
-
var Liblsl_1 = require("./
|
|
22
|
+
var Liblsl_1 = require("./components/Liblsl");
|
|
23
23
|
Object.defineProperty(exports, "LiblslImpl", { enumerable: true, get: function () { return __importDefault(Liblsl_1).default; } });
|
|
24
|
-
__exportStar(require("./
|
|
25
|
-
var
|
|
24
|
+
__exportStar(require("./components/Liblsl"), exports);
|
|
25
|
+
var LslStreamInfo_1 = require("./components/LslStreamInfo");
|
|
26
|
+
Object.defineProperty(exports, "LslStreamInfo", { enumerable: true, get: function () { return __importDefault(LslStreamInfo_1).default; } });
|
|
27
|
+
__exportStar(require("./components/LslStreamInfo"), exports);
|
|
28
|
+
var SpyLslStreamInfo_1 = require("./testDoubles/SpyLslStreamInfo");
|
|
29
|
+
Object.defineProperty(exports, "SpyLslStreamInfo", { enumerable: true, get: function () { return __importDefault(SpyLslStreamInfo_1).default; } });
|
|
30
|
+
__exportStar(require("./testDoubles/SpyLslStreamInfo"), exports);
|
|
31
|
+
var FakeStreamInfo_1 = require("./testDoubles/FakeStreamInfo");
|
|
32
|
+
Object.defineProperty(exports, "FakeStreamInfo", { enumerable: true, get: function () { return __importDefault(FakeStreamInfo_1).default; } });
|
|
33
|
+
var LslOutlet_1 = require("./components/LslOutlet");
|
|
26
34
|
Object.defineProperty(exports, "LslOutletImpl", { enumerable: true, get: function () { return __importDefault(LslOutlet_1).default; } });
|
|
27
|
-
__exportStar(require("./
|
|
28
|
-
var TimeMarkerOutlet_1 = require("./
|
|
35
|
+
__exportStar(require("./components/LslOutlet"), exports);
|
|
36
|
+
var TimeMarkerOutlet_1 = require("./components/TimeMarkerOutlet");
|
|
29
37
|
Object.defineProperty(exports, "TimeMarkerOutletImpl", { enumerable: true, get: function () { return __importDefault(TimeMarkerOutlet_1).default; } });
|
|
30
|
-
__exportStar(require("./
|
|
38
|
+
__exportStar(require("./components/TimeMarkerOutlet"), exports);
|
|
31
39
|
var FakeLiblsl_1 = require("./testDoubles/FakeLiblsl");
|
|
32
40
|
Object.defineProperty(exports, "FakeLiblsl", { enumerable: true, get: function () { return __importDefault(FakeLiblsl_1).default; } });
|
|
33
41
|
__exportStar(require("./testDoubles/FakeLiblsl"), exports);
|
|
@@ -43,6 +51,6 @@ __exportStar(require("./testDoubles/MockTimeMarkerOutlet"), exports);
|
|
|
43
51
|
var SpyTimeMarkerOutlet_1 = require("./testDoubles/SpyTimeMarkerOutlet");
|
|
44
52
|
Object.defineProperty(exports, "SpyTimeMarkerOutlet", { enumerable: true, get: function () { return __importDefault(SpyTimeMarkerOutlet_1).default; } });
|
|
45
53
|
__exportStar(require("./testDoubles/SpyTimeMarkerOutlet"), exports);
|
|
46
|
-
var generateRandomOutletOptions_1 = require("./
|
|
54
|
+
var generateRandomOutletOptions_1 = require("./testDoubles/generateRandomOutletOptions");
|
|
47
55
|
Object.defineProperty(exports, "generateRandomOutletOptions", { enumerable: true, get: function () { return __importDefault(generateRandomOutletOptions_1).default; } });
|
|
48
56
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kDAA+B;AAE/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kDAA+B;AAE/B,8CAA2D;AAAlD,qHAAA,OAAO,OAAc;AAC9B,sDAAmC;AAEnC,4DAAqE;AAA5D,+HAAA,OAAO,OAAiB;AACjC,6DAA0C;AAE1C,mEAA4E;AAAnE,qIAAA,OAAO,OAAoB;AACpC,iEAA8C;AAE9C,+DAAwE;AAA/D,iIAAA,OAAO,OAAkB;AAElC,oDAAiE;AAAxD,2HAAA,OAAO,OAAiB;AACjC,yDAAsC;AAEtC,kEAA+E;AAAtE,yIAAA,OAAO,OAAwB;AACxC,gEAA6C;AAE7C,uDAAgE;AAAvD,yHAAA,OAAO,OAAc;AAC9B,2DAAwC;AAExC,6DAAsE;AAA7D,+HAAA,OAAO,OAAiB;AACjC,8DAA2C;AAE3C,2EAAoF;AAA3E,6IAAA,OAAO,OAAwB;AACxC,qEAAkD;AAElD,2EAAoF;AAA3E,6IAAA,OAAO,OAAwB;AACxC,qEAAkD;AAElD,yEAAkF;AAAzE,2IAAA,OAAO,OAAuB;AACvC,oEAAiD;AAEjD,yFAAkG;AAAzF,2JAAA,OAAO,OAA+B"}
|
package/build/nodeLsl.types.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { FuncObj, FieldType } from 'ffi-rs';
|
|
2
|
+
import { StreamInlet } from './components/LslInlet';
|
|
3
|
+
import { LslOutlet } from './components/LslOutlet';
|
|
2
4
|
import { CHANNEL_FORMATS } from './consts';
|
|
5
|
+
export type StreamFixuture = LslOutlet | StreamInlet;
|
|
3
6
|
export type ChannelFormat = (typeof CHANNEL_FORMATS)[number];
|
|
4
7
|
export interface DurationMarker {
|
|
5
8
|
name: string;
|
|
@@ -9,9 +12,11 @@ export interface Liblsl {
|
|
|
9
12
|
createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo;
|
|
10
13
|
appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
|
|
11
14
|
createOutlet(options: CreateOutletOptions): BoundOutlet;
|
|
12
|
-
destroyOutlet(options: DestroyOutletOptions): void;
|
|
13
15
|
pushSampleFloatTimestamp(options: PushSampleFloatTimestampOptions): void;
|
|
14
16
|
pushSampleStringTimestamp(options: PushSampleStringTimestampOptions): void;
|
|
17
|
+
destroyOutlet(options: DestroyOutletOptions): void;
|
|
18
|
+
createInlet(options: CreateInletOptions): BoundInlet;
|
|
19
|
+
destroyInlet(options: DestroyInletOptions): void;
|
|
15
20
|
localClock(): number;
|
|
16
21
|
}
|
|
17
22
|
export interface CreateStreamInfoOptions {
|
|
@@ -28,14 +33,17 @@ export interface AppendChannelsToStreamInfoOptions {
|
|
|
28
33
|
info: BoundStreamInfo;
|
|
29
34
|
channels: LslChannel[];
|
|
30
35
|
}
|
|
36
|
+
export interface LslChannel {
|
|
37
|
+
label: string;
|
|
38
|
+
unit: string;
|
|
39
|
+
type: string;
|
|
40
|
+
}
|
|
41
|
+
export type LslSample = (number | string | undefined)[];
|
|
31
42
|
export interface CreateOutletOptions {
|
|
32
43
|
info: BoundStreamInfo;
|
|
33
44
|
chunkSize: number;
|
|
34
45
|
maxBuffered: number;
|
|
35
46
|
}
|
|
36
|
-
export interface DestroyOutletOptions {
|
|
37
|
-
outlet: BoundOutlet;
|
|
38
|
-
}
|
|
39
47
|
export interface PushSampleFloatTimestampOptions {
|
|
40
48
|
outlet: BoundOutlet;
|
|
41
49
|
sample: number[];
|
|
@@ -46,27 +54,35 @@ export interface PushSampleStringTimestampOptions {
|
|
|
46
54
|
sample: string[];
|
|
47
55
|
timestamp: number;
|
|
48
56
|
}
|
|
49
|
-
export interface
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
export interface DestroyOutletOptions {
|
|
58
|
+
outlet: BoundOutlet;
|
|
59
|
+
}
|
|
60
|
+
export interface CreateInletOptions {
|
|
61
|
+
info: BoundStreamInfo;
|
|
62
|
+
chunkSize: number;
|
|
63
|
+
maxBuffered: number;
|
|
64
|
+
}
|
|
65
|
+
export interface DestroyInletOptions {
|
|
53
66
|
}
|
|
54
|
-
export type LslSample = (number | string | undefined)[];
|
|
55
67
|
export interface LiblslBindings {
|
|
56
|
-
lsl_create_streaminfo(
|
|
57
|
-
lsl_create_outlet(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
68
|
+
lsl_create_streaminfo(args: [string, string, number, number, number, string]): BoundStreamInfo;
|
|
69
|
+
lsl_create_outlet(args: [BoundStreamInfo, number, number]): BoundOutlet;
|
|
70
|
+
lsl_push_sample_ft(args: [BoundOutlet, LslSample, number]): void;
|
|
71
|
+
lsl_push_sample_strt(args: [BoundOutlet, LslSample, number]): void;
|
|
72
|
+
lsl_destroy_outlet(args: [BoundOutlet]): void;
|
|
73
|
+
lsl_create_inlet(args: any): BoundInlet;
|
|
74
|
+
lsl_destroy_inlet(args: any): void;
|
|
75
|
+
lsl_local_clock(args: []): number;
|
|
76
|
+
lsl_get_desc(args: [BoundStreamInfo]): BoundDescription;
|
|
77
|
+
lsl_append_child(args: [BoundDescription, string]): BoundChild;
|
|
78
|
+
lsl_append_child_value(args: [BoundChild, string, string]): void;
|
|
65
79
|
}
|
|
66
80
|
export interface BoundStreamInfo {
|
|
67
81
|
}
|
|
68
82
|
export interface BoundOutlet {
|
|
69
83
|
}
|
|
84
|
+
export interface BoundInlet {
|
|
85
|
+
}
|
|
70
86
|
export interface BoundDescription {
|
|
71
87
|
}
|
|
72
88
|
export interface BoundChild {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoundOutlet, BoundStreamInfo, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, PushSampleFloatTimestampOptions, PushSampleStringTimestampOptions, Liblsl } from '../nodeLsl.types';
|
|
1
|
+
import { BoundOutlet, BoundStreamInfo, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, PushSampleFloatTimestampOptions, PushSampleStringTimestampOptions, Liblsl, CreateInletOptions, DestroyInletOptions, BoundInlet } from '../nodeLsl.types';
|
|
2
2
|
export default class FakeLiblsl implements Liblsl {
|
|
3
3
|
outlet: BoundOutlet;
|
|
4
4
|
streamInfo: BoundStreamInfo;
|
|
@@ -7,15 +7,23 @@ export default class FakeLiblsl implements Liblsl {
|
|
|
7
7
|
lastCreateOutletOptions?: CreateOutletOptions;
|
|
8
8
|
lastPushSampleFloatTimestampOptions?: PushSampleFloatTimestampOptions;
|
|
9
9
|
lastPushSampleStringTimestampOptions?: PushSampleStringTimestampOptions;
|
|
10
|
+
lastCreateInletOptions?: CreateInletOptions;
|
|
11
|
+
lastDestroyInletOptions?: DestroyInletOptions;
|
|
10
12
|
createStreamInfoHitCount: number;
|
|
13
|
+
createOutletHitCount: number;
|
|
11
14
|
destroyOutletHitCount: number;
|
|
15
|
+
createInletHitCount: number;
|
|
16
|
+
destroyInletHitCount: number;
|
|
12
17
|
localClockHitCount: number;
|
|
13
18
|
pushSampleStringTimestampHitCount: number;
|
|
14
19
|
createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo;
|
|
15
20
|
appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
|
|
16
|
-
createOutlet(options: CreateOutletOptions): BoundOutlet;
|
|
17
|
-
destroyOutlet(): void;
|
|
18
21
|
pushSampleFloatTimestamp(options: PushSampleFloatTimestampOptions): void;
|
|
19
22
|
pushSampleStringTimestamp(options: PushSampleStringTimestampOptions): void;
|
|
23
|
+
createOutlet(options: CreateOutletOptions): BoundOutlet;
|
|
24
|
+
destroyOutlet(): void;
|
|
25
|
+
createInlet(options: CreateInletOptions): BoundInlet;
|
|
26
|
+
destroyInlet(options: DestroyInletOptions): void;
|
|
20
27
|
localClock(): number;
|
|
28
|
+
resetTestDouble(): void;
|
|
21
29
|
}
|
|
@@ -5,7 +5,10 @@ class FakeLiblsl {
|
|
|
5
5
|
this.outlet = {};
|
|
6
6
|
this.streamInfo = {};
|
|
7
7
|
this.createStreamInfoHitCount = 0;
|
|
8
|
+
this.createOutletHitCount = 0;
|
|
8
9
|
this.destroyOutletHitCount = 0;
|
|
10
|
+
this.createInletHitCount = 0;
|
|
11
|
+
this.destroyInletHitCount = 0;
|
|
9
12
|
this.localClockHitCount = 0;
|
|
10
13
|
this.pushSampleStringTimestampHitCount = 0;
|
|
11
14
|
}
|
|
@@ -17,24 +20,45 @@ class FakeLiblsl {
|
|
|
17
20
|
appendChannelsToStreamInfo(options) {
|
|
18
21
|
this.lastAppendChannelsToStreamInfoOptions = options;
|
|
19
22
|
}
|
|
23
|
+
pushSampleFloatTimestamp(options) {
|
|
24
|
+
this.lastPushSampleFloatTimestampOptions = options;
|
|
25
|
+
}
|
|
26
|
+
pushSampleStringTimestamp(options) {
|
|
27
|
+
this.lastPushSampleStringTimestampOptions = options;
|
|
28
|
+
this.pushSampleStringTimestampHitCount++;
|
|
29
|
+
}
|
|
20
30
|
createOutlet(options) {
|
|
31
|
+
this.createOutletHitCount++;
|
|
21
32
|
this.lastCreateOutletOptions = options;
|
|
22
33
|
return this.outlet;
|
|
23
34
|
}
|
|
24
35
|
destroyOutlet() {
|
|
25
36
|
this.destroyOutletHitCount++;
|
|
26
37
|
}
|
|
27
|
-
|
|
28
|
-
this.
|
|
38
|
+
createInlet(options) {
|
|
39
|
+
this.createInletHitCount++;
|
|
40
|
+
this.lastCreateInletOptions = options;
|
|
41
|
+
return {};
|
|
29
42
|
}
|
|
30
|
-
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
43
|
+
destroyInlet(options) {
|
|
44
|
+
this.destroyInletHitCount++;
|
|
45
|
+
this.lastDestroyInletOptions = options;
|
|
33
46
|
}
|
|
34
47
|
localClock() {
|
|
35
48
|
this.localClockHitCount++;
|
|
36
49
|
return new Date().getTime();
|
|
37
50
|
}
|
|
51
|
+
resetTestDouble() {
|
|
52
|
+
this.lastCreateStreamInfoOptions = undefined;
|
|
53
|
+
this.lastAppendChannelsToStreamInfoOptions = undefined;
|
|
54
|
+
this.lastCreateOutletOptions = undefined;
|
|
55
|
+
this.lastPushSampleFloatTimestampOptions = undefined;
|
|
56
|
+
this.lastPushSampleStringTimestampOptions = undefined;
|
|
57
|
+
this.createStreamInfoHitCount = 0;
|
|
58
|
+
this.destroyOutletHitCount = 0;
|
|
59
|
+
this.localClockHitCount = 0;
|
|
60
|
+
this.pushSampleStringTimestampHitCount = 0;
|
|
61
|
+
}
|
|
38
62
|
}
|
|
39
63
|
exports.default = FakeLiblsl;
|
|
40
64
|
//# sourceMappingURL=FakeLiblsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeLiblsl.js","sourceRoot":"","sources":["../../src/testDoubles/FakeLiblsl.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"FakeLiblsl.js","sourceRoot":"","sources":["../../src/testDoubles/FakeLiblsl.ts"],"names":[],"mappings":";;AAcA,MAAqB,UAAU;IAA/B;QACW,WAAM,GAAgB,EAAiB,CAAA;QACvC,eAAU,GAAoB,EAAqB,CAAA;QAUnD,6BAAwB,GAAG,CAAC,CAAA;QAC5B,yBAAoB,GAAG,CAAC,CAAA;QACxB,0BAAqB,GAAG,CAAC,CAAA;QACzB,wBAAmB,GAAG,CAAC,CAAA;QACvB,yBAAoB,GAAG,CAAC,CAAA;QACxB,uBAAkB,GAAG,CAAC,CAAA;QACtB,sCAAiC,GAAG,CAAC,CAAA;IA+DhD,CAAC;IA7DU,gBAAgB,CAAC,OAAgC;QACpD,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAEM,0BAA0B,CAC7B,OAA0C;QAE1C,IAAI,CAAC,qCAAqC,GAAG,OAAO,CAAA;IACxD,CAAC;IAEM,wBAAwB,CAAC,OAAwC;QACpE,IAAI,CAAC,mCAAmC,GAAG,OAAO,CAAA;IACtD,CAAC;IAEM,yBAAyB,CAC5B,OAAyC;QAEzC,IAAI,CAAC,oCAAoC,GAAG,OAAO,CAAA;QACnD,IAAI,CAAC,iCAAiC,EAAE,CAAA;IAC5C,CAAC;IAEM,YAAY,CAAC,OAA4B;QAC5C,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAA;QACtC,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAEM,aAAa;QAChB,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAChC,CAAC;IAEM,WAAW,CAAC,OAA2B;QAC1C,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAA;QACrC,OAAO,EAAgB,CAAA;IAC3B,CAAC;IAEM,YAAY,CAAC,OAA4B;QAC5C,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAA;IAC1C,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IAC/B,CAAC;IAEM,eAAe;QAClB,IAAI,CAAC,2BAA2B,GAAG,SAAS,CAAA;QAC5C,IAAI,CAAC,qCAAqC,GAAG,SAAS,CAAA;QACtD,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAA;QACxC,IAAI,CAAC,mCAAmC,GAAG,SAAS,CAAA;QACpD,IAAI,CAAC,oCAAoC,GAAG,SAAS,CAAA;QAErD,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,iCAAiC,GAAG,CAAC,CAAA;IAC9C,CAAC;CACJ;AAjFD,6BAiFC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { LslOutlet, LslOutletOptions } from '../
|
|
1
|
+
import { LslOutlet, LslOutletOptions } from '../components/LslOutlet';
|
|
2
|
+
import { StreamInfo } from '../components/LslStreamInfo';
|
|
2
3
|
import { LslSample } from '../nodeLsl.types';
|
|
3
4
|
export default class FakeLslOutlet implements LslOutlet {
|
|
5
|
+
static constructorInfo?: StreamInfo;
|
|
4
6
|
static constructorOptions?: LslOutletOptions;
|
|
5
7
|
static callsToPushSample: LslSample[];
|
|
6
8
|
static numCallsToDestroy: number;
|
|
7
|
-
constructor(options: LslOutletOptions);
|
|
9
|
+
constructor(info: StreamInfo, options: LslOutletOptions);
|
|
8
10
|
destroy(): void;
|
|
9
11
|
pushSample(sample: LslSample): void;
|
|
10
12
|
static resetTestDouble(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeLslOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/FakeLslOutlet.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"FakeLslOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/FakeLslOutlet.ts"],"names":[],"mappings":";;AAIA,MAAqB,aAAa;IAM9B,YAAmB,IAAgB,EAAE,OAAyB;QAC1D,aAAa,CAAC,eAAe,GAAG,IAAI,CAAA;QACpC,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAA;IAC9C,CAAC;IAEM,OAAO;QACV,aAAa,CAAC,iBAAiB,EAAE,CAAA;IACrC,CAAC;IAEM,UAAU,CAAC,MAAiB;QAC/B,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,aAAa,CAAC,kBAAkB,GAAG,SAAS,CAAA;QAC5C,aAAa,CAAC,iBAAiB,GAAG,EAAE,CAAA;QACpC,aAAa,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACvC,CAAC;;AApBa,+BAAiB,GAAgB,EAAE,CAAA;AACnC,+BAAiB,GAAG,CAAC,CAAA;kBAJlB,aAAa"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class FakeStreamInfo {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
FakeStreamInfo.callsToConstructor.push(options);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
FakeStreamInfo.callsToConstructor = [];
|
|
9
|
+
exports.default = FakeStreamInfo;
|
|
10
|
+
//# sourceMappingURL=FakeLslStreamInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeLslStreamInfo.js","sourceRoot":"","sources":["../../src/testDoubles/FakeLslStreamInfo.ts"],"names":[],"mappings":";;AAEA,MAAqB,cAAc;IAG/B,YAAmB,OAA0B;QACzC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;;AAJa,iCAAkB,GAAwB,EAAE,CAAA;kBADzC,cAAc"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { StreamInfo, StreamInfoOptions } from '../components/LslStreamInfo';
|
|
2
|
+
import { BoundStreamInfo } from '../nodeLsl.types';
|
|
3
|
+
export default class FakeStreamInfo implements StreamInfo {
|
|
4
|
+
static callsToConstructor: StreamInfoOptions[];
|
|
5
|
+
static boundStreamInfo: BoundStreamInfo;
|
|
6
|
+
constructor(options: StreamInfoOptions);
|
|
7
|
+
get boundStreamInfo(): BoundStreamInfo;
|
|
8
|
+
static resetTestDouble(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class FakeStreamInfo {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
FakeStreamInfo.callsToConstructor.push(options);
|
|
6
|
+
}
|
|
7
|
+
get boundStreamInfo() {
|
|
8
|
+
return FakeStreamInfo.boundStreamInfo;
|
|
9
|
+
}
|
|
10
|
+
static resetTestDouble() {
|
|
11
|
+
FakeStreamInfo.callsToConstructor = [];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
FakeStreamInfo.callsToConstructor = [];
|
|
15
|
+
FakeStreamInfo.boundStreamInfo = {};
|
|
16
|
+
exports.default = FakeStreamInfo;
|
|
17
|
+
//# sourceMappingURL=FakeStreamInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeStreamInfo.js","sourceRoot":"","sources":["../../src/testDoubles/FakeStreamInfo.ts"],"names":[],"mappings":";;AAGA,MAAqB,cAAc;IAI/B,YAAmB,OAA0B;QACzC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,cAAc,CAAC,eAAe,CAAA;IACzC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,cAAc,CAAC,kBAAkB,GAAG,EAAE,CAAA;IAC1C,CAAC;;AAba,iCAAkB,GAAwB,EAAE,CAAA;AAC5C,8BAAe,GAAG,EAAqB,CAAA;kBAFpC,cAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TimeMarkerOutlet } from '../
|
|
1
|
+
import { TimeMarkerOutlet } from '../components/TimeMarkerOutlet';
|
|
2
2
|
import { DurationMarker } from '../nodeLsl.types';
|
|
3
3
|
export default class FakeTimeMarkerOutlet implements TimeMarkerOutlet {
|
|
4
4
|
pushMarkersCalls: DurationMarker[][];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import LslInlet, { LslInletOptions } from '../components/LslInlet';
|
|
2
|
+
import { StreamInfo } from '../components/LslStreamInfo';
|
|
3
|
+
export declare class SpyLslInlet extends LslInlet {
|
|
4
|
+
constructor(info: StreamInfo, options: LslInletOptions);
|
|
5
|
+
getName(): string;
|
|
6
|
+
getStreamInfo(): StreamInfo;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SpyLslInlet = void 0;
|
|
7
|
+
const LslInlet_1 = __importDefault(require("../components/LslInlet"));
|
|
8
|
+
class SpyLslInlet extends LslInlet_1.default {
|
|
9
|
+
constructor(info, options) {
|
|
10
|
+
super(info, options);
|
|
11
|
+
}
|
|
12
|
+
getName() {
|
|
13
|
+
return this.name;
|
|
14
|
+
}
|
|
15
|
+
getStreamInfo() {
|
|
16
|
+
return this.info;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.SpyLslInlet = SpyLslInlet;
|
|
20
|
+
//# sourceMappingURL=SpyLslInlet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpyLslInlet.js","sourceRoot":"","sources":["../../src/testDoubles/SpyLslInlet.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAkE;AAGlE,MAAa,WAAY,SAAQ,kBAAQ;IACrC,YAAmB,IAAgB,EAAE,OAAwB;QACzD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;CACJ;AAZD,kCAYC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import LslStreamInfo, { StreamInfoOptions } from '../components/LslStreamInfo';
|
|
2
|
+
export default class SpyLslStreamInfo extends LslStreamInfo {
|
|
3
|
+
constructor(options: StreamInfoOptions);
|
|
4
|
+
getStreamInfo(): import("..").BoundStreamInfo;
|
|
5
|
+
getName(): string;
|
|
6
|
+
getType(): string;
|
|
7
|
+
getSourceId(): string;
|
|
8
|
+
getUnits(): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const LslStreamInfo_1 = __importDefault(require("../components/LslStreamInfo"));
|
|
7
|
+
class SpyLslStreamInfo extends LslStreamInfo_1.default {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super(options);
|
|
10
|
+
}
|
|
11
|
+
getStreamInfo() {
|
|
12
|
+
return this.streamInfo;
|
|
13
|
+
}
|
|
14
|
+
getName() {
|
|
15
|
+
return this.name;
|
|
16
|
+
}
|
|
17
|
+
getType() {
|
|
18
|
+
return this.type;
|
|
19
|
+
}
|
|
20
|
+
getSourceId() {
|
|
21
|
+
return this.sourceId;
|
|
22
|
+
}
|
|
23
|
+
getUnits() {
|
|
24
|
+
return this.units;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.default = SpyLslStreamInfo;
|
|
28
|
+
//# sourceMappingURL=SpyLslStreamInfo.js.map
|