@ceramicnetwork/core
Version:
Typescript implementation of the Ceramic protocol
17 lines • 861 B
TypeScript
import type { IKVFactory, IKVStore } from './ikv-store.js';
import type { IObjectStore } from './iobject-store.js';
export declare abstract class ObjectStore<TKeyObject, TValue> implements IObjectStore<TKeyObject, TValue> {
protected abstract useCaseName: string | undefined;
protected store: IKVStore;
private readonly generateKey;
private readonly serialize;
private readonly deserialize;
private throwIfNotOpened;
constructor(generateKey: (object: TKeyObject) => string, serialize: (value: TValue) => any, deserialize: (value: any) => TValue);
open(factory: Pick<IKVFactory, 'open'>): Promise<void>;
close(): Promise<void>;
save(object: TKeyObject, value: TValue): Promise<void>;
load(object: TKeyObject): Promise<TValue>;
remove(object: TKeyObject): Promise<void>;
}
//# sourceMappingURL=object-store.d.ts.map