A simple scramjet stream that streams lists of changed, added, removed files from the specified folder

Downloads in past


112.1.594 years ago8 years agoMinified + gzip package size for watchfolder-jet in KB


Usage (I hope...)

Tails all logs in a directory including those created when the program is running.
const jet = require("watchfolder-jet").watch(
    (file) => (file.action === 'add' || file.action === 'create') && file.isReadable
    (file) => tail(file).pipe(new scramjet.StringStream())
    (acc, file) => (acc.add(file)),
    new scramjet.MultiStream([])
    // comparator for log lines (just for the example, there should be no need for this except for a couple first lines)
    (lineA, lineB) => new Date(lineA.split(" ").slice(0,2).join(" ")) - new Date(lineB.split(" ").slice(0,2).join(" "))


Watches a directrory for changes
require("watchfolder-jet").finished(directory, {/* options */ timeout: 10000});
Watches a directory for completed files only.

Stream objects

The streamed objects have the following structure:
    action: "",    // The action that happened on the file, one of the following:
                   //     ["add", "create", "remove", "change"];
    filename: "",  // The changed filename (full path)
    stat: {},      // The up to date stat
    prevstat: {}   // The previous stat (only on "change")

License and contributions

The module is released under the condition of the MIT license. Please see the attached LICENSE.