function fromArray<T>(
arr: Array<T>
): IObservable<T>
function fromDOM(
element: HTMLElement,
name: string
): IObservable<T>
function fromPromise<T>(
f: () => Promise<T>
): IObservable<T>
function interval(
duration: number
): IObservable<T>
function of(
...t: Array<any>
): IObservable<any>
function subject(): ISubject<T>
function filter<T>(
(t: T) => Boolean,
s: IObservable<T>
): IObservable<T>
function join<T>(
s: IObservable<IObservable<T>>
): IObservable<T>
function map<T, R>(
m: (v: T) => R,
s: IObservable<T>
): IObservable<R>
function merge<T>(...t: Array<IObservable<T>>
): IObservable<T>
function multicast<T>(
s: IObservable<T>
): IObservable<T>
function rafThrottle<T>(
s: IObservable<T>
): IObservable<T>
function reduce<T, R>(
r: (a: R, b: T) => R,
v: T, s: IObservable<T>
): IObservable<R>
function sample<T, R> (
f: (...e: Array<any>) => R,
sampler: IObservable<any>,
sources: Array<IObservable<any>>
) : IObservable<T>
function scan<T, R>(
r: (a: R, b: T) => R,
v: T,
s: IObservable<T>
): IObservable<R>
function skipRepeats<T, H>(
x: (i: T) => H,
s: IObservable<T>
): IObservable<T>
function slice(
start: number,
count: number,
source: IObservable<T>
): IObservable<T>
function switchLatest<T>(
s: IObservable<IObservable<T>>
): IObservable<T>
function tap<T>(
m: (v: T) => void, s: IObservable<T>
): IObservable<T>
interface IObservable<T> {
subscribe(
observer: IObserver<T>,
scheduler: IScheduler
): ISubscription
}
export interface IObserver<T> {
// Receives the next value in the sequence
next (val: T): void
// Receives the sequence error
error (err: Error): void
// Receives the sequence completion value
complete (): void
}
interface ISubject<T> extends IObservable<T>, IObserver<T> {
}
ISubscriberFunction<T> {
(observer: IObserver<T>, scheduler: IScheduler): ISubscription | void | (() => void)
}
ISubscription {
unsubscribe(): void
readonly closed: boolean
}
function function forEach <T> (
onNext: (t: T) => void,
source: IObservable<T>
): ISubscription
new Observable(function <T> (observer: IObserver<T>) {
observer.next(10)
observer.complete()
})