1 |
|
2 |
|
3 |
|
4 |
|
5 | var path = require("path");
|
6 |
|
7 | function WatcherManager() {
|
8 | this.directoryWatchers = {};
|
9 | }
|
10 |
|
11 | WatcherManager.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 |
|
22 | WatcherManager.prototype.watchFile = function watchFile(p, startTime) {
|
23 | var directory = path.dirname(p);
|
24 | return this.getDirectoryWatcher(directory).watch(p, startTime);
|
25 | };
|
26 |
|
27 | WatcherManager.prototype.watchDirectory = function watchDirectory(directory, startTime) {
|
28 | return this.getDirectoryWatcher(directory).watch(directory, startTime);
|
29 | };
|
30 |
|
31 | module.exports = new WatcherManager(); |
\ | No newline at end of file |