nano-blue2

0.3.6 • Public • Published

nano-blue2

A (bluebird promisified) minimalistic couchdb driver for node.js

This is just a fork of nano-blue with updated dependencies

nano-blue2 wraps nano in bluebird-flavored promises.

Installation

npm install --save nano-blue2

Example

A rewriting of the first example from the nano docs:

var nano = require('nano-blue2')('http://localhost:5984');
 
// specify the database we are going to use
var alice = nano.use('alice');
 
// clean up a database we created previously
nano.db.destroy('alice')
  .then(function() {
    // create a new database
    return nano.db.create('alice');
  }).then(function() {
    // insert a document into the database
    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);
  });
 
 
// you have inserted the rabbit
// { ok: true,
//   id: 'rabbit',
//   rev: '1-6e4cb465d49c0368ac3946506d26335d' }

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:

// using .spread()
alice.insert({ crazy: true }, 'rabbit')
  .spread(function(body, header) {
    console.log(body)
    console.log(header)
  });
 
 
// using .then()
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

Package Sidebar

Install

npm i nano-blue2

Weekly Downloads

0

Version

0.3.6

License

MIT

Last publish

Collaborators

  • maxlath