Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm2015 / internal / operators / bufferCount.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/operators/bufferCount.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/operators/bufferCount.js
new file mode 100644 (file)
index 0000000..0f119e7
--- /dev/null
@@ -0,0 +1,78 @@
+import { Subscriber } from '../Subscriber';
+export function bufferCount(bufferSize, startBufferEvery = null) {
+    return function bufferCountOperatorFunction(source) {
+        return source.lift(new BufferCountOperator(bufferSize, startBufferEvery));
+    };
+}
+class BufferCountOperator {
+    constructor(bufferSize, startBufferEvery) {
+        this.bufferSize = bufferSize;
+        this.startBufferEvery = startBufferEvery;
+        if (!startBufferEvery || bufferSize === startBufferEvery) {
+            this.subscriberClass = BufferCountSubscriber;
+        }
+        else {
+            this.subscriberClass = BufferSkipCountSubscriber;
+        }
+    }
+    call(subscriber, source) {
+        return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery));
+    }
+}
+class BufferCountSubscriber extends Subscriber {
+    constructor(destination, bufferSize) {
+        super(destination);
+        this.bufferSize = bufferSize;
+        this.buffer = [];
+    }
+    _next(value) {
+        const buffer = this.buffer;
+        buffer.push(value);
+        if (buffer.length == this.bufferSize) {
+            this.destination.next(buffer);
+            this.buffer = [];
+        }
+    }
+    _complete() {
+        const buffer = this.buffer;
+        if (buffer.length > 0) {
+            this.destination.next(buffer);
+        }
+        super._complete();
+    }
+}
+class BufferSkipCountSubscriber extends Subscriber {
+    constructor(destination, bufferSize, startBufferEvery) {
+        super(destination);
+        this.bufferSize = bufferSize;
+        this.startBufferEvery = startBufferEvery;
+        this.buffers = [];
+        this.count = 0;
+    }
+    _next(value) {
+        const { bufferSize, startBufferEvery, buffers, count } = this;
+        this.count++;
+        if (count % startBufferEvery === 0) {
+            buffers.push([]);
+        }
+        for (let i = buffers.length; i--;) {
+            const buffer = buffers[i];
+            buffer.push(value);
+            if (buffer.length === bufferSize) {
+                buffers.splice(i, 1);
+                this.destination.next(buffer);
+            }
+        }
+    }
+    _complete() {
+        const { buffers, destination } = this;
+        while (buffers.length > 0) {
+            let buffer = buffers.shift();
+            if (buffer.length > 0) {
+                destination.next(buffer);
+            }
+        }
+        super._complete();
+    }
+}
+//# sourceMappingURL=bufferCount.js.map
\ No newline at end of file