Branch

paginatedPatches.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
ac0345 Tucker McKnight
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
import flatPatchesFunc from './flatPatches.js';
let paginatedPatches = null;
export default (repos) => __awaiter(void 0, void 0, void 0, function* () {
    if (paginatedPatches !== null) {
        return paginatedPatches;
    }
    const flatPatches = yield flatPatchesFunc(repos);
    paginatedPatches = [];
    const patchesPerPage = 30;
    flatPatches.forEach((patch) => {
        const index = paginatedPatches.findIndex((page) => {
            return (page.repoName === patch.repoName
                && page.branchName == patch.branchName
                && page.patches.length <= patchesPerPage);
        });
        if (index === -1) {
            const pageNumber = paginatedPatches.filter(page => (page.repoName === patch.repoName && page.branchName === patch.branchName)).length + 1;
            paginatedPatches.push({
                repoName: patch.repoName,
                branchName: patch.branchName,
                patches: [patch.patch],
                // current page number is one more than "how many items in paginatedPatches already
                // have repoName as their repo name.
                pageNumber,
            });
        }
        else {
            paginatedPatches[index].patches.push(patch.patch);
        }
    });
    return paginatedPatches;
});