partially made some requested changes, but other changes still need to be discussed

This commit is contained in:
Andrew Koung 2019-03-25 00:05:19 -04:00
parent 8a8e4219d2
commit 1c7c00142e
1 changed files with 27 additions and 25 deletions

View File

@ -210,42 +210,44 @@ function FileSystem(options, callback) {
const statWatchers = new Map(); const statWatchers = new Map();
this.watchFile = function(filename, options, listener) { this.watchFile = function(filename, options, listener) {
const prevStat, currStat; let prevStat, currStat;
if (Path.isNull(filename)) { if (Path.isNull(filename)) {
throw new Error('Path must be a string without null bytes.'); throw new Error('Path must be a string without null bytes.');
} }
//Checks to see if there were options passed in and if not, the callback function will be set here // Checks to see if there were options passed in and if not, the callback function will be set here
if (typeof options === 'function') { if (typeof options === 'function') {
listener = options; listener = options;
options = {}; options = {};
} }
//default 5007ms interval, persistent is not used this project // default 5007ms interval, persistent is not used this project
const interval = options.interval || 5007; const interval = options.interval || 5007;
listener = listener || nop; listener = listener || nop;
//Stores initial prev value to compare // Stores initial prev value to compare
fs.stat(filename, function(err, stats) { prevStat = stats}); fs.stat(filename, function(err, stats) {
prevStat = stats;
//stores interval return values
statWatchers.set(filename, value); // Stores interval return values
statWatchers.set(filename, value);
var value = setInterval(function() {
fs.stat(filename, function(err, stats) { var value = setInterval(function() {
if(err) { fs.stat(filename, function(err, stats) {
console.log(err); if(err) {
} console.log(err);
//Store the current stat }
currStat = stats; // Store the current stat
if(prevStat != currStat) { currStat = stats;
listener(prevStat, currStat); if(Object.toJSON(prevStat) !== Object.toJSON(currStat)) {
} listener(prevStat, currStat);
//Set a new prevStat based on previous }
prevStat = currStat; // Set a new prevStat based on previous
}); prevStat = currStat;
}, });
interval },
); interval
);
});
}; };
// Deal with various approaches to node ID creation // Deal with various approaches to node ID creation