1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = prettyError;
|
7 |
|
8 | function prettyError(err, opts = {}) {
|
9 | if (typeof err === 'string') {
|
10 | return {
|
11 | message: err
|
12 | };
|
13 | }
|
14 |
|
15 | let message = err.message;
|
16 |
|
17 | if (!message) {
|
18 | message = 'Unknown error';
|
19 | }
|
20 |
|
21 | if (err.fileName != null) {
|
22 | let fileName = err.fileName;
|
23 |
|
24 | if (err.loc) {
|
25 | fileName += `:${err.loc.line}:${err.loc.column}`;
|
26 | }
|
27 |
|
28 | message = `${fileName}: ${message}`;
|
29 | }
|
30 |
|
31 | let stack;
|
32 |
|
33 | if (err.codeFrame != null && err.codeFrame !== '') {
|
34 | stack = opts.color === true && err.highlightedCodeFrame || err.codeFrame;
|
35 | } else if (err.stack) {
|
36 | stack = err.stack.slice(err.stack.indexOf('\n') + 1);
|
37 | }
|
38 |
|
39 | return {
|
40 | message,
|
41 | stack
|
42 | };
|
43 | } |
\ | No newline at end of file |