@neurodevs/node-lsl 4.1.3 → 4.1.5

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.
@@ -5,6 +5,7 @@ export default class LslOutletImpl implements LslOutlet {
5
5
  private options;
6
6
  private streamInfo;
7
7
  private outlet;
8
+ private pushSampleByType;
8
9
  protected constructor(options: LslOutletOptions);
9
10
  static Outlet(options: LslOutletOptions): LslOutlet;
10
11
  destroy(): void;
@@ -57,6 +57,8 @@ class LslOutletImpl {
57
57
  chunkSize: this.options.chunkSize,
58
58
  maxBuffered: this.options.maxBuffered,
59
59
  });
60
+ const pushMethod = this.getPushMethod();
61
+ this.pushSampleByType = this.lsl[pushMethod].bind(this.lsl);
60
62
  }
61
63
  static Outlet(options) {
62
64
  var _a;
@@ -67,8 +69,7 @@ class LslOutletImpl {
67
69
  }
68
70
  pushSample(sample) {
69
71
  const timestamp = this.lsl.localClock();
70
- const method = this.getPushMethod();
71
- this.lsl[method]({
72
+ this.pushSampleByType({
72
73
  outlet: this.outlet,
73
74
  sample,
74
75
  timestamp,
@@ -80,14 +81,13 @@ class LslOutletImpl {
80
81
  float32: 'pushSampleFt',
81
82
  string: 'pushSampleStrt',
82
83
  };
83
- const method = methodMap[channelFormat];
84
- if (!this.lsl[method]) {
85
- throw new Error(`This method currently does not support the ${this.options.channelFormat} type! Please implement it.`);
84
+ if (!(channelFormat in methodMap)) {
85
+ throw new Error(`This method currently does not support the ${channelFormat} type! Please implement it.`);
86
86
  }
87
- return method;
87
+ return methodMap[channelFormat];
88
88
  }
89
89
  lookupChannelFormat(channelFormat) {
90
- return consts_1.CHANNEL_FORMATS.indexOf(channelFormat);
90
+ return consts_1.CHANNEL_FORMATS_MAP[channelFormat];
91
91
  }
92
92
  get lsl() {
93
93
  return Liblsl_1.default.getInstance();
@@ -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":";;;;;;;;;;;;;;;;AAAA,+CAAkD;AAClD,6CAMqB;AACrB,qCAA6D;AAC7D,sDAKiB;AAEjB,MAAqB,aAAa;IAOjC,YAAsB,OAAyB;QAC9C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAAA,sBAAa,EAAC,OAAO,EAAE;YAC5D,MAAM;YACN,MAAM;YACN,cAAc;YACd,YAAY;YACZ,eAAe;YACf,UAAU;YACV,cAAc;YACd,MAAM;YACN,WAAW;YACX,aAAa;SACb,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,MAAM,KAAiE,IAAI;aACzE,OAAc,EADV,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,OAC5B,EADiC,iBAAiB,cAA5D,4CAA8D,CACpD,CAAA;QAEhB,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAA;QAExC,IAAA,oCAAuB,EAAC,YAAY,CAAC,CAAA;QACrC,IAAA,kCAAqB,EAAC,UAAU,CAAC,CAAA;QACjC,IAAA,qCAAwB,EAAC,aAAa,CAAC,CAAA;QACvC,IAAA,iCAAoB,EAAC,SAAS,CAAC,CAAA;QAC/B,IAAA,oCAAuB,EAAC,WAAW,CAAC,CAAA;QAEpC,OAAO,iBAAiB,CAAC,YAAY,CAAA;QACrC,OAAO,iBAAiB,CAAC,IAAI,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,iCACvC,iBAAiB,KACpB,YAAY,EACZ,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IACrD,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;gBAC9C,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aACvB,CAAC,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;SACrC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5D,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAAyB;;QAC7C,OAAO,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAChD,CAAC;IAEM,UAAU,CAAC,MAAiB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAA;QAEvC,IAAI,CAAC,gBAAgB,CAAC;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM;YACN,SAAS;SACT,CAAC,CAAA;IACH,CAAC;IAEO,aAAa;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QAEhD,MAAM,SAAS,GAAiC;YAC/C,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,gBAAgB;SACxB,CAAA;QAED,IAAI,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACd,8CAA8C,aAAa,6BAA6B,CACxF,CAAA;QACF,CAAC;QACD,OAAO,SAAS,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAEO,mBAAmB,CAAC,aAA4B;QACvD,OAAO,4BAAmB,CAAC,aAAa,CAAC,CAAA;IAC1C,CAAC;IAED,IAAY,GAAG;QACd,OAAO,gBAAU,CAAC,WAAW,EAAE,CAAA;IAChC,CAAC;CACD;AAvGD,gCAuGC"}
@@ -11,6 +11,7 @@ export default class LslOutletTest extends AbstractSpruceTest {
11
11
  protected static throwsWithInvalidChannelFormat(): Promise<void>;
12
12
  protected static throwsWithInvalidChunkSize(): Promise<void>;
13
13
  protected static throwsWithInvalidMaxBuffered(): Promise<void>;
14
+ protected static throwsWithUnsupportedType(): Promise<void>;
14
15
  protected static supportsAllKnownChannelFormats(): Promise<void>;
15
16
  protected static canPushFloatSampleToLsl(sample: LslSample): Promise<void>;
16
17
  protected static canPushStringSampleToLsl(): Promise<void>;
@@ -20,7 +21,6 @@ export default class LslOutletTest extends AbstractSpruceTest {
20
21
  protected static appendsChannelsBasedOnCount(labels: string[]): Promise<void>;
21
22
  protected static canDestroyOutlet(): Promise<void>;
22
23
  protected static pushSampleShouldNotCreateMultipleOutlets(): Promise<void>;
23
- protected static pushSampleThrowsWithUnsupportedType(): Promise<void>;
24
24
  private static assertThrowsInvalidMaxBuffered;
25
25
  private static assertThrowsInvalidChunkSize;
26
26
  private static assertThrowsInvalidSampleRate;
@@ -43,7 +43,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
43
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
- const crypto_1 = require("crypto");
47
46
  const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
48
47
  const Liblsl_1 = __importDefault(require("../../Liblsl"));
49
48
  const LslOutlet_1 = __importDefault(require("../../LslOutlet"));
@@ -54,8 +53,9 @@ class LslOutletTest extends test_utils_1.default {
54
53
  static async beforeEach() {
55
54
  await super.beforeEach();
56
55
  delete LslOutlet_1.default.Class;
57
- this.channelFormatIdx = (0, crypto_1.randomInt)(8);
58
- this.randomOutletOptions = (0, generateRandomOutletOptions_1.default)(this.channelFormatIdx);
56
+ this.randomOutletOptions = (0, generateRandomOutletOptions_1.default)();
57
+ const channelFormat = this.randomOutletOptions.channelFormat;
58
+ this.channelFormatIdx = consts_1.TEST_CHANNEL_FORMATS_MAP[channelFormat];
59
59
  this.fakeLiblsl = new FakeLiblsl_1.FakeLiblsl();
60
60
  Liblsl_1.default.setInstance(this.fakeLiblsl);
61
61
  }
@@ -103,8 +103,13 @@ class LslOutletTest extends test_utils_1.default {
103
103
  this.assertThrowsInvalidMaxBuffered(-1.5);
104
104
  this.assertThrowsInvalidMaxBuffered(1.5);
105
105
  }
106
+ static async throwsWithUnsupportedType() {
107
+ for (let unsupportedType of consts_1.TEST_UNSUPPORTED_CHANNEL_FORMATS) {
108
+ test_utils_1.assert.doesThrow(() => this.Outlet({ channelFormat: unsupportedType }), `This method currently does not support the ${unsupportedType} type! Please implement it.`);
109
+ }
110
+ }
106
111
  static async supportsAllKnownChannelFormats() {
107
- for (const format of consts_1.TEST_CHANNEL_FORMATS) {
112
+ for (const format of consts_1.TEST_SUPPORTED_CHANNEL_FORMATS) {
108
113
  this.Outlet({ channelFormat: format });
109
114
  }
110
115
  }
@@ -183,20 +188,6 @@ class LslOutletTest extends test_utils_1.default {
183
188
  outlet.pushSample([3.0]);
184
189
  test_utils_1.assert.isEqual(this.fakeLiblsl.createStreamInfoHitCount, 1);
185
190
  }
186
- static async pushSampleThrowsWithUnsupportedType() {
187
- const unsupportedTypes = [
188
- 'undefined',
189
- 'double64',
190
- 'int32',
191
- 'int16',
192
- 'int8',
193
- 'int64',
194
- ];
195
- for (let unsupportedType of unsupportedTypes) {
196
- const outlet = this.Outlet({ channelFormat: unsupportedType });
197
- test_utils_1.assert.doesThrow(() => outlet.pushSample([]), `This method currently does not support the ${unsupportedType} type! Please implement it.`);
198
- }
199
- }
200
191
  static assertThrowsInvalidMaxBuffered(maxBuffered) {
201
192
  this.assertDoesThrowInvalidParameters({ maxBuffered }, ['maxBuffered']);
202
193
  }
@@ -244,6 +235,9 @@ __decorate([
244
235
  __decorate([
245
236
  (0, test_utils_1.test)()
246
237
  ], LslOutletTest, "throwsWithInvalidMaxBuffered", null);
238
+ __decorate([
239
+ (0, test_utils_1.test)()
240
+ ], LslOutletTest, "throwsWithUnsupportedType", null);
247
241
  __decorate([
248
242
  (0, test_utils_1.test)()
249
243
  ], LslOutletTest, "supportsAllKnownChannelFormats", null);
@@ -273,9 +267,6 @@ __decorate([
273
267
  __decorate([
274
268
  (0, test_utils_1.test)()
275
269
  ], LslOutletTest, "pushSampleShouldNotCreateMultipleOutlets", null);
276
- __decorate([
277
- (0, test_utils_1.test)()
278
- ], LslOutletTest, "pushSampleThrowsWithUnsupportedType", null);
279
270
  class CheckingOutlet extends LslOutlet_1.default {
280
271
  constructor(options) {
281
272
  super(options);
@@ -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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"}
@@ -61,7 +61,7 @@ class TimeMarkerOutletTest extends test_utils_1.default {
61
61
  });
62
62
  }
63
63
  static async canOverrideDefaultOptions() {
64
- const options = (0, generateRandomOutletOptions_1.default)((0, crypto_1.randomInt)(8));
64
+ const options = (0, generateRandomOutletOptions_1.default)();
65
65
  const outlet = this.Outlet(options);
66
66
  test_utils_1.assert.isEqualDeep(outlet.spyOptions, options);
67
67
  }
@@ -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,sDAAkD;AAClD,yGAAgF;AAEhF,MAAqB,oBAAqB,SAAQ,oBAAkB;IAIzD,MAAM,CAAC,KAAK,CAAC,UAAU;QAChC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACxB,0BAAgB,CAAC,KAAK,GAAG,mBAAmB,CAAA;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAA;QAClC,gBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC5B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,kCAAkC;QACxD,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1C,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;SACd,CAAC,CAAA;IACH,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC/C,MAAM,OAAO,GAAG,IAAA,qCAA2B,EAAC,IAAA,kBAAS,EAAC,CAAC,CAAC,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnC,mBAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gDAAgD;QACtE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAA;QACrD,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACtC,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;QACzD,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACnE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mDAAmD;QACzE,MAAM,OAAO,GAAG;YACf,IAAI,CAAC,4BAA4B,EAAE;YACnC,IAAI,CAAC,4BAA4B,EAAE;SACnC,CAAA;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACtC,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;QACzD,mBAAM,CAAC,OAAO,CACb,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAC7C,CAAA;IACF,CAAC;IAEO,MAAM,CAAC,4BAA4B;QAC1C,OAAO,EAAE,IAAI,EAAE,IAAA,uBAAU,GAAE,EAAE,UAAU,EAAE,IAAA,kBAAS,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAA;IAChE,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,OAAmC;QACxD,OAAO,0BAAgB,CAAC,MAAM,CAAC,OAAO,CAAwB,CAAA;IAC/D,CAAC;CACD;AAhED,uCAgEC;AAnDuB;IADtB,IAAA,iBAAI,GAAE;oEAcN;AAGsB;IADtB,IAAA,iBAAI,GAAE;2DAKN;AAGsB;IADtB,IAAA,iBAAI,GAAE;kFAMN;AAGsB;IADtB,IAAA,iBAAI,GAAE;qFAYN;AAWF,MAAM,mBAAoB,SAAQ,0BAAgB;IAIjD,YAAmB,OAAyB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;QACzB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkB;QACnC,IAAI,CAAC,eAAe,IAAI,UAAU,CAAA;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACD"}
1
+ {"version":3,"file":"TimeMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/TimeMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,14 @@
1
+ export declare const TEST_SUPPORTED_CHANNEL_FORMATS: readonly ["float32", "string"];
2
+ export declare const TEST_UNSUPPORTED_CHANNEL_FORMATS: readonly ["undefined", "double64", "int32", "int16", "int8", "int64"];
1
3
  export declare const TEST_CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
4
+ export declare const TEST_CHANNEL_FORMATS_MAP: {
5
+ undefined: number;
6
+ float32: number;
7
+ double64: number;
8
+ string: number;
9
+ int32: number;
10
+ int16: number;
11
+ int8: number;
12
+ int64: number;
13
+ };
2
14
  export type TestChannelFormat = (typeof TEST_CHANNEL_FORMATS)[number];
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEST_CHANNEL_FORMATS = void 0;
3
+ exports.TEST_CHANNEL_FORMATS_MAP = exports.TEST_CHANNEL_FORMATS = exports.TEST_UNSUPPORTED_CHANNEL_FORMATS = exports.TEST_SUPPORTED_CHANNEL_FORMATS = void 0;
4
+ exports.TEST_SUPPORTED_CHANNEL_FORMATS = ['float32', 'string'];
5
+ exports.TEST_UNSUPPORTED_CHANNEL_FORMATS = [
6
+ 'undefined',
7
+ 'double64',
8
+ 'int32',
9
+ 'int16',
10
+ 'int8',
11
+ 'int64',
12
+ ];
4
13
  exports.TEST_CHANNEL_FORMATS = [
5
14
  'undefined',
6
15
  'float32',
@@ -11,4 +20,14 @@ exports.TEST_CHANNEL_FORMATS = [
11
20
  'int8',
12
21
  'int64',
13
22
  ];
23
+ exports.TEST_CHANNEL_FORMATS_MAP = {
24
+ undefined: 0,
25
+ float32: 1,
26
+ double64: 2,
27
+ string: 3,
28
+ int32: 4,
29
+ int16: 5,
30
+ int8: 6,
31
+ int64: 7,
32
+ };
14
33
  //# sourceMappingURL=consts.js.map
@@ -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;CACE,CAAA"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/__tests__/support/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAA;AAE/D,QAAA,gCAAgC,GAAG;IAC/C,WAAW;IACX,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACE,CAAA;AAEG,QAAA,oBAAoB,GAAG;IACnC,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACE,CAAA;AAEG,QAAA,wBAAwB,GAAG;IACvC,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACR,CAAA"}
@@ -1,2 +1,2 @@
1
1
  import { LslOutletOptions } from '../../LslOutlet';
2
- export default function generateRandomOutletOptions(randomChannelIdx: number): LslOutletOptions;
2
+ export default function generateRandomOutletOptions(): LslOutletOptions;
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const crypto_1 = require("crypto");
4
4
  const test_utils_1 = require("@sprucelabs/test-utils");
5
5
  const consts_1 = require("./consts");
6
- function generateRandomOutletOptions(randomChannelIdx) {
6
+ function generateRandomOutletOptions() {
7
+ const randomChannelIdx = (0, crypto_1.randomInt)(consts_1.TEST_SUPPORTED_CHANNEL_FORMATS.length);
7
8
  return {
8
9
  name: (0, test_utils_1.generateId)(),
9
10
  type: (0, test_utils_1.generateId)(),
10
11
  channelNames: new Array((0, crypto_1.randomInt)(1, 10)).fill((0, test_utils_1.generateId)()),
11
12
  sampleRate: Math.random() * 10,
12
- channelFormat: consts_1.TEST_CHANNEL_FORMATS[randomChannelIdx],
13
+ channelFormat: consts_1.TEST_SUPPORTED_CHANNEL_FORMATS[randomChannelIdx],
13
14
  sourceId: (0, test_utils_1.generateId)(),
14
15
  manufacturer: (0, test_utils_1.generateId)(),
15
16
  unit: (0, test_utils_1.generateId)(),
@@ -1 +1 @@
1
- {"version":3,"file":"generateRandomOutletOptions.js","sourceRoot":"","sources":["../../../src/__tests__/support/generateRandomOutletOptions.ts"],"names":[],"mappings":";;AAAA,mCAAkC;AAClC,uDAAmD;AAEnD,qCAA+C;AAE/C,SAAwB,2BAA2B,CAAC,gBAAwB;IAC3E,OAAO;QACN,IAAI,EAAE,IAAA,uBAAU,GAAE;QAClB,IAAI,EAAE,IAAA,uBAAU,GAAE;QAClB,YAAY,EAAE,IAAI,KAAK,CAAC,IAAA,kBAAS,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,uBAAU,GAAE,CAAC;QAC5D,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QAC9B,aAAa,EAAE,6BAAoB,CAAC,gBAAgB,CAAC;QACrD,QAAQ,EAAE,IAAA,uBAAU,GAAE;QACtB,YAAY,EAAE,IAAA,uBAAU,GAAE;QAC1B,IAAI,EAAE,IAAA,uBAAU,GAAE;QAClB,SAAS,EAAE,IAAA,kBAAS,EAAC,CAAC,EAAE,EAAE,CAAC;QAC3B,WAAW,EAAE,IAAA,kBAAS,EAAC,CAAC,EAAE,EAAE,CAAC;KACT,CAAA;AACtB,CAAC;AAbD,8CAaC"}
1
+ {"version":3,"file":"generateRandomOutletOptions.js","sourceRoot":"","sources":["../../../src/__tests__/support/generateRandomOutletOptions.ts"],"names":[],"mappings":";;AAAA,mCAAkC;AAClC,uDAAmD;AAEnD,qCAAyD;AAEzD,SAAwB,2BAA2B;IAClD,MAAM,gBAAgB,GAAG,IAAA,kBAAS,EAAC,uCAA8B,CAAC,MAAM,CAAC,CAAA;IAEzE,OAAO;QACN,IAAI,EAAE,IAAA,uBAAU,GAAE;QAClB,IAAI,EAAE,IAAA,uBAAU,GAAE;QAClB,YAAY,EAAE,IAAI,KAAK,CAAC,IAAA,kBAAS,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,uBAAU,GAAE,CAAC;QAC5D,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QAC9B,aAAa,EAAE,uCAA8B,CAAC,gBAAgB,CAAC;QAC/D,QAAQ,EAAE,IAAA,uBAAU,GAAE;QACtB,YAAY,EAAE,IAAA,uBAAU,GAAE;QAC1B,IAAI,EAAE,IAAA,uBAAU,GAAE;QAClB,SAAS,EAAE,IAAA,kBAAS,EAAC,CAAC,EAAE,EAAE,CAAC;QAC3B,WAAW,EAAE,IAAA,kBAAS,EAAC,CAAC,EAAE,EAAE,CAAC;KACT,CAAA;AACtB,CAAC;AAfD,8CAeC"}
package/build/consts.d.ts CHANGED
@@ -1,2 +1,12 @@
1
1
  export declare const CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
2
+ export declare const CHANNEL_FORMATS_MAP: {
3
+ undefined: number;
4
+ float32: number;
5
+ double64: number;
6
+ string: number;
7
+ int32: number;
8
+ int16: number;
9
+ int8: number;
10
+ int64: number;
11
+ };
2
12
  export type ChannelFormat = (typeof CHANNEL_FORMATS)[number];
package/build/consts.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CHANNEL_FORMATS = void 0;
3
+ exports.CHANNEL_FORMATS_MAP = exports.CHANNEL_FORMATS = void 0;
4
4
  exports.CHANNEL_FORMATS = [
5
5
  'undefined',
6
6
  'float32',
@@ -11,4 +11,14 @@ exports.CHANNEL_FORMATS = [
11
11
  'int8',
12
12
  'int64',
13
13
  ];
14
+ exports.CHANNEL_FORMATS_MAP = {
15
+ undefined: 0,
16
+ float32: 1,
17
+ double64: 2,
18
+ string: 3,
19
+ int32: 4,
20
+ int16: 5,
21
+ int8: 6,
22
+ int64: 7,
23
+ };
14
24
  //# sourceMappingURL=consts.js.map
@@ -1 +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"}
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;AAEG,QAAA,mBAAmB,GAAG;IAClC,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACR,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/node-lsl",
3
- "version": "4.1.3",
3
+ "version": "4.1.5",
4
4
  "main": "build/index.js",
5
5
  "repository": {
6
6
  "type": "git",
package/src/LslOutlet.ts CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  assertValidMaxBufferred,
7
7
  assertValidSampleRate,
8
8
  } from './assertions'
9
- import { CHANNEL_FORMATS, ChannelFormat } from './consts'
9
+ import { CHANNEL_FORMATS_MAP, ChannelFormat } from './consts'
10
10
  import LiblslImpl, {
11
11
  BoundOutlet,
12
12
  BoundStreamInfo,
@@ -19,6 +19,7 @@ export default class LslOutletImpl implements LslOutlet {
19
19
  private options: LslOutletOptions
20
20
  private streamInfo: BoundStreamInfo
21
21
  private outlet: BoundOutlet
22
+ private pushSampleByType: (options: any) => void
22
23
 
23
24
  protected constructor(options: LslOutletOptions) {
24
25
  const { sampleRate, channelFormat } = assertOptions(options, [
@@ -70,6 +71,9 @@ export default class LslOutletImpl implements LslOutlet {
70
71
  chunkSize: this.options.chunkSize,
71
72
  maxBuffered: this.options.maxBuffered,
72
73
  })
74
+
75
+ const pushMethod = this.getPushMethod()
76
+ this.pushSampleByType = this.lsl[pushMethod].bind(this.lsl)
73
77
  }
74
78
 
75
79
  public static Outlet(options: LslOutletOptions): LslOutlet {
@@ -82,16 +86,15 @@ export default class LslOutletImpl implements LslOutlet {
82
86
 
83
87
  public pushSample(sample: LslSample): void {
84
88
  const timestamp = this.lsl.localClock()
85
- const method = this.getPushMethod()
86
89
 
87
- this.lsl[method]({
90
+ this.pushSampleByType({
88
91
  outlet: this.outlet,
89
92
  sample,
90
93
  timestamp,
91
- } as any)
94
+ })
92
95
  }
93
96
 
94
- private getPushMethod() {
97
+ private getPushMethod(): keyof Liblsl {
95
98
  const channelFormat = this.options.channelFormat
96
99
 
97
100
  const methodMap: Record<string, keyof Liblsl> = {
@@ -99,18 +102,16 @@ export default class LslOutletImpl implements LslOutlet {
99
102
  string: 'pushSampleStrt',
100
103
  }
101
104
 
102
- const method = methodMap[channelFormat]
103
-
104
- if (!this.lsl[method]) {
105
+ if (!(channelFormat in methodMap)) {
105
106
  throw new Error(
106
- `This method currently does not support the ${this.options.channelFormat} type! Please implement it.`
107
+ `This method currently does not support the ${channelFormat} type! Please implement it.`
107
108
  )
108
109
  }
109
- return method
110
+ return methodMap[channelFormat]
110
111
  }
111
112
 
112
113
  private lookupChannelFormat(channelFormat: ChannelFormat): number {
113
- return CHANNEL_FORMATS.indexOf(channelFormat)
114
+ return CHANNEL_FORMATS_MAP[channelFormat]
114
115
  }
115
116
 
116
117
  private get lsl(): Liblsl {
@@ -1,4 +1,3 @@
1
- import { randomInt } from 'crypto'
2
1
  import AbstractSpruceTest, {
3
2
  test,
4
3
  assert,
@@ -7,7 +6,12 @@ import AbstractSpruceTest, {
7
6
  } from '@sprucelabs/test-utils'
8
7
  import LiblslImpl, { LslSample } from '../../Liblsl'
9
8
  import LslOutlet, { LslOutletOptions } from '../../LslOutlet'
10
- import { TEST_CHANNEL_FORMATS, TestChannelFormat } from '../support/consts'
9
+ import {
10
+ TEST_CHANNEL_FORMATS_MAP,
11
+ TEST_SUPPORTED_CHANNEL_FORMATS,
12
+ TEST_UNSUPPORTED_CHANNEL_FORMATS,
13
+ TestChannelFormat,
14
+ } from '../support/consts'
11
15
  import { FakeLiblsl } from '../support/FakeLiblsl'
12
16
  import generateRandomOutletOptions from '../support/generateRandomOutletOptions'
13
17
 
@@ -19,10 +23,10 @@ export default class LslOutletTest extends AbstractSpruceTest {
19
23
  protected static async beforeEach() {
20
24
  await super.beforeEach()
21
25
  delete LslOutlet.Class
22
- this.channelFormatIdx = randomInt(8)
23
- this.randomOutletOptions = generateRandomOutletOptions(
24
- this.channelFormatIdx
25
- )
26
+ this.randomOutletOptions = generateRandomOutletOptions()
27
+
28
+ const channelFormat = this.randomOutletOptions.channelFormat
29
+ this.channelFormatIdx = TEST_CHANNEL_FORMATS_MAP[channelFormat]
26
30
  this.fakeLiblsl = new FakeLiblsl()
27
31
  LiblslImpl.setInstance(this.fakeLiblsl)
28
32
  }
@@ -83,9 +87,19 @@ export default class LslOutletTest extends AbstractSpruceTest {
83
87
  this.assertThrowsInvalidMaxBuffered(1.5)
84
88
  }
85
89
 
90
+ @test()
91
+ protected static async throwsWithUnsupportedType() {
92
+ for (let unsupportedType of TEST_UNSUPPORTED_CHANNEL_FORMATS) {
93
+ assert.doesThrow(
94
+ () => this.Outlet({ channelFormat: unsupportedType }),
95
+ `This method currently does not support the ${unsupportedType} type! Please implement it.`
96
+ )
97
+ }
98
+ }
99
+
86
100
  @test()
87
101
  protected static async supportsAllKnownChannelFormats() {
88
- for (const format of TEST_CHANNEL_FORMATS) {
102
+ for (const format of TEST_SUPPORTED_CHANNEL_FORMATS) {
89
103
  this.Outlet({ channelFormat: format as TestChannelFormat })
90
104
  }
91
105
  }
@@ -208,26 +222,6 @@ export default class LslOutletTest extends AbstractSpruceTest {
208
222
  assert.isEqual(this.fakeLiblsl.createStreamInfoHitCount, 1)
209
223
  }
210
224
 
211
- @test()
212
- protected static async pushSampleThrowsWithUnsupportedType() {
213
- const unsupportedTypes = [
214
- 'undefined',
215
- 'double64',
216
- 'int32',
217
- 'int16',
218
- 'int8',
219
- 'int64',
220
- ] as const
221
-
222
- for (let unsupportedType of unsupportedTypes) {
223
- const outlet = this.Outlet({ channelFormat: unsupportedType })
224
- assert.doesThrow(
225
- () => outlet.pushSample([]),
226
- `This method currently does not support the ${unsupportedType} type! Please implement it.`
227
- )
228
- }
229
- }
230
-
231
225
  private static assertThrowsInvalidMaxBuffered(maxBuffered: number) {
232
226
  this.assertDoesThrowInvalidParameters({ maxBuffered }, ['maxBuffered'])
233
227
  }
@@ -40,7 +40,7 @@ export default class TimeMarkerOutletTest extends AbstractSpruceTest {
40
40
 
41
41
  @test()
42
42
  protected static async canOverrideDefaultOptions() {
43
- const options = generateRandomOutletOptions(randomInt(8))
43
+ const options = generateRandomOutletOptions()
44
44
  const outlet = this.Outlet(options)
45
45
  assert.isEqualDeep(outlet.spyOptions, options)
46
46
  }
@@ -1,3 +1,14 @@
1
+ export const TEST_SUPPORTED_CHANNEL_FORMATS = ['float32', 'string'] as const
2
+
3
+ export const TEST_UNSUPPORTED_CHANNEL_FORMATS = [
4
+ 'undefined',
5
+ 'double64',
6
+ 'int32',
7
+ 'int16',
8
+ 'int8',
9
+ 'int64',
10
+ ] as const
11
+
1
12
  export const TEST_CHANNEL_FORMATS = [
2
13
  'undefined',
3
14
  'float32',
@@ -9,4 +20,15 @@ export const TEST_CHANNEL_FORMATS = [
9
20
  'int64',
10
21
  ] as const
11
22
 
23
+ export const TEST_CHANNEL_FORMATS_MAP = {
24
+ undefined: 0,
25
+ float32: 1,
26
+ double64: 2,
27
+ string: 3,
28
+ int32: 4,
29
+ int16: 5,
30
+ int8: 6,
31
+ int64: 7,
32
+ }
33
+
12
34
  export type TestChannelFormat = (typeof TEST_CHANNEL_FORMATS)[number]
@@ -1,15 +1,17 @@
1
1
  import { randomInt } from 'crypto'
2
2
  import { generateId } from '@sprucelabs/test-utils'
3
3
  import { LslOutletOptions } from '../../LslOutlet'
4
- import { TEST_CHANNEL_FORMATS } from './consts'
4
+ import { TEST_SUPPORTED_CHANNEL_FORMATS } from './consts'
5
+
6
+ export default function generateRandomOutletOptions() {
7
+ const randomChannelIdx = randomInt(TEST_SUPPORTED_CHANNEL_FORMATS.length)
5
8
 
6
- export default function generateRandomOutletOptions(randomChannelIdx: number) {
7
9
  return {
8
10
  name: generateId(),
9
11
  type: generateId(),
10
12
  channelNames: new Array(randomInt(1, 10)).fill(generateId()),
11
13
  sampleRate: Math.random() * 10,
12
- channelFormat: TEST_CHANNEL_FORMATS[randomChannelIdx],
14
+ channelFormat: TEST_SUPPORTED_CHANNEL_FORMATS[randomChannelIdx],
13
15
  sourceId: generateId(),
14
16
  manufacturer: generateId(),
15
17
  unit: generateId(),
package/src/consts.ts CHANGED
@@ -9,4 +9,15 @@ export const CHANNEL_FORMATS = [
9
9
  'int64',
10
10
  ] as const
11
11
 
12
+ export const CHANNEL_FORMATS_MAP = {
13
+ undefined: 0,
14
+ float32: 1,
15
+ double64: 2,
16
+ string: 3,
17
+ int32: 4,
18
+ int16: 5,
19
+ int8: 6,
20
+ int64: 7,
21
+ }
22
+
12
23
  export type ChannelFormat = (typeof CHANNEL_FORMATS)[number]