Branch

flatFiles.ts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
7e40e5 Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
7e40e5 Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
7e40e5 Tucker McKnight
7e40e5 Tucker McKnight
7e40e5 Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
7e40e5 Tucker McKnight
7e40e5 Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
import { type Repository } from "./dataTypes.ts"

let cachedFlatFiles = null

export default (repos: Array<Repository>) => {
  if (cachedFlatFiles !== null) { return cachedFlatFiles }

  cachedFlatFiles = repos.flatMap((repo) => {
    return repo.branches.flatMap((branch) => {
      return branch.fileList.map((file) => {
        return {
          file,
          branchName: branch.name,
          repoName: repo.name,
        }
      })
    })
  })

  return cachedFlatFiles
}