ix
Version:
The Interactive Extensions for JavaScript
27 lines (25 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toObserver = void 0;
const isiterable_js_1 = require("./isiterable.js");
const noop = (_) => {
/**/
};
// eslint-disable-next-line complexity
function toObserver(next, error, complete) {
const observer = next;
if (observer && typeof observer === 'object') {
return {
next: (0, isiterable_js_1.isFunction)(observer.next) ? (x) => observer.next(x) : noop,
error: (0, isiterable_js_1.isFunction)(observer.error) ? (e) => observer.error(e) : noop,
complete: (0, isiterable_js_1.isFunction)(observer.complete) ? () => observer.complete() : noop,
};
}
return {
next: (0, isiterable_js_1.isFunction)(next) ? next : noop,
error: (0, isiterable_js_1.isFunction)(error) ? error : noop,
complete: (0, isiterable_js_1.isFunction)(complete) ? complete : noop,
};
}
exports.toObserver = toObserver;
//# sourceMappingURL=toobserver.js.map