@neurodevs/node-lsl 6.2.0 → 6.4.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.
Files changed (26) hide show
  1. package/build/__tests__/behavioral/TimeMarkerOutlet.test.js +2 -2
  2. package/build/__tests__/behavioral/TimeMarkerOutlet.test.js.map +1 -1
  3. package/build/implementations/LslOutlet.d.ts +1 -1
  4. package/build/implementations/LslOutlet.js +4 -4
  5. package/build/implementations/LslOutlet.js.map +1 -1
  6. package/build/index.d.ts +6 -2
  7. package/build/index.js +10 -4
  8. package/build/index.js.map +1 -1
  9. package/build/testDoubles/MockTimeMarkerOutlet.d.ts +11 -0
  10. package/build/testDoubles/MockTimeMarkerOutlet.js +25 -0
  11. package/build/testDoubles/MockTimeMarkerOutlet.js.map +1 -0
  12. package/build/testDoubles/{SpyTimeMarkerOutlet.d.ts → SpyExtendsTimeMarkerOutlet.d.ts} +1 -1
  13. package/build/testDoubles/{SpyTimeMarkerOutlet.js → SpyExtendsTimeMarkerOutlet.js} +3 -3
  14. package/build/testDoubles/SpyExtendsTimeMarkerOutlet.js.map +1 -0
  15. package/build/testDoubles/SpyImplementsTimeMarkerOutlet.d.ts +14 -0
  16. package/build/testDoubles/SpyImplementsTimeMarkerOutlet.js +33 -0
  17. package/build/testDoubles/SpyImplementsTimeMarkerOutlet.js.map +1 -0
  18. package/package.json +1 -1
  19. package/src/__tests__/behavioral/TimeMarkerOutlet.test.ts +6 -4
  20. package/src/implementations/LslOutlet.ts +4 -4
  21. package/src/index.ts +8 -2
  22. package/src/testDoubles/MockTimeMarkerOutlet.ts +36 -0
  23. package/src/testDoubles/{SpyTimeMarkerOutlet.ts → SpyExtendsTimeMarkerOutlet.ts} +1 -1
  24. package/src/testDoubles/SpyImplementsTimeMarkerOutlet.ts +42 -0
  25. package/tsconfig.json +1 -1
  26. package/build/testDoubles/SpyTimeMarkerOutlet.js.map +0 -1
@@ -37,12 +37,12 @@ const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
37
37
  const Liblsl_1 = __importDefault(require("../../implementations/Liblsl"));
38
38
  const TimeMarkerOutlet_1 = __importDefault(require("../../implementations/TimeMarkerOutlet"));
39
39
  const FakeLiblsl_1 = __importDefault(require("../../testDoubles/FakeLiblsl"));
40
- const SpyTimeMarkerOutlet_1 = __importDefault(require("../../testDoubles/SpyTimeMarkerOutlet"));
40
+ const SpyExtendsTimeMarkerOutlet_1 = __importDefault(require("../../testDoubles/SpyExtendsTimeMarkerOutlet"));
41
41
  const generateRandomOutletOptions_1 = __importDefault(require("../support/generateRandomOutletOptions"));
