This commit is contained in:
CHEVALLIER Abel
2025-11-13 16:23:22 +01:00
parent de9c515a47
commit cb235644dc
34924 changed files with 3811102 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
import { operate } from '../util/lift';
import { createOperatorSubscriber } from './OperatorSubscriber';
export function refCount() {
return operate((source, subscriber) => {
let connection = null;
source._refCount++;
const refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, () => {
if (!source || source._refCount <= 0 || 0 < --source._refCount) {
connection = null;
return;
}
const sharedConnection = source._connection;
const 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