diff --git a/api_guard/dist/types/index.d.ts b/api_guard/dist/types/index.d.ts index 5cb3a95857..7cfc595493 100644 --- a/api_guard/dist/types/index.d.ts +++ b/api_guard/dist/types/index.d.ts @@ -29,6 +29,12 @@ export declare function audit(durationSelector: (value: T) => ObservableInput export declare function auditTime(duration: number, scheduler?: SchedulerLike): MonoTypeOperatorFunction; +export interface BasicGroupByOptions { + connector?: () => SubjectLike; + duration?: (grouped: GroupedObservable) => ObservableInput; + element?: undefined; +} + export declare class BehaviorSubject extends Subject { get value(): T; constructor(_value: T); @@ -131,6 +137,10 @@ export declare class ConnectableObservable extends Observable { refCount(): Observable; } +export interface ConnectConfig { + connector: () => SubjectLike; +} + export declare type Cons = ((arg: X, ...rest: Y) => any) extends (...args: infer U) => any ? U : never; export declare function count(predicate?: (value: T, index: number) => boolean): OperatorFunction; @@ -290,6 +300,12 @@ export declare function groupBy(key: (value: T) => K, element: void, durat export declare function groupBy(key: (value: T) => K, element?: (value: T) => R, duration?: (grouped: GroupedObservable) => Observable): OperatorFunction>; export declare function groupBy(key: (value: T) => K, element?: (value: T) => R, duration?: (grouped: GroupedObservable) => Observable, connector?: () => Subject): OperatorFunction>; +export interface GroupByOptionsWithElement { + connector?: () => SubjectLike; + duration?: (grouped: GroupedObservable) => ObservableInput; + element: (value: T) => E; +} + export interface GroupedObservable extends Observable { readonly key: K; } @@ -571,6 +587,12 @@ export declare class ReplaySubject extends Subject { export declare function retry(count?: number): MonoTypeOperatorFunction; export declare function retry(config: RetryConfig): MonoTypeOperatorFunction; +export interface RetryConfig { + count?: number; + delay?: number | ((error: any, retryCount: number) => ObservableInput); + resetOnSuccess?: boolean; +} + export declare function retryWhen(notifier: (errors: Observable) => Observable): MonoTypeOperatorFunction; export declare function sample(notifier: Observable): MonoTypeOperatorFunction; @@ -610,9 +632,23 @@ export declare const SequenceError: SequenceErrorCtor; export declare function share(): MonoTypeOperatorFunction; export declare function share(options: ShareConfig): MonoTypeOperatorFunction; +export interface ShareConfig { + connector?: () => SubjectLike; + resetOnComplete?: boolean | (() => Observable); + resetOnError?: boolean | ((error: any) => Observable); + resetOnRefCountZero?: boolean | (() => Observable); +} + export declare function shareReplay(config: ShareReplayConfig): MonoTypeOperatorFunction; export declare function shareReplay(bufferSize?: number, windowTime?: number, scheduler?: SchedulerLike): MonoTypeOperatorFunction; +export interface ShareReplayConfig { + bufferSize?: number; + refCount: boolean; + scheduler?: SchedulerLike; + windowTime?: number; +} + export declare function single(predicate: BooleanConstructor): OperatorFunction>; export declare function single(predicate?: (value: T, index: number, source: Observable) => boolean): MonoTypeOperatorFunction; @@ -722,6 +758,11 @@ export declare type TeardownLogic = Subscription | Unsubscribable | (() => void) export declare function throttle(durationSelector: (value: T) => ObservableInput, config?: ThrottleConfig): MonoTypeOperatorFunction; +export interface ThrottleConfig { + leading?: boolean; + trailing?: boolean; +} + export declare function throttleTime(duration: number, scheduler?: SchedulerLike, config?: import("./throttle").ThrottleConfig): MonoTypeOperatorFunction; export declare function throwError(errorFactory: () => any): Observable; @@ -744,12 +785,26 @@ export declare function timeout(config: Omit(first: Date, scheduler?: SchedulerLike): MonoTypeOperatorFunction; export declare function timeout(each: number, scheduler?: SchedulerLike): MonoTypeOperatorFunction; +export interface TimeoutConfig = ObservableInput, M = unknown> { + each?: number; + first?: number | Date; + meta?: M; + scheduler?: SchedulerLike; + with?: (info: TimeoutInfo) => O; +} + export interface TimeoutError extends Error { info: TimeoutInfo | null; } export declare const TimeoutError: TimeoutErrorCtor; +export interface TimeoutInfo { + readonly lastValue: T | null; + readonly meta: M; + readonly seen: number; +} + export declare function timeoutWith(dueBy: Date, switchTo: ObservableInput, scheduler?: SchedulerLike): OperatorFunction; export declare function timeoutWith(waitFor: number, switchTo: ObservableInput, scheduler?: SchedulerLike): OperatorFunction; diff --git a/src/index.ts b/src/index.ts index fc418731e3..759b3103af 100644 --- a/src/index.ts +++ b/src/index.ts @@ -115,7 +115,7 @@ export { concatAll } from './internal/operators/concatAll'; export { concatMap } from './internal/operators/concatMap'; export { concatMapTo } from './internal/operators/concatMapTo'; export { concatWith } from './internal/operators/concatWith'; -export { connect } from './internal/operators/connect'; +export { connect, ConnectConfig } from './internal/operators/connect'; export { count } from './internal/operators/count'; export { debounce } from './internal/operators/debounce'; export { debounceTime } from './internal/operators/debounceTime'; @@ -138,7 +138,7 @@ export { finalize } from './internal/operators/finalize'; export { find } from './internal/operators/find'; export { findIndex } from './internal/operators/findIndex'; export { first } from './internal/operators/first'; -export { groupBy } from './internal/operators/groupBy'; +export { groupBy, BasicGroupByOptions, GroupByOptionsWithElement } from './internal/operators/groupBy'; export { ignoreElements } from './internal/operators/ignoreElements'; export { isEmpty } from './internal/operators/isEmpty'; export { last } from './internal/operators/last'; @@ -165,15 +165,15 @@ export { raceWith } from './internal/operators/raceWith'; export { reduce } from './internal/operators/reduce'; export { repeat } from './internal/operators/repeat'; export { repeatWhen } from './internal/operators/repeatWhen'; -export { retry } from './internal/operators/retry'; +export { retry, RetryConfig } from './internal/operators/retry'; export { retryWhen } from './internal/operators/retryWhen'; export { refCount } from './internal/operators/refCount'; export { sample } from './internal/operators/sample'; export { sampleTime } from './internal/operators/sampleTime'; export { scan } from './internal/operators/scan'; export { sequenceEqual } from './internal/operators/sequenceEqual'; -export { share } from './internal/operators/share'; -export { shareReplay } from './internal/operators/shareReplay'; +export { share, ShareConfig } from './internal/operators/share'; +export { shareReplay, ShareReplayConfig } from './internal/operators/shareReplay'; export { single } from './internal/operators/single'; export { skip } from './internal/operators/skip'; export { skipLast } from './internal/operators/skipLast'; @@ -190,11 +190,11 @@ export { takeLast } from './internal/operators/takeLast'; export { takeUntil } from './internal/operators/takeUntil'; export { takeWhile } from './internal/operators/takeWhile'; export { tap } from './internal/operators/tap'; -export { throttle } from './internal/operators/throttle'; +export { throttle, ThrottleConfig } from './internal/operators/throttle'; export { throttleTime } from './internal/operators/throttleTime'; export { throwIfEmpty } from './internal/operators/throwIfEmpty'; export { timeInterval } from './internal/operators/timeInterval'; -export { timeout } from './internal/operators/timeout'; +export { timeout, TimeoutConfig, TimeoutInfo } from './internal/operators/timeout'; export { timeoutWith } from './internal/operators/timeoutWith'; export { timestamp } from './internal/operators/timestamp'; export { toArray } from './internal/operators/toArray';