zhangjian
2023-05-30 dabbcc356af21f9f2f88ac69ff07994e6e32e4fc
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
32
'use strict';
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
const stack = (err, worker, workerId) => {
  const originError = (err.stack || '').split('\n').filter(line => line.trim().startsWith('at'));
 
  const workerError = worker.split('\n').filter(line => line.trim().startsWith('at'));
 
  const diff = workerError.slice(0, workerError.length - originError.length).join('\n');
 
  originError.unshift(diff);
  originError.unshift(err.message);
  originError.unshift(`Thread Loader (Worker ${workerId})`);
 
  return originError.join('\n');
};
 
class WorkerError extends Error {
  constructor(err, workerId) {
    super(err);
    this.name = err.name;
    this.message = err.message;
 
    Error.captureStackTrace(this, this.constructor);
 
    this.stack = stack(err, this.stack, workerId);
  }
}
 
exports.default = WorkerError;