File tree 7 files changed +42
-0
lines changed
7 files changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -523,6 +523,7 @@ declare namespace axios {
523
523
isAxiosError < T = any , D = any > ( payload : any ) : payload is AxiosError < T , D > ;
524
524
toFormData ( sourceObj : object , targetFormData ?: GenericFormData , options ?: FormSerializerOptions ) : GenericFormData ;
525
525
formToJSON ( form : GenericFormData | GenericHTMLFormElement ) : object ;
526
+ getAdapter ( adapters : AxiosAdapterConfig | AxiosAdapterConfig [ ] | undefined ) : AxiosAdapter ;
526
527
AxiosHeaders : typeof AxiosHeaders ;
527
528
}
528
529
}
Original file line number Diff line number Diff line change @@ -512,6 +512,8 @@ export interface GenericHTMLFormElement {
512
512
submit ( ) : void ;
513
513
}
514
514
515
+ export function getAdapter ( adapters : AxiosAdapterConfig | AxiosAdapterConfig [ ] | undefined ) : AxiosAdapter ;
516
+
515
517
export function toFormData ( sourceObj : object , targetFormData ?: GenericFormData , options ?: FormSerializerOptions ) : GenericFormData ;
516
518
517
519
export function formToJSON ( form : GenericFormData | GenericHTMLFormElement ) : object ;
@@ -538,6 +540,7 @@ export interface AxiosStatic extends AxiosInstance {
538
540
isAxiosError : typeof isAxiosError ;
539
541
toFormData : typeof toFormData ;
540
542
formToJSON : typeof formToJSON ;
543
+ getAdapter : typeof getAdapter ;
541
544
CanceledError : typeof CanceledError ;
542
545
AxiosHeaders : typeof AxiosHeaders ;
543
546
}
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ const {
18
18
AxiosHeaders,
19
19
HttpStatusCode,
20
20
formToJSON,
21
+ getAdapter,
21
22
mergeConfig
22
23
} = axios ;
23
24
@@ -37,5 +38,6 @@ export {
37
38
AxiosHeaders ,
38
39
HttpStatusCode ,
39
40
formToJSON ,
41
+ getAdapter ,
40
42
mergeConfig
41
43
}
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ import AxiosError from './core/AxiosError.js';
15
15
import spread from './helpers/spread.js' ;
16
16
import isAxiosError from './helpers/isAxiosError.js' ;
17
17
import AxiosHeaders from "./core/AxiosHeaders.js" ;
18
+ import adapters from './adapters/adapters.js' ;
18
19
import HttpStatusCode from './helpers/HttpStatusCode.js' ;
19
20
20
21
/**
@@ -78,6 +79,8 @@ axios.AxiosHeaders = AxiosHeaders;
78
79
79
80
axios . formToJSON = thing => formDataToJSON ( utils . isHTMLForm ( thing ) ? new FormData ( thing ) : thing ) ;
80
81
82
+ axios . getAdapter = adapters . getAdapter ;
83
+
81
84
axios . HttpStatusCode = HttpStatusCode ;
82
85
83
86
axios . default = axios ;
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import axios, {
16
16
ParamsSerializerOptions ,
17
17
toFormData ,
18
18
formToJSON ,
19
+ getAdapter ,
19
20
all ,
20
21
isCancel ,
21
22
isAxiosError ,
@@ -570,6 +571,33 @@ axios.get('/user', {
570
571
adapter : [ 'xhr' , 'http' ]
571
572
} ) ;
572
573
574
+
575
+ {
576
+ // getAdapter
577
+
578
+ getAdapter ( axios . create ( ) . defaults . adapter ) ;
579
+ getAdapter ( undefined ) ;
580
+ getAdapter ( [ ] ) ;
581
+ getAdapter ( [ 'xhr' ] ) ;
582
+ getAdapter ( [ adapter ] ) ;
583
+ getAdapter ( [ 'xhr' , 'http' ] ) ;
584
+ getAdapter ( [ adapter , 'xhr' ] ) ;
585
+ getAdapter ( [ adapter , adapter ] ) ;
586
+ getAdapter ( 'xhr' ) ;
587
+ getAdapter ( adapter ) ;
588
+ const _ : AxiosAdapter = getAdapter ( 'xhr' ) ;
589
+ const __ : AxiosAdapter = getAdapter ( [ 'xhr' ] ) ;
590
+
591
+ // @ts -expect-error
592
+ getAdapter ( ) ;
593
+ // @ts -expect-error
594
+ getAdapter ( 123 ) ;
595
+ // @ts -expect-error
596
+ getAdapter ( [ 123 ] ) ;
597
+ // @ts -expect-error
598
+ getAdapter ( 'xhr' , 'http' ) ;
599
+ }
600
+
573
601
// AxiosHeaders
574
602
575
603
// iterator
Original file line number Diff line number Diff line change @@ -54,6 +54,10 @@ describe('static api', function () {
54
54
it ( 'should have mergeConfig properties' , function ( ) {
55
55
expect ( typeof axios . mergeConfig ) . toEqual ( 'function' ) ;
56
56
} ) ;
57
+
58
+ it ( 'should have getAdapter properties' , function ( ) {
59
+ expect ( typeof axios . getAdapter ) . toEqual ( 'function' ) ;
60
+ } ) ;
57
61
} ) ;
58
62
59
63
describe ( 'instance api' , function ( ) {
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ describe('instance', function () {
24
24
'getUri' ,
25
25
'isAxiosError' ,
26
26
'mergeConfig' ,
27
+ 'getAdapter' ,
27
28
'VERSION' ,
28
29
'default' ,
29
30
'toFormData' ,
You can’t perform that action at this time.
0 commit comments