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))); };