UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

26 lines (24 loc) 652 B
import { AsyncIterableX } from '../asynciterablex'; export class FinallyAsyncIterable extends AsyncIterableX { constructor(source, action) { super(); this._source = source; this._action = action; } async *[Symbol.asyncIterator]() { try { for await (const item of this._source) { yield item; } } finally { await this._action(); } } } export function finalize(action) { return function finalizeOperatorFunction(source) { return new FinallyAsyncIterable(source, action); }; } //# sourceMappingURL=finalize.mjs.map