0e4c15fe6701d128cd48ca89e6ab4bfcbd163b257111dcb3fa172124c6cb42992e74d5395388c6c078aaad6cfd8d49947c9285cbb96fab4ba0621fecb79cbd 711 B

12345678910111213141516171819202122
  1. import { Scheduler } from '../Scheduler';
  2. import { SubscriptionLog } from './SubscriptionLog';
  3. export class SubscriptionLoggable {
  4. public subscriptions: SubscriptionLog[] = [];
  5. // @ts-ignore: Property has no initializer and is not definitely assigned
  6. scheduler: Scheduler;
  7. logSubscribedFrame(): number {
  8. this.subscriptions.push(new SubscriptionLog(this.scheduler.now()));
  9. return this.subscriptions.length - 1;
  10. }
  11. logUnsubscribedFrame(index: number) {
  12. const subscriptionLogs = this.subscriptions;
  13. const oldSubscriptionLog = subscriptionLogs[index];
  14. subscriptionLogs[index] = new SubscriptionLog(
  15. oldSubscriptionLog.subscribedFrame,
  16. this.scheduler.now()
  17. );
  18. }
  19. }