All files / engine/Source/Core formatError.js

100% Statements 9/9
100% Branches 6/6
100% Functions 1/1
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                            56x 56x 56x 10x   46x     56x 56x 3x     56x      
import defined from "./defined.js";
 
/**
 * Formats an error object into a String.  If available, uses name, message, and stack
 * properties, otherwise, falls back on toString().
 *
 * @function
 *
 * @param {*} object The item to find in the array.
 * @returns {string} A string containing the formatted error.
 */
function formatError(object) {
  let result;
 
  const name = object.name;
  const message = object.message;
  if (defined(name) && defined(message)) {
    result = `${name}: ${message}`;
  } else {
    result = object.toString();
  }
 
  const stack = object.stack;
  if (defined(stack)) {
    result += `\n${stack}`;
  }
 
  return result;
}
export default formatError;