kura-xmitter
Version:
The FileSystem API abstraction library, file transmitter
51 lines • 2.02 kB
TypeScript
import { AbstractAccessor, FileNameIndex, FileSystemAsync, FileSystemObject } from "kura";
import { SyncOptions } from "./SyncOptions";
export interface SyncResult {
backward: boolean;
errors: any[];
forward: boolean;
}
export interface Handler {
afterCopy: (fromAccessor: AbstractAccessor, toAccessor: AbstractAccessor, obj: FileSystemObject) => Promise<void>;
afterDelete: (accessor: AbstractAccessor, obj: FileSystemObject) => Promise<void>;
beforeCopy: (fromAccessor: AbstractAccessor, toAccessor: AbstractAccessor, obj: FileSystemObject) => Promise<boolean>;
beforeDelete: (accessor: AbstractAccessor, obj: FileSystemObject) => Promise<boolean>;
completed: (result: SyncResult, error?: any) => Promise<void>;
getNames: (fileNameIndex: FileNameIndex) => string[];
}
export declare class Notifier {
private _callback;
private _processed;
private _total;
constructor(_callback?: (processed: number, total: number) => void);
get processed(): number;
get total(): number;
incrementProcessed(count?: number): void;
incrementTotal(count?: number): void;
}
export declare const SYNC_RESULT_FALSES: SyncResult;
export declare class Synchronizer {
local: FileSystemAsync;
remote: FileSystemAsync;
private options;
private static NOT_EXISTS;
private excludeNameRegExp;
private excludePathRegExp;
private localAccessor;
private remoteAccessor;
private transferer;
constructor(local: FileSystemAsync, remote: FileSystemAsync, options?: SyncOptions);
synchronizeAll(): Promise<SyncResult>;
synchronizeDirectory(dirPath: string, recursively: boolean, notifier?: Notifier, handler?: Handler): Promise<SyncResult>;
private copyFile;
private debug;
private deleteEntry;
private makeDirectory;
private mergeResult;
private synchronizeChildren;
private synchronizeOne;
private toFileSystemObject;
private truncateRecord;
private warn;
}
//# sourceMappingURL=Synchronizer.d.ts.map