Skip to content

Commit c27f821

Browse files
authored
Merge pull request #11 from jsr-core/remove-to-array
refactor!: use native way and remove `toArray`
2 parents b1cd362 + 5539dbc commit c27f821

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+240
-438
lines changed

README.md

Lines changed: 40 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@ Chains multiple iterables together.
2222
import { chain } from "@core/iterutil/chain";
2323

2424
const iter = chain([1, 2], [3, 4]);
25-
console.log([...iter]); // [1, 2, 3, 4]
25+
console.log(Array.from(iter)); // [1, 2, 3, 4]
2626
```
2727

2828
```ts
29-
import { toArray } from "@core/iterutil/async/to-array";
3029
import { chain } from "@core/iterutil/async/chain";
3130

3231
const iter = chain([1, 2], [3, 4]);
33-
console.log(await toArray(iter)); // [1, 2, 3, 4]
32+
console.log(await Array.fromAsync(iter)); // [1, 2, 3, 4]
3433
```
3534

3635
### chunked
@@ -41,15 +40,14 @@ Chunks an iterable into arrays of a given size.
4140
import { chunked } from "@core/iterutil/chunked";
4241

4342
const iter = chunked([1, 2, 3, 4, 5], 2);
44-
console.log([...iter]); // [[1, 2], [3, 4], [5]]
43+
console.log(Array.from(iter)); // [[1, 2], [3, 4], [5]]
4544
```
4645

4746
```ts
48-
import { toArray } from "@core/iterutil/async/to-array";
4947
import { chunked } from "@core/iterutil/async/chunked";
5048

5149
const iter = chunked([1, 2, 3, 4, 5], 2);
52-
console.log(await toArray(iter)); // [[1, 2], [3, 4], [5]]
50+
console.log(await Array.fromAsync(iter)); // [[1, 2], [3, 4], [5]]
5351
```
5452

5553
### compact
@@ -60,15 +58,14 @@ Removes all nullish (`null` or `undefined`) values from an iterable.
6058
import { compact } from "@core/iterutil/compact";
6159

6260
const iter = compact([1, undefined, 2, null, 3]);
63-
console.log([...iter]); // [1, 2, 3]
61+
console.log(Array.from(iter)); // [1, 2, 3]
6462
```
6563

6664
```ts
67-
import { toArray } from "@core/iterutil/async/to-array";
6865
import { compact } from "@core/iterutil/async/compact";
6966

7067
const iter = compact([1, undefined, 2, null, 3]);
71-
console.log(await toArray(iter)); // [1, 2, 3]
68+
console.log(await Array.fromAsync(iter)); // [1, 2, 3]
7269
```
7370

7471
### compress
@@ -79,15 +76,14 @@ Compresses an iterable by selecting elements using a selector iterable.
7976
import { compress } from "@core/iterutil/compress";
8077

8178
const iter = compress([1, 2, 3, 4, 5], [true, false, true, false, true]);
82-
console.log([...iter]); // [1, 3, 5]
79+
console.log(Array.from(iter)); // [1, 3, 5]
8380
```
8481

8582
```ts
86-
import { toArray } from "@core/iterutil/async/to-array";
8783
import { compress } from "@core/iterutil/async/compress";
8884

8985
const iter = compress([1, 2, 3, 4, 5], [true, false, true, false, true]);
90-
console.log(await toArray(iter)); // [1, 3, 5]
86+
console.log(await Array.fromAsync(iter)); // [1, 3, 5]
9187
```
9288

9389
### count
@@ -100,7 +96,7 @@ import { count } from "@core/iterutil/count";
10096
import { take } from "@core/iterutil/take";
10197

10298
const iter = count(1, 2);
103-
console.log([...take(iter, 5)]); // [1, 3, 5, 7, 9]
99+
console.log(Array.from(take(iter, 5))); // [1, 3, 5, 7, 9]
104100
```
105101

106102
### cycle
@@ -112,16 +108,15 @@ import { cycle } from "@core/iterutil/cycle";
112108
import { take } from "@core/iterutil/take";
113109

114110
const iter = cycle([1, 2, 3]);
115-
console.log([...take(iter, 5)]); // [1, 2, 3, 1, 2]
111+
console.log(Array.from(take(iter, 5))); // [1, 2, 3, 1, 2]
116112
```
117113

