0.6.0 • Published 8 years ago

odd-storage v0.6.0

Weekly downloads
5
License
MIT
Repository
github
Last release
8 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

8 years ago

0.5.2

8 years ago

0.5.1

8 years ago

0.5.0

9 years ago

0.4.6

9 years ago

0.4.5

9 years ago

0.4.4

9 years ago

0.4.3

9 years ago

0.4.2

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago