From ddad6540d170b8a41a78322a2612c1a6e47182a2 Mon Sep 17 00:00:00 2001 From: Carl de Billy Date: Tue, 16 Apr 2013 15:35:49 -0400 Subject: [PATCH] More RxJs definitions Definitions for RxJs.html, RxJs.Time and RxJs.Aggregates --- rx.js/rx.js.aggregates.d.ts | 16 ++++++++++++++++ rx.js/rx.js.d.ts | 14 ++++++++++++-- rx.js/rx.js.html.d.ts | 6 ++++++ rx.js/rx.js.time.d.ts | 10 ++++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 rx.js/rx.js.aggregates.d.ts create mode 100644 rx.js/rx.js.html.d.ts create mode 100644 rx.js/rx.js.time.d.ts diff --git a/rx.js/rx.js.aggregates.d.ts b/rx.js/rx.js.aggregates.d.ts new file mode 100644 index 000000000..92ab49989 --- /dev/null +++ b/rx.js/rx.js.aggregates.d.ts @@ -0,0 +1,16 @@ +// Type definitions for RxJS "Aggregates" +// Project: http://rx.codeplex.com/ +// Definitions by: Carl de Billy +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module Rx { + export module Observable { + function all(predicate?: (any) => bool): IObservable; + function min(predicate?: (any) => bool): IObservable; + function max(predicate?: (any) => bool): IObservable; + function count(predicate?: (any) => bool): IObservable; + function sum(keySelector?: (any) => any): IObservable; + } +} \ No newline at end of file diff --git a/rx.js/rx.js.d.ts b/rx.js/rx.js.d.ts index bbfe4321c..51c57d712 100644 --- a/rx.js/rx.js.d.ts +++ b/rx.js/rx.js.d.ts @@ -298,7 +298,7 @@ declare module Rx { observer: IObserver; isAcquired: bool; hasFaulted: bool; - queue: { (value: any): void; (exception: any): void; (): void; }[]; + //queue: { (value: any): void; (exception: any): void; (): void; }[]; disposable: ISerialDisposable; ensureActive(): void; @@ -374,7 +374,17 @@ declare module Rx { skipWhile(predicate: (value: any, index?: number) =>bool): IObservable; take(count: number, scheduler?: IScheduler): IObservable; takeWhile(predicate: (value: any, index?: number) =>bool): IObservable; - where(predicate: (value: any, index?: number) =>bool): IObservable; + where(predicate: (value: any, index?: number) => bool): IObservable; + + // time + delay(dueTime: number, scheduler?: IScheduler): IObservable; + throttle(dueTime: number, scheduler?: IScheduler): IObservable; + windowWithTime(dueTime: number, timeShiftOrScheduler?: any, scheduler?: IScheduler): IObservable; + timeInterval(scheduler: IScheduler): IObservable; + sample(interval: number, scheduler?: IScheduler): IObservable; + sample(sampler: IObservable, scheduler?: IScheduler): IObservable; + timeout(dueTime: number, other?: IObservable, scheduler?: IScheduler): IObservable; + delaySubscription(dueTime: number, scheduler?: IScheduler): IObservable; } export module Observable { function new (subscribe: (observer: IObserver) =>_IDisposable): IObservable; diff --git a/rx.js/rx.js.html.d.ts b/rx.js/rx.js.html.d.ts new file mode 100644 index 000000000..384ebad1a --- /dev/null +++ b/rx.js/rx.js.html.d.ts @@ -0,0 +1,6 @@ +declare module Rx { + export module Observable { + function fromEvent(element: HTMLElement, eventName: string) : IObservable; + function fromEvent(document: HTMLDocument, eventName: string): IObservable; + } +} \ No newline at end of file diff --git a/rx.js/rx.js.time.d.ts b/rx.js/rx.js.time.d.ts new file mode 100644 index 000000000..f1bd2a584 --- /dev/null +++ b/rx.js/rx.js.time.d.ts @@ -0,0 +1,10 @@ +/// + +declare module Rx { + export module Observable { + function ifThen(condition: () => bool, thenSource: IObservable): IObservable; + function ifThen(condition: () => bool, thenSource: IObservable, elseSource: IObservable): IObservable; + function ifThen(condition: () => bool, thenSource: IObservable, scheduler: IScheduler): IObservable; + function interval(period: number, scheduler?: IScheduler): IObservable; + } +} \ No newline at end of file