Commit 64421a6

Andrew J.Swan <ajs.blackhole@gmail.com>
2025-09-13 20:02:29
Happy Programmers Day! (#124)
1 parent 3ecd812
Changed files (3)
badges/programmers-day/programmers-day.png
Binary file
badges/programmers-day/programmers-day.ts
@@ -0,0 +1,33 @@
+import { Commit, define, latest } from '#src'
+
+export default define({
+  url: import.meta.url,
+  badges: ['programmers-day'] as const,
+  present(data, grant) {
+    const commits: Commit[] = []
+
+    for (const repo of data.repos) {
+      for (const commit of repo.commits) {
+        const data = new Date(commit.committedDate)
+        if (getDayOfYear(data) === 256) {
+          commits.push(commit)
+        }
+      }
+    }
+
+    if (commits.length > 0) {
+      grant(
+        'programmers-day',
+        'Happy Programmers Day! I committed on a 256 Day of Year!',
+      ).evidenceCommits(...commits.sort(latest).slice(0, 6))
+    }
+  },
+})
+
+function getDayOfYear(date: Date) {
+  return (
+    (Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) -
+      Date.UTC(date.getFullYear(), 0, 0)) /
+    86400000
+  )
+}
badges/index.ts
@@ -20,6 +20,7 @@ export default [
   await import('./oss-library-night-24/oss-library-night-24.js'),
   await import('./polite-coder/polite-coder.js'),
   await import('./pr-collaboration/pr-collaboration.js'),
+  await import('./programmers-day/programmers-day.js'),
   await import('./public-keys/public-keys.js'),
   await import('./reactions/reactions.js'),
   await import('./revert-revert-commit/revert-revert-commit.js'),