VanillaDb is a lightweight browser database library thats built on top of localStorage and sessionStorage.
  npm install --save vanilla-db@latestOnce the package is installed, you can import the library using import vanillaDb
import { vanillaDb } from 'vanilla-db'to store data using vanillaDb
const config = {
  db: 'local', // or 'session', 'localStorage', 'sessionStorage',
  key: 'my-database-key' ,
  data: {
    name: 'John Doe',
    age: 40,
    role: 'React Developer'
  }
}
vanillaDb.set(config)to Get stored data, call the set() method and pass an object with key: Database key, db: which can either be "local || localStorage" or "session || sessionStorage" , data: the data you are storing (which can be arrays, object, or just a variable or state).
VanillaDb uses key-value pair method in storing datas, you will be able to get the stored data by referencing its database key.
const query = {
  db: 'local', // or 'session', 'localStorage', 'sessionStorage',
  key: 'my-database-key',
  option: 'all' || 'only'
}
vanillaDb.get(query)to Get stored data, call the get() method and pass an object with db: the database data is stored key: database key. option: to either return all the Database or only the data stored.
sync(copy) allow you to copy or move data within sessionStorage and localStorage,
const config = {
  from: 'local', 
  to: 'session',
  key: 'my-data' ,
  options: {
      deleteOld: true // or false,
      newKey: 'my-synced-data'
  }
}
vanillaDb.sync(config)to use sync(copy) create an object with
from: the database you can are copying/syncing data from, to: the new database you are copying/syncing to key: the key of the database you want to copy/sync.
options contains deleteOld: which can either be true or false to delete old stored data newKey: for the new data synced.
- remove(db) - remove the data stored in Database
 - length(db) - return the length of data stored in Database
 - request(db) - fetch data from api (mostly get) and store the data in database for offline usage.
 
const query = {
  db: 'local' // 'session',
  key: 'your database key',
}
vanillaDb.remove(query)query contains the database you stored your data and the key of the database you want to remove.
const db =  'local' // 'session',
vanillaDb.length(db)db is the Database you stored data or the Database you which to know its length.
import { vanillaDb } from 'vanilla-db'
const config =  {
    url: 'api endpoint',
    db: 'local' // 'session',
    key: 'database key',
    options: {'fetch request options'}
}
vanillaDb.request(config)db is the Database you stored data.
MIT ©