@runnerty/module-core
v3.1.2
Published
Runnerty module core classes
Downloads
167
Maintainers
Readme
Runnerty: Module Core
This module exposes the classes that Runnerty modules should extend from.
Trigger example:
const Trigger = require('@runnerty/module-core').Trigger;
class intervalTrigger extends Trigger {
constructor(chain, params) {
super(chain, params);
}
start() {
const checkCalendar = true;
const inputValues = [];
const customValues = {};
setTimeout(() => {
// Run Chain 🚀:
try {
this.startChain(checkCalendar, inputValues, customValues);
} catch (err) {
this.logger.error('startChain (intervalTrigger):', err);
}
}, this.params.interval);
}
}
module.exports = intervalTrigger;
Executor example:
const Executor = require('@runnerty/module-core').Executor;
class greetingExecutor extends Executor {
constructor(process) {
super(process);
this.options = {};
this.endOptions = { end: 'end' };
}
async exec(options) {
this.options = options;
try {
// Greeting 👋:
this.endOptions.messageLog = this.options.greeting;
this.end(this.endOptions);
} catch (err) {
this.endOptions.end = 'error';
this.endOptions.err_output = err.message;
this.end(this.endOptions);
}
}
}
module.exports = greetingExecutor;
Notifier example:
const Notifier = require('@runnerty/module-core').Notifier;
class consoleNotifier extends Notifier {
constructor(notification) {
super(notification);
}
// Notification sender 📤:
send(notification) {
notification.mode = notification.mode ? notification.mode.toString() : 'info';
notification.message = notification.message ? notification.message.toString() : '';
this.logger.log(notification.mode, notification.message);
this.end();
}
}
module.exports = consoleNotifier;