wtchr

Simple file/directory watcher.

wtchr

Simple file/directory watcher. (Node.js)

It's quite simple to create a wtchr for a directory.

wtchr(path, [options]);
  • an absolute dircetory path
  • persistent (boolean) default: true
  • interval (integer) default: 500
  • ignore (regexp) default: /(\/\.DS_Store$)/
var watch = wtchr('/my/watch/base/directory');

Wtchr provides simple event bindings. The event API is quite similar to jQuery events, so most of JS developers are familiar with it.

bind an event

.on(type, [selector], handler(path, curr lstat, prev lstat))

unbind an event

.off(type, [selector], [handler(path, curr lstat, prev lstat)])
  • one of the 3 supported types create / change / delete
  • a minimatch path selector (simply a filter)
  • a event handler
var watch = wtchr('/my/watch/base/directory')
 
watch.on("create", "*.js", function (pathcurrprev) {
  console.log("New file: " + path);
});
 
watch.off("create");

Chaining:

wtchr('/my/watch/base/directory')
  .on("create", "*.js", function (pathcurrprev) {
    console.log("New file: " + path);
  })
  .on("change", "*.js", function (pathcurrprev) {
    console.log("File changed: " + path);
  })
  .on("delete", "*.js", function (pathcurrprev) {
    console.log("File deleted: " + path);
  })
  .off("create")
  .off("delete");

Simply destroy the wtchr object with the destroy method.

.destroy()
var watch = wtchr('/my/watch/base/directory')
 
watch.destroy();