Buckets:
| ; | |
| 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 |
Xet Storage Details
- Size:
- 1.18 kB
- Xet hash:
- 244be1717220537160749722e611d794174bb3813e368abeedff26f7f5e76984
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.