gh.js
Tiny GitHub API wrapper for server and client.
:cloud: Installation
Server
$ npm i gh.js
Then you can use it this way:
let GitHub = require("gh.js");
let gh = new GitHub({
token: "an optional token"
});
gh.get("users/IonicaBizau", (err, repos) => {
console.log(err || repos);
});
Client
<script src="path/to/gh.js"></script>
<script>
(function () {
var gh = new GitHub();
gh.get("users/IonicaBizau", function (err, repos) {
console.log(err || repos);
});
})();
</script>
:clipboard: Example
const GitHub = require("gh.js");
let gh = new GitHub("");
gh.get("users/IonicaBizau", (err, user) => {
console.log(err || user);
});
gh.get("users/IonicaBizau/repos", {
all: (err, pageRepos, currentPage) => {
console.log("Fetched page " + currentPage);
}
}, (err, repos) => {
console.log(err || repos);
});
:memo: Documentation
GitHub(options)
Creates a new instance of GitHub
.
Params
-
String|Object options
: An access token or an object containing the following options:
-
host
(String): The GitHub API host (default: "https://api.github.com/"
).
-
token
(String): The GitHub token.
-
user_agent
(String): The user agen (default: "gh.js"
).
Return
- GitHub A new
GitHub
instance.
req(url, options, callback)
Makes a request to the GitHub API.
Params
- String
url
: The request url. - Object
options
: An object containing the following fields: all
(Boolean|Function): If true
, then the endpoint pages will be
iterated and the results will be concatenated in one array. If a function
is provided, that function will be called when a page is fetched.opts
(Object): An object containing querystring parameters to be stringified.data
(Object): The POST data (if provided the request will be a POST request).req_options
(Object): Custom options passed to jsonrequest
.method
(String): Custom method (by default: GET
or POST
, if there is data).- Function
callback
: The callback function.
Return
- Request The request object.
checkResponse(err, data, res, callback)
Checks if the response is an error or not.
Params
- Error
err
: The error value. - Object
data
: The data object. - Response
res
: The response object. - Function
callback
: The callback option.
get(url, options, callback)
Higher level function for making API requests.
Params
- String
url
: The request url. - Object
options
: An object containing the following fields: all
(Boolean|Function): If true
, then the endpoint pages will be
iterated and the results will be concatenated in one array. If a function
is provided, that function will be called when a page is fetched.opts
(Object): An object containing querystring parameters to be stringified.data
(Object): The POST data (if provided the request will be a POST request).req_options
(Object): Custom options passed to jsonrequest
.method
(String): Custom method (by default: GET
or POST
, if there is data).- Function
callback
: The callback function.
Return
- Request The request object.
:yum: How to contribute
Have an idea? Found a bug? See how to contribute.
:moneybag: Donations
Another way to support the development of my open-source modules is
to set up a recurring donation, via Patreon. :rocket:
PayPal donations are appreciated too! Each dollar helps.
Thanks! :heart:
:dizzy: Where is this library used?
If you are using this library in one of your projects, add it in this list. :sparkles:
:scroll: License
MIT © Ionică Bizău