| import { OuterSubscriber } from '../OuterSubscriber'; |
| import { subscribeToResult } from '../util/subscribeToResult'; |
| export function buffer(closingNotifier) { |
| return function bufferOperatorFunction(source) { |
| return source.lift(new BufferOperator(closingNotifier)); |
| }; |
| } |
| class BufferOperator { |
| constructor(closingNotifier) { |
| this.closingNotifier = closingNotifier; |
| } |
| call(subscriber, source) { |
| return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier)); |
| } |
| } |
| class BufferSubscriber extends OuterSubscriber { |
| constructor(destination, closingNotifier) { |
| super(destination); |
| this.buffer = []; |
| this.add(subscribeToResult(this, closingNotifier)); |
| } |
| _next(value) { |
| this.buffer.push(value); |
| } |
| notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { |
| const buffer = this.buffer; |
| this.buffer = []; |
| this.destination.next(buffer); |
| } |
| } |
| //# sourceMappingURL=buffer.js.map |