Files
DefinitelyTyped/rx-lite-time/index.d.ts
Mohamed Hegazy a5a69f514a Refactor rx (#13652)
* Move rx.virtualtime to its own package

* Update headers

* Update module name

* Move rx.time to its own package

* Update header and module name

* Move rx.testing to its own package

* Update headers and module name

* Move rx.joinpatterns to its own package

* Update headers and module name

* Move rx.expermental to its own package

* Update headder and module name

* Move rx.coincidence to its own package

* Combine rx.coincidence-lite.d.ts and rx.coincidence.d.ts into one file

* Update header and module name

* Move rx.binding to its own package

* combine rx.binding into index.d.ts

* Update headers and module name

* Move rx.backpressure to its own package

* Fix headers and update module name

* Move rx.aggregte to its own package

* Fix headers and update module name

* move rx.async to its own package

* Fix headers and module name

* move startAsync to rx-lite-async

* Move fromCallback tests back to rx

* Move rx-lite to its own package

* Fix headers

* Combine files

* import new module

* Fix file extension

* Fix strict null checks

* Move definitions back to rx

* move rx-core to its own package

* Update header and change module name

* Fix lint errors

* reference new rx-core

* update index.d.ts

* Point to new submodules

* turn strictNull On

* update tslint config

* Update module name

* Move Subject to core-binding

* Make rx-lite-* libraries depend on rx-lite

* Fix reference

* Fix lint errors

* Disable lint rules

* Disable lint rules

* Fix failing test

* Fixed up indentation on 'rx-lite-async-tests.ts'

* Fix formatting

* Switch tabs to spaces
2017-01-03 15:53:49 -08:00

66 lines
3.4 KiB
TypeScript

// Type definitions for rx-lite-time 4.0
// Project: https://github.com/Reactive-Extensions/RxJS
// Definitions by: Carl de Billy <http://carl.debilly.net/>, Igor Oleinikov <https://github.com/Igorbek>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
///<reference types="rx-lite" />
declare namespace Rx {
export interface Observable<T> {
delaySubscription(dueTime: number, scheduler?: IScheduler): Observable<T>;
delayWithSelector(delayDurationSelector: (item: T) => number): Observable<T>;
delayWithSelector(subscriptionDelay: number, delayDurationSelector: (item: T) => number): Observable<T>;
timeoutWithSelector<TTimeout>(firstTimeout: Observable<TTimeout>, timeoutdurationSelector?: (item: T) => Observable<TTimeout>, other?: Observable<T>): Observable<T>;
debounceWithSelector<TTimeout>(debounceDurationSelector: (item: T) => Observable<TTimeout>): Observable<T>;
/**
* @deprecated use #debounceWithSelector instead.
*/
throttleWithSelector<TTimeout>(debounceDurationSelector: (item: T) => Observable<TTimeout>): Observable<T>;
skipLastWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
takeLastWithTime(duration: number, timerScheduler?: IScheduler, loopScheduler?: IScheduler): Observable<T>;
takeLastBufferWithTime(duration: number, scheduler?: IScheduler): Observable<T[]>;
takeWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
skipWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
skipUntilWithTime(startTime: Date, scheduler?: IScheduler): Observable<T>;
skipUntilWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
takeUntilWithTime(endTime: Date, scheduler?: IScheduler): Observable<T>;
takeUntilWithTime(duration: number, scheduler?: IScheduler): Observable<T>;
windowWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): Observable<Observable<T>>;
windowWithTime(timeSpan: number, scheduler?: IScheduler): Observable<Observable<T>>;
windowWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): Observable<Observable<T>>;
bufferWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): Observable<T[]>;
bufferWithTime(timeSpan: number, scheduler?: IScheduler): Observable<T[]>;
bufferWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): Observable<T[]>;
}
interface ObservableStatic {
timer(dueTime: Date, period: number, scheduler?: IScheduler): Observable<number>;
timer(dueTime: Date, scheduler?: IScheduler): Observable<number>;
generateWithRelativeTime<TState, TResult>(
initialState: TState,
condition: (state: TState) => boolean,
iterate: (state: TState) => TState,
resultSelector: (state: TState) => TResult,
timeSelector: (state: TState) => number,
scheduler?: IScheduler): Observable<TResult>;
generateWithAbsoluteTime<TState, TResult>(
initialState: TState,
condition: (state: TState) => boolean,
iterate: (state: TState) => TState,
resultSelector: (state: TState) => TResult,
timeSelector: (state: TState) => Date,
scheduler?: IScheduler): Observable<TResult>;
}
}
declare module "rx-lite-time" {
export = Rx;
}