| 95 | } |
| 96 | |
| 97 | function calculate(releases: Release[]) { |
| 98 | let total = 0 |
| 99 | const stats = [] |
| 100 | |
| 101 | for (const release of releases) { |
| 102 | let downloads = 0 |
| 103 | const assets = [] |
| 104 | |
| 105 | for (const asset of release.assets) { |
| 106 | downloads += asset.download_count |
| 107 | assets.push({ |
| 108 | name: asset.name, |
| 109 | downloads: asset.download_count, |
| 110 | }) |
| 111 | } |
| 112 | |
| 113 | total += downloads |
| 114 | stats.push({ |
| 115 | tag: release.tag_name, |
| 116 | name: release.name, |
| 117 | downloads, |
| 118 | assets, |
| 119 | }) |
| 120 | } |
| 121 | |
| 122 | return { total, stats } |
| 123 | } |
| 124 | |
| 125 | async function save(githubTotal: number, npmDownloads: number) { |
| 126 | const file = "STATS.md" |