Bones/node_modules/rxjs/Observable.d.ts
SOUTHERNCO\x2mjbyrn 7efe7605b8 Template Upload
2017-05-17 13:45:25 -04:00

216 lines
14 KiB
TypeScript

import { PartialObserver } from './Observer';
import { Operator } from './Operator';
import { Scheduler } from './Scheduler';
import { Subscriber } from './Subscriber';
import { Subscription } from './Subscription';
import { CoreOperators } from './CoreOperators';
import { GroupedObservable } from './operator/groupBy';
import { ConnectableObservable } from './observable/ConnectableObservable';
import { Subject } from './Subject';
import { Notification } from './Notification';
import { combineLatestStatic } from './operator/combineLatest';
import { concatStatic } from './operator/concat';
import { mergeStatic } from './operator/merge';
import { zipStatic } from './operator/zip';
import { BoundCallbackObservable } from './observable/BoundCallbackObservable';
import { BoundNodeCallbackObservable } from './observable/BoundNodeCallbackObservable';
import { DeferObservable } from './observable/DeferObservable';
import { EmptyObservable } from './observable/EmptyObservable';
import { ForkJoinObservable } from './observable/ForkJoinObservable';
import { FromObservable } from './observable/FromObservable';
import { ArrayObservable } from './observable/ArrayObservable';
import { FromEventObservable } from './observable/FromEventObservable';
import { FromEventPatternObservable } from './observable/FromEventPatternObservable';
import { PromiseObservable } from './observable/PromiseObservable';
import { IntervalObservable } from './observable/IntervalObservable';
import { TimerObservable } from './observable/TimerObservable';
import { raceStatic } from './operator/race';
import { RangeObservable } from './observable/RangeObservable';
import { NeverObservable } from './observable/NeverObservable';
import { ErrorObservable } from './observable/ErrorObservable';
import { AjaxCreationMethod } from './observable/dom/AjaxObservable';
import { WebSocketSubject } from './observable/dom/WebSocketSubject';
import { CombineLatestSignature } from './operator/combineLatest';
import { WithLatestFromSignature } from './operator/withLatestFrom';
import { ZipSignature } from './operator/zip';
import { BufferSignature } from './operator/buffer';
import { BufferCountSignature } from './operator/bufferCount';
import { BufferTimeSignature } from './operator/bufferTime';
import { BufferToggleSignature } from './operator/bufferToggle';
import { BufferWhenSignature } from './operator/bufferWhen';
import { WindowSignature } from './operator/window';
import { WindowCountSignature } from './operator/windowCount';
import { WindowTimeSignature } from './operator/windowTime';
import { WindowToggleSignature } from './operator/windowToggle';
import { WindowWhenSignature } from './operator/windowWhen';
export declare type ObservableOrPromise<T> = Observable<T> | Promise<T>;
export declare type ArrayOrIterator<T> = Iterator<T> | ArrayLike<T>;
export declare type ObservableInput<T> = ObservableOrPromise<T> | ArrayOrIterator<T>;
/**
* A representation of any set of values over any amount of time. This the most basic building block
* of RxJS.
*
* @class Observable<T>
*/
export declare class Observable<T> implements CoreOperators<T> {
_isScalar: boolean;
protected source: Observable<any>;
protected operator: Operator<any, T>;
/**
* @constructor
* @param {Function} subscribe the function that is
* called when the Observable is initially subscribed to. This function is given a Subscriber, to which new values
* can be `next`ed, or an `error` method can be called to raise an error, or `complete` can be called to notify
* of a successful completion.
*/
constructor(subscribe?: <R>(subscriber: Subscriber<R>) => Subscription | Function | void);
/**
* @static
* @method create
* @param {Function} subscribe? the subscriber function to be passed to the Observable constructor
* @returns {Observable} a new cold observable
* @description creates a new cold Observable by calling the Observable constructor
*/
static create: Function;
/**
* @method lift
* @param {Operator} operator the operator defining the operation to take on the observable
* @returns {Observable} a new observable with the Operator applied
* @description creates a new Observable, with this Observable as the source, and the passed
* operator defined as the new observable's operator.
*/
lift<R>(operator: Operator<T, R>): Observable<R>;
/**
* @method subscribe
* @param {PartialObserver|Function} observerOrNext (optional) either an observer defining all functions to be called,
* or the first of three possible handlers, which is the handler for each value emitted from the observable.
* @param {Function} error (optional) a handler for a terminal event resulting from an error. If no error handler is provided,
* the error will be thrown as unhandled
* @param {Function} complete (optional) a handler for a terminal event resulting from successful completion.
* @returns {Subscription} a subscription reference to the registered handlers
* @description registers handlers for handling emitted values, error and completions from the observable, and
* executes the observable's subscriber function, which will take action to set up the underlying data stream
*/
subscribe(observerOrNext?: PartialObserver<T> | ((value: T) => void), error?: (error: any) => void, complete?: () => void): Subscription;
/**
* @method forEach
* @param {Function} next a handler for each value emitted by the observable
* @param {any} [thisArg] a `this` context for the `next` handler function
* @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise
* @returns {Promise} a promise that either resolves on observable completion or
* rejects with the handled error
*/
forEach(next: (value: T) => void, thisArg: any, PromiseCtor?: typeof Promise): Promise<void>;
protected _subscribe(subscriber: Subscriber<any>): Subscription | Function | void;
static ajax: AjaxCreationMethod;
static bindCallback: typeof BoundCallbackObservable.create;
static bindNodeCallback: typeof BoundNodeCallbackObservable.create;
static combineLatest: typeof combineLatestStatic;
static concat: typeof concatStatic;
static defer: typeof DeferObservable.create;
static empty: typeof EmptyObservable.create;
static forkJoin: typeof ForkJoinObservable.create;
static from: typeof FromObservable.create;
static fromArray: typeof ArrayObservable.create;
static fromEvent: typeof FromEventObservable.create;
static fromEventPattern: typeof FromEventPatternObservable.create;
static fromPromise: typeof PromiseObservable.create;
static interval: typeof IntervalObservable.create;
static merge: typeof mergeStatic;
static never: typeof NeverObservable.create;
static of: typeof ArrayObservable.of;
static race: typeof raceStatic;
static range: typeof RangeObservable.create;
static throw: typeof ErrorObservable.create;
static timer: typeof TimerObservable.create;
static webSocket: typeof WebSocketSubject.create;
static zip: typeof zipStatic;
buffer: BufferSignature<T>;
bufferCount: BufferCountSignature<T>;
bufferTime: BufferTimeSignature<T>;
bufferToggle: BufferToggleSignature<T>;
bufferWhen: BufferWhenSignature<T>;
cache: (bufferSize?: number, windowTime?: number, scheduler?: Scheduler) => Observable<T>;
catch: (selector: (err: any, source: Observable<T>, caught: Observable<any>) => Observable<any>) => Observable<T>;
combineAll: <R>(project?: (...values: Array<any>) => R) => Observable<R>;
combineLatest: CombineLatestSignature<T>;
concat: <R>(...observables: (Observable<any> | Scheduler)[]) => Observable<R>;
concatAll: () => Observable<any>;
concatMap: <R>(project: ((x: T, ix: number) => Observable<any>), projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
concatMapTo: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
count: (predicate?: (value: T, index: number, source: Observable<T>) => boolean) => Observable<number>;
dematerialize: () => Observable<any>;
debounce: (durationSelector: (value: T) => Observable<any> | Promise<any>) => Observable<T>;
debounceTime: <R>(dueTime: number, scheduler?: Scheduler) => Observable<R>;
defaultIfEmpty: <R>(defaultValue?: T | R) => Observable<T> | Observable<R>;
delay: (delay: number, scheduler?: Scheduler) => Observable<T>;
delayWhen: (delayDurationSelector: (value: T) => Observable<any>, subscriptionDelay?: Observable<any>) => Observable<T>;
distinctUntilChanged: (compare?: (x: T, y: T) => boolean) => Observable<T>;
do: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable<T>;
expand: <R>(project: (x: T, ix: number) => Observable<R>, concurrent: number, scheduler: Scheduler) => Observable<R>;
filter: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable<T>;
finally: (finallySelector: () => void) => Observable<T>;
first: <R>(predicate?: (value: T, index: number, source: Observable<T>) => boolean, resultSelector?: (value: T, index: number) => R, defaultValue?: any) => Observable<T> | Observable<R>;
flatMap: <R>(project: ((x: T, ix: number) => Observable<any>), projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable<R>;
flatMapTo: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable<R>;
groupBy: <K, R>(keySelector: (value: T) => K, elementSelector?: (value: T) => R, durationSelector?: (group: GroupedObservable<K, R>) => Observable<any>) => Observable<GroupedObservable<K, R>>;
ignoreElements: () => Observable<T>;
inspect: (durationSelector: (value: T) => Observable<any> | Promise<any>) => Observable<T>;
inspectTime: (delay: number, scheduler?: Scheduler) => Observable<T>;
last: <R>(predicate?: (value: T, index: number) => boolean, resultSelector?: (value: T, index: number) => R, defaultValue?: any) => Observable<T> | Observable<R>;
let: <T, R>(func: (selector: Observable<T>) => Observable<R>) => Observable<R>;
letBind: <T, R>(func: (selector: Observable<T>) => Observable<R>) => Observable<R>;
every: (predicate: (value: T, index: number) => boolean, thisArg?: any) => Observable<T>;
map: <R>(project: (x: T, ix?: number) => R, thisArg?: any) => Observable<R>;
mapTo: <R>(value: R) => Observable<R>;
materialize: () => Observable<Notification<T>>;
merge: (...observables: any[]) => Observable<any>;
mergeAll: (concurrent?: any) => Observable<any>;
mergeMap: <R>(project: ((x: T, ix: number) => Observable<any>), projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable<R>;
mergeMapTo: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable<R>;
multicast: (subjectOrSubjectFactory: Subject<T> | (() => Subject<T>)) => ConnectableObservable<T>;
observeOn: (scheduler: Scheduler, delay?: number) => Observable<T>;
partition: (predicate: (x: T) => boolean) => Observable<T>[];
pluck: (...properties: string[]) => Observable<any>;
publish: () => ConnectableObservable<T>;
publishBehavior: (value: any) => ConnectableObservable<T>;
publishReplay: (bufferSize?: number, windowTime?: number, scheduler?: Scheduler) => ConnectableObservable<T>;
publishLast: () => ConnectableObservable<T>;
race: (...observables: Array<Observable<T>>) => Observable<T>;
reduce: <R>(project: (acc: R, x: T) => R, seed?: R) => Observable<R>;
repeat: (count?: number) => Observable<T>;
retry: (count?: number) => Observable<T>;
retryWhen: (notifier: (errors: Observable<any>) => Observable<any>) => Observable<T>;
sample: (notifier: Observable<any>) => Observable<T>;
sampleTime: (delay: number, scheduler?: Scheduler) => Observable<T>;
scan: <R>(accumulator: (acc: R, x: T) => R, seed?: T | R) => Observable<R>;
share: () => Observable<T>;
single: (predicate?: (value: T, index: number) => boolean) => Observable<T>;
skip: (count: number) => Observable<T>;
skipUntil: (notifier: Observable<any>) => Observable<T>;
skipWhile: (predicate: (x: T, index: number) => boolean) => Observable<T>;
startWith: (x: T) => Observable<T>;
subscribeOn: (scheduler: Scheduler, delay?: number) => Observable<T>;
switch: <R>() => Observable<R>;
switchMap: <R>(project: ((x: T, ix: number) => Observable<any>), projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
switchMapTo: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
take: (count: number) => Observable<T>;
takeLast: (count: number) => Observable<T>;
takeUntil: (notifier: Observable<any>) => Observable<T>;
takeWhile: (predicate: (value: T, index: number) => boolean) => Observable<T>;
throttle: (durationSelector: (value: T) => Observable<any> | Promise<any>) => Observable<T>;
throttleTime: (delay: number, scheduler?: Scheduler) => Observable<T>;
timeout: (due: number | Date, errorToSend?: any, scheduler?: Scheduler) => Observable<T>;
timeoutWith: <R>(due: number | Date, withObservable: Observable<R>, scheduler?: Scheduler) => Observable<T> | Observable<R>;
toArray: () => Observable<T[]>;
toPromise: (PromiseCtor?: typeof Promise) => Promise<T>;
window: WindowSignature<T>;
windowCount: WindowCountSignature<T>;
windowTime: WindowTimeSignature<T>;
windowToggle: WindowToggleSignature<T>;
windowWhen: WindowWhenSignature<T>;
withLatestFrom: WithLatestFromSignature<T>;
zip: ZipSignature<T>;
zipAll: <R>(project?: (...values: Array<any>) => R) => Observable<R>;
}