1.1.0 • Published 4 months ago

ajax-maker v1.1.0

Weekly downloads
3
License
MIT
Repository
-
Last release
4 months ago

Ajax Maker

NPM downloads npm version install size license

API

  import Request from 'ajax-maker';

  interface InitConfig<T = any> {
    onSuccess?: (res: T) => any;
    onFail?: (res: T) => any;
    onLogin?: (res: T) => any;
    onError?: (res: ParseError) => any;
    isSuccess?: (res: T, status: number) => boolean;
    isLogin?: (res: T, status: number) => boolean;
    debug?: boolean;
    logLevel?: TlogLevelStr;
  }

  const onSuccess = res => console.log('init success', res);
  const onFail = res => console.log('init fail', res);
  const onError = res => console.log('init error', res);
  const onLogin = res => console.log('init login', res);

  // initialize instance
  // axios is AxiosStatic
  const { request, setting, axios } = new Request({
    isSuccess: (res, status) => res.code === 0,
    isLogin: (res, status) => res.code === 50,
    onSuccess,
    onFail,
    onError,
    onLogin
  });

  // method 1 with init callbacks
  request(
    {
      url: `https://api.com/getMessage`,
      method: 'get'
    }
  )
  .then(res => console.log(res))
  .catch(err => console.error(err))

  // method 2 with custom callbacks
  request(
    {
      baseUrl: `https://api.com/getMessage`,
      method: 'get',
      onSuccess: res => console.log(res),
      onFail(res => console.log(res)),
      onError: res => console.log(res),
      onLogin: err => console.error(err),
      isLogin: (res, status) => status === 401
    }
  )

  // method 3 with chain callbacks
  request(
    {
      baseUrl: `https://api.com/getMessage`,
      method: 'get'
    }
  )
  .success(res => console.log(res))
  .login(res => console.log(res))
  .fail(res => console.log(res))
  .error(err => console.error(err))

  // method 4 with rest api
  request(
    {
      baseUrl: `https://api.com/getMessage`,
      method: 'get',
      isSuccess: (res, status) => status === 200
    }
  )
  .success(res => console.log('success', res))
  .rest(res => console.log('rest', res))

  // dynamic setting
  setting({
    debug: false
  })

  // AxiosStatic
  const myInterceptor = axios.interceptors.request.use(function () {/*...*/});
1.1.0

4 months ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.3

2 years ago

0.1.0

2 years ago

0.0.20

3 years ago

0.0.19

3 years ago

0.0.18

3 years ago

0.0.17

4 years ago

0.0.16

4 years ago

0.0.15

4 years ago

0.0.14

4 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago