We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 5d8f86e commit c28ba41Copy full SHA for c28ba41
src/_window.js
@@ -1,5 +1,6 @@
1
import assert from 'assert';
2
import {_take} from '@iterable-iterator/slice';
3
+import {map} from '@iterable-iterator/map';
4
import {deque} from '@data-structure/deque';
5
6
/**
@@ -16,12 +17,11 @@ import {deque} from '@data-structure/deque';
16
17
* @param {IterableIterator} iterable - The input iterable.
18
* @returns {IterableIterator}
19
*/
-export default function* _window(n, iterator) {
20
+const _window = (n, iterator) => {
21
assert(Number.isInteger(n) && n > 0);
22
23
const tuple = deque(_take(iterator, n - 1), n);
24
+ return map((value) => tuple.append(value), iterator);
25
+};
26
- for (const value of iterator) {
- yield tuple.append(value);
- }
27
-}
+export default _window;
0 commit comments