import { Observable, SchedulerLike } from 'rxjs'; import { startWith as higherOrder } from 'rxjs/operators'; /* tslint:disable:max-line-length */ export function startWith(this: Observable, scheduler?: SchedulerLike): Observable; export function startWith(this: Observable, v1: D, scheduler?: SchedulerLike): Observable; export function startWith(this: Observable, v1: D, v2: E, scheduler?: SchedulerLike): Observable; export function startWith(this: Observable, v1: D, v2: E, v3: F, scheduler?: SchedulerLike): Observable; export function startWith(this: Observable, v1: D, v2: E, v3: F, v4: G, scheduler?: SchedulerLike): Observable; export function startWith(this: Observable, v1: D, v2: E, v3: F, v4: G, v5: H, scheduler?: SchedulerLike): Observable; export function startWith(this: Observable, v1: D, v2: E, v3: F, v4: G, v5: H, v6: I, scheduler?: SchedulerLike): Observable; export function startWith(this: Observable, ...array: Array): Observable; /* tslint:enable:max-line-length */ /** * Returns an Observable that emits the items you specify as arguments before it begins to emit * items emitted by the source Observable. * * * * @param {...T} values - Items you want the modified Observable to emit first. * @param {Scheduler} [scheduler] - A {@link IScheduler} to use for scheduling * the emissions of the `next` notifications. * @return {Observable} An Observable that emits the items in the specified Iterable and then emits the items * emitted by the source Observable. * @method startWith * @owner Observable */ export function startWith(this: Observable, ...array: Array): Observable { return higherOrder(...array)(this); }