nano-blue
A (bluebird promisified) minimalistic couchdb driver for node.js
nano-blue
wraps nano in bluebird-flavored promises.
Example
A rewriting of the first example from the nano
docs:
var nano = require('nano-blue')('http://localhost:5984');
var alice = nano.use('alice');
nano.db.destroy('alice')
.then(function() {
return nano.db.create('alice');
}).then(function() {
return alice.insert({ crazy: true }, 'rabbit');
}).spread(function(body, header) {
console.log('you have inserted the rabbit');
console.log(body);
}).catch(function(err) {
console.log(err.message);
});
Where you would normally use a callback that accepts body
and header
arguments, you should probably use Bluebird's .spread
instead of .then
. If
you just use .then
, the values will be passed as an array, which makes things
not as nice. For example:
alice.insert({ crazy: true }, 'rabbit')
.spread(function(body, header) {
console.log(body)
console.log(header)
});
alice.insert({ crazy: true }, 'rabbit')
.then(function(res) {
console.log(res[0])
console.log(res[1])
});
License (MIT)
See LICENSE
file for details.
nano
itself is licensed under the Apache License, version 2.0