memory-card
Version:
ES6 Map like Async API, with Swagger API Backend Support.
94 lines • 2.79 kB
TypeScript
import type { AsyncMapLike } from 'async-map-like';
import { StorageBackend, StorageBackendOptions } from './storage/mod.js';
import type { MemoryCardPayload } from './types.js';
export declare const NAMESPACE_MULTIPLEX_SEPRATOR = "\r";
export declare const NAMESPACE_KEY_SEPRATOR = "\n";
export interface MemoryCardOptions {
name?: string;
storageOptions?: StorageBackendOptions;
multiplex?: {
parent: MemoryCard;
name: string;
};
}
export interface MemoryCardJsonObject {
payload: MemoryCardPayload;
options: MemoryCardOptions;
}
export declare class MemoryCard implements AsyncMapLike<any, any> {
/**
*
*
* Static
*
*
*/
static VERSION: string;
static fromJSON(textOrObj: string | MemoryCardJsonObject): AsyncMapLike<any, any>;
protected static multiplex<T extends typeof MemoryCard>(this: T, memory: MemoryCard, name: string): T['prototype'];
/**
*
*
* Instance
*
*
*/
name?: string;
protected parent?: MemoryCard;
protected payload?: MemoryCardPayload;
protected storage?: StorageBackend;
protected multiplexNameList: string[];
private options?;
constructor(options?: string | MemoryCardOptions);
toString(): string;
version(): string;
private getStorage;
load(): Promise<void>;
save(): Promise<void>;
/**
*
* Multiplexing related functions START
*
*/
protected isMultiplexKey(key: string): boolean;
protected multiplexNamespace(): string;
protected resolveKey(name: string): string;
isMultiplex(): boolean;
protected multiplexPath(): string;
multiplex(name: string): this;
/**
*
* Multiplexing related functions END
*
*/
destroy(): Promise<void>;
/**
*
* ES6 Map API (Async Version)
*
* BEGIN
*
*/
/**
* size
*/
get size(): Promise<number>;
get<T = any>(name: string): Promise<undefined | T>;
set<T = any>(name: string, data: T): Promise<this>;
[Symbol.asyncIterator]<T = any>(): AsyncIterableIterator<[string, T]>;
entries<T = any>(): AsyncIterableIterator<[string, T]>;
clear(): Promise<void>;
delete(name: string): Promise<boolean>;
has(key: string): Promise<boolean>;
keys(): AsyncIterableIterator<string>;
values<T = any>(): AsyncIterableIterator<T>;
forEach<T>(callbackfn: (value: T, key: string, map: any) => void, thisArg?: any): Promise<void>;
/**
* Huan(202108): FIXME
* I totally forget what are the following two methods are...
*/
[Symbol.iterator](): AsyncIterableIterator<[string, number]>;
get [Symbol.toStringTag](): Promise<string>;
}
export default MemoryCard;
//# sourceMappingURL=memory-card.d.ts.map