Should be considered alpha!
This is somewhat tested, and somewhat finished. It does not completely wrap BreweryDB’s
REST api (notably all POST/edit actions on the db are unimplemented), but it does what I need it to do right now - get data from the db. I based my interface off the one Tyler Hunt made his wrapper written in Ruby.
npm install brewerydb-node
var BreweryDb = require('brewerydb-node');
var brewdb = new BreweryDb('your-key-here');
Callbacks should should take two arguments, err
, and data
, as per convention
beer.getById(id/Array of ids, params (see options in BreweryDb Api docs), callback)
// /beer/:beerId
brewdb.beer.getById("avMkil", {}, callback);
// /beers?ids=
brewdb.beer.getById(["avMkil", "XcvLTe"], { withBreweries: "Y" }, callback);
// /beers?name=“bock”&abv=....
// can provide params that beers endpoint accepts (like abv, ibu, etc.)
brewdb.beer.find({ name:"bock" }, callback)
brewdb.breweries.getById("g0jHqt", {}, callback);
brewdb.breweries.getById(["g0jHqt", {}, "MWi5Kp"], callback)
brewdb.breweries.find( { established: 2010 }, callback)
brewdb.search.all( { q: "coors" }, callback);
brewdb.search.beers({ q: "dogfish" }, callback);
brewdb.search.breweries({ q: "dogfish" }, callback);
brewdb.category.all(callback);
brewdb.category.getById(1, callback);
brewdb.style.all(callback);
brewdb.style.getById(1,callback)
//find by id
brewdb.fermentables.getById("166", {}, callback);
// find by page - pageNumber should be an integer - an empty object will return the first page
brewdb.fermentables.find({p: 'pageNumber'}, callback);
- Write better tests?
- Implement glassware
- Write better docs