@neurodevs/node-lsl 10.2.1 → 10.2.2

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.
@@ -8,11 +8,11 @@ export default class AbstractNodeLslTest extends AbstractSpruceTest {
8
8
  protected static setFakeStreamInfo(): void;
9
9
  protected static setSpyLslInlet(): void;
10
10
  protected static setSpyTimeMarkerOutlet(): void;
11
- protected static readonly channelNames: string[];
12
- protected static readonly infoName: string;
11
+ protected static readonly name_: string;
13
12
  protected static readonly type: string;
14
13
  protected static readonly sourceId: string;
15
14
  protected static readonly units: string;
15
+ protected static readonly channelNames: string[];
16
16
  protected static readonly chunkSize: number;
17
17
  protected static readonly maxBuffered: number;
18
18
  }
@@ -69,11 +69,11 @@ class AbstractNodeLslTest extends test_utils_1.default {
69
69
  TimeMarkerOutlet_1.default.Class = SpyTimeMarkerOutlet_1.default;
70
70
  }
71
71
  }
72
- AbstractNodeLslTest.channelNames = [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()];
73
- AbstractNodeLslTest.infoName = (0, test_utils_1.generateId)();
72
+ AbstractNodeLslTest.name_ = (0, test_utils_1.generateId)();
74
73
  AbstractNodeLslTest.type = (0, test_utils_1.generateId)();
75
74
  AbstractNodeLslTest.sourceId = (0, test_utils_1.generateId)();
76
75
  AbstractNodeLslTest.units = (0, test_utils_1.generateId)();
76
+ AbstractNodeLslTest.channelNames = [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()];
77
77
  AbstractNodeLslTest.chunkSize = Math.floor(Math.random() * 100);
78
78
  AbstractNodeLslTest.maxBuffered = Math.floor(Math.random() * 100);
79
79
  exports.default = AbstractNodeLslTest;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNodeLslTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractNodeLslTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuE;AACvE,kEAA6C;AAC7C,sEAA6C;AAC7C,gFAAuD;AACvD,sFAAiE;AACjE,2EAAkD;AAClD,mFAA0D;AAC1D,4DAAwD;AACxD,uFAA8D;AAC9D,6FAAoE;AAEpE,MAAqB,mBAAoB,SAAQ,oBAAkB;IAGrD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,aAAa,EAAE,CAAA;IACxB,CAAC;IAES,MAAM,CAAC,aAAa;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,EAAE,CAAA;QAClC,gBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAES,MAAM,CAAC,mBAAmB;QAChC,uBAAa,CAAC,KAAK,GAAG,0BAAgB,CAAA;IAC1C,CAAC;IAES,MAAM,CAAC,iBAAiB;QAC9B,uBAAa,CAAC,KAAK,GAAG,wBAAc,CAAA;QACpC,wBAAc,CAAC,eAAe,EAAE,CAAA;IACpC,CAAC;IAES,MAAM,CAAC,cAAc;QAC3B,kBAAQ,CAAC,KAAK,GAAG,yBAAW,CAAA;IAChC,CAAC;IAES,MAAM,CAAC,sBAAsB;QACnC,0BAAoB,CAAC,KAAK,GAAG,6BAAmB,CAAA;IACpD,CAAC;;AAEyB,gCAAY,GAAG,CAAC,IAAA,uBAAU,GAAE,EAAE,IAAA,uBAAU,GAAE,CAAC,CAAA;AAC3C,4BAAQ,GAAG,IAAA,uBAAU,GAAE,CAAA;AACvB,wBAAI,GAAG,IAAA,uBAAU,GAAE,CAAA;AACnB,4BAAQ,GAAG,IAAA,uBAAU,GAAE,CAAA;AACvB,yBAAK,GAAG,IAAA,uBAAU,GAAE,CAAA;AACpB,6BAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;AAC3C,+BAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;kBArCtD,mBAAmB"}
