/** * @license Use of this source code is governed by an MIT-style license that * can be found in the LICENSE file at https://github.com/cartant/rxjs-etc */ import { concat, from, OperatorFunction, SchedulerLike } from "rxjs"; import { isScheduler } from "../util"; export function endWith( v1: E1, scheduler?: SchedulerLike ): OperatorFunction; export function endWith( v1: E1, v2: E2, scheduler?: SchedulerLike ): OperatorFunction; export function endWith( v1: E1, v2: E2, v3: E3, scheduler?: SchedulerLike ): OperatorFunction; export function endWith( v1: E1, v2: E2, v3: E3, v4: E4, scheduler?: SchedulerLike ): OperatorFunction; export function endWith( v1: E1, v2: E2, v3: E3, v4: E4, v5: E5, scheduler?: SchedulerLike ): OperatorFunction; export function endWith( v1: E1, v2: E2, v3: E3, v4: E4, v5: E5, v6: E6, scheduler?: SchedulerLike ): OperatorFunction; export function endWith( ...args: (E | SchedulerLike)[] ): OperatorFunction; export function endWith( ...args: (E | SchedulerLike)[] ): OperatorFunction { let scheduler = args[args.length - 1] as SchedulerLike | null; if (isScheduler(scheduler)) { args.pop(); } else { scheduler = null; } /*tslint:disable-next-line:deprecation*/ return (source) => concat(source, from(args as E[], scheduler as any)); }