118114
```ts
119-
import { toArray } from "@core/iterutil/async/to-array";
120115
import { cycle } from "@core/iterutil/async/cycle";
121116
import { take } from "@core/iterutil/async/take";
122117

123118
const iter = cycle([1, 2, 3]);
124-
console.log(await toArray(take(iter, 5))); // [1, 2, 3, 1, 2]
119+
console.log(await Array.fromAsync(take(iter, 5))); // [1, 2, 3, 1, 2]
125120
```
126121

127122
### drop
@@ -132,15 +127,14 @@ Drops the first `limit` items from the iterable.
132127
import { drop } from "@core/iterutil/drop";
133128

134129
const iter = drop([1, 2, 3, 4, 5], 2);
135-
console.log([...iter]); // [3, 4, 5]
130+
console.log(Array.from(iter)); // [3, 4, 5]
136131
```
137132

138133
```ts
139-
import { toArray } from "@core/iterutil/async/to-array";
140134
import { drop } from "@core/iterutil/async/drop";
141135

142136
const iter = drop([1, 2, 3, 4, 5], 2);
143-
console.log(await toArray(iter)); // [3, 4, 5]
137+
console.log(await Array.fromAsync(iter)); // [3, 4, 5]
144138
```
145139

146140
### dropWhile
@@ -151,15 +145,14 @@ Drops elements from the iterable while the predicate returns true.
151145
import { dropWhile } from "@core/iterutil/drop-while";
152146

153147
const iter = dropWhile([1, 2, 3, 4, 5], (x) => x < 3);
154-
console.log([...iter]); // [3, 4, 5]
148+
console.log(Array.from(iter)); // [3, 4, 5]
155149
```
156150

157151
```ts
158-
import { toArray } from "@core/iterutil/async/to-array";
159152
import { dropWhile } from "@core/iterutil/async/drop-while";
160153

161154
const iter = dropWhile([1, 2, 3, 4, 5], (x) => x < 3);
162-
console.log(await toArray(iter)); // [3, 4, 5]
155+
console.log(await Array.fromAsync(iter)); // [3, 4, 5]
163156
```
164157

165158
### enumerate
@@ -170,15 +163,14 @@ Enumerates an iterable.
170163
import { enumerate } from "@core/iterutil/enumerate";
171164

172165
const iter = enumerate(["a", "b", "c"]);
173-
console.log([...iter]); // [[0, "a"], [1, "b"], [2, "c"]]
166+
console.log(Array.from(iter)); // [[0, "a"], [1, "b"], [2, "c"]]
174167
```
175168

176169
```ts
177-
import { toArray } from "@core/iterutil/async/to-array";
178170
import { enumerate } from "@core/iterutil/async/enumerate";
179171

180172
const iter = enumerate(["a", "b", "c"]);
181-
console.log(await toArray(iter)); // [[0, "a"], [1, "b"], [2, "c"]]
173+
console.log(await Array.fromAsync(iter)); // [[0, "a"], [1, "b"], [2, "c"]]
182174
```
183175

184176
### every
@@ -194,7 +186,6 @@ console.log(every([1, 2, 3], (value) => value > 1)); // false
194186
```
195187

196188
```ts
197-
import { toArray } from "@core/iterutil/async/to-array";
198189
import { every } from "@core/iterutil/async/every";
199190

200191
console.log(await every([1, 2, 3], (value) => value > 0)); // true
@@ -209,15 +200,14 @@ Filters an iterable based on a function.
209200
import { filter } from "@core/iterutil/filter";
210201

211202
const iter = filter([1, 2, 3, 4, 5], (value) => value % 2 === 0);
212-
console.log([...iter]); // [2, 4]
203+
console.log(Array.from(iter)); // [2, 4]
213204
```
214205

215206
```ts
216-
import { toArray } from "@core/iterutil/async/to-array";
217207
import { filter } from "@core/iterutil/async/filter";
218208

219209
const iter = filter([1, 2, 3, 4, 5], (value) => value % 2 === 0);
220-
console.log(await toArray(iter)); // [2, 4]
210+
console.log(await Array.fromAsync(iter)); // [2, 4]
221211
```
222212

223213
### find
@@ -266,15 +256,14 @@ Maps each value in an iterable to an iterable, then flattens the result.
266256
import { flatMap } from "@core/iterutil/flat-map";
267257

268258
const iter = flatMap([1, 2, 3], (value) => [value, value]);
269-
console.log([...iter]); // [1, 1, 2, 2, 3, 3]
259+
console.log(Array.from(iter)); // [1, 1, 2, 2, 3, 3]
270260
```
271261

272262
```ts
273-
import { toArray } from "@core/iterutil/async/to-array";
274263
import { flatMap } from "@core/iterutil/async/flat-map";
275264

