16 lines
723 B
TypeScript
16 lines
723 B
TypeScript
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)));
|
|
};
|