@neurodevs/node-lsl 2.0.2 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,2 +1,2 @@
1
1
  # node-lsl
2
- Lab Streaming Layer (LSL) on Node
2
+ Lab Streaming Layer (LSL) on Node + TypeScript
package/build/Liblsl.d.ts CHANGED
@@ -4,22 +4,21 @@ export default class LiblslImpl implements Liblsl {
4
4
  static ffi: typeof ffi;
5
5
  private bindings;
6
6
  static getInstance(): Liblsl;
7
- static reset(): void;
8
7
  static setInstance(instance: Liblsl): void;
8
+ static resetInstance(): void;
9
9
  constructor();
10
- appendChannelsToStreamInfo(info: LslBindingsStreamInfo, channels: LslChannel[]): void;
11
10
  private loadBindings;
12
- pushSample(outlet: LslBindingsOutlet, sample: LslSample): void;
13
- createOutlet(options: CreateOutletOptions): LslBindingsOutlet;
14
- createStreamInfo(options: CreateStreamInfoOptions): LslBindingsStreamInfo;
11
+ createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo;
12
+ appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
13
+ createOutlet(options: CreateOutletOptions): BoundOutlet;
14
+ pushSample(options: PushSampleOptions): void;
15
15
  }
16
16
  export interface Liblsl {
17
- appendChannelsToStreamInfo(info: LslBindingsStreamInfo, channels: LslChannel[]): void;
18
- createStreamInfo(options: CreateStreamInfoOptions): LslBindingsStreamInfo;
19
- createOutlet(options: CreateOutletOptions): LslBindingsOutlet;
20
- pushSample(outlet: LslBindingsOutlet, sample: LslSample): void;
17
+ createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo;
18
+ appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void;
19
+ createOutlet(options: CreateOutletOptions): BoundOutlet;
20
+ pushSample(options: PushSampleOptions): void;
21
21
  }
