| import { Subscriber } from '../Subscriber'; |
| import { Subscription } from '../Subscription'; |
| /** |
| * Returns an Observable that mirrors the source Observable, but will call a specified function when |
| * the source terminates on complete or error. |
| * @param {function} callback Function to be called when source terminates. |
| * @return {Observable} An Observable that mirrors the source, but will call the specified function on termination. |
| * @method finally |
| * @owner Observable |
| */ |
| export function finalize(callback) { |
| return (source) => source.lift(new FinallyOperator(callback)); |
| } |
| class FinallyOperator { |
| constructor(callback) { |
| this.callback = callback; |
| } |
| call(subscriber, source) { |
| return source.subscribe(new FinallySubscriber(subscriber, this.callback)); |
| } |
| } |
| /** |
| * We need this JSDoc comment for affecting ESDoc. |
| * @ignore |
| * @extends {Ignored} |
| */ |
| class FinallySubscriber extends Subscriber { |
| constructor(destination, callback) { |
| super(destination); |
| this.add(new Subscription(callback)); |
| } |
| } |
| //# sourceMappingURL=finalize.js.map |