(frames: LongStackTrace[], stack?: string)
| 63 | } |
| 64 | |
| 65 | function renderLongStackTrace(frames: LongStackTrace[], stack?: string): string { |
| 66 | const longTrace: string[] = [stack ? stack.trim() : '']; |
| 67 | |
| 68 | if (frames) { |
| 69 | let timestamp = new Date().getTime(); |
| 70 | for (let i = 0; i < frames.length; i++) { |
| 71 | const traceFrames: LongStackTrace = frames[i]; |
| 72 | const lastTime = traceFrames.timestamp; |
| 73 | let separator = `____________________Elapsed ${ |
| 74 | timestamp - lastTime.getTime() |
| 75 | } ms; At: ${lastTime}`; |
| 76 | separator = separator.replace(/[^\w\d]/g, '_'); |
| 77 | longTrace.push(sepTemplate.replace(SEP_TAG, separator)); |
| 78 | addErrorStack(longTrace, traceFrames.error); |
| 79 | |
| 80 | timestamp = lastTime.getTime(); |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | return longTrace.join(NEWLINE); |
| 85 | } |
| 86 | |
| 87 | // if Error.stackTraceLimit is 0, means stack trace |
| 88 | // is disabled, so we don't need to generate long stack trace |
no test coverage detected
searching dependent graphs…