UNPKG

1.01 kBJavaScriptView Raw
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5var path = require("path");
6
7function WatcherManager() {
8 this.directoryWatchers = {};
9}
10
11WatcherManager.prototype.getDirectoryWatcher = function(directory) {
12 var DirectoryWatcher = require("./DirectoryWatcher");
13 if(!this.directoryWatchers[directory]) {
14 this.directoryWatchers[directory] = new DirectoryWatcher(directory, {});
15 this.directoryWatchers[directory].on("closed", function() {
16 delete this.directoryWatchers[directory];
17 }.bind(this));
18 }
19 return this.directoryWatchers[directory];
20};
21
22WatcherManager.prototype.watchFile = function watchFile(p, startTime) {
23 var directory = path.dirname(p);
24 return this.getDirectoryWatcher(directory).watch(p, startTime);
25};
26
27WatcherManager.prototype.watchDirectory = function watchDirectory(directory, startTime) {
28 return this.getDirectoryWatcher(directory).watch(directory, startTime);
29};
30
31module.exports = new WatcherManager();
\No newline at end of file