4.0.0-rc.0 • Published 6 months ago

@alwatr/storage-client v4.0.0-rc.0

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

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();
4.0.0-rc.0

6 months ago

1.1.1

8 months ago

1.1.0

8 months ago

1.1.2

8 months ago

1.0.1

11 months ago

1.0.0

11 months ago

0.32.0

11 months ago

0.31.0

12 months ago

0.30.0

1 year ago

0.29.0

1 year ago

0.28.0

1 year ago

0.26.1

1 year ago

0.27.0

1 year ago

0.26.0

1 year ago

0.25.0

1 year ago

0.24.1

1 year ago

0.24.0

1 year ago

0.23.0

1 year ago

0.22.1

1 year ago

0.22.0

1 year ago