UNPKG

multitude

Version:

Comprehensive streams for push and pull

26 lines (21 loc) 2.18 kB
"use strict"; 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