You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
713 B
32 lines
713 B
'use strict' |
|
class FetchError extends Error { |
|
constructor (message, type, systemError) { |
|
super(message) |
|
this.code = 'FETCH_ERROR' |
|
|
|
// pick up code, expected, path, ... |
|
if (systemError) { |
|
Object.assign(this, systemError) |
|
} |
|
|
|
this.errno = this.code |
|
|
|
// override anything the system error might've clobbered |
|
this.type = this.code === 'EBADSIZE' && this.found > this.expect |
|
? 'max-size' : type |
|
this.message = message |
|
Error.captureStackTrace(this, this.constructor) |
|
} |
|
|
|
get name () { |
|
return 'FetchError' |
|
} |
|
|
|
// don't allow name to be overwritten |
|
set name (n) {} |
|
|
|
get [Symbol.toStringTag] () { |
|
return 'FetchError' |
|
} |
|
} |
|
module.exports = FetchError
|
|
|