Opal-Estate-Pro/node_modules/rx/ts/core/es5.ts
2019-09-13 11:27:52 +07:00

33 lines
930 B
TypeScript
Executable File

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> { }
}