1.0.2 • Published 5 months ago

@sswahn/database v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Database · License npm version

Easily interact with the IndexedDB API with a simplified, promise-based approach.

Features

  • Simplified API to perform common operations like get, set, delete, and more.
  • Default configurations for quick setup.

Installation

npm install @sswahn/database

Usage

Import library.

import database from '@sswahn/indexedDB'

Initialize with optional custom configuration.

const db = database([
  {
    storeName: 'customStore',
    keyPath: 'customID',
    indexes: [
      {
        name: 'indexName',
        keyPath: 'indexKeyPath',
        unique: false
      }
    ]
  }
])

Get

Retrieves an item by key from the specified store.

db.get(1, 'customStore')

Get All

Retrieves all items from the specified store.

db.getAll('customStore')

Count

Retrieves count of all items in the specified store.

db.count('customStore')

Add

Adds an item to the specified store.

db.add({ customID: 1, name: 'John Doe' }, 'customStore')

Add All

Adds multiple items to the specified store.

db.addAll([{ customID: 2, name: 'Alice' }, { customID: 3, name: 'Bob' }], 'customStore')

Put

Updates an item in the specified store.

db.put({ customID: 1, name: 'Jane Doe' }, 'customStore')

Delete

Deletes an item by key from the specified store.

db.delete(1, 'customStore')

Destroy

Deletes the specified database.

db.destroy('databaseName')

Close

Closes the connection to the database.

db.close()

Example

To use this library, you first initialize a database instance and then perform various operations on it. Below is a basic example to store a record and retrieve it:

import database from '@sswahn/bind'
const db = database()

const storeLocally = async () => {
  try {
    await db.add({ id: 1, name: 'John Doe' })
    return db.get(1)
  } catch (error) {
    console.error(`Error: ${error}`)
  }
}

const data = await storeLocally()

Related

  • @sswahn/storage: A robust and easy-to-use utility for interacting with Web Storage API.
  • @sswahn/cookie: A lightweight, easy-to-use utility for efficiently managing cookies in a web browser.
  • @sswahn/cache: A robust caching utility that provides easy-to-use methods for interacting with the browser's Cache API.

License

Database is MIT Licensed

1.0.2

5 months ago

1.0.1

6 months ago

1.0.0

6 months ago

1.0.0-beta.9

6 months ago

1.0.0-beta.8

6 months ago

1.0.0-beta.7

6 months ago

1.0.0-beta.6

6 months ago

1.0.0-beta.5

6 months ago

1.0.0-beta.4

6 months ago

1.0.0-beta.3

6 months ago

1.0.0-beta.2

6 months ago

1.0.0-beta.1

6 months ago

1.0.0-beta.0

6 months ago