0.6.0 • Published 10 years ago

odd-storage v0.6.0

Weekly downloads
5
License
MIT
Repository
github
Last release
10 years ago

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.

0.6.0

10 years ago

0.5.2

10 years ago

0.5.1

10 years ago

0.5.0

10 years ago

0.4.6

10 years ago

0.4.5

10 years ago

0.4.4

10 years ago

0.4.3

10 years ago

0.4.2

10 years ago

0.4.1

10 years ago

0.4.0

10 years ago

0.3.1

10 years ago

0.3.0

10 years ago

0.2.0

10 years ago

0.1.0

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago