odd-storage

0.6.0 • Public • Published

odd-storage

NPM Package Build Status Coverage Status js-standard-style Dependency status

odd-storage is JavaScript library that has two interfaces (sql and sync) for store data in node.js and browsers.

Example

import oddStorage from 'odd-storage'
 
let storage = new oddStorage.LocalStorage({prefix: '...'})
 
$('#change-balance-btn').click(() => {
  storage.withLock(async () => {
    let user = $('#change-balance-user')
    let value = parseInt($('#change-balance-value').val(), 10)
    $('#change-balance-value').val('')
 
    let isAllow = await request(..., {value: value})
    if (!isAllow) {
      return setTimeout(() => {
        alert(`Action forbidden for user: ${user}, value: ${value}`)
      }, 0)
    }
 
    let balance = await storage.get(user)
    let newBalance = (balance === null ? 0 : balance) + value
 
    await storage.set(user, newBalance)
    setTimeout(() => {
      alert(`Balance changed for user: ${user}, new balance: ${balance}`)
    }, 0)
  })
})

API

Abstract

open

Open storage and set ready state for current instance.

return: Promise

withLock

If you want immutable data between related queries than run all queries in withLock.

  • function fn

return: Promise

AbstractSQL

executeSQL

Execute sql queries with arguments args.

  • string sql
  • Array.<*> args

return: Promise.<Array>

AbstractSync

set

  • string key
  • string value

return: Promise

get

  • string key

return: Promise.<?string>

remove

  • string key

return: Promise

entries

return: Promise<Iterable<{key: string, value: string}>>

clear

  • string key

return: Promise

Alternatives

License

This software is licensed under the MIT License.

Package Sidebar

Install

npm i odd-storage

Weekly Downloads

16

Version

0.6.0

License

MIT

Last publish

Collaborators

  • fanatid