1
+ {"version":3,"file":"AbstractNodeLslTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractNodeLslTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuE;AACvE,kEAA6C;AAC7C,sEAA6C;AAC7C,gFAAuD;AACvD,sFAAiE;AACjE,2EAAkD;AAClD,mFAA0D;AAC1D,4DAAwD;AACxD,uFAA8D;AAC9D,6FAAoE;AAEpE,MAAqB,mBAAoB,SAAQ,oBAAkB;IAGrD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,aAAa,EAAE,CAAA;IACxB,CAAC;IAES,MAAM,CAAC,aAAa;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,EAAE,CAAA;QAClC,gBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAES,MAAM,CAAC,mBAAmB;QAChC,uBAAa,CAAC,KAAK,GAAG,0BAAgB,CAAA;IAC1C,CAAC;IAES,MAAM,CAAC,iBAAiB;QAC9B,uBAAa,CAAC,KAAK,GAAG,wBAAc,CAAA;QACpC,wBAAc,CAAC,eAAe,EAAE,CAAA;IACpC,CAAC;IAES,MAAM,CAAC,cAAc;QAC3B,kBAAQ,CAAC,KAAK,GAAG,yBAAW,CAAA;IAChC,CAAC;IAES,MAAM,CAAC,sBAAsB;QACnC,0BAAoB,CAAC,KAAK,GAAG,6BAAmB,CAAA;IACpD,CAAC;;AAEyB,yBAAK,GAAG,IAAA,uBAAU,GAAE,CAAA;AACpB,wBAAI,GAAG,IAAA,uBAAU,GAAE,CAAA;AACnB,4BAAQ,GAAG,IAAA,uBAAU,GAAE,CAAA;AACvB,yBAAK,GAAG,IAAA,uBAAU,GAAE,CAAA;AACpB,gCAAY,GAAG,CAAC,IAAA,uBAAU,GAAE,EAAE,IAAA,uBAAU,GAAE,CAAC,CAAA;AAC3C,6BAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;AAC3C,+BAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;kBArCtD,mBAAmB"}
@@ -42,7 +42,7 @@ class LslInletTest extends AbstractNodeLslTest_1.default {
42
42
  channelNames: this.channelNames,
43
43
  channelFormat: 'float32',
44
44
  sampleRate: 0,
45
- name: this.infoName,
45
+ name: this.name_,
46
46
  type: this.type,
47
47
  sourceId: this.sourceId,
48
48
  }, 'Stream info should have expected options!');
