https://github.com/paperdb/kv-storage
LocalForage based key-value storage for Browser, Node.js, and Cordova/Ionic
https://github.com/paperdb/kv-storage
ipfs key-value localforage localforage-driver storage
Last synced: about 2 months ago
JSON representation
LocalForage based key-value storage for Browser, Node.js, and Cordova/Ionic
- Host: GitHub
- URL: https://github.com/paperdb/kv-storage
- Owner: PaperDB
- License: mit
- Created: 2020-02-19T02:36:59.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-14T21:22:17.000Z (about 6 years ago)
- Last Synced: 2025-09-22T09:13:26.804Z (9 months ago)
- Topics: ipfs, key-value, localforage, localforage-driver, storage
- Language: TypeScript
- Homepage:
- Size: 50.8 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @paper-db/kv-storage
LocalForage based key-value storage for Browser, Node.js, and Cordova/Ionic.
## LocalForage Drivers
* Browser:
* IndexedDB
* [datastore-level](src/localforage-driver-datastore-level.ts)
* WebSQL
* localStorage
* Node.js:
* [datastore-level](src/localforage-driver-datastore-level.ts)
* Cordova/Ionic
* [SQLite](https://github.com/thgreasi/localForage-cordovaSQLiteDriver)
* IndexedDB
* [datastore-level](src/localforage-driver-datastore-level.ts)
* WebSQL
* localStorage
## Installation
```
npm install @paper-db/kv-storage
```
If you would like to use SQLite as a storage engine for Cordova/Ionic, install the SQLite plugin dependency:
```
cordova plugin add cordova-sqlite-storage --save
```
## Usage
Example:
```js
const { KVStorage } = require('@paper-db/kv-storage')
const storage = new KVStorage({
path: './test-db', // path to the level-datastore being used, only required when using datastore-level localForage driver
})
await storage.ready()
await storage.set('test', 123)
console.log(await storage.has('test')) // true
console.log(await storage.get('test')) // 123
console.log(await storage.length()) // 1
console.log(await storage.keys()) // ['test']
storage.forEach((value, key, i) => {
console.log(value, key, i) // 123 'test' 0
})
await storage.remove('test')
```
## API
[see dist/index.d.ts](https://cdn.jsdelivr.net/npm/@paper-db/kv-storage/dist/index.d.ts)
## License
[MIT](./LICENSE)