37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */
 | 
						|
import * as tslib_1 from "tslib";
 | 
						|
import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';
 | 
						|
export function buffer(closingNotifier) {
 | 
						|
    return function bufferOperatorFunction(source) {
 | 
						|
        return source.lift(new BufferOperator(closingNotifier));
 | 
						|
    };
 | 
						|
}
 | 
						|
var BufferOperator = /*@__PURE__*/ (function () {
 | 
						|
    function BufferOperator(closingNotifier) {
 | 
						|
        this.closingNotifier = closingNotifier;
 | 
						|
    }
 | 
						|
    BufferOperator.prototype.call = function (subscriber, source) {
 | 
						|
        return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));
 | 
						|
    };
 | 
						|
    return BufferOperator;
 | 
						|
}());
 | 
						|
var BufferSubscriber = /*@__PURE__*/ (function (_super) {
 | 
						|
    tslib_1.__extends(BufferSubscriber, _super);
 | 
						|
    function BufferSubscriber(destination, closingNotifier) {
 | 
						|
        var _this = _super.call(this, destination) || this;
 | 
						|
        _this.buffer = [];
 | 
						|
        _this.add(innerSubscribe(closingNotifier, new SimpleInnerSubscriber(_this)));
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    BufferSubscriber.prototype._next = function (value) {
 | 
						|
        this.buffer.push(value);
 | 
						|
    };
 | 
						|
    BufferSubscriber.prototype.notifyNext = function () {
 | 
						|
        var buffer = this.buffer;
 | 
						|
        this.buffer = [];
 | 
						|
        this.destination.next(buffer);
 | 
						|
    };
 | 
						|
    return BufferSubscriber;
 | 
						|
}(SimpleOuterSubscriber));
 | 
						|
//# sourceMappingURL=buffer.js.map
 |