swapijs
v1.0.0
Published
Javascript client for [SWAPI](http://swapi.co/) (a Star Wars API).
Downloads
3
Readme
swapijs
Javascript client for SWAPI (a Star Wars API).
Resources
swapi.films
swapi.people
swapi.planets
swapi.species
swapi.vehicles
swapi.starships
Each function returns a new 'Resource' - an interface for fetching different types of data from the API.
var peopleResource = swapi.people();
Fetching data
A resource has a single main method: get. It accepts two optional parameters: an id, and a callback function.
peopleResource.get('2', callback);
Providing an id will fetch a single resource, ommitting it will return multiple.
peopleResource.get(callback);
All data returned from list end points on the SWAPI API is paginated. Calling resource.get without the id parameter will fetch the first page of data for that resource. Subsequent calls will return each following page in turn, until the resource is depleted.
Resources cache all data returned by the API by url.
Error first
Callbacks follow the error first callback paradigm.
peopleResource.get(function(error, response) {
if (error) {
console.log(error);
return;
}
console.log(response);
});
### Events
You can also listen for events on resources:
The 'added' event is triggered when the resource has successfully fetched new data. The callback recieves the array of results, and the response dictionary.
peopleResource.on('added', function(added, responsee) {
});
The 'depleted' event is triggered when a response is returned that doesn't contain a URL for fetching further data from that resource.
peopleResource.on('depleted', function() {
});
The 'empty' event is triggered whenever get is called on a depleted resource.
peopleResource.on('empty', function() {
});