Skip to content

Latest commit

 

History

History
187 lines (153 loc) · 2.59 KB

API.md

File metadata and controls

187 lines (153 loc) · 2.59 KB

Sources

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>

Operators

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>

Interfaces

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
}

Utilities

function function forEach <T> (
    onNext: (t: T) => void, 
    source: IObservable<T>
): ISubscription

Classes

new Observable(function <T> (observer: IObserver<T>) {
    observer.next(10)
    observer.complete()
})