UNPKG

@tempest/core

Version:

The core of the Tempest Stream Library

21 lines 662 B
import { MulticastTask } from './MulticastTask'; export class MulticastDisposable { constructor(source, sink, scheduler) { this.source = source; this.sink = sink; this.scheduler = scheduler; this.disposed = false; } dispose() { if (this.disposed) return; this.disposed = true; const source = this.source; const remaining = source._remove(this.sink); if (remaining === 0) { const task = MulticastTask.create(() => source._dispose()); source._stopId = this.scheduler.asap(task); } } } //# sourceMappingURL=MulticastDisposable.js.map