A JS client for CouchDB that does the heavy lifting
Find a file
Geoff Cox da7ca1123e 100% coverage (#4)
* doc(readme): clean up reasons

* doc(motto)

* test(db-and-doc): more coverage

* test(create-or-update-ignore-conflict)

* test(upsert)

* test(ignore-missing)

* test(post-and-ignore-conflict)

* test(get-merge-put)

* refactor(all): rename post and put

* test(get-merge-create-or-update)

* test(get-merge-update-ignore-conflict)

* test(get-merge-upsert)

* test(get-modify-upsert)

* refactor(doc): redundant code

* test(destroy-ignore-conflict)

* test(get-and-destroy)

* test(mark-as-destroyed)

* test(set-destroyed)

* refactor(attachment)

* test(doc): 100% coverage

* test(attachment): create with base 64

* test(attachment): clean up binary code

* test(attachment): get

* test(attachment): destroy

* test(system): is couchdb 1

* test(system): get

* test(system): reset

* test(updates)

* test(updates)

* test(all): unique DB names

* test(system): reactivate tests

* test(user): add role

* test(user): downsert role

* feat(stream-iterator): indefinite

* test(user): 100% coverage

* test(request-class)

* test(request-class): 100% coverage

* test(config)

* test(config): more coverage

* test(config): more coverage

* test(config): 100% coverage

* test(all): 100% coverage

* refactor(beautify)

* test(coverage): enforce 100%

* test(system): fix race condition

* test(user): shortcut for browser

* test(updates): test continuous stream in phantomjs

* test(updates): test continuous stream in phantomjs

* test(continuous): mock for phantomjs

* test(system): abort iterators

* test(system): fake abort
2017-07-18 07:45:32 -07:00
cache initial 2017-07-11 22:22:43 -07:00
scripts 100% coverage (#4) 2017-07-18 07:45:32 -07:00
test 100% coverage (#4) 2017-07-18 07:45:32 -07:00
.gitignore initial 2017-07-11 22:22:43 -07:00
.jshintrc initial 2017-07-11 22:22:43 -07:00
.npmignore initial 2017-07-11 22:22:43 -07:00
beautify.json initial 2017-07-11 22:22:43 -07:00
circle.yml refactor(all): simplify naming (#3) 2017-07-13 23:48:34 -07:00
enable-cors.sh refactor(all): simplify naming (#3) 2017-07-13 23:48:34 -07:00
index.js initial 2017-07-11 22:22:43 -07:00
LICENSE Initial commit 2017-07-11 22:13:23 -07:00
package.json 100% coverage (#4) 2017-07-18 07:45:32 -07:00
README.md 100% coverage (#4) 2017-07-18 07:45:32 -07:00
reset-db.js 100% coverage (#4) 2017-07-18 07:45:32 -07:00
run-couchdb-docker.sh refactor(all): simplify naming (#3) 2017-07-13 23:48:34 -07:00
TESTING.md 100% coverage (#4) 2017-07-18 07:45:32 -07:00

slouch

Circle CI

An API for CouchDB that does the heavy lifting

Slouch is a good alternative to nano as:

  • You don't have to create an instance for each DB
  • Supports native promises
  • Supports iterators
  • Automatically throttles connections to DB to avoid max_dbs_open errors
  • Automatically persists connections with exponential backoff in case DB restarts or connection is dropped
  • Works in node and in the browser
  • Provides upserts and "get and update" functions
  • Support for optionally ignoring conflicts, missing docs, etc...
  • Designed for both CouchDB 1 and CouchDB 2

Install

$ npm install couch-slouch