import { EventEmitter } from "events";
import { DocumentAccessor } from "../../model/doc";
import { DiffWatcherEvent, IDiffWatcher } from "../watcher";
import { ComicConfig } from "./ComicConfig";
import { WatcherCompositer } from "./compositer";
import { RecursiveWatcher } from "./recursive_watcher";
import { WatcherFilter } from "./watcher_filter";

const createComicWatcherBase = (path: string) => {
	return new WatcherFilter(new RecursiveWatcher(path), (x) => x.endsWith(".zip"));
};
export const createComicWatcher = () => {
	const file = ComicConfig.get_config_file();
	console.log(`register comic ${file.watch.join(",")}`);
	return new WatcherCompositer(file.watch.map((path) => createComicWatcherBase(path)));
};