Skip to content

VanillaDb is a lightweight browser database library thats built on top of localStorage and sessionStorage.

Notifications You must be signed in to change notification settings

zediculz/vanilla-db

Repository files navigation

VanillaDb

VanillaDb is a lightweight browser database library thats built on top of localStorage and sessionStorage.

Installation

  npm install --save vanilla-db@latest

Once the package is installed, you can import the library using import vanillaDb

import { vanillaDb } from 'vanilla-db'

Documentation

Storing Data

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).

Getting Data

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 Data

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.

More Features

  • 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.

Usage/Examples

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.

NPM

JavaScript Style Guide

Contact

License

MIT ©