UNPKG

webgme-engine

Version:

WebGME server and Client API without a GUI

69 lines (61 loc) 1.94 kB
/*globals define*/ /*eslint-env node, browser*/ /** * A module representing a PluginMessage. * * @author lattmann / https://github.com/lattmann */ (function (factory) { if (typeof define === 'function' && define.amd) { define(['plugin/PluginNodeDescription'], factory); } else if (typeof module === 'object' && module.exports) { module.exports = factory(require('./PluginNodeDescription')); } }(function (PluginNodeDescription) { 'use strict'; /** * Initializes a new instance of plugin message. * * Note: this object is JSON serializable see serialize method. * * @param {object} config - deserializes an existing configuration to this object. * @constructor * @alias PluginMessage */ var PluginMessage = function (config) { if (config) { this.commitHash = config.commitHash; if (config.activeNode instanceof PluginNodeDescription) { this.activeNode = config.activeNode; } else { this.activeNode = new PluginNodeDescription(config.activeNode); } this.message = config.message; if (config.severity) { this.severity = config.severity; } else { this.severity = 'info'; } } else { this.commitHash = ''; this.activeNode = new PluginNodeDescription(); this.message = ''; this.severity = 'info'; } }; /** * Serializes this object to a JSON representation. * * @returns {object} */ PluginMessage.prototype.serialize = function () { var result = { commitHash: this.commitHash, activeNode: this.activeNode.serialize(), message: this.message, severity: this.severity }; return result; }; return PluginMessage; }));