|
|
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- "use strict";
-
- var path = require("path");
-
- function WatcherManager() {
- this.directoryWatchers = {};
- }
-
- WatcherManager.prototype.getDirectoryWatcher = function(directory, options) {
- var DirectoryWatcher = require("./DirectoryWatcher");
- options = options || {};
- var key = directory + " " + JSON.stringify(options);
- if(!this.directoryWatchers[key]) {
- this.directoryWatchers[key] = new DirectoryWatcher(directory, options);
- this.directoryWatchers[key].on("closed", function() {
- delete this.directoryWatchers[key];
- }.bind(this));
- }
- return this.directoryWatchers[key];
- };
-
- WatcherManager.prototype.watchFile = function watchFile(p, options, startTime) {
- var directory = path.dirname(p);
- return this.getDirectoryWatcher(directory, options).watch(p, startTime);
- };
-
- WatcherManager.prototype.watchDirectory = function watchDirectory(directory, options, startTime) {
- return this.getDirectoryWatcher(directory, options).watch(directory, startTime);
- };
-
- module.exports = new WatcherManager();
|