22
- export type LslSample = (number | string | undefined)[];
23
22
  export interface CreateStreamInfoOptions {
24
23
  name: string;
25
24
  type: string;
@@ -30,30 +29,39 @@ export interface CreateStreamInfoOptions {
30
29
  manufacturer?: string;
31
30
  unit?: string;
32
31
  }
32
+ export interface AppendChannelsToStreamInfoOptions {
33
+ info: BoundStreamInfo;
34
+ channels: LslChannel[];
35
+ }
36
+ export interface CreateOutletOptions {
37
+ info: BoundStreamInfo;
38
+ chunkSize: number;
39
+ maxBuffered: number;
40
+ }
41
+ export interface PushSampleOptions {
42
+ outlet: BoundOutlet;
43
+ sample: LslSample;
44
+ }
33
45
  export interface LslChannel {
34
46
  label: string;
35
47
  unit: string;
36
48
  type: string;
37
49
  }
50
+ export type LslSample = (number | string | undefined)[];
38
51
  export interface LiblslBindings {
39
- lsl_create_streaminfo(name: string, type: string, channelCount: number, sampleRate: number, channelFormat: number, sourceId: string): LslBindingsStreamInfo;
40
- lsl_create_outlet(info: LslBindingsStreamInfo, chunkSize: number, maxBuffered: number): LslBindingsOutlet;
41
- lsl_push_sample_ft(outlet: LslBindingsOutlet, sample: LslSample, timestamp: number): void;
52
+ lsl_create_streaminfo(name: string, type: string, channelCount: number, sampleRate: number, channelFormat: number, sourceId: string): BoundStreamInfo;
53
+ lsl_create_outlet(info: BoundStreamInfo, chunkSize: number, maxBuffered: number): BoundOutlet;
54
+ lsl_push_sample_ft(outlet: BoundOutlet, sample: LslSample, timestamp: number): void;
42
55
  lsl_local_clock(): number;
43
- lsl_get_desc(info: LslBindingsStreamInfo): LslBindingsDesc;
44
- lsl_append_child(desc: LslBindingsDesc, name: string): LslBindingsChild;
45
- lsl_append_child_value(child: LslBindingsChild, name: string, value: string): void;
46
- }
47
- export interface CreateOutletOptions {
48
- info: LslBindingsStreamInfo;
49
- chunkSize: number;
50
- maxBuffered: number;
56
+ lsl_get_desc(info: BoundStreamInfo): BoundDesc;
57
+ lsl_append_child(desc: BoundDesc, name: string): BoundChild;
58
+ lsl_append_child_value(child: BoundChild, name: string, value: string): void;
51
59
  }
52
- export interface LslBindingsStreamInfo {
60
+ export interface BoundStreamInfo {
53
61
  }
54
- export interface LslBindingsOutlet {
62
+ export interface BoundOutlet {
55
63
  }
56
- export interface LslBindingsDesc {
64
+ export interface BoundDesc {
57
65
  }
58
- export interface LslBindingsChild {
66
+ export interface BoundChild {
59
67
  }
package/build/Liblsl.js CHANGED
@@ -11,16 +11,16 @@ const SpruceError_1 = __importDefault(require("./errors/SpruceError"));
11
11
  class LiblslImpl {
12
12
  static getInstance() {
13
13
  if (!this.instance) {
14
- this.instance = new this();
14
+ this.setInstance(new this());
15
15
  }
16
16
  return this.instance;
17
17
  }
18
- static reset() {
19
- delete this.instance;
20
- }
21
18
  static setInstance(instance) {
22
19
  this.instance = instance;
23
20
  }
21
+ static resetInstance() {
22
+ delete this.instance;
23
+ }
24
24
  constructor() {
25
25
  const path = process.env.LIBLSL_PATH;
26
26
  if (!path) {
@@ -29,25 +29,13 @@ class LiblslImpl {
29
29
  try {
30
30
  this.bindings = this.loadBindings(path);
31
31
  }
32
- catch (err) {
33
- console.error(err);
32
+ catch (_a) {
34
33
  throw new SpruceError_1.default({
35
34
  code: 'FAILED_TO_LOAD_LIBLSL',
36
35
  liblslPath: path,
37
36
  });
38
37
  }
39
38
  }
40
- appendChannelsToStreamInfo(info, channels) {
41
- (0, schema_1.assertOptions)({ info, channels }, ['info', 'channels']);
42
- const desc = this.bindings.lsl_get_desc(info);
43
- const parent = this.bindings.lsl_append_child(desc, 'channels');
44
- for (const channel of channels) {
45
- const c = this.bindings.lsl_append_child(parent, 'channel');
46
- this.bindings.lsl_append_child_value(c, 'label', channel.label);
47
- this.bindings.lsl_append_child_value(c, 'unit', channel.unit);
48
- this.bindings.lsl_append_child_value(c, 'type', channel.type);
49
- }
50
- }
51
39
  loadBindings(path) {
52
40
  return LiblslImpl.ffi.Library(path, {
53
41
  lsl_create_streaminfo: [
@@ -62,19 +50,6 @@ class LiblslImpl {
62
50
  lsl_append_child_value: [xmlPtr, [xmlPtr, 'string', 'string']],
63
51
  });
64
52
  }
65
- pushSample(outlet, sample) {
66
- (0, schema_1.assertOptions)({ outlet, sample }, ['outlet', 'sample']);
67
- const clock = this.bindings.lsl_local_clock();
68
- this.bindings.lsl_push_sample_ft(outlet, sample, clock);
69
- }
70
- createOutlet(options) {
71
- const { info, chunkSize, maxBuffered } = (0, schema_1.assertOptions)(options, [
72
- 'info',
73
- 'chunkSize',
74
- 'maxBuffered',
75
- ]);
76
- return this.bindings.lsl_create_outlet(info, chunkSize, maxBuffered);
77
- }
78
53
  createStreamInfo(options) {
79
54
  const { name, type, channelCount, sampleRate, channelFormat, sourceId } = (0, schema_1.assertOptions)(options, [
80
55
  'name',
@@ -86,6 +61,30 @@ class LiblslImpl {
86
61
  ]);
87
62
  return this.bindings.lsl_create_streaminfo(name, type, channelCount, sampleRate, channelFormat, sourceId);
88
63
  }
64
+ appendChannelsToStreamInfo(options) {
65
+ const { info, channels } = (0, schema_1.assertOptions)(options, ['info', 'channels']);
66
+ const desc = this.bindings.lsl_get_desc(info);
67
+ const parent = this.bindings.lsl_append_child(desc, 'channels');
68
+ for (const channel of channels) {
69
+ const child = this.bindings.lsl_append_child(parent, 'channel');
70
+ this.bindings.lsl_append_child_value(child, 'label', channel.label);
71
+ this.bindings.lsl_append_child_value(child, 'unit', channel.unit);
72
+ this.bindings.lsl_append_child_value(child, 'type', channel.type);
73
+ }
74
+ }
75
+ createOutlet(options) {
76
+ const { info, chunkSize, maxBuffered } = (0, schema_1.assertOptions)(options, [
77
+ 'info',
78
+ 'chunkSize',
79
+ 'maxBuffered',
80
+ ]);
81
+ return this.bindings.lsl_create_outlet(info, chunkSize, maxBuffered);
82
+ }
83
+ pushSample(options) {
84
+ const { outlet, sample } = (0, schema_1.assertOptions)(options, ['outlet', 'sample']);
85
+ const clock = this.bindings.lsl_local_clock();
86
+ this.bindings.lsl_push_sample_ft(outlet, sample, clock);
87
+ }
89
88
  }
90
89
  LiblslImpl.ffi = ffi_napi_1.default;
91
90
  exports.default = LiblslImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"Liblsl.js","sourceRoot":"","sources":["../src/Liblsl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Liblsl.js","sourceRoot":"","sources":["../src/Liblsl.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export default class LslOutletImpl implements LslOutlet {
6
6
  private outlet;
7
7
  protected constructor(options: LslOutletOptions);
8
8
  static Outlet(options: LslOutletOptions): LslOutlet;
9
+ pushSample(sample: LslSample): void;
10
+ private lookupChannelFormat;
9
11
  private assertValidMaxBufferred;
10
12
  private assertValidChunkSize;
11
13
  private assertValidChannelFormat;
@@ -15,14 +17,16 @@ export default class LslOutletImpl implements LslOutlet {
15
17
  private isPositiveIntegerOrZero;
16
18
  private isPositiveInteger;
17
19
  private get lsl();
18
- pushSample(sample: LslSample): void;
19
20
  }
20
21
  declare const CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
21
22
  export type ChannelFormat = (typeof CHANNEL_FORMATS)[number];
23
+ export interface LslOutlet {
24
+ pushSample(sample: LslSample): void;
25
+ }
22
26
  export interface LslOutletOptions {
23
27
  name: string;
24
28
  type: string;
25
- channelLabels: string[];
29
+ channelNames: string[];
26
30
  sampleRate: number;
27
31
  channelFormat: ChannelFormat;
28
32
  sourceId: string;
@@ -31,7 +35,4 @@ export interface LslOutletOptions {
31
35
  chunkSize: number;
32
36
  maxBuffered: number;
33
37
  }
34
- export interface LslOutlet {
35
- pushSample(sample: LslSample): void;
36
- }
37
38
  export {};
@@ -21,7 +21,7 @@ class LslOutletImpl {
21
21
  const { sampleRate, channelFormat } = (0, schema_1.assertOptions)(options, [
22
22
  'name',
23
23
  'type',
24
- 'channelLabels',
24
+ 'channelNames',
25
25
  'sampleRate',
26
26
  'channelFormat',
27
27
  'sourceId',
@@ -32,20 +32,24 @@ class LslOutletImpl {
32
32
  ]);
33
33
  this.outletOptions = options;
34
34
  const _a = this
35
- .outletOptions, { chunkSize, maxBuffered, channelLabels } = _a, streamInfoOptions = __rest(_a, ["chunkSize", "maxBuffered", "channelLabels"]);
36
- this.assertValidChannelCount(channelLabels.length);
35
+ .outletOptions, { chunkSize, maxBuffered, channelNames } = _a, streamInfoOptions = __rest(_a, ["chunkSize", "maxBuffered", "channelNames"]);
36
+ const channelCount = channelNames.length;
37
+ this.assertValidChannelCount(channelCount);
37
38
  this.assertValidSampleRate(sampleRate);
38
39
  this.assertValidChannelFormat(channelFormat);
39
40
  this.assertValidChunkSize(chunkSize);
40
41
  this.assertValidMaxBufferred(maxBuffered);
41
42
  delete streamInfoOptions.manufacturer;
42
43
  delete streamInfoOptions.unit;
43
- this.streamInfo = this.lsl.createStreamInfo(Object.assign(Object.assign({}, streamInfoOptions), { channelCount: channelLabels.length, channelFormat: CHANNEL_FORMATS.indexOf(this.outletOptions.channelFormat) }));
44
- this.lsl.appendChannelsToStreamInfo(this.streamInfo, channelLabels.map((label) => ({
45
- label,
46
- unit: this.outletOptions.unit,
47
- type: this.outletOptions.type,
48
- })));
44
+ this.streamInfo = this.lsl.createStreamInfo(Object.assign(Object.assign({}, streamInfoOptions), { channelCount, channelFormat: this.lookupChannelFormat(channelFormat) }));
45
+ this.lsl.appendChannelsToStreamInfo({
46
+ info: this.streamInfo,
47
+ channels: channelNames.map((label) => ({
48
+ label,
49
+ unit: this.outletOptions.unit,
50
+ type: this.outletOptions.type,
51
+ })),
52
+ });
49
53
  this.outlet = this.lsl.createOutlet({
50
54
  info: this.streamInfo,
51
55
  chunkSize: this.outletOptions.chunkSize,
@@ -56,6 +60,12 @@ class LslOutletImpl {
56
60
  var _a;
57
61
  return new ((_a = this.Class) !== null && _a !== void 0 ? _a : this)(options);
58
62
  }
63
+ pushSample(sample) {
64
+ this.lsl.pushSample({ outlet: this.outlet, sample });
65
+ }
66
+ lookupChannelFormat(channelFormat) {
67
+ return CHANNEL_FORMATS.indexOf(channelFormat);
68
+ }
59
69
  assertValidMaxBufferred(maxBuffered) {
60
70
  if (!this.isPositiveIntegerOrZero(maxBuffered)) {
61
71
  throw new schema_1.SchemaError({
@@ -97,8 +107,8 @@ class LslOutletImpl {
97
107
  if (!this.isPositiveInteger(channelCount)) {
98
108
  throw new schema_1.SchemaError({
99
109
  code: 'INVALID_PARAMETERS',
100
- parameters: ['channelLabels'],
101
- friendlyMessage: 'channelLabels must have 1 or more labels.',
110
+ parameters: ['channelNames'],
111
+ friendlyMessage: 'channelNames must have 1 or more labels.',
102
112
  });
103
113
  }
104
114
  }
@@ -114,9 +124,6 @@ class LslOutletImpl {
114
124
  get lsl() {
115
125
  return Liblsl_1.default.getInstance();
116
126
  }
117
- pushSample(sample) {
118
- this.lsl.pushSample(this.outlet, sample);
119
- }
120
127
  }
121
128
  exports.default = LslOutletImpl;
122
129
  const CHANNEL_FORMATS = [
@@ -1 +1 @@
1
- {"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../src/LslOutlet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../src/LslOutlet.ts"],"names":[],"mappings":"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"}
@@ -2,28 +2,27 @@ import AbstractSpruceTest from '@sprucelabs/test-utils';
2
2
  import { LslSample } from '../../Liblsl';
3
3
  export declare const CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
4
4
  export default class LslOutletTest extends AbstractSpruceTest {
5
- private static spyLsl;
5
+ private static spyLiblsl;
6
6
  private static randomOutletOptions;
7
7
  private static channelIdx;
8
8
  protected static beforeEach(): Promise<void>;
9
- protected static throwsWhenMissingRequiredParameters(): Promise<void>;
10
- protected static canCreateWithRequiredParams(): Promise<void>;
11
- protected static throwsWithInvalidChannelCount(): Promise<void>;
9
+ protected static throwsWhenMissingRequiredParams(): Promise<void>;
10
+ protected static throwsWithInvalidChannelNames(): Promise<void>;
12
11
  protected static throwsWithInvalidSampleRate(): Promise<void>;
13
12
  protected static throwsWithInvalidChannelFormat(): Promise<void>;
14
- protected static supportsAllKnownChannelFormats(): Promise<void>;
15
- protected static throwWithInvalidChunkSize(): Promise<void>;
13
+ protected static throwsWithInvalidChunkSize(): Promise<void>;
16
14
  protected static throwsWithInvalidMaxBuffered(): Promise<void>;
17
- protected static pushingSampleSendsToLsl(sample: LslSample): Promise<void>;
18
- protected static constructionPassesCorrectOptionsToCreateStreamInfo(): Promise<void>;
19
- protected static canOverrideClasInstantiatedInFactory(): Promise<void>;
15
+ protected static supportsAllKnownChannelFormats(): Promise<void>;
16
+ protected static canPushSampleToLsl(sample: LslSample): Promise<void>;
17
+ protected static constructionCreatesStreamInfo(): Promise<void>;
18
+ protected static canOverrideClassInstantiatedInFactory(): Promise<void>;
20
19
  protected static appendsChannelsBasedOnCount(labels: string[]): Promise<void>;
21
20
  protected static pushSampleShouldNotCreateMultipleOutlets(): Promise<void>;
22
21
  private static pushSample;
23
22
  private static assertThrowsInvalidMaxBuffered;
24
23
  private static assertThrowsInvalidChunkSize;
25
24
  private static assertThrowsInvalidSampleRate;
26
- private static assertThrowsInvalidChannelLabels;
25
+ private static assertThrowsInvalidChannelNames;
27
26
  private static assertDoesThrowInvalidParameters;
28
27
  private static Outlet;
29
28
  }
@@ -66,7 +66,7 @@ class LslOutletTest extends test_utils_1.default {
66
66
  this.randomOutletOptions = {
67
67
  name: (0, test_utils_1.generateId)(),
68
68
  type: (0, test_utils_1.generateId)(),
69
- channelLabels: new Array((0, crypto_1.randomInt)(1, 10)).fill((0, test_utils_1.generateId)()),
69
+ channelNames: new Array((0, crypto_1.randomInt)(1, 10)).fill((0, test_utils_1.generateId)()),
70
70
  sampleRate: Math.random() * 10,
71
71
  channelFormat: exports.CHANNEL_FORMATS[this.channelIdx],
72
72
  sourceId: (0, test_utils_1.generateId)(),
@@ -75,17 +75,17 @@ class LslOutletTest extends test_utils_1.default {
75
75
  chunkSize: (0, crypto_1.randomInt)(0, 10),
76
76
  maxBuffered: (0, crypto_1.randomInt)(0, 10),
77
77
  };
78
- this.spyLsl = new SpyLiblsl();
79
- Liblsl_1.default.setInstance(this.spyLsl);
78
+ this.spyLiblsl = new SpyLiblsl();
79
+ Liblsl_1.default.setInstance(this.spyLiblsl);
80
80
  }
81
- static async throwsWhenMissingRequiredParameters() {
81
+ static async throwsWhenMissingRequiredParams() {
82
82
  //@ts-ignore
83
83
  const err = test_utils_1.assert.doesThrow(() => new LslOutlet_1.default());
84
84
  test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
85
85
  parameters: [
86
86
  'name',
87
87
  'type',
88
- 'channelLabels',
88
+ 'channelNames',
89
89
  'sampleRate',
90
90
  'channelFormat',
91
91
  'sourceId',
@@ -96,11 +96,8 @@ class LslOutletTest extends test_utils_1.default {
96
96
  ],
97
97
  });
98
98
  }
99
- static async canCreateWithRequiredParams() {
100
- this.Outlet();
101
- }
102
- static async throwsWithInvalidChannelCount() {
103
- this.assertThrowsInvalidChannelLabels(0);
99
+ static async throwsWithInvalidChannelNames() {
100
+ this.assertThrowsInvalidChannelNames(0);
104
101
  }
105
102
  static async throwsWithInvalidSampleRate() {
106
103
  this.assertThrowsInvalidSampleRate(0);
@@ -113,13 +110,7 @@ class LslOutletTest extends test_utils_1.default {
113
110
  'channelFormat',
114
111
  ]);
115
112
  }
116
- static async supportsAllKnownChannelFormats() {
117
- const valid = exports.CHANNEL_FORMATS;
118
- for (const format of valid) {
119
- this.Outlet({ channelFormat: format });
120
- }
121
- }
122
- static async throwWithInvalidChunkSize() {
113
+ static async throwsWithInvalidChunkSize() {
123
114
  this.Outlet({ chunkSize: 0 });
124
115
  this.assertThrowsInvalidChunkSize(-1);
125
116
  this.assertThrowsInvalidChunkSize(-1.5);
@@ -131,28 +122,35 @@ class LslOutletTest extends test_utils_1.default {
131
122
  this.assertThrowsInvalidMaxBuffered(-1.5);
132
123
  this.assertThrowsInvalidMaxBuffered(1.5);
133
124
  }
134
- static async pushingSampleSendsToLsl(sample) {
125
+ static async supportsAllKnownChannelFormats() {
126
+ const valid = exports.CHANNEL_FORMATS;
127
+ for (const format of valid) {
128
+ this.Outlet({ channelFormat: format });
129
+ }
130
+ }
131
+ static async canPushSampleToLsl(sample) {
132
+ var _a, _b;
135
133
  this.pushSample(sample);
136
- test_utils_1.assert.isEqual(this.spyLsl.lastPushedOutlet, this.spyLsl.outlet);
137
- test_utils_1.assert.isEqualDeep(this.spyLsl.lastPushedSample, sample);
138
- test_utils_1.assert.isEqualDeep(this.spyLsl.lastOutletOptions, {
139
- info: this.spyLsl.streamInfo,
134
+ test_utils_1.assert.isEqual((_a = this.spyLiblsl.lastPushSampleOptions) === null || _a === void 0 ? void 0 : _a.outlet, this.spyLiblsl.outlet);
135
+ test_utils_1.assert.isEqualDeep((_b = this.spyLiblsl.lastPushSampleOptions) === null || _b === void 0 ? void 0 : _b.sample, sample);
136
+ test_utils_1.assert.isEqualDeep(this.spyLiblsl.lastCreateOutletOptions, {
137
+ info: this.spyLiblsl.streamInfo,
140
138
  chunkSize: this.randomOutletOptions.chunkSize,
141
139
  maxBuffered: this.randomOutletOptions.maxBuffered,
142
140
  });
143
141
  }
144
- static async constructionPassesCorrectOptionsToCreateStreamInfo() {
142
+ static async constructionCreatesStreamInfo() {
145
143
  this.Outlet();
146
144
  const options = __rest(this.randomOutletOptions, []);
147
- options.channelCount = options.channelLabels.length;
145
+ options.channelCount = options.channelNames.length;
148
146
  delete options.manufacturer;
149
147
  delete options.unit;
150
148
  delete options.chunkSize;
151
149
  delete options.maxBuffered;
152
- delete options.channelLabels;
153
- test_utils_1.assert.isEqualDeep(this.spyLsl.lastStreamInfoOptions, Object.assign(Object.assign({}, options), { channelFormat: this.channelIdx }));
150
+ delete options.channelNames;
151
+ test_utils_1.assert.isEqualDeep(this.spyLiblsl.lastCreateStreamInfoOptions, Object.assign(Object.assign({}, options), { channelFormat: this.channelIdx }));
154
152
  }
155
- static async canOverrideClasInstantiatedInFactory() {
153
+ static async canOverrideClassInstantiatedInFactory() {
156
154
  LslOutlet_1.default.Class = CheckingOutlet;
157
155
  const instance = this.Outlet();
158
156
  test_utils_1.assert.isInstanceOf(instance, CheckingOutlet);
@@ -160,9 +158,9 @@ class LslOutletTest extends test_utils_1.default {
160
158
  static async appendsChannelsBasedOnCount(labels) {
161
159
  const type = (0, test_utils_1.generateId)();
162
160
  const unit = (0, test_utils_1.generateId)();
163
- this.Outlet({ channelLabels: labels, type, unit });
164
- test_utils_1.assert.isEqualDeep(this.spyLsl.lastAppendChannelsToStreamInfo, {
165
- info: this.spyLsl.streamInfo,
161
+ this.Outlet({ channelNames: labels, type, unit });
162
+ test_utils_1.assert.isEqualDeep(this.spyLiblsl.lastAppendChannelsToStreamInfoOptions, {
163
+ info: this.spyLiblsl.streamInfo,
166
164
  channels: labels.map((label) => ({
167
165
  label,
168
166
  type,
@@ -175,7 +173,7 @@ class LslOutletTest extends test_utils_1.default {
175
173
  outlet.pushSample([1]);
176
174
  outlet.pushSample([2]);
177
175
  outlet.pushSample([3]);
178
- test_utils_1.assert.isEqual(this.spyLsl.createStreamInfoHitCount, 1);
176
+ test_utils_1.assert.isEqual(this.spyLiblsl.createStreamInfoHitCount, 1);
179
177
  }
180
178
  static pushSample(sample) {
181
179
  const outlet = this.Outlet();
@@ -190,8 +188,8 @@ class LslOutletTest extends test_utils_1.default {
190
188
  static assertThrowsInvalidSampleRate(sampleRate) {
191
189
  this.assertDoesThrowInvalidParameters({ sampleRate }, ['sampleRate']);
192
190
  }
193
- static assertThrowsInvalidChannelLabels(count) {
194
- this.assertDoesThrowInvalidParameters({ channelLabels: new Array(count).fill((0, test_utils_1.generateId)()) }, ['channelLabels']);
191
+ static assertThrowsInvalidChannelNames(count) {
192
+ this.assertDoesThrowInvalidParameters({ channelNames: new Array(count).fill((0, test_utils_1.generateId)()) }, ['channelNames']);
195
193
  }
196
194
  static assertDoesThrowInvalidParameters(options, parameters) {
197
195
  const err = test_utils_1.assert.doesThrow(() => this.Outlet(options));
@@ -206,13 +204,10 @@ class LslOutletTest extends test_utils_1.default {
206
204
  exports.default = LslOutletTest;
207
205
  __decorate([
208
206
  (0, test_utils_1.test)()
209
- ], LslOutletTest, "throwsWhenMissingRequiredParameters", null);
210
- __decorate([
211
- (0, test_utils_1.test)()
212
- ], LslOutletTest, "canCreateWithRequiredParams", null);
207
+ ], LslOutletTest, "throwsWhenMissingRequiredParams", null);
213
208
  __decorate([
214
209
  (0, test_utils_1.test)()
215
- ], LslOutletTest, "throwsWithInvalidChannelCount", null);
210
+ ], LslOutletTest, "throwsWithInvalidChannelNames", null);
216
211
  __decorate([
217
212
  (0, test_utils_1.test)()
218
213
  ], LslOutletTest, "throwsWithInvalidSampleRate", null);
@@ -221,26 +216,26 @@ __decorate([
221
216
  ], LslOutletTest, "throwsWithInvalidChannelFormat", null);
222
217
  __decorate([
223
218
  (0, test_utils_1.test)()
224
- ], LslOutletTest, "supportsAllKnownChannelFormats", null);
219
+ ], LslOutletTest, "throwsWithInvalidChunkSize", null);
225
220
  __decorate([
226
221
  (0, test_utils_1.test)()
227
- ], LslOutletTest, "throwWithInvalidChunkSize", null);
222
+ ], LslOutletTest, "throwsWithInvalidMaxBuffered", null);
228
223
  __decorate([
229
224
  (0, test_utils_1.test)()
230
- ], LslOutletTest, "throwsWithInvalidMaxBuffered", null);
225
+ ], LslOutletTest, "supportsAllKnownChannelFormats", null);
231
226
  __decorate([
232
- (0, test_utils_1.test)('pushing sample sends to lsl 1', [1]),
233
- (0, test_utils_1.test)('pushing sample sends to lsl 2', [1, 2])
234
- ], LslOutletTest, "pushingSampleSendsToLsl", null);
227
+ (0, test_utils_1.test)('pushing [1, 2] sample sends to LSL', [1, 2]),
228
+ (0, test_utils_1.test)('pushing [1] sample sends to LSL', [1])
229
+ ], LslOutletTest, "canPushSampleToLsl", null);
235
230
  __decorate([
236
231
  (0, test_utils_1.test)()
237
- ], LslOutletTest, "constructionPassesCorrectOptionsToCreateStreamInfo", null);
232
+ ], LslOutletTest, "constructionCreatesStreamInfo", null);
238
233
  __decorate([
239
234
  (0, test_utils_1.test)()
240
- ], LslOutletTest, "canOverrideClasInstantiatedInFactory", null);
235
+ ], LslOutletTest, "canOverrideClassInstantiatedInFactory", null);
241
236
  __decorate([
242
- (0, test_utils_1.test)('can add one label', [(0, test_utils_1.generateId)()]),
243
- (0, test_utils_1.test)('can add two labels', [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()])
237
+ (0, test_utils_1.test)('can add one label to channels', [(0, test_utils_1.generateId)()]),
238
+ (0, test_utils_1.test)('can add two labels to channels', [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()])
244
239
  ], LslOutletTest, "appendsChannelsBasedOnCount", null);
245
240
  __decorate([
246
241
  (0, test_utils_1.test)()
@@ -253,22 +248,18 @@ class SpyLiblsl {
253
248
  }
254
249
  createStreamInfo(options) {
255
250
  this.createStreamInfoHitCount++;
256
- this.lastStreamInfoOptions = options;
251
+ this.lastCreateStreamInfoOptions = options;
257
252
  return this.streamInfo;
258
253
  }
259
- appendChannelsToStreamInfo(info, channels) {
260
- this.lastAppendChannelsToStreamInfo = {
261
- info,
262
- channels,
263
- };
254
+ appendChannelsToStreamInfo(options) {
255
+ this.lastAppendChannelsToStreamInfoOptions = options;
264
256
  }
265
257
  createOutlet(options) {
266
- this.lastOutletOptions = options;
258
+ this.lastCreateOutletOptions = options;
267
259
  return this.outlet;
268
260
  }
269
- pushSample(outlet, sample) {
270
- this.lastPushedOutlet = outlet;
271
- this.lastPushedSample = sample;
261
+ pushSample(options) {
262
+ this.lastPushSampleOptions = options;
272
263
  }
273
264
  }
274
265
  class CheckingOutlet extends LslOutlet_1.default {
@@ -1 +1 @@
1
- {"version":3,"file":"LslOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LslOutlet.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LslOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LslOutlet.test.ts"],"names":[],"mappings":"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"}