Urara-Blog/node_modules/.pnpm-store/v3/files/99/f9ff0b3b113b29616afcfda849807ee0ffb4e494f31844db1859ddfc05ed7818a0758079a34819c9112443b9b0c1a445c0af6b8d4eb4393c9968836bdbd461
2022-08-14 01:14:53 +08:00

21 lines
697 B
Text

'use strict'
module.exports = Base => class extends Base {
warn (code, message, data = {}) {
if (this.file)
data.file = this.file
if (this.cwd)
data.cwd = this.cwd
data.code = message instanceof Error && message.code || code
data.tarCode = code
if (!this.strict && data.recoverable !== false) {
if (message instanceof Error) {
data = Object.assign(message, data)
message = message.message
}
this.emit('warn', data.tarCode, message, data)
} else if (message instanceof Error)
this.emit('error', Object.assign(message, data))
else
this.emit('error', Object.assign(new Error(`${code}: ${message}`), data))
}
}