Commit 7f98259

Aleksandr Sysoev <sanchous.ok@gmail.com>
2023-10-07 19:49:44
Add `evidencePRs` function
1 parent 97564a1
Changed files (2)
src/badges.ts
@@ -1,7 +1,7 @@
-import {allBadges} from './all-badges/index.js'
-import {Data, Repo, Commit} from './collect/collect.js'
-import {linkCommit} from './utils.js'
-import {fileURLToPath} from 'url'
+import { allBadges } from './all-badges/index.js'
+import { Data, Commit, Pull } from './collect/collect.js'
+import { linkCommit, linkPull } from './utils.js'
+import { fileURLToPath } from 'url'
 import * as path from 'path'
 
 export type ID = (typeof allBadges)[number]['default']['badges'][number]
@@ -47,6 +47,9 @@ export function badgeCollection(badges: Badge[], baseUrl: URL) {
       evidenceCommits(...commits: Commit[]) {
         this.evidence('Commits:\n\n' + commits.map(linkCommit).map(x => '- ' + x).join('\n'))
       },
+      evidencePRs(...pulls: Pull[]) {
+        this.evidence('Pull requests:\n\n' + pulls.map(linkPull).map(x => '- ' + x).join('\n'))
+      }
     }
   }
 }
src/utils.ts
@@ -1,9 +1,13 @@
-import {Commit} from './collect/collect.js'
+import { Commit, Pull } from './collect/collect.js'
 
 export function linkCommit(commit: Commit): string {
   return `<a href="https://github.com/${commit.repository.owner.login}/${commit.repository.name}/commit/${commit.sha}">${commit.sha.slice(0, 7)}</a>`
 }
 
+export function linkPull(pull: Pull): string {
+  return `<a href=https://github.com/${pull.repository.owner.login}/${pull.repository.name}/pull/${pull.number}>#${pull.number}</a>`
+}
+
 export function quoteAttr(s: string) {
   return s
     .replace(/&/g, '&amp;')