diff --git a/api_guard/dist/types/operators/index.d.ts b/api_guard/dist/types/operators/index.d.ts index b08bc94cee..cb67ee951d 100644 --- a/api_guard/dist/types/operators/index.d.ts +++ b/api_guard/dist/types/operators/index.d.ts @@ -2,6 +2,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 function buffer(closingNotifier: Observable): OperatorFunction; export declare function bufferCount(bufferSize: number, startBufferEvery?: number | null): OperatorFunction; @@ -47,6 +53,10 @@ export declare function concatWith(...otherSour export declare function connect>(selector: (shared: Observable) => O, config?: ConnectConfig): OperatorFunction>; +export interface ConnectConfig { + connector: () => SubjectLike; +} + export declare function count(predicate?: (value: T, index: number) => boolean): OperatorFunction; export declare function debounce(durationSelector: (value: T) => ObservableInput): MonoTypeOperatorFunction; @@ -128,6 +138,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 declare function ignoreElements(): OperatorFunction; export declare function isEmpty(): OperatorFunction; @@ -220,6 +236,11 @@ export declare function repeatWhen(notifier: (notifications: Observable export declare function retry(count?: number): MonoTypeOperatorFunction; export declare function retry(config: RetryConfig): MonoTypeOperatorFunction; +export interface RetryConfig { + count: number; + resetOnSuccess?: boolean; +} + export declare function retryWhen(notifier: (errors: Observable) => Observable): MonoTypeOperatorFunction; export declare function sample(notifier: Observable): MonoTypeOperatorFunction; @@ -235,9 +256,23 @@ export declare function sequenceEqual(compareTo: Observable, comparator?: 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; @@ -287,7 +322,12 @@ export declare function tap(observer?: Partial>): MonoTypeOperato export declare function tap(next: (value: T) => void): MonoTypeOperatorFunction; export declare function tap(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): MonoTypeOperatorFunction; -export declare function throttle(durationSelector: (value: T) => ObservableInput, { leading, trailing }?: ThrottleConfig): MonoTypeOperatorFunction; +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; @@ -302,6 +342,20 @@ 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 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/internal/operators/connect.ts b/src/internal/operators/connect.ts index 3c666d6932..fd3c6cd3e7 100644 --- a/src/internal/operators/connect.ts +++ b/src/internal/operators/connect.ts @@ -5,6 +5,9 @@ import { from } from '../observable/from'; import { operate } from '../util/lift'; import { fromSubscribable } from '../observable/fromSubscribable'; +/** + * An object used to configure {@link connect} operator. + */ export interface ConnectConfig { /** * A factory function used to create the Subject through which the source diff --git a/src/internal/operators/groupBy.ts b/src/internal/operators/groupBy.ts index 30c7c46e4a..808b9dd743 100644 --- a/src/internal/operators/groupBy.ts +++ b/src/internal/operators/groupBy.ts @@ -5,13 +5,13 @@ import { ObservableInput, Observer, OperatorFunction, SubjectLike } from '../typ import { operate } from '../util/lift'; import { OperatorSubscriber } from './OperatorSubscriber'; -interface BasicGroupByOptions { +export interface BasicGroupByOptions { element?: undefined; duration?: (grouped: GroupedObservable) => ObservableInput; connector?: () => SubjectLike; } -interface GroupByOptionsWithElement { +export interface GroupByOptionsWithElement { element: (value: T) => E; duration?: (grouped: GroupedObservable) => ObservableInput; connector?: () => SubjectLike; diff --git a/src/internal/operators/throttle.ts b/src/internal/operators/throttle.ts index b5dec74bea..8ca5b11eee 100644 --- a/src/internal/operators/throttle.ts +++ b/src/internal/operators/throttle.ts @@ -61,9 +61,10 @@ export const defaultThrottleConfig: ThrottleConfig = { */ export function throttle( durationSelector: (value: T) => ObservableInput, - { leading, trailing }: ThrottleConfig = defaultThrottleConfig + config: ThrottleConfig = defaultThrottleConfig ): MonoTypeOperatorFunction { return operate((source, subscriber) => { + const { leading, trailing } = config; let hasValue = false; let sendValue: T | null = null; let throttled: Subscription | null = null; diff --git a/src/internal/operators/timeout.ts b/src/internal/operators/timeout.ts index 8e33cde9b2..92572acd44 100644 --- a/src/internal/operators/timeout.ts +++ b/src/internal/operators/timeout.ts @@ -28,7 +28,7 @@ export interface TimeoutConfig = Observabl /** * A factory used to create observable to switch to when timeout occurs. Provides - * some information about the source observable's emissions and what delay or + * a {@link TimeoutInfo} about the source observable's emissions and what delay or * exact time triggered the timeout. */ with?: (info: TimeoutInfo) => O; diff --git a/src/operators/index.ts b/src/operators/index.ts index b98bcfab03..9272c89780 100644 --- a/src/operators/index.ts +++ b/src/operators/index.ts @@ -16,7 +16,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'; @@ -39,7 +39,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'; @@ -70,15 +70,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'; @@ -95,11 +95,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';