ix
Version:
The Interactive Extensions for JavaScript
34 lines (32 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toDOMStreamProto = exports.toDOMStream = void 0;
const asynciterablex_js_1 = require("../asynciterable/asynciterablex.js");
const publish_js_1 = require("./operators/publish.js");
const iterablex_js_1 = require("../iterable/iterablex.js");
const todomstream_js_1 = require("../asynciterable/todomstream.js");
function toDOMStream(source, options) {
if (!options || !('type' in options) || options['type'] !== 'bytes') {
return (0, todomstream_js_1.toDOMStream)(asynciterablex_js_1.AsyncIterableX.as(source), options);
}
return (0, todomstream_js_1.toDOMStream)(asynciterablex_js_1.AsyncIterableX.as(source), options);
}
exports.toDOMStream = toDOMStream;
iterablex_js_1.IterableX.prototype.tee = function () {
return _getDOMStream(this).tee();
};
iterablex_js_1.IterableX.prototype.pipeTo = function (writable, options) {
return _getDOMStream(this).pipeTo(writable, options);
};
iterablex_js_1.IterableX.prototype.pipeThrough = function (duplex, options) {
return _getDOMStream(this).pipeThrough(duplex, options);
};
function _getDOMStream(self) {
return self._DOMStream || (self._DOMStream = self.pipe((0, publish_js_1.publish)(), toDOMStream));
}
function toDOMStreamProto(options) {
return !options ? toDOMStream(this) : toDOMStream(this, options);
}
exports.toDOMStreamProto = toDOMStreamProto;
iterablex_js_1.IterableX.prototype.toDOMStream = toDOMStreamProto;
//# sourceMappingURL=todomstream.js.map