import { Dependent } from "./types.js"; export function getMarkdownOutput(dependents: Dependent[]): string { return ( "|Avatar | User | Repository | Stars |\n|-------|------|------------|-------|\n" + dependents .map( (dependent) => `| ${dependent.user} | [${dependent.user}](https://github.com/${dependent.user}/) | [${dependent.repo}](https://github.com/${dependent.user}/${dependent.repo}/) | ⭐ **${withThousandSeparator(dependent.stars)}** |`, ) .join("\n") ); } export function getHTMLOutput(dependents: Dependent[]): string { return ` ${dependents .map( (dependent) => ` `, ) .join("")}
Avatar User Repository Stars
${dependent.user} ${dependent.repo} ⭐ ${withThousandSeparator(dependent.stars)}
`; } function withThousandSeparator(stars: number): string { return String(stars).replace(/\B(?=(\d{3})+(?!\d))/g, ","); } export function getCSVOutput(dependents: Dependent[]): string { const header = "Avatar,User,Repository,Stars\n"; const rows = dependents .map( (dependent) => `"${dependent.avatarUrl}","${dependent.user}","${dependent.repo}",${dependent.stars}`, ) .join("\n"); return header + rows; }