mirror of
https://github.com/tenrok/axios.git
synced 2026-06-11 18:02:32 +03:00
Adding a type guard for AxiosError (#2949)
Co-authored-by: Jason Kwok <JasonHK@users.noreply.github.com>
This commit is contained in:
@@ -41,6 +41,10 @@ describe('static api', function () {
|
||||
expect(typeof axios.CancelToken).toEqual('function');
|
||||
expect(typeof axios.isCancel).toEqual('function');
|
||||
});
|
||||
|
||||
it('should have isAxiosError properties', function () {
|
||||
expect(typeof axios.isAxiosError).toEqual('function');
|
||||
});
|
||||
});
|
||||
|
||||
describe('instance api', function () {
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
var createError = require('../../../lib/core/createError');
|
||||
var enhanceError = require('../../../lib/core/enhanceError');
|
||||
var isAxiosError = require('../../../lib/helpers/isAxiosError');
|
||||
|
||||
describe('helpers::isAxiosError', function () {
|
||||
it('should return true if the error is created by core::createError', function () {
|
||||
expect(isAxiosError(createError('Boom!', { foo: 'bar' })))
|
||||
.toBe(true);
|
||||
});
|
||||
|
||||
it('should return true if the error is enhanced by core::enhanceError', function () {
|
||||
expect(isAxiosError(enhanceError(new Error('Boom!'), { foo: 'bar' })))
|
||||
.toBe(true);
|
||||
});
|
||||
|
||||
it('should return false if the error is a normal Error instance', function () {
|
||||
expect(isAxiosError(new Error('Boom!')))
|
||||
.toBe(false);
|
||||
});
|
||||
});
|
||||
@@ -19,6 +19,7 @@ describe('instance', function () {
|
||||
'isCancel',
|
||||
'all',
|
||||
'spread',
|
||||
'isAxiosError',
|
||||
'default'].indexOf(prop) > -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -358,3 +358,12 @@ axios.get('/user', {
|
||||
});
|
||||
|
||||
source.cancel('Operation has been canceled.');
|
||||
|
||||
// AxiosError
|
||||
|
||||
axios.get('/user')
|
||||
.catch((error) => {
|
||||
if (axios.isAxiosError(error)) {
|
||||
const axiosError: AxiosError = error;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user