@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
43 lines • 1.64 kB
TypeScript
import winston from 'winston';
import { FileContentService } from './utils/FileContentService.js';
import { FileId } from './model/model.js';
export interface ContainerConfig {
name?: string;
[key: string]: string;
}
export interface ContainerConfigArr {
[key: string]: string[];
}
type EventCallback = (driveId: FileId, payload: any) => void;
export declare class Container {
readonly params: ContainerConfig;
readonly paramsArr: ContainerConfigArr;
protected engine: ContainerEngine;
protected filesService: FileContentService;
constructor(params: ContainerConfig, paramsArr?: ContainerConfigArr);
mount(fileService: FileContentService): Promise<void>;
init(engine: ContainerEngine): Promise<void>;
run(command: any): Promise<void>;
destroy(): Promise<void>;
flushData(): Promise<void>;
}
export declare class ContainerError extends Error {
constructor(msg: string);
}
export declare class ContainerEngine {
readonly logger: winston.Logger;
readonly rootFileService: FileContentService;
constructor(logger: winston.Logger, rootFileService: FileContentService);
private readonly containers;
private listeners;
registerContainer(container: Container): Promise<Container>;
unregisterContainer(name: string): Promise<void>;
run(): Promise<void>;
getContainer(name: string): Container;
hasContainer(name: string): boolean;
flushData(): Promise<void>;
emit(driveId: FileId, eventName: string, payload: any): void;
subscribe(eventName: string, callback: EventCallback): void;
}
export {};
//# sourceMappingURL=ContainerEngine.d.ts.map