Commit 0ec1413

Aleksandr Sysoev <sanchous.ok@gmail.com>
2023-10-07 19:50:39
Add `my-badges contributor` badge
1 parent 7f98259
Changed files (2)
src
all-badges
src/all-badges/my-badges-contributor/my-badges-contributor.ts
@@ -0,0 +1,24 @@
+import { Pull } from "../../collect/collect.js";
+import { BadgePresenter, Present } from '../../badges.js';
+
+export default new class implements BadgePresenter {
+  url = new URL(import.meta.url);
+  badges = [
+    'my-badges-contributor',
+  ] as const;
+  present: Present = (data, grant) => {
+    const pulls: Pull[] = [];
+    for (const pull of data.pulls) {
+      if (pull.repository.name === 'my-badges' &&
+        pull.repository.owner.login === 'my-badges' &&
+        pull.merged) {
+        pulls.push(pull);
+      }
+    }
+
+    if (pulls.length > 0) {
+      grant('my-badges-contributor', 'I contributed to <https://github.com/my-badges/my-badges>!')
+        .evidencePRs(...pulls);
+    }
+  }
+}
src/all-badges/index.ts
@@ -8,4 +8,5 @@ export const allBadges = [
   await import('./fuck-commit/fuck-commit.js'),
   await import('./mass-delete-commit/mass-delete-commit.js'),
   await import('./revert-revert-commit/revert-revert-commit.js'),
+  await import('./my-badges-contributor/my-badges-contributor.js'),
 ] as const