276265
const iter = flatMap([1, 2, 3], (value) => [value, value]);
277-
console.log(await toArray(iter)); // [1, 1, 2, 2, 3, 3]
266+
console.log(await Array.fromAsync(iter)); // [1, 1, 2, 2, 3, 3]
278267
```
279268

280269
### flatten
@@ -285,15 +274,14 @@ Flattens an iterable of iterables into a single iterable.
285274
import { flatten } from "@core/iterutil/flatten";
286275

287276
const iter = flatten([[1, 2], [3, 4], [5]]);
288-
console.log([...iter]); // [1, 2, 3, 4, 5]
277+
console.log(Array.from(iter)); // [1, 2, 3, 4, 5]
289278
```
290279

291280
```ts
292-
import { toArray } from "@core/iterutil/async/to-array";
293281
import { flatten } from "@core/iterutil/async/flatten";
294282

295283
const iter = flatten([[1, 2], [3, 4], [5]]);
296-
console.log(await toArray(iter)); // [1, 2, 3, 4, 5]
284+
console.log(await Array.fromAsync(iter)); // [1, 2, 3, 4, 5]
297285
```
298286

299287
### forEach
@@ -376,15 +364,14 @@ Maps an iterable with a function.
376364
import { map } from "@core/iterutil/map";
377365

378366
const iter = map([1, 2, 3], (value) => value * 2);
379-
console.log([...iter]); // [2, 4, 6]
367+
console.log(Array.from(iter)); // [2, 4, 6]
380368
```
381369

382370
```ts
383-
import { toArray } from "@core/iterutil/async/to-array";
384371
import { map } from "@core/iterutil/async/map";
385372

386373
const iter = map([1, 2, 3], (value) => value * 2);
387-
console.log(await toArray(iter)); // [2, 4, 6]
374+
console.log(await Array.fromAsync(iter)); // [2, 4, 6]
388375
```
389376

390377
### pairwise
@@ -395,15 +382,14 @@ Returns an iterable that pairs adjacent elements from the input iterable.
395382
import { pairwise } from "@core/iterutil/pairwise";
396383

397384
const iter = pairwise([1, 2, 3, 4, 5]);
398-
console.log([...iter]); // [[1, 2], [2, 3], [3, 4], [4, 5]]
385+
console.log(Array.from(iter)); // [[1, 2], [2, 3], [3, 4], [4, 5]]
399386
```
400387

401388
```ts
402-
import { toArray } from "@core/iterutil/async/to-array";
403389
import { pairwise } from "@core/iterutil/async/pairwise";
404390

405391
const iter = pairwise([1, 2, 3, 4, 5]);
406-
console.log(await toArray(iter)); // [[1, 2], [2, 3], [3, 4], [4, 5]]
392+
console.log(await Array.fromAsync(iter)); // [[1, 2], [2, 3], [3, 4], [4, 5]]
407393
```
408394

409395
### partition
@@ -436,8 +422,8 @@ Generates a range of numbers.
436422
```ts
437423
import { range } from "@core/iterutil/range";
438424

439-
console.log([...range(3)]); // [0, 1, 2]
440-
console.log([...range(1, 6, 2)]); // [1, 3, 5]
425+
console.log(Array.from(range(3))); // [0, 1, 2]
426+
console.log(Array.from(range(1, 6, 2))); // [1, 3, 5]
441427
```
442428

443429
### reduce
@@ -498,15 +484,14 @@ Takes the first `limit` items from the iterable.
498484
import { take } from "@core/iterutil/take";
499485

500486
const iter = take([1, 2, 3, 4, 5], 2);
501-
console.log([...iter]); // [1, 2]
487+
console.log(Array.from(iter)); // [1, 2]
502488
```
503489

504490
```ts
505-
import { toArray } from "@core/iterutil/async/to-array";
506491
import { take } from "@core/iterutil/async/take";
507492

508493
const iter = take([1, 2, 3, 4, 5], 2);
509-
console.log(await toArray(iter)); // [1, 2]
494+
console.log(await Array.fromAsync(iter)); // [1, 2]
510495
```
511496

512497
### takeWhile
@@ -517,60 +502,25 @@ Takes elements from the iterable while the predicate is true.
517502
import { takeWhile } from "@core/iterutil/take-while";
518503

519504
const iter = takeWhile([1, 2, 3, 4, 5], (value) => value < 4);
520-
console.log([...iter]); // [1, 2, 3]
505+
console.log(Array.from(iter)); // [1, 2, 3]
521506
```
522507

