GramIO API Reference / @gramio/storage/dist / Storage
Interface: Storage<Data>
Defined in: storage/index.d.ts:49
Type of base storage which should implement all of storages
Examples
ts
import type { Storage } from "@gramio/storage";
import ThirdPartyStorage, { type ThirdPartyStorageOptions } from "some-library";
export interface MyOwnStorageOptions extends ThirdPartyStorageOptions {
some?: number;
}
export function myOwnStorage(options: MyOwnStorageOptions = {}): Storage {
const storage = new ThirdPartyStorage(options);
return {
async get(key) {
const data = await storage.get(key);
return data ? JSON.parse(data) : undefined;
},
async has(key) {
return storage.has(key);
},
async set(key, value) {
await storage.set(key, JSON.stringify(value));
},
async delete(key) {
return storage.delete(key);
},
};
}ts
type T = Record<`Test${number}`, number> & Record<`Something${number}`, string>;
const storage = inMemoryStorage<T>();
const v1 = storage.get("Test1"); // v1: number | undefined
const v2 = storage.get("Something1"); // v2: string | undefinedType Parameters
| Type Parameter | Default type |
|---|---|
Data extends Record<string, any> | Record<string, any> |
Methods
delete()
delete<
K>(key):MaybePromise<boolean>
Defined in: storage/index.d.ts:81
delete value from storage by the key.
Type Parameters
| Type Parameter |
|---|
K extends string | number | symbol |
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
MaybePromise<boolean>
Example
ts
await storage.delete("key");get()
get<
K>(key):MaybePromise<Data[K]>
Defined in: storage/index.d.ts:57
get value from a storage.
Type Parameters
| Type Parameter |
|---|
K extends string | number | symbol |
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
MaybePromise<Data[K]>
Example
ts
const data = await storage.get("key");has()
has<
K>(key):MaybePromise<boolean>
Defined in: storage/index.d.ts:73
has storage value by the key?
Type Parameters
| Type Parameter |
|---|
K extends string | number | symbol |
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
MaybePromise<boolean>
Example
ts
const isKeyExists = await storage.has("key");set()
set<
K>(key,value):MaybePromise<void>
Defined in: storage/index.d.ts:65
set value to a storage by the key.
Type Parameters
| Type Parameter |
|---|
K extends string | number | symbol |
Parameters
| Parameter | Type |
|---|---|
key | K |
value | Data[K] |
Returns
MaybePromise<void>
Example
ts
await storage.set("key", { value: true });