Skip to content

Instantly share code, notes, and snippets.

@zoetrope
Last active December 28, 2015 07:49
Show Gist options
  • Save zoetrope/7467070 to your computer and use it in GitHub Desktop.
Save zoetrope/7467070 to your computer and use it in GitHub Desktop.
RxJSのrx.async.jsのTypeScript用型定義ファイルがなかったので書いてみた。 動作確認はまだしてない。
///<reference path="rx.js.d.ts" />
declare module Rx {
interface Observable {
/* Observable.startとtoAsyncは、rx.js.d.tsに定義されている。rx.js 2.2でrx.jsからrx.async.jsに移動したのがまだ反映されてない模様。
start<T>(func: () => T, scheduler?: IScheduler, context?: any): IObservable<T>;
toAsync<T>(func: (...args: any[]) => T, scheduler?: IScheduler, context?: any): (...args: any[]) => IObservable<T>;
*/
fromCallback<T>(func: (...args: any[]) => void, scheduler?: IScheduler, context?: any, selector?: (...args: T[])=>T): () => IObservable<T>;
fromNodeCallback<T>(func: (...args: any[]) => void, scheduler?: IScheduler, context?: any, selector?: (...args: any[])=>T): (...args: any[]) => IObservable<T>;
fromEvent<T>(element: any, eventName: string, selector?: (...args: any[])=>T): IObservable<T>;
fromEventPattern<T>(addHandler: (handler: any)=> void, removeHandler: (handler: any)=> void, selector?: (...args: any[])=>T): IObservable<T>;
fromPromise<T>(promise: any): IObservable<T>;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment