@tempest/subject
Version:
subject operator for tempest
29 lines (28 loc) • 714 B
TypeScript
import { Stream, Source } from '@tempest/core';
/**
* Takes a Stream and 'upgrades' it to a Subject
*
* @export
* @template T
* @param {Stream<T>} stream
* @returns {Subject<T>}
* @example
* import { never } from '@tempest/never'
* import { asSubject } from '@tempest/subject'
*
* const subject = asSubject(never())
*
* subject.subscribe(x => console.log(x)) // 1, 2, 3
*
* subject.next(1)
* subject.next(2)
* subject.next(3)
* subject.complete()
*/
export declare function asSubject<T>(stream: Stream<T>): Subject<T>;
export declare class Subject<T> extends Stream<T> {
constructor(source: Source<T>);
next(value: T): void;
error(err: Error): void;
complete(value?: T): void;
}