narraleaf
Version:
Create your visual novel with Electron and React
26 lines (25 loc) • 910 B
TypeScript
import { App } from "../../../../main/electron";
export type StorageConfig = {
app: App;
namespace: string;
};
export type Filter = {
extensions?: string[];
} | "*";
export type StorageListHandle<Metadata extends Record<string, any>, Content extends Record<string, any>> = {
name: string;
json: () => Promise<Content>;
meta: () => Promise<Metadata>;
};
export declare class Storage<Metadata extends Record<string, any>, Content extends Record<string, any>> {
readonly config: StorageConfig;
constructor(config: StorageConfig);
prepareDir(): Promise<void>;
read(name: string): Promise<Content>;
readMetadata(name: string): Promise<Metadata>;
write(name: string, metadata: Metadata, data: Content): Promise<void>;
list(filter: Filter[] | Filter): Promise<StorageListHandle<Metadata, Content>[]>;
private filter;
private resolve;
private getRoot;
}