UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

36 lines (35 loc) 967 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.takeObservable = void 0; var async_unsubscribe_1 = require("../../../../../../misc/helpers/async-unsubscribe.cjs"); var empty_1 = require("../../../../../built-in/from/without-notifications/values/empty/empty.cjs"); function takeObservable(subscribe, count) { if (count <= 0) { return (0, empty_1.empty)(); } else { return function (emit) { var running = true; var unsubscribe = subscribe(function (value) { if (running) { --count; if (count === 0) { running = false; (0, async_unsubscribe_1.asyncUnsubscribe)(function () { return unsubscribe; }); } emit(value); } }); return function () { if (running) { running = false; unsubscribe(); } }; }; } } exports.takeObservable = takeObservable;