@@ -65,7 +65,7 @@ class LslInletTest extends AbstractNodeLslTest_1.default {
65
65
  channelNames: this.channelNames,
66
66
  channelFormat: 'float32',
67
67
  sampleRate: 0,
68
- name: this.infoName,
68
+ name: this.name_,
69
69
  type: this.type,
70
70
  sourceId: this.sourceId,
71
71
  chunkSize: this.chunkSize,
@@ -1 +1 @@
1
- {"version":3,"file":"LslInlet.test.js","sourceRoot":"","sources":["../../src/__tests__/LslInlet.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LslInlet.test.js","sourceRoot":"","sources":["../../src/__tests__/LslInlet.test.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,19 @@ export default class TimeMarkerOutletTest extends AbstractNodeLslTest {
10
10
  protected static canStartAgainAfterStopping(): Promise<void>;
11
11
  protected static doesNotWaitIfStopped(): Promise<void>;
12
12
  protected static clearsTheTimeoutOnStop(): Promise<void>;
13
+ protected static createsStreamInfoWithCorrectOptions(): Promise<void>;
13
14
  private static setupTimeMarkerImpl;
14
15
  private static pushTotalMarkers;
15
16
  private static generateDurationMarkerValues;
17
+ protected static readonly name_ = "Time markers";
18
+ protected static readonly type = "Markers";
19
+ protected static readonly channelNames: string[];
20
+ protected static readonly channelFormat = "string";
21
+ protected static readonly sourceId = "time-markers";
22
+ protected static readonly manufacturer = "N/A";
23
+ protected static readonly unit = "N/A";
24
+ protected static readonly sampleRate = 0;
25
+ protected static readonly chunkSize = 0;
26
+ protected static readonly maxBuffered = 0;
16
27
  private static Outlet;
17
28
  }
@@ -12,27 +12,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const crypto_1 = require("crypto");
13
13
  const test_utils_1 = require("@sprucelabs/test-utils");
14
14
  const TimeMarkerOutlet_1 = __importDefault(require("../components/TimeMarkerOutlet"));
15
+ const FakeStreamInfo_1 = __importDefault(require("../testDoubles/FakeStreamInfo"));
15
16
  const generateRandomOutletOptions_1 = __importDefault(require("../testDoubles/generateRandomOutletOptions"));
16
17
  const AbstractNodeLslTest_1 = __importDefault(require("./AbstractNodeLslTest"));
17
18
  class TimeMarkerOutletTest extends AbstractNodeLslTest_1.default {
18
19
  static async beforeEach() {
19
20
  await super.beforeEach();
21
+ this.setFakeStreamInfo();
20
22
  this.setSpyTimeMarkerOutlet();
21
23
  this.setFakeLiblsl();
22
24
  this.outlet = await this.Outlet();
23
25
  }
24
26
  static async loadsWithTimeMarkerSpecificOptions() {
25
27
  test_utils_1.assert.isEqualDeep(this.outlet.passedOptions, {
26
- name: 'Time markers',
27
- type: 'Markers',
28
- channelNames: ['Markers'],
29
- sampleRate: 0,
30
- channelFormat: 'string',
31
- sourceId: 'time-markers',
32
- manufacturer: 'N/A',
33
- unit: 'N/A',
34
- chunkSize: 0,
35
- maxBuffered: 0,
28
+ name: this.name_,
29
+ type: this.type,
30
+ channelNames: this.channelNames,
31
+ sampleRate: this.sampleRate,
32
+ channelFormat: this.channelFormat,
33
+ sourceId: this.sourceId,
34
+ manufacturer: this.manufacturer,
35
+ unit: this.unit,
36
+ chunkSize: this.chunkSize,
37
+ maxBuffered: this.maxBuffered,
36
38
  });
37
39
  }
38
40
  static async canOverrideDefaultOptions() {
@@ -88,6 +90,17 @@ class TimeMarkerOutletTest extends AbstractNodeLslTest_1.default {
88
90
  await promise;
89
91
  await this.wait(100);
90
92
  }
93
+ static async createsStreamInfoWithCorrectOptions() {
94
+ test_utils_1.assert.isEqualDeep(FakeStreamInfo_1.default.callsToConstructor[0], {
95
+ channelNames: this.channelNames,
96
+ channelFormat: this.channelFormat,
97
+ sampleRate: this.sampleRate,
98
+ name: this.name_,
99
+ type: this.type,
100
+ sourceId: this.sourceId,
101
+ units: this.unit,
102
+ }, 'Should create stream info!');
103
+ }
91
104
  static async setupTimeMarkerImpl() {
92
105
  TimeMarkerOutlet_1.default.Class = TimeMarkerOutlet_1.default;
93
106
  this.outlet = await this.Outlet();
@@ -109,6 +122,16 @@ class TimeMarkerOutletTest extends AbstractNodeLslTest_1.default {
109
122
  return (await TimeMarkerOutlet_1.default.Create(options));
110
123
  }
111
124
  }
125
+ TimeMarkerOutletTest.name_ = 'Time markers';
126
+ TimeMarkerOutletTest.type = 'Markers';
127
+ TimeMarkerOutletTest.channelNames = ['Markers'];
128
+ TimeMarkerOutletTest.channelFormat = 'string';
129
+ TimeMarkerOutletTest.sourceId = 'time-markers';
130
+ TimeMarkerOutletTest.manufacturer = 'N/A';
131
+ TimeMarkerOutletTest.unit = 'N/A';
132
+ TimeMarkerOutletTest.sampleRate = 0;
133
+ TimeMarkerOutletTest.chunkSize = 0;
134
+ TimeMarkerOutletTest.maxBuffered = 0;
112
135
  exports.default = TimeMarkerOutletTest;
113
136
  __decorate([
114
137
  (0, test_utils_1.test)()
@@ -136,4 +159,7 @@ __decorate([
136
159
  __decorate([
137
160
  (0, test_utils_1.test)()
138
161
  ], TimeMarkerOutletTest, "clearsTheTimeoutOnStop", null);
162
+ __decorate([
163
+ (0, test_utils_1.test)()
164
+ ], TimeMarkerOutletTest, "createsStreamInfoWithCorrectOptions", null);
139
165
  //# sourceMappingURL=TimeMarkerOutlet.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimeMarkerOutlet.test.js","sourceRoot":"","sources":["../../src/__tests__/TimeMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimeMarkerOutlet.test.js","sourceRoot":"","sources":["../../src/__tests__/TimeMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
@@ -4,28 +4,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const LslOutlet_1 = __importDefault(require("./LslOutlet"));
7
+ const LslStreamInfo_1 = __importDefault(require("./LslStreamInfo"));
7
8
  class TimeMarkerOutletImpl extends LslOutlet_1.default {
8
9
  constructor() {
9
10
  super(...arguments);
10
11
  this.isPlaying = false;
11
12
  }
12
13
  static async Create(options) {
13
- const defaultOptions = {
14
+ const { unit, manufacturer, maxBuffered, chunkSize } = options ?? {};
15
+ const infoOptions = {
14
16
  name: 'Time markers',
15
17
  type: 'Markers',
16
18
  channelNames: ['Markers'],
17
19
  sampleRate: 0,
18
20
  channelFormat: 'string',
19
21
  sourceId: 'time-markers',
20
- manufacturer: 'N/A',
21
- unit: 'N/A',
22
- chunkSize: 0,
23
- maxBuffered: 0,
24
- };
25
- return new (this.Class ?? this)({}, {
26
- ...defaultOptions,
22
+ units: unit ?? 'N/A',
27
23
  ...options,
28
- });
24
+ };
25
+ const info = LslStreamInfo_1.default.Create(infoOptions);
26
+ const outletOptions = {
27
+ ...infoOptions,
28
+ manufacturer: manufacturer ?? 'N/A',
29
+ chunkSize: chunkSize ?? 0,
30
+ maxBuffered: maxBuffered ?? 0,
31
+ unit: unit ?? 'N/A',
32
+ };
33
+ // @ts-ignore
34
+ delete outletOptions.units;
35
+ return new (this.Class ?? this)(info, outletOptions);
29
36
  }
30
37
  async pushMarkers(markers) {
31
38
  this.isPlaying = true;
@@ -1 +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"}
1
+ {"version":3,"file":"TimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/components/TimeMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,4DAAwE;AACxE,oEAA2D;AAE3D,MAAqB,oBACjB,SAAQ,mBAAa;IADzB;;QAMY,cAAS,GAAG,KAAK,CAAA;IA8D7B,CAAC;IA1DU,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC1D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEpE,MAAM,WAAW,GAAG;YAChB,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,KAAK,EAAE,IAAI,IAAI,KAAK;YACpB,GAAG,OAAO;SACO,CAAA;QAErB,MAAM,IAAI,GAAG,uBAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE9C,MAAM,aAAa,GAAG;YAClB,GAAG,WAAW;YACd,YAAY,EAAE,YAAY,IAAI,KAAK;YACnC,SAAS,EAAE,SAAS,IAAI,CAAC;YACzB,WAAW,EAAE,WAAW,IAAI,CAAC;YAC7B,IAAI,EAAE,IAAI,IAAI,KAAK;SACtB,CAAA;QAED,aAAa;QACb,OAAO,aAAa,CAAC,KAAK,CAAA;QAE1B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,CAAqB,CAAA;IAC5E,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;AApED,uCAoEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/node-lsl",
3
- "version": "10.2.1",
3
+ "version": "10.2.2",
4
4
  "main": "build/index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,11 +40,11 @@ export default class AbstractNodeLslTest extends AbstractSpruceTest {
40
40
  TimeMarkerOutletImpl.Class = SpyTimeMarkerOutlet
41
41
  }
42
42
 
43
- protected static readonly channelNames = [generateId(), generateId()]
44
- protected static readonly infoName = generateId()
43
+ protected static readonly name_ = generateId()
45
44
  protected static readonly type = generateId()
46
45
  protected static readonly sourceId = generateId()
47
46
  protected static readonly units = generateId()
47
+ protected static readonly channelNames = [generateId(), generateId()]
48
48
  protected static readonly chunkSize = Math.floor(Math.random() * 100)
49
49
  protected static readonly maxBuffered = Math.floor(Math.random() * 100)
50
50
  }
@@ -46,7 +46,7 @@ export default class LslInletTest extends AbstractNodeLslTest {
46
46
  channelNames: this.channelNames,
47
47
  channelFormat: 'float32',
48
48
  sampleRate: 0,
49
- name: this.infoName,
49
+ name: this.name_,
50
50
  type: this.type,
51
51
  sourceId: this.sourceId,
52
52
  },
@@ -87,7 +87,7 @@ export default class LslInletTest extends AbstractNodeLslTest {
87
87
  channelNames: this.channelNames,
88
88
  channelFormat: 'float32',
89
89
  sampleRate: 0,
90
- name: this.infoName,
90
+ name: this.name_,
91
91
  type: this.type,
92
92
  sourceId: this.sourceId,
93
93
  chunkSize: this.chunkSize,
@@ -2,6 +2,7 @@ import { randomInt } from 'crypto'
2
2
  import { assert, generateId, test } from '@sprucelabs/test-utils'
3
3
  import { LslOutletOptions } from '../components/LslOutlet'
4
4
  import TimeMarkerOutletImpl from '../components/TimeMarkerOutlet'
5
+ import FakeStreamInfo from '../testDoubles/FakeStreamInfo'
5
6
  import generateRandomOutletOptions from '../testDoubles/generateRandomOutletOptions'
6
7
  import SpyTimeMarkerOutlet from '../testDoubles/SpyTimeMarkerOutlet'
7
8
  import AbstractNodeLslTest from './AbstractNodeLslTest'
@@ -12,6 +13,7 @@ export default class TimeMarkerOutletTest extends AbstractNodeLslTest {
12
13
  protected static async beforeEach() {
13
14
  await super.beforeEach()
14
15
 
16
+ this.setFakeStreamInfo()
15
17
  this.setSpyTimeMarkerOutlet()
16
18
  this.setFakeLiblsl()
17
19
 
@@ -21,16 +23,16 @@ export default class TimeMarkerOutletTest extends AbstractNodeLslTest {
21
23
  @test()
22
24
  protected static async loadsWithTimeMarkerSpecificOptions() {
23
25
  assert.isEqualDeep(this.outlet.passedOptions, {
24
- name: 'Time markers',
25
- type: 'Markers',
26
- channelNames: ['Markers'],
27
- sampleRate: 0,
28
- channelFormat: 'string',
29
- sourceId: 'time-markers',
30
- manufacturer: 'N/A',
31
- unit: 'N/A',
32
- chunkSize: 0,
33
- maxBuffered: 0,
26
+ name: this.name_,
27
+ type: this.type,
28
+ channelNames: this.channelNames,
29
+ sampleRate: this.sampleRate,
30
+ channelFormat: this.channelFormat,
31
+ sourceId: this.sourceId,
32
+ manufacturer: this.manufacturer,
33
+ unit: this.unit,
34
+ chunkSize: this.chunkSize,
35
+ maxBuffered: this.maxBuffered,
34
36
  })
35
37
  }
36
38
 
@@ -121,6 +123,23 @@ export default class TimeMarkerOutletTest extends AbstractNodeLslTest {
121
123
  await this.wait(100)
122
124
  }
123
125
 
126
+ @test()
127
+ protected static async createsStreamInfoWithCorrectOptions() {
128
+ assert.isEqualDeep(
129
+ FakeStreamInfo.callsToConstructor[0],
130
+ {
131
+ channelNames: this.channelNames,
132
+ channelFormat: this.channelFormat,
133
+ sampleRate: this.sampleRate,
134
+ name: this.name_,
135
+ type: this.type,
136
+ sourceId: this.sourceId,
137
+ units: this.unit,
138
+ },
139
+ 'Should create stream info!'
140
+ )
141
+ }
142
+
124
143
  private static async setupTimeMarkerImpl() {
125
144
  TimeMarkerOutletImpl.Class = TimeMarkerOutletImpl as any
126
145
  this.outlet = await this.Outlet()
@@ -143,6 +162,17 @@ export default class TimeMarkerOutletTest extends AbstractNodeLslTest {
143
162
  }
144
163
  }
145
164
 
165
+ protected static readonly name_ = 'Time markers'
166
+ protected static readonly type = 'Markers'
167
+ protected static readonly channelNames = ['Markers']
168
+ protected static readonly channelFormat = 'string'
169
+ protected static readonly sourceId = 'time-markers'
170
+ protected static readonly manufacturer = 'N/A'
171
+ protected static readonly unit = 'N/A'
172
+ protected static readonly sampleRate = 0
173
+ protected static readonly chunkSize = 0
174
+ protected static readonly maxBuffered = 0
175
+
146
176
  private static async Outlet(options?: Partial<LslOutletOptions>) {
147
177
  return (await TimeMarkerOutletImpl.Create(
148
178
  options
@@ -1,6 +1,6 @@
1
1
  import { DurationMarker } from '../nodeLsl.types'
2
2
  import LslOutletImpl, { LslOutlet, LslOutletOptions } from './LslOutlet'
3
- import { StreamInfo } from './LslStreamInfo'
3
+ import LslStreamInfo, { StreamInfo } from './LslStreamInfo'
4
4
 
5
5
  export default class TimeMarkerOutletImpl
6
6
  extends LslOutletImpl
@@ -13,23 +13,33 @@ export default class TimeMarkerOutletImpl
13
13
  private timeout?: any
14
14
 
15
15
  public static async Create(options?: Partial<LslOutletOptions>) {
16
- const defaultOptions = {
16
+ const { unit, manufacturer, maxBuffered, chunkSize } = options ?? {}
17
+
18
+ const infoOptions = {
17
19
  name: 'Time markers',
18
20
  type: 'Markers',
19
21
  channelNames: ['Markers'],
20
22
  sampleRate: 0,
21
23
  channelFormat: 'string',
22
24
  sourceId: 'time-markers',
23
- manufacturer: 'N/A',
24
- unit: 'N/A',
25
- chunkSize: 0,
26
- maxBuffered: 0,
25
+ units: unit ?? 'N/A',
26
+ ...options,
27
27
  } as LslOutletOptions
28
28
 
29
- return new (this.Class ?? this)({} as StreamInfo, {
30
- ...defaultOptions,
31
- ...options,
32
- }) as TimeMarkerOutlet
29
+ const info = LslStreamInfo.Create(infoOptions)
30
+
31
+ const outletOptions = {
32
+ ...infoOptions,
33
+ manufacturer: manufacturer ?? 'N/A',
34
+ chunkSize: chunkSize ?? 0,
35
+ maxBuffered: maxBuffered ?? 0,
36
+ unit: unit ?? 'N/A',
37
+ }
38
+
39
+ // @ts-ignore
40
+ delete outletOptions.units
41
+
42
+ return new (this.Class ?? this)(info, outletOptions) as TimeMarkerOutlet
33
43
  }
34
44
 
35
45
  public async pushMarkers(markers: DurationMarker[]) {