@neurodevs/node-lsl 11.0.1 → 11.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.
@@ -10,6 +10,7 @@ export default class EventMarkerOutletTest extends AbstractLslTest {
10
10
  protected static canStartAgainAfterStopping(): Promise<void>;
11
11
  protected static doesNotWaitIfStopped(): Promise<void>;
12
12
  protected static clearsTheTimeoutOnStop(): Promise<void>;
13
+ protected static pushMarkerCallsPushSampleOnMarkerOutlet(): Promise<void>;
13
14
  private static get lslOutlet();
14
15
  private static setupOutlet;
15
16
  private static pushTotalMarkers;
@@ -90,6 +90,11 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
90
90
  this.instance.stop();
91
91
  this.lslOutlet.pushSample = () => test_utils_1.assert.fail('Should not have been called');
92
92
  }
93
+ static async pushMarkerCallsPushSampleOnMarkerOutlet() {
94
+ const markerName = (0, test_utils_1.generateId)();
95
+ this.instance.pushMarker(markerName);
96
+ test_utils_1.assert.isEqual(FakeLslOutlet_1.default.callsToPushSample[0][0], markerName);
97
+ }
93
98
  static get lslOutlet() {
94
99
  return this.instance.getLslOutlet();
95
100
  }
@@ -141,4 +146,7 @@ __decorate([
141
146
  __decorate([
142
147
  (0, test_utils_1.test)()
143
148
  ], EventMarkerOutletTest, "clearsTheTimeoutOnStop", null);
149
+ __decorate([
150
+ (0, test_utils_1.test)()
151
+ ], EventMarkerOutletTest, "pushMarkerCallsPushSampleOnMarkerOutlet", null);
144
152
  //# sourceMappingURL=EventMarkerOutlet.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventMarkerOutlet.test.js","sourceRoot":"","sources":["../../src/__tests__/EventMarkerOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAkC;AAClC,uDAAiE;AACjE,wFAA+D;AAE/D,6GAAoF;AACpF,2FAAkE;AAElE,wEAA+C;AAE/C,MAAqB,qBAAsB,SAAQ,yBAAe;IAGpD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,mBAAM,CAAC,WAAW,CAAC,uBAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAC5D,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACjB,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC5C,MAAM,OAAO,GAAG,IAAA,qCAA2B,GAAE,CAAA;QAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAErC,mBAAM,CAAC,WAAW,CAAC,uBAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5E,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gDAAgD;QACnE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAEzB,mBAAM,CAAC,OAAO,CACV,uBAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,MAAM,CAAC,IAAI,EACX,0BAA0B,CAC7B,CAAA;QAED,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACpE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mDAAmD;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAE9C,mBAAM,CAAC,OAAO,CAAC,uBAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEzD,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAChD,CAAA;IACL,CAAC;IAKsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,OAAe;QAC7D,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;QAE3C,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,QAAQ,IAAI,CAAC,CAAA;YACb,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;QACL,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAE/B,mBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEpB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;QAE3C,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,QAAQ,EAAE,CAAA;QACd,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAE/B,mBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,OAAO,CAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAExB,mBAAM,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sBAAsB;QACzC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEpB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,EAAE,CAC7B,mBAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAClD,CAAC;IAEO,MAAM,KAAK,SAAS;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;IACvC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW;QAC5B,2BAAiB,CAAC,KAAK,GAAG,2BAAwB,CAAA;QAClD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAClD,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,UAAmB;QACpE,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAA;QAEvD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExC,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,UAAmB;QACrD,OAAO;YACH,IAAI,EAAE,IAAA,uBAAU,GAAE;YAClB,UAAU,EAAE,UAAU,IAAI,IAAA,kBAAS,EAAC,GAAG,EAAE,IAAI,CAAC;SACjD,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAClC,OAAmC;QAEnC,OAAO,CAAC,MAAM,2BAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAoB,CAAA;IACvE,CAAC;CACJ;AA3JD,wCA2JC;AA7I0B;IADtB,IAAA,iBAAI,GAAE;sEAcN;AAGsB;IADtB,IAAA,iBAAI,GAAE;4DAMN;AAGsB;IADtB,IAAA,iBAAI,GAAE;mFAcN;AAGsB;IADtB,IAAA,iBAAI,GAAE;sFAUN;AAKsB;IAHtB,IAAA,iBAAI,EAAC,8BAA8B,EAAE,CAAC,CAAC;IACvC,IAAA,iBAAI,EAAC,+BAA+B,EAAE,CAAC,CAAC;IACxC,IAAA,iBAAI,EAAC,8BAA8B,EAAE,CAAC,CAAC;6DAgBvC;AAGsB;IADtB,IAAA,iBAAI,GAAE;6DAeN;AAGsB;IADtB,IAAA,iBAAI,GAAE;uDAWN;AAGsB;IADtB,IAAA,iBAAI,GAAE;yDAON"}
1
+ {"version":3,"file":"EventMarkerOutlet.test.js","sourceRoot":"","sources":["../../src/__tests__/EventMarkerOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAkC;AAClC,uDAAiE;AACjE,wFAA+D;AAE/D,6GAAoF;AACpF,2FAAkE;AAElE,wEAA+C;AAE/C,MAAqB,qBAAsB,SAAQ,yBAAe;IAGpD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mCAAmC;QACtD,mBAAM,CAAC,WAAW,CAAC,uBAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAC5D,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACjB,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC5C,MAAM,OAAO,GAAG,IAAA,qCAA2B,GAAE,CAAA;QAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAErC,mBAAM,CAAC,WAAW,CAAC,uBAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5E,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gDAAgD;QACnE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAEzB,mBAAM,CAAC,OAAO,CACV,uBAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,MAAM,CAAC,IAAI,EACX,0BAA0B,CAC7B,CAAA;QAED,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACpE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mDAAmD;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAE9C,mBAAM,CAAC,OAAO,CAAC,uBAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEzD,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAChD,CAAA;IACL,CAAC;IAKsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,OAAe;QAC7D,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;QAE3C,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,QAAQ,IAAI,CAAC,CAAA;YACb,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;QACL,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAE/B,mBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEpB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;QAE3C,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,QAAQ,EAAE,CAAA;QACd,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAE/B,mBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,OAAO,CAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAExB,mBAAM,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sBAAsB;QACzC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEpB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,EAAE,CAC7B,mBAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,uCAAuC;QAC1D,MAAM,UAAU,GAAG,IAAA,uBAAU,GAAE,CAAA;QAC/B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAEpC,mBAAM,CAAC,OAAO,CAAC,uBAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACrE,CAAC;IAEO,MAAM,KAAK,SAAS;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;IACvC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW;QAC5B,2BAAiB,CAAC,KAAK,GAAG,2BAAwB,CAAA;QAClD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAClD,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,UAAmB;QACpE,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAA;QAEvD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExC,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,UAAmB;QACrD,OAAO;YACH,IAAI,EAAE,IAAA,uBAAU,GAAE;YAClB,UAAU,EAAE,UAAU,IAAI,IAAA,kBAAS,EAAC,GAAG,EAAE,IAAI,CAAC;SACjD,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAClC,OAAmC;QAEnC,OAAO,CAAC,MAAM,2BAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAoB,CAAA;IACvE,CAAC;CACJ;AAnKD,wCAmKC;AArJ0B;IADtB,IAAA,iBAAI,GAAE;sEAcN;AAGsB;IADtB,IAAA,iBAAI,GAAE;4DAMN;AAGsB;IADtB,IAAA,iBAAI,GAAE;mFAcN;AAGsB;IADtB,IAAA,iBAAI,GAAE;sFAUN;AAKsB;IAHtB,IAAA,iBAAI,EAAC,8BAA8B,EAAE,CAAC,CAAC;IACvC,IAAA,iBAAI,EAAC,+BAA+B,EAAE,CAAC,CAAC;IACxC,IAAA,iBAAI,EAAC,8BAA8B,EAAE,CAAC,CAAC;6DAgBvC;AAGsB;IADtB,IAAA,iBAAI,GAAE;6DAeN;AAGsB;IADtB,IAAA,iBAAI,GAAE;uDAWN;AAGsB;IADtB,IAAA,iBAAI,GAAE;yDAON;AAGsB;IADtB,IAAA,iBAAI,GAAE;0EAMN"}
@@ -8,12 +8,15 @@ export default class EventMarkerOutlet implements MarkerOutlet {
8
8
  private timeout?;
9
9
  protected constructor(lslOutlet: LslOutlet);
10
10
  static Create(options?: Partial<LslOutletOptions>): Promise<MarkerOutlet>;
11
+ pushMarker(markerName: string): void;
11
12
  pushMarkers(markers: DurationMarker[]): Promise<void>;
13
+ private pushMarkerToOutlet;
12
14
  protected wait(durationMs: number): Promise<unknown>;
13
15
  private setTimeout;
14
16
  stop(): void;
15
17
  }
16
18
  export interface MarkerOutlet {
19
+ pushMarker(markerName: string): void;
17
20
  pushMarkers(markers: DurationMarker[]): Promise<void>;
18
21
  stop(): void;
19
22
  }
@@ -28,16 +28,23 @@ class EventMarkerOutlet {
28
28
  });
29
29
  return new (this.Class ?? this)(outlet);
30
30
  }
31
+ pushMarker(markerName) {
32
+ this.pushMarkerToOutlet(markerName);
33
+ }
31
34
  async pushMarkers(markers) {
32
35
  this.isPlaying = true;
33
36
  for (let marker of markers) {
34
- this.lslOutlet.pushSample([marker.name]);
35
- await this.wait(marker.durationMs);
37
+ const { name, durationMs } = marker;
38
+ this.pushMarkerToOutlet(name);
39
+ await this.wait(durationMs);
36
40
  if (!this.isPlaying) {
37
41
  return;
38
42
  }
39
43
  }
40
44
  }
45
+ pushMarkerToOutlet(markerName) {
46
+ this.lslOutlet.pushSample([markerName]);
47
+ }
41
48
  async wait(durationMs) {
42
49
  return new Promise((resolve) => this.setTimeout(resolve, durationMs));
43
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventMarkerOutlet.js","sourceRoot":"","sources":["../../src/components/EventMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,wEAAgF;AAEhF,MAAqB,iBAAiB;IAQlC,YAAsB,SAAoB;QAJlC,cAAS,GAAG,KAAK,CAAA;QAKrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC1D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACG,CAAA;QAErB,MAAM,MAAM,GAAG,MAAM,yBAAe,CAAC,MAAM,CAAC;YACxC,GAAG,cAAc;YACjB,GAAG,OAAO;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,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,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAExC,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;AA9DD,oCA8DC"}
1
+ {"version":3,"file":"EventMarkerOutlet.js","sourceRoot":"","sources":["../../src/components/EventMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,wEAAgF;AAEhF,MAAqB,iBAAiB;IAQlC,YAAsB,SAAoB;QAJlC,cAAS,GAAG,KAAK,CAAA;QAKrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC1D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACG,CAAA;QAErB,MAAM,MAAM,GAAG,MAAM,yBAAe,CAAC,MAAM,CAAC;YACxC,GAAG,cAAc;YACjB,GAAG,OAAO;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,UAAU,CAAC,UAAkB;QAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAE7B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IAC3C,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;AAvED,oCAuEC"}
@@ -1,10 +1,12 @@
1
1
  import { MarkerOutlet } from '../../components/EventMarkerOutlet';
2
2
  import { DurationMarker } from '../../nodeLsl.types';
3
3
  export default class FakeMarkerOutlet implements MarkerOutlet {
4
- static pushMarkersCalls: DurationMarker[][];
5
- static numStopCalls: number;
6
- static numDestroyCalls: number;
4
+ static callsToPushMarker: string[];
5
+ static callsToPushMarkers: DurationMarker[][];
6
+ static numCallsToStop: number;
7
+ static numCallsToDestroy: number;
7
8
  constructor();
9
+ pushMarker(markerName: string): void;
8
10
  pushMarkers(markers: DurationMarker[]): Promise<void>;
9
11
  stop(): void;
10
12
  destroy(): void;
@@ -1,25 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class FakeMarkerOutlet {
4
- constructor() {
5
- FakeMarkerOutlet.pushMarkersCalls = [];
6
- FakeMarkerOutlet.numStopCalls = 0;
7
- FakeMarkerOutlet.numDestroyCalls = 0;
4
+ constructor() { }
5
+ pushMarker(markerName) {
6
+ FakeMarkerOutlet.callsToPushMarker.push(markerName);
8
7
  }
9
8
  async pushMarkers(markers) {
10
- FakeMarkerOutlet.pushMarkersCalls.push(markers);
9
+ FakeMarkerOutlet.callsToPushMarkers.push(markers);
11
10
  }
12
11
  stop() {
13
- FakeMarkerOutlet.numStopCalls++;
12
+ FakeMarkerOutlet.numCallsToStop++;
14
13
  }
15
14
  destroy() {
16
- FakeMarkerOutlet.numDestroyCalls++;
15
+ FakeMarkerOutlet.numCallsToDestroy++;
17
16
  }
18
17
  static resetTestDouble() {
19
- this.pushMarkersCalls = [];
20
- this.numStopCalls = 0;
21
- this.numDestroyCalls = 0;
18
+ this.callsToPushMarker = [];
19
+ this.callsToPushMarkers = [];
20
+ this.numCallsToStop = 0;
21
+ this.numCallsToDestroy = 0;
22
22
  }
23
23
  }
24
+ FakeMarkerOutlet.callsToPushMarker = [];
25
+ FakeMarkerOutlet.callsToPushMarkers = [];
26
+ FakeMarkerOutlet.numCallsToStop = 0;
27
+ FakeMarkerOutlet.numCallsToDestroy = 0;
24
28
  exports.default = FakeMarkerOutlet;
25
29
  //# sourceMappingURL=FakeMarkerOutlet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FakeMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/FakeMarkerOutlet.ts"],"names":[],"mappings":";;AAGA,MAAqB,gBAAgB;IAKjC;QACI,gBAAgB,CAAC,gBAAgB,GAAG,EAAE,CAAA;QACtC,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAA;QACjC,gBAAgB,CAAC,eAAe,GAAG,CAAC,CAAA;IACxC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAEM,IAAI;QACP,gBAAgB,CAAC,YAAY,EAAE,CAAA;IACnC,CAAC;IAEM,OAAO;QACV,gBAAgB,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;IAC5B,CAAC;CACJ;AA5BD,mCA4BC"}
1
+ {"version":3,"file":"FakeMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/FakeMarkerOutlet.ts"],"names":[],"mappings":";;AAGA,MAAqB,gBAAgB;IAMjC,gBAAsB,CAAC;IAEhB,UAAU,CAAC,UAAkB;QAChC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAEM,IAAI;QACP,gBAAgB,CAAC,cAAc,EAAE,CAAA;IACrC,CAAC;IAEM,OAAO;QACV,gBAAgB,CAAC,iBAAiB,EAAE,CAAA;IACxC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC9B,CAAC;;AA5Ba,kCAAiB,GAAa,EAAE,CAAA;AAChC,mCAAkB,GAAuB,EAAE,CAAA;AAC3C,+BAAc,GAAG,CAAC,CAAA;AAClB,kCAAiB,GAAG,CAAC,CAAA;kBAJlB,gBAAgB"}
@@ -7,6 +7,7 @@ export default class MockMarkerOutlet implements MarkerOutlet {
7
7
  private pushedSamples?;
8
8
  stop(): void;
9
9
  destroy(): void;
10
+ pushMarker(_markerName: string): void;
10
11
  pushSample(sample: LslSample): void;
11
12
  pushMarkers(markers: DurationMarker[]): Promise<void>;
12
13
  assertDidPushSamples(samples?: LslSample[]): void;
@@ -6,8 +6,15 @@ class MockMarkerOutlet {
6
6
  this.didPushMarkers = false;
7
7
  this.didPushSamples = false;
8
8
  }
9
- stop() { }
10
- destroy() { }
9
+ stop() {
10
+ throw new Error('Method not implemented.');
11
+ }
12
+ destroy() {
13
+ throw new Error('Method not implemented.');
14
+ }
15
+ pushMarker(_markerName) {
16
+ throw new Error('Method not implemented.');
17
+ }
11
18
  pushSample(sample) {
12
19
  if (!this.didPushSamples) {
13
20
  this.didPushSamples = true;
@@ -1 +1 @@
1
- {"version":3,"file":"MockMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/MockMarkerOutlet.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAI/C,MAAqB,gBAAgB;IAArC;QACY,mBAAc,GAAG,KAAK,CAAA;QAEtB,mBAAc,GAAG,KAAK,CAAA;IAsDlC,CAAC;IAnDU,IAAI,KAAI,CAAC;IACT,OAAO,KAAI,CAAC;IAEZ,UAAU,CAAC,MAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA;IAChC,CAAC;IAEM,oBAAoB,CAAC,OAAqB;QAC7C,mBAAM,CAAC,MAAM,CACT,IAAI,CAAC,cAAc,EACnB,0EAA0E,CAC7E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACV,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IAEM,uBAAuB;QAC1B,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC9E,CAAA;IACL,CAAC;IAEM,oBAAoB,CAAC,OAA0B;QAClD,mBAAM,CAAC,MAAM,CACT,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC9E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACV,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IAEM,uBAAuB;QAC1B,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,cAAc,EACnB,4EAA4E,CAC/E,CAAA;IACL,CAAC;CACJ;AAzDD,mCAyDC"}
1
+ {"version":3,"file":"MockMarkerOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/MarkerOutlet/MockMarkerOutlet.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAI/C,MAAqB,gBAAgB;IAArC;QACY,mBAAc,GAAG,KAAK,CAAA;QAEtB,mBAAc,GAAG,KAAK,CAAA;IA+DlC,CAAC;IA5DU,IAAI;QACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAEM,OAAO;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAEM,UAAU,CAAC,WAAmB;QACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAEM,UAAU,CAAC,MAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA;IAChC,CAAC;IAEM,oBAAoB,CAAC,OAAqB;QAC7C,mBAAM,CAAC,MAAM,CACT,IAAI,CAAC,cAAc,EACnB,0EAA0E,CAC7E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACV,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IAEM,uBAAuB;QAC1B,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC9E,CAAA;IACL,CAAC;IAEM,oBAAoB,CAAC,OAA0B;QAClD,mBAAM,CAAC,MAAM,CACT,IAAI,CAAC,cAAc,EACnB,2EAA2E,CAC9E,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACV,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IAEM,uBAAuB;QAC1B,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,cAAc,EACnB,4EAA4E,CAC/E,CAAA;IACL,CAAC;CACJ;AAlED,mCAkEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/node-lsl",
3
- "version": "11.0.1",
3
+ "version": "11.1.0",
4
4
  "main": "build/index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -131,6 +131,14 @@ export default class EventMarkerOutletTest extends AbstractLslTest {
131
131
  assert.fail('Should not have been called')
132
132
  }
133
133
 
134
+ @test()
135
+ protected static async pushMarkerCallsPushSampleOnMarkerOutlet() {
136
+ const markerName = generateId()
137
+ this.instance.pushMarker(markerName)
138
+
139
+ assert.isEqual(FakeLslOutlet.callsToPushSample[0][0], markerName)
140
+ }
141
+
134
142
  private static get lslOutlet() {
135
143
  return this.instance.getLslOutlet()
136
144
  }
@@ -35,13 +35,18 @@ export default class EventMarkerOutlet implements MarkerOutlet {
35
35
  return new (this.Class ?? this)(outlet)
36
36
  }
37
37
 
38
+ public pushMarker(markerName: string) {
39
+ this.pushMarkerToOutlet(markerName)
40
+ }
41
+
38
42
  public async pushMarkers(markers: DurationMarker[]) {
39
43
  this.isPlaying = true
40
44
 
41
45
  for (let marker of markers) {
42
- this.lslOutlet.pushSample([marker.name])
46
+ const { name, durationMs } = marker
47
+ this.pushMarkerToOutlet(name)
43
48
 
44
- await this.wait(marker.durationMs)
49
+ await this.wait(durationMs)
45
50
 
46
51
  if (!this.isPlaying) {
47
52
  return
@@ -49,6 +54,10 @@ export default class EventMarkerOutlet implements MarkerOutlet {
49
54
  }
50
55
  }
51
56
 
57
+ private pushMarkerToOutlet(markerName: string) {
58
+ this.lslOutlet.pushSample([markerName])
59
+ }
60
+
52
61
  protected async wait(durationMs: number) {
53
62
  return new Promise((resolve) => this.setTimeout(resolve, durationMs))
54
63
  }
@@ -66,6 +75,7 @@ export default class EventMarkerOutlet implements MarkerOutlet {
66
75
  }
67
76
 
68
77
  export interface MarkerOutlet {
78
+ pushMarker(markerName: string): void
69
79
  pushMarkers(markers: DurationMarker[]): Promise<void>
70
80
  stop(): void
71
81
  }
@@ -2,31 +2,33 @@ import { MarkerOutlet } from '../../components/EventMarkerOutlet'
2
2
  import { DurationMarker } from '../../nodeLsl.types'
3
3
 
4
4
  export default class FakeMarkerOutlet implements MarkerOutlet {
5
- public static pushMarkersCalls: DurationMarker[][]
6
- public static numStopCalls: number
7
- public static numDestroyCalls: number
5
+ public static callsToPushMarker: string[] = []
6
+ public static callsToPushMarkers: DurationMarker[][] = []
7
+ public static numCallsToStop = 0
8
+ public static numCallsToDestroy = 0
8
9
 
9
- public constructor() {
10
- FakeMarkerOutlet.pushMarkersCalls = []
11
- FakeMarkerOutlet.numStopCalls = 0
12
- FakeMarkerOutlet.numDestroyCalls = 0
10
+ public constructor() {}
11
+
12
+ public pushMarker(markerName: string) {
13
+ FakeMarkerOutlet.callsToPushMarker.push(markerName)
13
14
  }
14
15
 
15
16
  public async pushMarkers(markers: DurationMarker[]) {
16
- FakeMarkerOutlet.pushMarkersCalls.push(markers)
17
+ FakeMarkerOutlet.callsToPushMarkers.push(markers)
17
18
  }
18
19
 
19
20
  public stop() {
20
- FakeMarkerOutlet.numStopCalls++
21
+ FakeMarkerOutlet.numCallsToStop++
21
22
  }
22
23
 
23
24
  public destroy() {
24
- FakeMarkerOutlet.numDestroyCalls++
25
+ FakeMarkerOutlet.numCallsToDestroy++
25
26
  }
26
27
 
27
28
  public static resetTestDouble() {
28
- this.pushMarkersCalls = []
29
- this.numStopCalls = 0
30
- this.numDestroyCalls = 0
29
+ this.callsToPushMarker = []
30
+ this.callsToPushMarkers = []
31
+ this.numCallsToStop = 0
32
+ this.numCallsToDestroy = 0
31
33
  }
32
34
  }
@@ -8,8 +8,17 @@ export default class MockMarkerOutlet implements MarkerOutlet {
8
8
  private didPushSamples = false
9
9
  private pushedSamples?: LslSample[]
10
10
 
11
- public stop() {}
12
- public destroy() {}
11
+ public stop() {
12
+ throw new Error('Method not implemented.')
13
+ }
14
+
15
+ public destroy() {
16
+ throw new Error('Method not implemented.')
17
+ }
18
+
19
+ public pushMarker(_markerName: string) {
20
+ throw new Error('Method not implemented.')
21
+ }
13
22
 
14
23
  public pushSample(sample: LslSample) {
15
24
  if (!this.didPushSamples) {