UNPKG

@sex-pomelo/sex-pomelo

Version:

[![NPM version][npm-image-pomelo]][npm-url-pomelo] [![NPM version][npm-image-down]][npm-url-pomelo]

65 lines (49 loc) 1.14 kB
"use strict"; /** * @file Component for monitor. * Load and start monitor client. */ const Monitor = require('../monitor/monitor'); const { BaseComponent } = require('../../base/base_component'); /** * @typedef {import('../application').Application} Application */ /** * Monitor component class * @typedef {MonitorComp} MonitorComp * @ignore */ /** * @class * @implements {Component} */ class MonitorComp extends BaseComponent{ /** * * @param {Application} app current application context * @param {object} opts component opts */ constructor(app, opts){ super(app, opts); this.name = '__monitor__'; this.monitor = new Monitor(app, opts); } start (cb) { this.monitor.start(cb); } stop(force, cb) { this.monitor.stop(cb); } reconnect(masterInfo) { this.monitor.reconnect(masterInfo); } } /** * Component factory function * * @param {Object} app current application context * @return {Object} component instances */ module.exports = function(app, opts) { return new MonitorComp(app, opts); };