From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- .../dist/esm/internal/operators/windowCount.js | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 node_modules/rxjs/dist/esm/internal/operators/windowCount.js (limited to 'node_modules/rxjs/dist/esm/internal/operators/windowCount.js') diff --git a/node_modules/rxjs/dist/esm/internal/operators/windowCount.js b/node_modules/rxjs/dist/esm/internal/operators/windowCount.js new file mode 100644 index 0000000..6597452 --- /dev/null +++ b/node_modules/rxjs/dist/esm/internal/operators/windowCount.js @@ -0,0 +1,40 @@ +import { Subject } from '../Subject'; +import { operate } from '../util/lift'; +import { createOperatorSubscriber } from './OperatorSubscriber'; +export function windowCount(windowSize, startWindowEvery = 0) { + const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize; + return operate((source, subscriber) => { + let windows = [new Subject()]; + let starts = []; + let count = 0; + subscriber.next(windows[0].asObservable()); + source.subscribe(createOperatorSubscriber(subscriber, (value) => { + for (const window of windows) { + window.next(value); + } + const c = count - windowSize + 1; + if (c >= 0 && c % startEvery === 0) { + windows.shift().complete(); + } + if (++count % startEvery === 0) { + const window = new Subject(); + windows.push(window); + subscriber.next(window.asObservable()); + } + }, () => { + while (windows.length > 0) { + windows.shift().complete(); + } + subscriber.complete(); + }, (err) => { + while (windows.length > 0) { + windows.shift().error(err); + } + subscriber.error(err); + }, () => { + starts = null; + windows = null; + })); + }); +} +//# sourceMappingURL=windowCount.js.map \ No newline at end of file -- cgit v1.2.3