import { Subscription, Disposable, Source, Sink } from '../interfaces' import { defaultScheduler } from '../scheduler/defaultScheduler' export class BasicSubscription implements Subscription { private disposable: Disposable constructor (private source: Source, private sink: Sink) { this.disposable = source.run(sink, defaultScheduler) } static create (source: Source, sink: Sink) { return new BasicSubscription(source, sink) } unsubscribe (): void { this.disposable.dispose() } }