UNPKG

@reactivex/rxjs

Version:

Reactive Extensions for modern JavaScript

46 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var concat_1 = require("../observable/concat"); var of_1 = require("../observable/of"); /* tslint:enable:max-line-length */ /** * Returns an Observable that emits the items you specify as arguments after it finishes emitting * items emitted by the source Observable. * * ![](endWith.png) * * ## Example * ### After the source observable completes, appends an emission and then completes too. * * ```ts * import { of } from 'rxjs'; * import { endWith } from 'rxjs/operators'; * * of('hi', 'how are you?', 'sorry, I have to go now').pipe( * endWith('goodbye!'), * ) * .subscribe(word => console.log(word)); * // result: * // 'hi' * // 'how are you?' * // 'sorry, I have to go now' * // 'goodbye!' * ``` * * @param {...T} values - Items you want the modified Observable to emit last. * @param {SchedulerLike} [scheduler] - A {@link SchedulerLike} to use for scheduling * the emissions of the `next` notifications. * @return {Observable} An Observable that emits the items emitted by the source Observable * and then emits the items in the specified Iterable. * @method endWith * @owner Observable */ function endWith() { var array = []; for (var _i = 0; _i < arguments.length; _i++) { array[_i] = arguments[_i]; } return function (source) { return concat_1.concat(source, of_1.of.apply(void 0, array)); }; } exports.endWith = endWith; //# sourceMappingURL=endWith.js.map