Gathering detailed insights and metrics for ajax-maker
Gathering detailed insights and metrics for ajax-maker
Gathering detailed insights and metrics for ajax-maker
Gathering detailed insights and metrics for ajax-maker
npm install ajax-maker
Typescript
Module System
Node Version
NPM Version
68.6
Supply Chain
97.3
Quality
76.9
Maintenance
100
Vulnerability
99.6
License
Total Downloads
12,944
Last Day
1
Last Week
15
Last Month
81
Last Year
3,286
Minified
Minified + Gzipped
Latest Version
1.2.4
Package Id
ajax-maker@1.2.4
Unpacked Size
29.83 kB
Size
6.36 kB
File Count
6
NPM Version
10.8.1
Node Version
20.16.0
Published on
Aug 07, 2024
Cumulative downloads
Total Downloads
Last Day
0%
1
Compared to previous day
Last Week
400%
15
Compared to previous week
Last Month
-80%
81
Compared to previous month
Last Year
61%
3,286
Compared to previous year
1
1
1 import Request from 'ajax-maker'; 2 import type { RawAxiosRequestHeaders, AxiosRequestHeaders, RawAxiosResponseHeaders, AxiosResponseHeaders } from 'axios'; 3 4 type AxiosReqHeaders = RawAxiosRequestHeaders | AxiosRequestHeaders; 5 type AxiosResHeaders = RawAxiosResponseHeaders | AxiosResponseHeaders; 6 type ParsedError<T extends string = string> = { 7 name: T; 8 message: string; 9 stack: string; 10 }; 11 12 interface InitConfig<T = any> { 13 onSuccess?: (res: T, headers: AxiosResHeaders) => any; 14 onFailure?: (res: T, headers: AxiosResHeaders) => any; 15 onLogin?: (res: T, headers: AxiosResHeaders) => any; 16 onError?: (res: ParsedError, headers: AxiosReqHeaders | AxiosResHeaders) => any; 17 onTimeout?: (e: ParsedError<'timeout'>, headers: AxiosReqHeaders) => any; 18 isSuccess?: (res: T, status: number, headers: AxiosResHeaders) => boolean; 19 isLogin?: (res: T, status: number, headers: AxiosResHeaders) => boolean; 20 timeout?: number; 21 debug?: boolean; 22 logLevel?: TlogLevelStr; 23 } 24 25 const onSuccess = res => console.log('init success', res); 26 const onFailure = res => console.log('init failure', res); 27 const onError = res => console.log('init error', res); 28 const onLogin = res => console.log('init login', res); 29 const onTimeout = res => console.log('init timeout', res); 30 31 // initialize instance 32 // axios is AxiosStatic 33 const { request, setting, axios } = new Request({ 34 isSuccess: (res, status, headers) => res.code === 0, 35 isLogin: (res, status, headers) => res.code === 50, 36 onSuccess, 37 onFailure, 38 onError, 39 onLogin, 40 onTimeout 41 }); 42 43 // method 1 with init callbacks 44 request( 45 { 46 url: `https://api.com/getMessage`, 47 method: 'get' 48 } 49 ) 50 .then(res => console.log(res)) 51 .catch(err => console.error(err)) 52 53 // method 2 with custom callbacks 54 request( 55 { 56 baseUrl: `https://api.com/getMessage`, 57 method: 'get', 58 onSuccess: res => console.log(res), 59 onFailure(res => console.log(res)), 60 onError: res => console.log(res), 61 onLogin: err => console.error(err), 62 onTimeout: err => console.error(err), 63 isLogin: (res, status, headers) => status === 401 64 } 65 ) 66 67 // method 3 with chain callbacks 68 request( 69 { 70 baseUrl: `https://api.com/getMessage`, 71 method: 'get' 72 } 73 ) 74 .success(res => console.log(res)) 75 .login(res => console.log(res)) 76 .failure(res => console.log(res)) 77 .error(err => console.error(err)) 78 .timeout(err => console.error(err)) 79 80 // method 4 with rest api 81 request( 82 { 83 baseUrl: `https://api.com/getMessage`, 84 method: 'get', 85 isSuccess: (res, status) => status === 200 86 } 87 ) 88 .success(res => console.log('success', res)) 89 .rest(res => console.log('rest', res)); 90 91 // method 5 rest with scope 92 request( 93 { 94 baseUrl: `https://api.com/getMessage`, 95 method: 'get', 96 isSuccess: (res, status) => status === 200 97 } 98 ) 99 .success(res => console.log('success', res)) 100 .login(res => console.log('login', res)) 101 .timeout(err => console.error('timeout', err)) 102 .rest(res => console.log('rest', res), ['failure', 'error']); 103 104 // dynamic setting 105 setting({ 106 debug: false 107 }) 108 109 // AxiosStatic 110 const myInterceptor = axios.interceptors.request.use(function () {/*...*/});
No vulnerabilities found.
No security vulnerabilities found.