gun-react-native-sqlite
A Gun <> SQLite Adapter for React Native apps to enable long-term storage for Gun data.
Installation
npm install gun-react-native-sqlite --save
or yarn add gun-react-native-sqlite
.
This module depends on react-native-sqlite-storage
for SQLite bindings. Follow instructions here to ensure that SQLite is installed and accessible.
Run
;;const adapter = GunSQLite; const gun = // Defaults sqlite: database_name: "GunDB.db" database_location: "default" // for concerns about location on iOS, see [here](https://github.com/andpor/react-native-sqlite-storage#opening-a-database) {} {} {} // don't attempt to read/write from Gun until this has been called unless you like to live dangerously
Cleaning Up Old Data
Depending on your application, your graph data can grow in size and has the potential to overwhelm your DB storage size.
The adapter provides a hook to clear out data that is older than a certain time:
;const adapter = GunSQLite; // Do a whole bunch of stuff, load and store data, etc, etc // Clear out anything older than 24 hrs from local storageadapter;
Assuming that you're storing this data somewhere else (like, on a server somewhere), this does not delete the data from Gun permanently; it just removes it from local storage.
TODO
- Support
createFromLocation
option - Android testing/support
- Performance profiling
Compatibility
This has only been testing with iOS, but it should be compatible with Android. If using Android, please report any issues; even better, submit a PR.
Other Options
If you're looking for long-term storage of your Gun database for React Native, you can also give the following a try:
Contributions
Contributions welcome on GitHub. Especially, testing and compatibility work for all platforms.
Issues
Issues welcome on GitHub.