1 | "use strict";
|
2 | exports.__esModule = true;
|
3 | exports.partition = void 0;
|
4 | var tslib_1 = require("tslib");
|
5 | var _1 = require(".");
|
6 | function partition(index, iterable) {
|
7 | var _this = this;
|
8 | var current = 0;
|
9 | var _a = tslib_1.__read((0, _1.iterateLater)(), 3), partitionFirst = _a[0], nextFirst = _a[1], completeFirst = _a[2];
|
10 | var _b = tslib_1.__read((0, _1.iterateLater)(), 3), partitionSecond = _b[0], nextSecond = _b[1], completeSecond = _b[2];
|
11 | var iterate = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
12 | var iterable_1, iterable_1_1, value, e_1_1;
|
13 | var e_1, _a;
|
14 | return tslib_1.__generator(this, function (_b) {
|
15 | switch (_b.label) {
|
16 | case 0:
|
17 | _b.trys.push([0, 5, 6, 11]);
|
18 | iterable_1 = tslib_1.__asyncValues(iterable);
|
19 | _b.label = 1;
|
20 | case 1: return [4 , iterable_1.next()];
|
21 | case 2:
|
22 | if (!(iterable_1_1 = _b.sent(), !iterable_1_1.done)) return [3 , 4];
|
23 | value = iterable_1_1.value;
|
24 | if (current == index) {
|
25 | completeFirst();
|
26 | }
|
27 | if (current < index) {
|
28 | nextFirst(value);
|
29 | }
|
30 | else {
|
31 | nextSecond(value);
|
32 | }
|
33 | current++;
|
34 | _b.label = 3;
|
35 | case 3: return [3 , 1];
|
36 | case 4: return [3 , 11];
|
37 | case 5:
|
38 | e_1_1 = _b.sent();
|
39 | e_1 = { error: e_1_1 };
|
40 | return [3 , 11];
|
41 | case 6:
|
42 | _b.trys.push([6, , 9, 10]);
|
43 | if (!(iterable_1_1 && !iterable_1_1.done && (_a = iterable_1["return"]))) return [3 , 8];
|
44 | return [4 , _a.call(iterable_1)];
|
45 | case 7:
|
46 | _b.sent();
|
47 | _b.label = 8;
|
48 | case 8: return [3 , 10];
|
49 | case 9:
|
50 | if (e_1) throw e_1.error;
|
51 | return [7 ];
|
52 | case 10: return [7 ];
|
53 | case 11:
|
54 | completeFirst();
|
55 | completeSecond();
|
56 | return [2 ];
|
57 | }
|
58 | });
|
59 | }); };
|
60 | iterate();
|
61 | return [partitionFirst, partitionSecond];
|
62 | }
|
63 | exports.partition = partition;
|