| module.exports = class URLError extends Error { |
| constructor(msg, fn = URLError, code = fn.name) { |
| super(`${code}: ${msg}`) |
| |
| this.code = code |
| |
| if (Error.captureStackTrace) Error.captureStackTrace(this, fn) |
| } |
| |
| get name() { |
| return 'URLError' |
| } |
| |
| static INVALID_URL(msg, input) { |
| const err = new URLError(msg, URLError.INVALID_URL) |
| |
| err.input = input |
| |
| return err |
| } |
| |
| static INVALID_URL_SCHEME(msg = 'Invalid URL') { |
| return new URLError(msg, URLError.INVALID_URL_SCHEME) |
| } |
| |
| static INVALID_FILE_URL_HOST(msg = 'Invalid file: URL host') { |
| return new URLError(msg, URLError.INVALID_FILE_URL_HOST) |
| } |
| |
| static INVALID_FILE_URL_PATH(msg = 'Invalid file: URL path') { |
| return new URLError(msg, URLError.INVALID_FILE_URL_PATH) |
| } |
| } |