%PDF- %PDF-
Direktori : /lib/node_modules/pm2/node_modules/tx2/src/ |
Current File : //lib/node_modules/pm2/node_modules/tx2/src/issues.js |
const jsonize = function(err, filter, space) { if (typeof(err) != 'object') return err var plainObject = {} Object.getOwnPropertyNames(err).forEach(function(key) { plainObject[key] = err[key] }) return plainObject } module.exports = { _interpretError: function(err) { var s_err = {} if (typeof(err) === 'string') { // Simple string processing s_err.message = err s_err.stack = err } else if (!(err instanceof Error) && typeof(err) === 'object') { // JSON processing s_err.message = err s_err.stack = err } else if (err instanceof Error) { // Error object type processing err.stack if (err.__error_callsites) { var stackFrames = [] err.__error_callsites.forEach(function(callSite) { stackFrames.push({ file_name: callSite.getFileName(), line_number: callSite.getLineNumber()}) }) err.stackframes = stackFrames delete err.__error_callsites } s_err = err } return jsonize(s_err) }, /** * Sends an Issue * @memberof TX2 * @param {string|Error} err Error object or string to notify * @example * tx2.issue(new Error('bad error') */ issue: function(err) { var ret_err = this._interpretError(err) this.send({ type : 'process:exception', data : ret_err }) return ret_err } }