42
42
  class TimeMarkerOutletTest extends test_utils_1.default {
43
43
  static async beforeEach() {
44
44
  await super.beforeEach();
45
- TimeMarkerOutlet_1.default.Class = SpyTimeMarkerOutlet_1.default;
45
+ TimeMarkerOutlet_1.default.Class = SpyExtendsTimeMarkerOutlet_1.default;
46
46
  this.fakeLiblsl = new FakeLiblsl_1.default();
47
47
  Liblsl_1.default.setInstance(this.fakeLiblsl);
48
48
  this.outlet = this.Outlet();
@@ -1 +1 @@
1
- {"version":3,"file":"TimeMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/TimeMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimeMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/TimeMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export default class LslOutletImpl implements LslOutlet {
5
5
  private streamInfo;
6
6
  private outlet;
7
7
  private pushSampleByType;
8
- protected constructor(options: LslOutletOptions);
9
8
  static Outlet(options: LslOutletOptions): LslOutlet;
9
+ protected constructor(options: LslOutletOptions);
10
10
  destroy(): void;
11
11
  pushSample(sample: LslSample): void;
12
12
  private getPushMethod;
@@ -19,6 +19,10 @@ const assertions_1 = require("../assertions");
19
19
  const consts_1 = require("../consts");
20
20
  const Liblsl_1 = __importDefault(require("./Liblsl"));
21
21
  class LslOutletImpl {
22
+ static Outlet(options) {
23
+ var _a;
24
+ return new ((_a = this.Class) !== null && _a !== void 0 ? _a : this)(options);
25
+ }
22
26
  constructor(options) {
23
27
  const { sampleRate, channelFormat } = (0, schema_1.assertOptions)(options, [
24
28
  'name',
@@ -60,10 +64,6 @@ class LslOutletImpl {
60
64
  const pushMethod = this.getPushMethod();
61
65
  this.pushSampleByType = this.lsl[pushMethod].bind(this.lsl);
62
66
  }
63
- static Outlet(options) {
64
- var _a;
65
- return new ((_a = this.Class) !== null && _a !== void 0 ? _a : this)(options);
66
- }
67
67
  destroy() {
68
68
  this.lsl.destroyOutlet({ outlet: this.outlet });
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../../src/implementations/LslOutlet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LslOutlet.js","sourceRoot":"","sources":["../../src/implementations/LslOutlet.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -6,6 +6,10 @@ export { default as TimeMarkerOutletImpl } from './implementations/TimeMarkerOut
6
6
  export * from './implementations/TimeMarkerOutlet';
7
7
  export { default as FakeLiblsl } from './testDoubles/FakeLiblsl';
8
8
  export * from './testDoubles/FakeLiblsl';
9
- export { default as SpyTimeMarkerOutlet } from './testDoubles/SpyTimeMarkerOutlet';
10
- export * from './testDoubles/SpyTimeMarkerOutlet';
9
+ export { default as SpyExtendsTimeMarkerOutlet } from './testDoubles/SpyExtendsTimeMarkerOutlet';
10
+ export * from './testDoubles/SpyExtendsTimeMarkerOutlet';
11
+ export { default as SpyImplementsTimeMarkerOutlet } from './testDoubles/SpyImplementsTimeMarkerOutlet';
12
+ export * from './testDoubles/SpyImplementsTimeMarkerOutlet';
13
+ export { default as MockTimeMarkerOutlet } from './testDoubles/MockTimeMarkerOutlet';
14
+ export * from './testDoubles/MockTimeMarkerOutlet';
11
15
  export * from './nodeLsl.types';
package/build/index.js CHANGED
@@ -17,7 +17,7 @@ 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.SpyTimeMarkerOutlet = exports.FakeLiblsl = exports.TimeMarkerOutletImpl = exports.LslOutletImpl = exports.LiblslImpl = void 0;
20
+ exports.MockTimeMarkerOutlet = exports.SpyImplementsTimeMarkerOutlet = exports.SpyExtendsTimeMarkerOutlet = exports.FakeLiblsl = exports.TimeMarkerOutletImpl = exports.LslOutletImpl = exports.LiblslImpl = void 0;
21
21
  var Liblsl_1 = require("./implementations/Liblsl");
22
22
  Object.defineProperty(exports, "LiblslImpl", { enumerable: true, get: function () { return __importDefault(Liblsl_1).default; } });
23
23
  __exportStar(require("./implementations/Liblsl"), exports);
@@ -30,8 +30,14 @@ __exportStar(require("./implementations/TimeMarkerOutlet"), exports);
30
30
  var FakeLiblsl_1 = require("./testDoubles/FakeLiblsl");
31
31
  Object.defineProperty(exports, "FakeLiblsl", { enumerable: true, get: function () { return __importDefault(FakeLiblsl_1).default; } });
32
32
  __exportStar(require("./testDoubles/FakeLiblsl"), exports);
33
- var SpyTimeMarkerOutlet_1 = require("./testDoubles/SpyTimeMarkerOutlet");
34
- Object.defineProperty(exports, "SpyTimeMarkerOutlet", { enumerable: true, get: function () { return __importDefault(SpyTimeMarkerOutlet_1).default; } });
35
- __exportStar(require("./testDoubles/SpyTimeMarkerOutlet"), exports);
33
+ var SpyExtendsTimeMarkerOutlet_1 = require("./testDoubles/SpyExtendsTimeMarkerOutlet");
34
+ Object.defineProperty(exports, "SpyExtendsTimeMarkerOutlet", { enumerable: true, get: function () { return __importDefault(SpyExtendsTimeMarkerOutlet_1).default; } });
35
+ __exportStar(require("./testDoubles/SpyExtendsTimeMarkerOutlet"), exports);
36
+ var SpyImplementsTimeMarkerOutlet_1 = require("./testDoubles/SpyImplementsTimeMarkerOutlet");
37
+ Object.defineProperty(exports, "SpyImplementsTimeMarkerOutlet", { enumerable: true, get: function () { return __importDefault(SpyImplementsTimeMarkerOutlet_1).default; } });
38
+ __exportStar(require("./testDoubles/SpyImplementsTimeMarkerOutlet"), exports);
39
+ var MockTimeMarkerOutlet_1 = require("./testDoubles/MockTimeMarkerOutlet");
40
+ Object.defineProperty(exports, "MockTimeMarkerOutlet", { enumerable: true, get: function () { return __importDefault(MockTimeMarkerOutlet_1).default; } });
41
+ __exportStar(require("./testDoubles/MockTimeMarkerOutlet"), exports);
36
42
  __exportStar(require("./nodeLsl.types"), exports);
37
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAAgE;AAAvD,qHAAA,OAAO,OAAc;AAC9B,2DAAwC;AAExC,yDAAsE;AAA7D,2HAAA,OAAO,OAAiB;AACjC,8DAA2C;AAE3C,uEAAoF;AAA3E,yIAAA,OAAO,OAAwB;AACxC,qEAAkD;AAElD,uDAAgE;AAAvD,yHAAA,OAAO,OAAc;AAC9B,2DAAwC;AAExC,yEAAkF;AAAzE,2IAAA,OAAO,OAAuB;AACvC,oEAAiD;AAEjD,kDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAAgE;AAAvD,qHAAA,OAAO,OAAc;AAC9B,2DAAwC;AAExC,yDAAsE;AAA7D,2HAAA,OAAO,OAAiB;AACjC,8DAA2C;AAE3C,uEAAoF;AAA3E,yIAAA,OAAO,OAAwB;AACxC,qEAAkD;AAElD,uDAAgE;AAAvD,yHAAA,OAAO,OAAc;AAC9B,2DAAwC;AAExC,uFAAgG;AAAvF,yJAAA,OAAO,OAA8B;AAC9C,2EAAwD;AAExD,6FAAsG;AAA7F,+JAAA,OAAO,OAAiC;AACjD,8EAA2D;AAE3D,2EAAoF;AAA3E,6IAAA,OAAO,OAAwB;AACxC,qEAAkD;AAElD,kDAA+B"}
@@ -0,0 +1,11 @@
1
+ import { DurationMarker, TimeMarkerOutlet } from '..';
2
+ export default class MockTimeMarkerOutlet implements TimeMarkerOutlet {
3
+ static instance: MockTimeMarkerOutlet;
4
+ private didPushMarkers;
5
+ private markers?;
6
+ constructor();
7
+ stop(): void;
8
+ pushMarkers(markers: DurationMarker[]): Promise<void>;
9
+ assertDidPushMarkers(markers?: DurationMarker[]): void;
10
+ assertDidNotPushMarkers(): void;
11
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const test_utils_1 = require("@sprucelabs/test-utils");
4
+ class MockTimeMarkerOutlet {
5
+ constructor() {
6
+ this.didPushMarkers = false;
7
+ MockTimeMarkerOutlet.instance = this;
8
+ }
9
+ stop() { }
10
+ async pushMarkers(markers) {
11
+ this.didPushMarkers = true;
12
+ this.markers = markers;
13
+ }
14
+ assertDidPushMarkers(markers) {
15
+ test_utils_1.assert.isTrue(this.didPushMarkers, `Expected to have pushed markers but didn't. Try 'outlet.pushMarkers(...)'`);
16
+ if (markers) {
17
+ test_utils_1.assert.isEqualDeep(this.markers, markers);
18
+ }
19
+ }
20
+ assertDidNotPushMarkers() {
21
+ test_utils_1.assert.isFalse(this.didPushMarkers, `Expected to NOT have pushed markers but did. Try 'outlet.pushMarkers(...)'`);
22
+ }
23
+ }
24
+ exports.default = MockTimeMarkerOutlet;
25
+ //# sourceMappingURL=MockTimeMarkerOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/MockTimeMarkerOutlet.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAG/C,MAAqB,oBAAoB;IAKxC;QAHQ,mBAAc,GAAG,KAAK,CAAA;QAI7B,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAA;IACrC,CAAC;IACM,IAAI,KAAU,CAAC;IAEf,KAAK,CAAC,WAAW,CAAC,OAAyB;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,CAAC;IAEM,oBAAoB,CAAC,OAA0B;QACrD,mBAAM,CAAC,MAAM,CACZ,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC3E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACb,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;IACF,CAAC;IAEM,uBAAuB;QAC7B,mBAAM,CAAC,OAAO,CACb,IAAI,CAAC,cAAc,EACnB,4EAA4E,CAC5E,CAAA;IACF,CAAC;CACD;AAhCD,uCAgCC"}
@@ -1,6 +1,6 @@
1
1
  import TimeMarkerOutletImpl from '../implementations/TimeMarkerOutlet';
2
2
  import { LslOutletOptions } from '../nodeLsl.types';
3
- export default class SpyTimeMarkerOutlet extends TimeMarkerOutletImpl {
3
+ export default class SpyExtendsTimeMarkerOutlet extends TimeMarkerOutletImpl {
4
4
  spyOptions: LslOutletOptions;
5
5
  totalWaitTimeMs: number;
6
6
  constructor(options: LslOutletOptions);
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const TimeMarkerOutlet_1 = __importDefault(require("../implementations/TimeMarkerOutlet"));
7
- class SpyTimeMarkerOutlet extends TimeMarkerOutlet_1.default {
7
+ class SpyExtendsTimeMarkerOutlet extends TimeMarkerOutlet_1.default {
8
8
  constructor(options) {
9
9
  super(options);
10
10
  this.spyOptions = options;
@@ -15,5 +15,5 @@ class SpyTimeMarkerOutlet extends TimeMarkerOutlet_1.default {
15
15
  return Promise.resolve();
16
16
  }
17
17
  }
18
- exports.default = SpyTimeMarkerOutlet;
19
- //# sourceMappingURL=SpyTimeMarkerOutlet.js.map
18
+ exports.default = SpyExtendsTimeMarkerOutlet;
19
+ //# sourceMappingURL=SpyExtendsTimeMarkerOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpyExtendsTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/SpyExtendsTimeMarkerOutlet.ts"],"names":[],"mappings":";;;;;AAAA,2FAAsE;AAGtE,MAAqB,0BAA2B,SAAQ,0BAAoB;IAI3E,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;AAdD,6CAcC"}
@@ -0,0 +1,14 @@
1
+ import { DurationMarker, TimeMarkerOutlet } from '../nodeLsl.types';
2
+ export default class SpyImplementsTimeMarkerOutlet implements TimeMarkerOutlet {
3
+ pushMarkersCalls: DurationMarker[][];
4
+ pushSampleCalls: string[][];
5
+ numStopCalls: number;
6
+ numDestroyCalls: number;
7
+ static TimeMarkerOutlet(): SpyImplementsTimeMarkerOutlet;
8
+ protected constructor();
9
+ pushMarkers(markers: DurationMarker[]): Promise<void>;
10
+ pushSample(sample: string[]): void;
11
+ stop(): void;
12
+ destroy(): void;
13
+ resetMock(): void;
14
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class SpyImplementsTimeMarkerOutlet {
4
+ static TimeMarkerOutlet() {
5
+ return new this();
6
+ }
7
+ constructor() {
8
+ this.pushMarkersCalls = [];
9
+ this.pushSampleCalls = [];
10
+ this.numStopCalls = 0;
11
+ this.numDestroyCalls = 0;
12
+ }
13
+ async pushMarkers(markers) {
14
+ this.pushMarkersCalls.push(markers);
15
+ }
16
+ pushSample(sample) {
17
+ this.pushSampleCalls.push(sample);
18
+ }
19
+ stop() {
20
+ this.numStopCalls++;
21
+ }
22
+ destroy() {
23
+ this.numDestroyCalls++;
24
+ }
25
+ resetMock() {
26
+ this.pushMarkersCalls = [];
27
+ this.pushSampleCalls = [];
28
+ this.numStopCalls = 0;
29
+ this.numDestroyCalls = 0;
30
+ }
31
+ }
32
+ exports.default = SpyImplementsTimeMarkerOutlet;
33
+ //# sourceMappingURL=SpyImplementsTimeMarkerOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpyImplementsTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/SpyImplementsTimeMarkerOutlet.ts"],"names":[],"mappings":";;AAEA,MAAqB,6BAA6B;IAM1C,MAAM,CAAC,gBAAgB;QAC7B,OAAO,IAAI,IAAI,EAAE,CAAA;IAClB,CAAC;IAED;QACC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAEM,UAAU,CAAC,MAAgB;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAEM,IAAI;QACV,IAAI,CAAC,YAAY,EAAE,CAAA;IACpB,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,eAAe,EAAE,CAAA;IACvB,CAAC;IAEM,SAAS;QACf,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;IACzB,CAAC;CACD;AAvCD,gDAuCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/node-lsl",
3
- "version": "6.2.0",
3
+ "version": "6.4.0",
4
4
  "main": "build/index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,16 +8,16 @@ import LiblslImpl from '../../implementations/Liblsl'
8
8
  import TimeMarkerOutletImpl from '../../implementations/TimeMarkerOutlet'
9
9
  import { LslOutletOptions } from '../../nodeLsl.types'
10
10
  import FakeLiblsl from '../../testDoubles/FakeLiblsl'
11
- import SpyTimeMarkerOutlet from '../../testDoubles/SpyTimeMarkerOutlet'
11
+ import SpyExtendsTimeMarkerOutlet from '../../testDoubles/SpyExtendsTimeMarkerOutlet'
12
12
  import generateRandomOutletOptions from '../support/generateRandomOutletOptions'
13
13
 
14
14
  export default class TimeMarkerOutletTest extends AbstractSpruceTest {
15
15
  private static fakeLiblsl: FakeLiblsl
16
- private static outlet: SpyTimeMarkerOutlet
16
+ private static outlet: SpyExtendsTimeMarkerOutlet
17
17
 
18
18
  protected static async beforeEach() {
19
19
  await super.beforeEach()
20
- TimeMarkerOutletImpl.Class = SpyTimeMarkerOutlet
20
+ TimeMarkerOutletImpl.Class = SpyExtendsTimeMarkerOutlet
21
21
  this.fakeLiblsl = new FakeLiblsl()
22
22
  LiblslImpl.setInstance(this.fakeLiblsl)
23
23
  this.outlet = this.Outlet()
@@ -151,6 +151,8 @@ export default class TimeMarkerOutletTest extends AbstractSpruceTest {
151
151
  }
152
152
 
153
153
  private static Outlet(options?: Partial<LslOutletOptions>) {
154
- return TimeMarkerOutletImpl.TimeMarkerOutlet(options) as SpyTimeMarkerOutlet
154
+ return TimeMarkerOutletImpl.TimeMarkerOutlet(
155
+ options
156
+ ) as SpyExtendsTimeMarkerOutlet
155
157
  }
156
158
  }
@@ -25,6 +25,10 @@ export default class LslOutletImpl implements LslOutlet {
25
25
  private outlet: BoundOutlet
26
26
  private pushSampleByType: (options: any) => void
27
27
 
28
+ public static Outlet(options: LslOutletOptions): LslOutlet {
29
+ return new (this.Class ?? this)(options)
30
+ }
31
+
28
32
  protected constructor(options: LslOutletOptions) {
29
33
  const { sampleRate, channelFormat } = assertOptions(options, [
30
34
  'name',
@@ -80,10 +84,6 @@ export default class LslOutletImpl implements LslOutlet {
80
84
  this.pushSampleByType = this.lsl[pushMethod].bind(this.lsl)
81
85
  }
82
86
 
83
- public static Outlet(options: LslOutletOptions): LslOutlet {
84
- return new (this.Class ?? this)(options)
85
- }
86
-
87
87
  public destroy(): void {
88
88
  this.lsl.destroyOutlet({ outlet: this.outlet })
89
89
  }
package/src/index.ts CHANGED
@@ -10,7 +10,13 @@ export * from './implementations/TimeMarkerOutlet'
10
10
  export { default as FakeLiblsl } from './testDoubles/FakeLiblsl'
11
11
  export * from './testDoubles/FakeLiblsl'
12
12
 
13
- export { default as SpyTimeMarkerOutlet } from './testDoubles/SpyTimeMarkerOutlet'
14
- export * from './testDoubles/SpyTimeMarkerOutlet'
13
+ export { default as SpyExtendsTimeMarkerOutlet } from './testDoubles/SpyExtendsTimeMarkerOutlet'
14
+ export * from './testDoubles/SpyExtendsTimeMarkerOutlet'
15
+
16
+ export { default as SpyImplementsTimeMarkerOutlet } from './testDoubles/SpyImplementsTimeMarkerOutlet'
17
+ export * from './testDoubles/SpyImplementsTimeMarkerOutlet'
18
+
19
+ export { default as MockTimeMarkerOutlet } from './testDoubles/MockTimeMarkerOutlet'
20
+ export * from './testDoubles/MockTimeMarkerOutlet'
15
21
 
16
22
  export * from './nodeLsl.types'
@@ -0,0 +1,36 @@
1
+ import { assert } from '@sprucelabs/test-utils'
2
+ import { DurationMarker, TimeMarkerOutlet } from '..'
3
+
4
+ export default class MockTimeMarkerOutlet implements TimeMarkerOutlet {
5
+ public static instance: MockTimeMarkerOutlet
6
+ private didPushMarkers = false
7
+ private markers?: DurationMarker[]
8
+
9
+ public constructor() {
10
+ MockTimeMarkerOutlet.instance = this
11
+ }
12
+ public stop(): void {}
13
+
14
+ public async pushMarkers(markers: DurationMarker[]): Promise<void> {
15
+ this.didPushMarkers = true
16
+ this.markers = markers
17
+ }
18
+
19
+ public assertDidPushMarkers(markers?: DurationMarker[]) {
20
+ assert.isTrue(
21
+ this.didPushMarkers,
22
+ `Expected to have pushed markers but didn't. Try 'outlet.pushMarkers(...)'`
23
+ )
24
+
25
+ if (markers) {
26
+ assert.isEqualDeep(this.markers, markers)
27
+ }
28
+ }
29
+
30
+ public assertDidNotPushMarkers() {
31
+ assert.isFalse(
32
+ this.didPushMarkers,
33
+ `Expected to NOT have pushed markers but did. Try 'outlet.pushMarkers(...)'`
34
+ )
35
+ }
36
+ }
@@ -1,7 +1,7 @@
1
1
  import TimeMarkerOutletImpl from '../implementations/TimeMarkerOutlet'
2
2
  import { LslOutletOptions } from '../nodeLsl.types'
3
3
 
4
- export default class SpyTimeMarkerOutlet extends TimeMarkerOutletImpl {
4
+ export default class SpyExtendsTimeMarkerOutlet extends TimeMarkerOutletImpl {
5
5
  public spyOptions: LslOutletOptions
6
6
  public totalWaitTimeMs: number
7
7
 
@@ -0,0 +1,42 @@
1
+ import { DurationMarker, TimeMarkerOutlet } from '../nodeLsl.types'
2
+
3
+ export default class SpyImplementsTimeMarkerOutlet implements TimeMarkerOutlet {
4
+ public pushMarkersCalls: DurationMarker[][]
5
+ public pushSampleCalls: string[][]
6
+ public numStopCalls: number
7
+ public numDestroyCalls: number
8
+
9
+ public static TimeMarkerOutlet() {
10
+ return new this()
11
+ }
12
+
13
+ protected constructor() {
14
+ this.pushMarkersCalls = []
15
+ this.pushSampleCalls = []
16
+ this.numStopCalls = 0
17
+ this.numDestroyCalls = 0
18
+ }
19
+
20
+ public async pushMarkers(markers: DurationMarker[]) {
21
+ this.pushMarkersCalls.push(markers)
22
+ }
23
+
24
+ public pushSample(sample: string[]) {
25
+ this.pushSampleCalls.push(sample)
26
+ }
27
+
28
+ public stop() {
29
+ this.numStopCalls++
30
+ }
31
+
32
+ public destroy() {
33
+ this.numDestroyCalls++
34
+ }
35
+
36
+ public resetMock() {
37
+ this.pushMarkersCalls = []
38
+ this.pushSampleCalls = []
39
+ this.numStopCalls = 0
40
+ this.numDestroyCalls = 0
41
+ }
42
+ }
package/tsconfig.json CHANGED
@@ -37,4 +37,4 @@
37
37
  "build",
38
38
  "esm"
39
39
  ]
40
- }
40
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpyTimeMarkerOutlet.js","sourceRoot":"","sources":["../../src/testDoubles/SpyTimeMarkerOutlet.ts"],"names":[],"mappings":";;;;;AAAA,2FAAsE;AAGtE,MAAqB,mBAAoB,SAAQ,0BAAoB;IAIpE,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;AAdD,sCAcC"}