import { Scheduler } from '../Scheduler'; import { SubscriptionLog } from './SubscriptionLog'; export class SubscriptionLoggable { public subscriptions: SubscriptionLog[] = []; // @ts-ignore: Property has no initializer and is not definitely assigned scheduler: Scheduler; logSubscribedFrame(): number { this.subscriptions.push(new SubscriptionLog(this.scheduler.now())); return this.subscriptions.length - 1; } logUnsubscribedFrame(index: number) { const subscriptionLogs = this.subscriptions; const oldSubscriptionLog = subscriptionLogs[index]; subscriptionLogs[index] = new SubscriptionLog( oldSubscriptionLog.subscribedFrame, this.scheduler.now() ); } }