You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
930 B
32 lines
930 B
module Rx { |
|
// Type alias for observables and promises |
|
export type ObservableOrPromise<T> = IObservable<T> | Observable<T> | Promise<T>; |
|
|
|
export type ArrayLike<T> = Array<T> | { length: number;[index: number]: T; }; |
|
|
|
// Type alias for arrays and array like objects |
|
export type ArrayOrIterable<T> = ArrayLike<T>; |
|
|
|
/** |
|
* Promise A+ |
|
*/ |
|
export interface Promise<T> { |
|
then<R>(onFulfilled: (value: T) => R|Promise<R>, onRejected: (error: any) => Promise<R>): Promise<R>; |
|
then<R>(onFulfilled: (value: T) => R|Promise<R>, onRejected?: (error: any) => R): Promise<R>; |
|
} |
|
|
|
/** |
|
* Promise A+ |
|
*/ |
|
export interface IPromise<T> extends Promise<T> { } |
|
|
|
/** |
|
* Represents a push-style collection. |
|
*/ |
|
export interface IObservable<T> { } |
|
|
|
/** |
|
* Represents a push-style collection. |
|
*/ |
|
export interface Observable<T> extends IObservable<T> { } |
|
}
|
|
|