@runnerty/trigger-file-watcher
Version:
Runnerty module: Trigger File Watcher
39 lines (32 loc) • 1.01 kB
JavaScript
const chokidar = require('chokidar');
const Trigger = require('@runnerty/module-core').Trigger;
class triggerFileWatcher extends Trigger {
constructor(chain, params) {
super(chain, params);
}
start() {
// Create file watcher:
this.fileWatcher = chokidar.watch(this.params.file_name, {
ignored: /(^|[\/\\])\../,
persistent: true,
usePolling: true,
ignoreInitial: true,
awaitWriteFinish: {
stabilityThreshold: 2000,
pollInterval: 150
}
});
// Create watch condition:
this.fileWatcher.on(this.params.condition, pathfile => {
const checkCalendar = true;
const inputValues = [];
const customValues = { file_name: pathfile };
// Start Chain: Send file_name into inputValues.
this.startChain(checkCalendar, inputValues, customValues).catch(err => {
this.logger.error('startChain error (triggerFileWatcher):', err);
});
});
}
}
module.exports = triggerFileWatcher;
;