.
This commit is contained in:
31
node_modules/rxjs/dist/cjs/internal/observable/connectable.js
generated
vendored
Normal file
31
node_modules/rxjs/dist/cjs/internal/observable/connectable.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.connectable = void 0;
|
||||
var Subject_1 = require("../Subject");
|
||||
var Observable_1 = require("../Observable");
|
||||
var defer_1 = require("./defer");
|
||||
var DEFAULT_CONFIG = {
|
||||
connector: function () { return new Subject_1.Subject(); },
|
||||
resetOnDisconnect: true,
|
||||
};
|
||||
function connectable(source, config) {
|
||||
if (config === void 0) { config = DEFAULT_CONFIG; }
|
||||
var connection = null;
|
||||
var connector = config.connector, _a = config.resetOnDisconnect, resetOnDisconnect = _a === void 0 ? true : _a;
|
||||
var subject = connector();
|
||||
var result = new Observable_1.Observable(function (subscriber) {
|
||||
return subject.subscribe(subscriber);
|
||||
});
|
||||
result.connect = function () {
|
||||
if (!connection || connection.closed) {
|
||||
connection = defer_1.defer(function () { return source; }).subscribe(subject);
|
||||
if (resetOnDisconnect) {
|
||||
connection.add(function () { return (subject = connector()); });
|
||||
}
|
||||
}
|
||||
return connection;
|
||||
};
|
||||
return result;
|
||||
}
|
||||
exports.connectable = connectable;
|
||||
//# sourceMappingURL=connectable.js.map
|
||||
Reference in New Issue
Block a user