@kumarargentra/keyvaluestorage
TypeScript icon, indicating that this package has built-in type declarations

1.0.9 • Public • Published

keyvaluestorage npm version

Isomorphic Key-Value Storage

Example

import KeyValueStorage from "keyvaluestorage";

const options = {
  // required for React-Native platform
  // package from @react-native-async-storage/async-storage
  asyncStorage: AsyncStorage
  // required for NodeJS platform
  // sqlite database connection (in-memory supported)
  database: 'foobar.db'
  // optional for NodeJS platform
  // sqlite table name (default: 'keyvaluestorage')
  tableName: 'keyvaluestorage'
}

const storage = new KeyValueStorage(options)

// setItem
await storage.setItem('user1', { name: 'John Doe', age: 21 })

// getItem
const item = await storage.getItem('user1')

// removeItem
await storage.removeItem('user1')

API

export class IKeyValueStorage {
  public getKeys(): Promise<string[]>;
  public getEntries<T = any>(): Promise<[string, T][]>;
  public getItem<T = any>(key: string): Promise<T | undefined>;
  public setItem<T = any>(key: string, value: T): Promise<void>;
  public removeItem(key: string): Promise<void>;
}

Package Sidebar

Install

npm i @kumarargentra/keyvaluestorage

Weekly Downloads

5

Version

1.0.9

License

MIT

Unpacked Size

289 kB

Total Files

86

Last publish

Collaborators

  • kumarargentra