open-index/open-npm huggingface dataset:
npm package: @rasgo/pouchdb
Description: PouchDB is a pocket-sized database
Author: Dale Harvey
Latest version: 0.9.2

pouchdb
======

PouchDB is a pocket-sized database.

### Usage

```bash
npm install pouchdb
```

```js
var PouchDB = require('@rasgo/pouchdb');
var db = new PouchDB('my_db');
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/).

This is the full, batteries-included `pouchdb` package containing code that is designed for both the Browser and Node.js. For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-abstract-mapreduce
Description: PouchDB's secondary index API as an abstract module
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-abstract-mapreduce ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB's secondary index API as an abstract module

### Usage

```bash
npm install --save-exact pouchdb-abstract-mapreduce
```

```js
var createAbstractMapreduce = require('@rasgo/pouchdb-abstract-mapreduce');

var abstract = createAbstractMapreduce(
  localDoc,
  mapper,
  reducer,
  ddocValidator);
```

The `createAbstractMapreduce` function returns an "abstract" mapreduce object of the form:

```js
{
  query: queryFun,
  viewCleanup: viewCleanupFun
}
```

Arguments are:

```
localDoc: string
  This is for the local doc that gets saved in order to track the
  "dependent" DBs and clean them up for viewCleanup. It should be
  unique, so that indexer plugins don't collide with each other.
mapper: function (mapFunDef, emit)
  Returns a map function based on the mapFunDef, which in the case of
  normal map/reduce is just the de-stringified function, but may be
  something else, such as an object in the case of pouchdb-find.
reducer: function (reduceFunDef)
  Ditto, but for reducing. Modules don't have to support reducing
  (e.g. pouchdb-find).
ddocValidator: function (ddoc, viewName)
  Throws an error if the ddoc or viewName is not valid.
  This could be a way to communicate to the user that the configuration for the
  indexer is invalid.
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-adapter-http
Description: PouchDB adapter using HTTP (e.g. a remote CouchDB) as its data store.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-http
======

PouchDB adapter using HTTP (e.g. a remote CouchDB or CouchDB-like database) as its data store. Designed to run in either Node or the browser. Its adapter name is `'http'` or `'https'` depending on the protocol.

### Usage

```bash
npm install pouchdb-adapter-http
```

```js
PouchDB.plugin(require('@rasgo/pouchdb-adapter-http'));
var db = new PouchDB('http://127.0.0.1:5984/mydb');
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-adapter-idb
Description: PouchDB adapter using IndexedDB as its data store.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-idb
======

PouchDB adapter using IndexedDB as its data store. Designed to run in the browser. Its adapter name
is `'idb'`.

### Usage

```bash
npm install pouchdb-adapter-idb
```

```js
PouchDB.plugin(require('@rasgo/pouchdb-adapter-idb'));
var db = new PouchDB('mydb', {adapter: 'idb'});
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-adapter-indexeddb
Description: PouchDB adapter using IndexedDB as its data store.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-indexeddb
======

PouchDB adapter using IndexedDB as its data store. Designed to run in the browser. Its adapter name is `'indexeddb'`.

### Usage

```bash
npm install pouchdb-adapter-indexeddb
```

```js
PouchDB.plugin(require('@rasgo/pouchdb-adapter-indexeddb'));
var db = new PouchDB('mydb', {adapter: 'indexeddb'});
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).

### Differences between CouchDB and PouchDB's find implementations under IndexedDb

*These should be merged into some part of the external PouchDB documentation when this becomes a publicly usable adapter, if it's the default adapter or if it's one you can mix in manually.*

PouchDB attempts to be 100% compatible with CouchDB. However, there are some subtle differences you should be aware of between CouchDB and PouchDB running on IndexedDB.

First, note that these differences only exist in the native indexeddb index implementation. You can run an explain query to determine which index you're using. **TODO: example.**

#### Data type ordering

In upper bounded ranged queries (e.g, `{foo: {$lt: 10}}`) the returned order of `null`, `true` and `false` alongside very small integers (Number.MIN_SAFE_INTEGER + 2 and below) may be inconsistent with CouchDB's ordering.

This may be fixed in the future. See:
 - **TODO ticket**
 - https://github.com/pouchdb/pouchdb/blob/master/tests/find/test-suite-1/test.data-type-order.js#L131

#### Object indexing in Mango

CouchDB supports `null`, booleans, numbers, strings, arrays and objects in its indexes, and ranged queries operate in that order.

Unfortunately IndexedDB does not support objects in indexes. If an object is present on indexed keypath that document will not be present in the index.

This will manifest in two ways:
 - If you are trying to use an object as a key to an index you will not get the correct results
 - If you are doing a lower bounded ranged query (eg. `{foo: {$gt: 10}}`) objects on this keypath (here `foo`) will not return their documents.

This is highly unlikely to be fixed in the future by PouchDB, as it would require improvements to IndexedDB. See:
 - https://github.com/pouchdb/pouchdb/blob/master/tests/find/test-suite-1/test.data-type-order.js#L66
npm package: @rasgo/pouchdb-adapter-leveldb
Description: PouchDB adapter using LevelDB as its backing store.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-leveldb
======

PouchDB adapter using LevelDB as its backing store. Designed to run in Node. Its adapter name is `'leveldb'`.

### Usage

```bash
npm install pouchdb
```

```js
PouchDB.plugin(require('@rasgo/pouchdb-adapter-leveldb'));
var db = new PouchDB('my_db', {adapter: 'leveldb'});
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-adapter-leveldb-core
Description: Core PouchDB adapter code for LevelDOWN-based adapters
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-leveldb-core ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

