New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@alwatr/storage-client

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@alwatr/storage-client

Elegant micro client for storage server written in tiny TypeScript ES module.

latest
Source
npmnpm
Version
4.0.0-rc.0
Version published
Weekly downloads
2
100%
Maintainers
1
Weekly downloads
 
Created
Source

Alwatr Storage Client - @alwatr/storage-client

Elegant micro client for storage server written in tiny TypeScript ES module.

Example usage

import {type AlwatrDocumentObject, AlwatrStorageClient} from '@alwatr/storage-client';

type User = AlwatrDocumentObject & {
  email: string;
  token?: string;
};

const db = new AlwatrStorageClient<User>({
  name: 'user-list',
  host: '127.0.0.1',
  port: 9000,
  token: 'YOUR_SECRET_TOKEN',
  timeout: 2_000,
});

await db.set({
  id: 'alimd',
  email: 'ali@mihandoost.com',
});

await db.set({
  id: 'fmd',
  email: 'Fatemeh@mihandoost.com',
  token: Math.random().toString(36).substring(2, 15),
});

console.log("has 'alimd': %o", await db.has('alimd'));
console.log('keys: %o', await db.keys());
console.log('getAll: %o', await db.getAll());
console.log('delete: %o', await db.delete('alimd'));
try {
  await db.delete('abcd');
} catch (err) {
  console.log('delete 404: %o', (err as Error).message);
}

API

config.name: string

Storage name (like database name).

config.host: string

Storage server host name (URL).

config.token: string

Storage server token (like database password).

config.timeout?: number

A timeout in ms for the fetch request.

config.debug?: boolean

Debug output logs.

get(documentId: string): Promise<DocumentType>

Get a document object by id.

  • documentId: The id of the document object.

Example:

try {
  const user = await userStorage.get('user-1');
  console.dir(item);
} catch (err) {
  if ((err as Error)?.message === 'document_not_found') {
    console.log('user_5000 id not found!');
  } else {
    console.error(err);
  }
}

has(documentId: string): Promise<boolean>

Check document exists by id.

  • documentId: The id of the document object.

Example:

const userExist = await userStorage.has('user-1');
if (!userExist) console.log('user_not_found');

set(documentObject: DocumentType, fastInstance?: boolean): DocumentType

Insert/update a document object in the storage.

  • documentObject: The document object to insert/update contain id.

Example:

userStorage.set({
  id: 'user-1',
  foo: 'bar',
});

delete(documentId: string): Promise<void>

Delete a document object from the storage.

Example:

userStorage.delete('user-1');

getStorage(): Promise<AlwatrDocumentStorage>

Dump all storage data.

Example:

const userStorage = await userStorage.getStorage();

Keywords

database

FAQs

Package last updated on 14 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts