multitude
Version:
Comprehensive streams for push and pull
26 lines (21 loc) • 2.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.finalize = finalize;
var _Observable = require("../../classes/Observable");
var _transform = require("../../utils/transform");
var _teardown2 = require("../../utils/teardown");
function finalize(teardown) {
return (0, _transform.transform)(observable => {
if (!teardown) return observable;
return new _Observable.Observable(obs => {
const subscription = observable.subscribe(obs);
return () => {
subscription.unsubscribe();
(0, _teardown2.teardown)(teardown)();
};
});
});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wdXNoL29wZXJhdG9ycy90YXAvZmluYWxpemUudHMiXSwibmFtZXMiOlsiZmluYWxpemUiLCJ0ZWFyZG93biIsIm9ic2VydmFibGUiLCJPYnNlcnZhYmxlIiwib2JzIiwic3Vic2NyaXB0aW9uIiwic3Vic2NyaWJlIiwidW5zdWJzY3JpYmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFTyxTQUFTQSxRQUFULENBQXFCQyxRQUFyQixFQUFrRTtBQUN2RSxTQUFPLDBCQUFXQyxVQUFELElBQWdCO0FBQy9CLFFBQUksQ0FBQ0QsUUFBTCxFQUFlLE9BQU9DLFVBQVA7QUFFZixXQUFPLElBQUlDLHNCQUFKLENBQWdCQyxHQUFELElBQVM7QUFDN0IsWUFBTUMsWUFBWSxHQUFHSCxVQUFVLENBQUNJLFNBQVgsQ0FBcUJGLEdBQXJCLENBQXJCO0FBQ0EsYUFBTyxNQUFNO0FBQ1hDLFFBQUFBLFlBQVksQ0FBQ0UsV0FBYjtBQUNBLGlDQUFVTixRQUFWO0FBQ0QsT0FIRDtBQUlELEtBTk0sQ0FBUDtBQU9ELEdBVk0sQ0FBUDtBQVdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVzaCB9IGZyb20gJ0BkZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9PYnNlcnZhYmxlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4uLy4uL3V0aWxzL3RyYW5zZm9ybSc7XG5pbXBvcnQgeyB0ZWFyZG93biBhcyBfdGVhcmRvd24gfSBmcm9tICcuLi8uLi91dGlscy90ZWFyZG93bic7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5hbGl6ZTxUPih0ZWFyZG93bj86IFB1c2guVGVhcmRvd24pOiBQdXNoLk9wZXJhdGlvbjxUPiB7XG4gIHJldHVybiB0cmFuc2Zvcm0oKG9ic2VydmFibGUpID0+IHtcbiAgICBpZiAoIXRlYXJkb3duKSByZXR1cm4gb2JzZXJ2YWJsZTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzKSA9PiB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBvYnNlcnZhYmxlLnN1YnNjcmliZShvYnMpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIF90ZWFyZG93bih0ZWFyZG93bikoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
;