| Server IP : 74.208.250.37 / Your IP : 216.73.216.114 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : miferval ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/node_modules/watchpack/lib/ |
Upload File : |
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const path = require("path");
const DirectoryWatcher = require("./DirectoryWatcher");
class WatcherManager {
constructor(options) {
this.options = options;
this.directoryWatchers = new Map();
}
getDirectoryWatcher(directory) {
const watcher = this.directoryWatchers.get(directory);
if (watcher === undefined) {
const newWatcher = new DirectoryWatcher(this, directory, this.options);
this.directoryWatchers.set(directory, newWatcher);
newWatcher.on("closed", () => {
this.directoryWatchers.delete(directory);
});
return newWatcher;
}
return watcher;
}
watchFile(p, startTime) {
const directory = path.dirname(p);
if (directory === p) return null;
return this.getDirectoryWatcher(directory).watch(p, startTime);
}
watchDirectory(directory, startTime) {
return this.getDirectoryWatcher(directory).watch(directory, startTime);
}
}
const watcherManagers = new WeakMap();
/**
* @param {object} options options
* @returns {WatcherManager} the watcher manager
*/
module.exports = options => {
const watcherManager = watcherManagers.get(options);
if (watcherManager !== undefined) return watcherManager;
const newWatcherManager = new WatcherManager(options);
watcherManagers.set(options, newWatcherManager);
return newWatcherManager;
};
module.exports.WatcherManager = WatcherManager;