Skip to content

msotnikov/pouchdb-react-native

 
 

Repository files navigation

Logo

npm Package npm Package travis-ci.org js-standard-style license

NEWS

Hello! Welcome to pouchdb-react-native. I am James and have been lucky enough to been entrusted with the care and feeding of this repository. I am going to work on getting it functional again with the latest pouchdb AND react native versions using a little help from @craftzdog's work to fill the the gaps. Please be patient and offer bug reports and patches through the Issues system here. I am just getting my feet settled. Looking forward to working with you.

Cheers

pouchdb-react-native

PouchDB, the React Native-only edition. A preset representing the PouchDB code that runs in React Native.

The pouchdb-react-native preset contains the version of PouchDB that is designed for React Native. In particular, it ships with the AsyncStorage adapter as its default adapter. It also contains the replication, HTTP, and map/reduce plugins.

Usage

npm install pouchdb-react-native --save

npm >= 3 / node >= 6 works best, there are some known issues with npm 2

PouchDB 7.0

npm install pouchdb-react-native@next --save
import PouchDB from 'pouchdb-react-native'

const db = new PouchDB('mydb')

// use PouchDB
db.get('4711')
  .then(doc => console.log(doc))

For full API documentation and guides on PouchDB, see PouchDB.com.

Sample App

there is a small example app: https://github.com/seigel/pouchdb-react-native/tree/master/example

pouchdb-adapter-asyncstorage

PouchDB adapter using AsyncStorage as its data store. Designed to run in React Native. Its adapter name is 'asyncstorage'.

Usage

npm install pouchdb-adapter-asyncstorage --save
import PouchDB from 'pouchdb-core'

PouchDB.plugin(require('pouchdb-adapter-asyncstorage').default)
const db = new PouchDB('mydb', { adapter: 'asyncstorage' })

// use PouchDB
db.get('4711')
  .then(doc => console.log(doc))

Android limit

On Android asyncstorage has a limitation of 6 MB per default, you might want to increase it

// MainApplication.getPackages()
long size = 50L * 1024L * 1024L; // 50 MB
com.facebook.react.modules.storage.ReactDatabaseSupplier.getInstance(getApplicationContext()).setMaximumSize(size);

Known Issues

There are still problems with attachments. Currently, there is work being done on them. See (seigel#68)

Development

git clone https://github.com/seigel/pouchdb-react-native.git
cd pouchdb-react-native
git submodule init
git submodule update
npm install
npm test
cd example
npm run ios

Twitter URL GitHub stars

About

Pouchdb with async storage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 85.9%
  • Objective-C 6.9%
  • Shell 2.7%
  • Starlark 2.6%
  • Java 1.9%