Underlying adapter code for LevelDOWN-based PouchDB adapters (such as `pouchdb-adapter-leveldb`). Most likely you should not use this package unless you are trying to build your own PouchDB adapter based on a *DOWN database.

### Usage

```bash
npm install --save-exact pouchdb-adapter-leveldb-core
```

### Overview

`pouchdb-adapter-leveldb-core` is designed in such a way that you can substitute
[any LevelDOWN-based implementation](https://github.com/rvagg/node-levelup/wiki/Modules#storage-back-ends) and therefore
use PouchDB over RiakDOWN, RedisDOWN, etc.

In practice, though, only a handful of LevelDOWN-based adapters are supported by PouchDB and guaranteed to run with 100%
fidelity. Furthermore, adapters like RiakDOWN, MySQLDown, RedisDOWN, etc. rarely provide the feature that fans of those
databases hope to get out of them, i.e. PouchDB's magical syncing capabilities on top of their favorite database. In truth,
what those adapters do is reduce the underlying database to a LevelDB-like key-value store and require PouchDB to implement
its own revision-handling on top of them. In other words, they tend to be unperformant and require you to exclusively use
PouchDB's API to access them.

Only certain adapters (e.g. in-memory, based on [MemDOWN](http://github.com/level/memdown)) are officially supported by the
PouchDB project; you are free to experiment with other datastores, but be forewarned of the above caveats. To see how to
build a custom LevelDOWN-based database, see the source code for `pouchdb-adapter-memory`, `pouchdb-adapter-localstorage`, or
`pouchdb-adapter-fruitdown`.

### Details

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-adapter-localstorage
Description: PouchDB adapter using LocalStorage as its data store.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-localstorage
======

PouchDB adapter using LocalStorage as its data store. Designed to run in the browser. Its adapter name is `'localstorage'`.

### Usage

```bash
npm install pouchdb-adapter-localstorage
```

```js
PouchDB.plugin(require('@rasgo/pouchdb-adapter-localstorage'));
var db = new PouchDB('mydb', {adapter: 'localstorage'});
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-adapter-memory
Description: PouchDB adapter using in-memory as its data store.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-memory
======

PouchDB adapter using in-memory as its data store. Designed to run in either Node or the browser. Its adapter name is `'memory'`.

### Usage

```bash
npm install pouchdb-adapter-memory
```

```js
PouchDB.plugin(require('@rasgo/pouchdb-adapter-memory'));
var db = new PouchDB('mydb', {adapter: 'memory'});
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-adapter-utils
Description: Utilities for PouchDB adapters.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-adapter-utils ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

Utilities for PouchDB adapters.

### Usage

```bash
npm install --save-exact pouchdb-adapter-utils
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).


### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.


### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-binary-utils
Description: PouchDB utilities for operating on binary strings and Buffers/Blobs.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-binary-utils ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB utilities for operating on binary strings and Buffers/Blobs.

### Usage

```bash
npm install --save-exact pouchdb-binary-utils
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-browser
Description: PouchDB, the browser-only edition.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-browser
======

PouchDB, the browser-only edition. A preset representing the PouchDB code that runs in the browser, without any of the code required to run it in Node.js.

The `pouchdb-browser` preset contains the version of PouchDB that is designed for the browser. In particular, it ships with the IndexedDB and WebSQL adapters as its default adapters. It also contains the replication, HTTP, and map/reduce plugins.

Use this preset if you only want to use PouchDB in the browser,
and don't want to use it in Node.js. (E.g. to avoid installing LevelDB.)

### Usage

```bash
npm install pouchdb-browser
```

```js
var PouchDB = require('@rasgo/pouchdb-browser');
var db = new PouchDB('mydb');
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-changes-filter
Description: Adds "filter", "selector", etc. to PouchDB's changes/replicate/sync APIs
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-changes-filter
======

Plugin to add the ability to use the `"filter"`, `"selector"`, `"doc_ids"`, `"query_params"`, and `"query"` fields in the `changes()`, `replicate()`, and `sync()` APIs.

This is extract as a separate plugin because 1) it's fairly heavyweight, and 2) it contains `eval()`, which some environments disallow. So if you're not using filtered changes/replication, then you don't need this module.

### Usage

```bash
npm install pouchdb-changes-filter
```

```js
var PouchDB = require('@rasgo/pouchdb');
var changesFilter = require('@rasgo/pouchdb-changes-filter');
PouchDB.plugin(changesFilter);
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-checkpointer
Description: PouchDB tool to write a checkpoint, e.g. during replication.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-checkpointer ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB tool to write a checkpoint, e.g. during replication.

### Usage

```bash
npm install --save-exact pouchdb-checkpointer
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-collections
Description: Map and Set shims for PouchDB
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-collections ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

Super-minimal ES6 Map and Set shims for PouchDB.

### Usage

```bash
npm install --save-exact pouchdb-collections
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).


### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.


### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-core
Description: The core of PouchDB as a standalone package.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-core
======

The core of PouchDB as a standalone package. This is a `preset` designed to be combined with other plugins to create new `presets`. By itself, it is not very useful.

### Usage

```bash
npm install pouchdb-core
```

```js
var PouchDB = require('@rasgo/pouchdb-core');
PouchDB.plugin(/* attach plugins to make me more interesting! */);
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-errors
Description: Errors exposed by PouchDB.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-errors ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

Errors exposed by PouchDB.

### Usage

```bash
npm install --save-exact pouchdb-errors
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-fetch
Description: PouchDB's fetch() method.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-fetch ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB's fetch() method.

### Usage

```bash
npm install --save-exact pouchdb-fetch
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-generate-replication-id
Description: PouchDB function to generate a replication ID to mark progress during replications.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-generate-replication-id ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB function to generate a replication ID to mark progress during replications.

### Usage

```bash
npm install --save-exact pouchdb-generate-replication-id
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-json
Description: PouchDB utilities for safely stringifying and parsing JSON.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-json ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB utilities for safely stringifying and parsing JSON.

### Usage

```bash
npm install --save-exact pouchdb-json
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-mapreduce
Description: PouchDB's map/reduce query API as a plugin.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-mapreduce
======

PouchDB's `query()` and `viewCleanup()` functions as a standalone plugin.

### Usage

```bash
npm install --save pouchdb-mapreduce
```

```js
var mapreduce = require('@rasgo/pouchdb-mapreduce');
PouchDB.plugin(mapreduce);
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-mapreduce-utils
Description: PouchDB utilities used by pouchdb-mapreduce.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-mapreduce-utils ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB utilities used by pouchdb-mapreduce.

### Usage

```bash
npm install --save-exact pouchdb-mapreduce-utils
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-md5
Description: PouchDB utilities for calculating MD5 checksums.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-md5 ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB utilities for calculating MD5 checksums.

### Usage

```bash
npm install pouchdb
```

```js
var PouchDB = require('@rasgo/pouchdb');
var db = new PouchDB('my_db');
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-merge
Description: PouchDB's document merge algorithm.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-merge ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB's CouchDB-style document merge algorithm as a standalone module.

### Usage

```bash
npm install --save-exact pouchdb-merge
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).


### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.


### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-node
Description: PouchDB, the Node-only edition.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-node
======

PouchDB, the Node-only edition. A preset representing the PouchDB code that runs in Node.js, without any of the code required to run it in the browser.

The `pouchdb-node` preset contains the version of PouchDB that is designed for
Node.js. In particular, it uses the LevelDB adapter and doesn't ship with the
IndexedDB or WebSQL adapters. It also contains the replication, HTTP, and map/reduce plugins.

Use this preset if you are only using PouchDB in Node, and not in the browser.

### Usage

```bash
npm install pouchdb-node
```

```js
var PouchDB = require('@rasgo/pouchdb-node');
var db = new PouchDB('mydb');
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-replication
Description: PouchDB's replication and sync algorithm, as a plugin.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-replication
======

PouchDB's replication and sync algorithm, as a plugin.

### Usage

```bash
npm install pouchdb-replication
```

```js
PouchDB.plugin(require('@rasgo/pouchdb-replication'));
var db = new PouchDB('mydb');
db.replicate(/* see replicate/sync API docs for full info */);
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).

### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-selector-core
Description: PouchDB's core selector code
Author: Will Holley
Latest version: 0.9.2

pouchdb-selector-core ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

PouchDB find's core selector as standalone module.

### Usage

```bash
npm install --save-exact pouchdb-selector-core
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).


### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.


### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/pouchdb-utils
Description: Unassorted utilities used by PouchDB.
Author: Dale Harvey
Latest version: 0.9.2

pouchdb-utils ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

Unassorted utilities used by PouchDB.

### Usage

```bash
npm install --save-exact pouchdb-utils
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).


### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.


### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).
npm package: @rasgo/sublevel-pouchdb
Description: Fork of level-sublevel with ony the subset of the API that PouchDB uses
Author: Dale Harvey
Latest version: 0.9.2

sublevel-pouchdb ![semver non-compliant](https://img.shields.io/badge/semver-non--compliant-red.svg)
======

Fork of [level-sublevel](https://github.com/dominictarr/level-sublevel) 
with ony the subset of the API that PouchDB uses. Forked from v6.5.4, 
commit [fa1b712](https://github.com/dominictarr/level-sublevel/commits/fa1b7121f9632b637e650cc1ec9b1723b60df864).

### Usage

```bash
npm install --save-exact sublevel-pouchdb
```

For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html).


### Warning: semver-free zone!

This package is conceptually an internal API used by PouchDB or its plugins. It does not follow semantic versioning (semver), and rather its version is pegged to PouchDB's. Use exact versions when installing, e.g. with `--save-exact`.


### Source

PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md).

For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages).