Skip to content

Instantly share code, notes, and snippets.

@MrHuxu
Last active April 4, 2018 02:40
Show Gist options
  • Save MrHuxu/f3f1ab329db0a9b12486 to your computer and use it in GitHub Desktop.
Save MrHuxu/f3f1ab329db0a9b12486 to your computer and use it in GitHub Desktop.
[node.js & github] #demo
var GitHubApi = require('github');
var github = new GitHubApi({
version: '3.0.0',
debug: false,
protocol: 'https',
host: 'api.github.com', // should be api.github.com for GitHub
timeout: 5000,
headers: {
'user-agent': 'MrHuxu-GitHub-APP'
}
});
var repoNames = ['blog', 'easy-interview', 'leetcode', 'ng_blog', 'cn-city-select', 'lifetools', 'ModeSetting'];
var getDatePromises = [];
github.repos.getFromUser({
user: 'MrHuxu'
}, function(err, res) {
var selectedRepos = res.filter(repo => repoNames.indexOf(repo.name) !== -1);
var result = selectedRepos.map((repo) => {
return {
name: repo.name,
fullName: repo.full_name,
url: repo.html_url,
star: repo.stargazers_count,
homepage: repo.homepage,
description: repo.description
};
});
for (var i = 0, len = repoNames.length; i < len; ++i) {
getDatePromises.push((function (index) {
var repoName = repoNames[index];
return new Promise((resolve, reject) => {
github.repos.getCommits({
user: 'MrHuxu',
repo: repoName
}, (err, res) => {
if (err)
reject(err);
else
resolve(res[0].commit.committer.date);
})
});
}(i)));
}
Promise.all(getDatePromises).then((dates) => {
console.log(dates);
}, (err) => {
console.log(err);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment