UNPKG

irrelon-reactor-autonet

Version:

A module for automatically creating groups of self-networking services.

69 lines (54 loc) 1.88 kB
import colors from 'colors'; class BaseClass { constructor (name) { this._name = name; } log () { var className = this.constructor.name, instanceName = className !== this._name ? ' ' + colors.magenta(this._name) + ' ::' : '', dt = new Date(), dateTimeString = colors.green(dt.toDateString() + ' ' + dt.toTimeString().substr(0, 8)), finalArgs, idStr = '', i; if (this._id) { idStr = ' (' + this._id + ') '; } finalArgs = [dateTimeString, '::', '*' + colors.magenta(className + idStr) + '*', '::' + instanceName, arguments[0]] for (i = 1; i < arguments.length; i++) { finalArgs.push(arguments[i]); } console.log.apply(this, finalArgs); } logProcess () { var className = this.constructor.name, instanceName = className !== this._name ? ' ' + colors.magenta(this._name) + ' ::' : '', processName = arguments[0], dt = new Date(), dateTimeString = colors.green(dt.toDateString() + ' ' + dt.toTimeString().substr(0, 8)), finalArgs, idStr = '', i; if (this._id) { idStr = ' (' + this._id + ') '; } finalArgs = [dateTimeString, '::', '*' + colors.magenta(className + idStr) + '*', '::' + instanceName, '-' + colors.magenta(processName) + '-', arguments[1]] for (i = 2; i < arguments.length; i++) { finalArgs.push(arguments[i]); } console.log.apply(this, finalArgs); } err () { var className = this.constructor.name, dt = new Date(), dateTimeString = colors.green(dt.toDateString() + ' ' + dt.toTimeString().substr(0, 8)), finalArgs = [dateTimeString, '::', '*' + colors.magenta(className) + '*', '::', arguments[0]], i; for (i = 1; i < arguments.length; i++) { finalArgs.push(arguments[i]); } console.error.apply(this, finalArgs); throw('Error Thrown, Exiting'); } } export default BaseClass;