axios-error
Advanced tools
Comparing version 0.7.4 to 0.7.6
@@ -13,5 +13,12 @@ 'use strict';function indent(str) { | ||
module.exports = class AxiosError extends Error { | ||
constructor(message, err = {}) { | ||
super(message);const | ||
config = err.config,request = err.request,response = err.response; | ||
constructor(messageOrErr, _err = {}) { | ||
let err; | ||
if (messageOrErr instanceof Error) { | ||
super(messageOrErr.message); | ||
err = messageOrErr; | ||
} else { | ||
super(messageOrErr); | ||
err = _err; | ||
}var _err2 = | ||
err;const config = _err2.config,request = _err2.request,response = _err2.response; | ||
@@ -18,0 +25,0 @@ this.config = config; |
{ | ||
"name": "axios-error", | ||
"description": "An axios error wrapper that aim to provide clear error message to the user", | ||
"version": "0.7.4", | ||
"version": "0.7.6", | ||
"engines": { | ||
@@ -6,0 +6,0 @@ "node": ">=6" |
@@ -25,6 +25,19 @@ # axios-error | ||
// You can construct it from error throw by axios | ||
new AxiosError(message, errorThrowByAxios); | ||
const error = new AxiosError(errorThrowByAxios); | ||
// Or with custom error message | ||
const error = new AxiosError(message, errorThrowByAxios); | ||
// Or construct it from axios config, axios request and axios response | ||
new AxiosError(message, { config, request, response }); | ||
const error = new AxiosError(message, { config, request, response }); | ||
``` | ||
Directly `console.log` on the error instance will return formatted message. If you'd like to get the axios `request`, `response`, or `config`, you can still get them via those keys on the error instance. | ||
```js | ||
console.log(error); // formatted error message | ||
console.log(error.stack); // error stack trace | ||
console.log(error.config); // axios request config | ||
console.log(error.request); // HTTP request | ||
console.log(error.response); // HTTP response | ||
``` |
@@ -36,2 +36,18 @@ import axios from 'axios'; | ||
it('should work with construct using error instance only', async () => { | ||
try { | ||
await axios.post('/', { x: 1 }); | ||
} catch (err) { | ||
// overwrite because axios-mock-adapter set it to undefined | ||
err.response.statusText = 'Bad Request'; | ||
const error = new AxiosError(err); | ||
// overwrite stack to test it | ||
error.stack = stack; | ||
expect(error.inspect()).toMatchSnapshot(); | ||
} | ||
}); | ||
it('should work with undefined response', async () => { | ||
@@ -38,0 +54,0 @@ try { |
@@ -13,4 +13,11 @@ function indent(str) { | ||
module.exports = class AxiosError extends Error { | ||
constructor(message, err = {}) { | ||
super(message); | ||
constructor(messageOrErr, _err = {}) { | ||
let err; | ||
if (messageOrErr instanceof Error) { | ||
super(messageOrErr.message); | ||
err = messageOrErr; | ||
} else { | ||
super(messageOrErr); | ||
err = _err; | ||
} | ||
const { config, request, response } = err; | ||
@@ -17,0 +24,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8631
182
43