Files
metrics/src/plugins/gists/index.mjs
Simon Lecoq eaa844e275 Add support for full year display in isocalendar (#10)
* fix(inst): base=0 flag combined with other base.part flags is now correctly handled

* ref(plugins): Space adjustements in plugins code

* feat(plugins/isocalendar): Add support for full year

* feat(repo): Update package.json

* fix(plugins/isocalendar): Isocalendar first row sometimes displayed 6 days instead of 7
2020-11-26 18:42:59 +01:00

49 lines
1.5 KiB
JavaScript

//Setup
export default async function ({login, graphql, q}, {enabled = false} = {}) {
//Plugin execution
try {
//Check if plugin is enabled and requirements are met
if ((!enabled)||(!q.gists))
return null
//Retrieve contribution calendar from graphql api
const {user:{gists}} = await graphql(`
query Gists {
user(login: "${login}") {
gists(last: 100) {
totalCount
nodes {
stargazerCount
isFork
forks {
totalCount
}
comments {
totalCount
}
}
}
}
}
`
)
//Iterate through gists
let stargazers = 0, forks = 0, comments = 0
for (const gist of gists.nodes) {
//Skip forks
if (gist.isFork)
continue
//Compute stars, forks and comments
stargazers += gist.stargazerCount
forks += gist.forks.totalCount
comments += gist.comments.totalCount
}
//Results
return {totalCount:gists.totalCount, stargazers, forks, comments}
}
//Handle errors
catch (error) {
console.debug(error)
throw {error:{message:`An error occured`}}
}
}