
/**
 * fetch-error.js
 *
 * FetchError interface for operational errors
 */

/**
 * Create FetchError instance
 *
 * @param   String      message      Error message for human
 * @param   String      type         Error type for machine
 * @param   String      systemError  For Node.js system error
 * @return  FetchError
 */
export default function FetchError(message, type, systemError) {

	// hide custom error implementation details from end-users
	Error.captureStackTrace(this, this.constructor);

	this.name = this.constructor.name;
	this.message = message;
	this.type = type;

	// when err.type is `system`, err.code contains system error code
	if (systemError) {
		this.code = this.errno = systemError.code;
	}

}

require('util').inherits(FetchError, Error);

@@ -382,16 +382,44 @@
 Error) %7B
+%0A%09Error.call(this, message);
 %0A%0A%09// hi
@@ -527,44 +527,8 @@
 );%0A%0A
-%09this.name = this.constructor.name;%0A
 %09thi
@@ -711,49 +711,101 @@
 %0A%7D%0A%0A
-require('util').inherits(FetchError, 
+FetchError.prototype = Object.create(Error.prototype);%0AFetchError.prototype.name = 'Fetch
 Error
-)
+'
 ;%0A

Remove dependency on Node.js' util module