| 1234567891011121314151617181920212223242526 | import { operate } from '../util/lift';import { createOperatorSubscriber } from './OperatorSubscriber';export function refCount() {    return operate(function (source, subscriber) {        var connection = null;        source._refCount++;        var refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, function () {            if (!source || source._refCount <= 0 || 0 < --source._refCount) {                connection = null;                return;            }            var sharedConnection = source._connection;            var conn = connection;            connection = null;            if (sharedConnection && (!conn || sharedConnection === conn)) {                sharedConnection.unsubscribe();            }            subscriber.unsubscribe();        });        source.subscribe(refCounter);        if (!refCounter.closed) {            connection = source.connect();        }    });}//# sourceMappingURL=refCount.js.map
 |