diff options
Diffstat (limited to 'node_modules/jest-message-util/build/separateMessageFromStack.js')
-rw-r--r-- | node_modules/jest-message-util/build/separateMessageFromStack.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/jest-message-util/build/separateMessageFromStack.js b/node_modules/jest-message-util/build/separateMessageFromStack.js new file mode 100644 index 000000000..14dcc5388 --- /dev/null +++ b/node_modules/jest-message-util/build/separateMessageFromStack.js @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ +'use strict'; + +const ERROR_TEXT = 'Error: '; + +// jasmine and worker farm sometimes don't give us access to the actual +// Error object, so we have to regexp out the message from the stack string +// to format it. +module.exports = content => { + if (!content) { + return { message: '', stack: '' }; + } + + const messageMatch = content.match(/(^(.|\n)*?(?=\n\s*at\s.*\:\d*\:\d*))/); + let message = messageMatch ? messageMatch[0] : 'Error'; + const stack = messageMatch ? content.slice(message.length) : content; + // If the error is a plain error instead of a SyntaxError or TypeError + // we remove it from the message because it is generally not useful. + if (message.startsWith(ERROR_TEXT)) { + message = message.substr(ERROR_TEXT.length); + } + return { message, stack }; +};
\ No newline at end of file |