523508
```ts
524-
import { toArray } from "@core/iterutil/async/to-array";
525509
import { takeWhile } from "@core/iterutil/async/take-while";
526510

527511
const iter = takeWhile([1, 2, 3, 4, 5], (value) => value < 4);
528-
console.log(await toArray(iter)); // [1, 2, 3]
529-
```
530-
531-
### toArray
532-
533-
Converts an iterable to an array.
534-
535-
```ts
536-
import { toArray } from "@core/iterutil/to-array";
537-
538-
const arr = toArray(function* () {
539-
yield 1;
540-
yield 2;
541-
yield 3;
542-
}());
543-
console.log(arr); // [1, 2, 3]
544-
```
545-
546-
```ts
547-
import { toArray } from "@core/iterutil/async/to-array";
548-
549-
const arr1 = await toArray(function* () {
550-
yield 1;
551-
yield 2;
552-
yield 3;
553-
}());
554-
console.log(arr1); // [1, 2, 3]
555-
556-
const arr2 = await toArray(async function* () {
557-
yield 1;
558-
yield 2;
559-
yield 3;
560-
}());
561-
console.log(arr2); // [1, 2, 3]
512+
console.log(await Array.fromAsync(iter)); // [1, 2, 3]
562513
```
563514

564515
### toAsyncIterable
565516

566517
Converts an iterable to an async iterable.
567518

568519
```ts
569-
import { toArray } from "@core/iterutil/async/to-array";
570520
import { toAsyncIterable } from "@core/iterutil/async/to-async-iterable";
571521

572522
const iter = toAsyncIterable([1, 2, 3]);
573-
console.log(await toArray(iter)); // [1, 2, 3]
523+
console.log(await Array.fromAsync(iter)); // [1, 2, 3]
574524
```
575525

576526
### uniq
@@ -581,27 +531,26 @@ Returns an iterable that yields the unique elements of the input iterable.
581531
import { uniq } from "@core/iterutil/uniq";
582532

583533
const iter1 = uniq([1, 2, 2, 3, 3, 3]);
584-
console.log([...iter1]); // [1, 2, 3]
534+
console.log(Array.from(iter1)); // [1, 2, 3]
585535

586536
const iter2 = uniq(
587537
[1, 2, 3, 1, 2, 3, 10, 20, 30, 11, 21, 31],
588538
(v) => Math.floor(v / 10),
589539
);
590-
console.log([...iter2]); // [1, 10, 20, 30]
540+
console.log(Array.from(iter2)); // [1, 10, 20, 30]
591541
```
592542

593543
```ts
594-
import { toArray } from "@core/iterutil/async/to-array";
595544
import { uniq } from "@core/iterutil/async/uniq";
596545

597546
const iter1 = uniq([1, 2, 2, 3, 3, 3]);
598-
console.log(await toArray(iter1)); // [1, 2, 3]
547+
console.log(await Array.fromAsync(iter1)); // [1, 2, 3]
599548

600549
const iter2 = uniq(
601550
[1, 2, 3, 1, 2, 3, 10, 20, 30, 11, 21, 31],
602551
(v) => Math.floor(v / 10),
603552
);
604-
console.log(await toArray(iter2)); // [1, 10, 20, 30]
553+
console.log(await Array.fromAsync(iter2)); // [1, 10, 20, 30]
605554
```
606555

607556
### zip
@@ -612,15 +561,14 @@ Zips multiple iterables into a single iterable.
612561
import { zip } from "@core/iterutil/zip";
613562

614563
const iter = zip([1, 2, 3], ["a", "b", "c"]);
615-
console.log([...iter]); // [[1, "a"], [2, "b"], [3, "c"]]
564+
console.log(Array.from(iter)); // [[1, "a"], [2, "b"], [3, "c"]]
616565
```
617566

618567
```ts
619-
import { toArray } from "@core/iterutil/async/to-array";
620568
import { zip } from "@core/iterutil/async/zip";
621569

622570
const iter = zip([1, 2, 3], ["a", "b", "c"]);
623-
console.log(await toArray(iter)); // [[1, "a"], [2, "b"], [3, "c"]]
571+
console.log(await Array.fromAsync(iter)); // [[1, "a"], [2, "b"], [3, "c"]]
624572
```
625573

626574
## License

0 commit comments

Comments
 (0)