This module contains base class and utils for OpenTMI addons.
This is base class which stores some basic things, like logger instance, eventBus etc.
getters
this.logger
to get logger instancethis.eventBus
to get opentmi eventBus instancethis.app
to get opentmi express application instancethis.server
to get express server instancethis.io
to get socket.io instance
Usage example:
const {Addon} = require('opentmi-addon');
class MyAddon extends Addon {
constructor(...data) {
super(...data);
this.logger.info('MyAddon constructor');
}
}
module.exports = MyAddon;
singleton mixer can be used to create addon which manage some
background operations like analyse results. Those background operations
is activated when register
-function is called.
Note that register
is called only once even opentmi is started ìn cluster mode.
getters
isRegistered
is true for instance which contains singleton instance
Usage example:
const {Addon, singleton} = require('opentmi-addon');
class MyAddon extends Addon {
constructor(...data) {
super(...data);
this.logger.info('MyAddon constructor');
}
}
const MySingletonAddon = singleton(MyAddon);
module.exports = MySingletonAddon;