@yeepay/client-utils 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/request.js +28 -7
  2. package/package.json +1 -1
package/lib/request.js CHANGED
@@ -13,6 +13,22 @@ function verifySuccessCode(code, customCode) {
13
13
  !code
14
14
  }
15
15
 
16
+ function compatibleCallback(callbacks, compatibleCallbacks) {
17
+ if (typeof callbacks === 'function' || !callbacks) {
18
+ return {
19
+ successCallback: callbacks || (() => ({})),
20
+ failCallback: compatibleCallbacks[0] || (() => ({})),
21
+ unauthorizedCallback: compatibleCallbacks[1] || (() => ({})),
22
+ forbiddenCallback: compatibleCallbacks[2] || (() => ({})),
23
+ notfoundCallback: compatibleCallbacks[3] || (() => ({})),
24
+ requestInterceptor: compatibleCallbacks[4] || ((c) => (c)),
25
+ responseInterceptor: compatibleCallbacks[5] || ((r) => (r))
26
+ }
27
+ } else {
28
+ return callbacks
29
+ }
30
+ }
31
+
16
32
  /**
17
33
  * method service factory.
18
34
  * @param {Object} options baseUrl/timeout/headers<object>.
@@ -25,13 +41,8 @@ function verifySuccessCode(code, customCode) {
25
41
  */
26
42
  export function serviceFactory(
27
43
  options,
28
- successCallback = () => ({}),
29
- failCallback = () => ({}),
30
- unauthorizedCallback = () => ({}),
31
- forbiddenCallback = () => ({}),
32
- notfoundCallback = () => ({}),
33
- requestInterceptor = (c) => (c),
34
- responseInterceptor = (r) => (r)
44
+ callbacks,
45
+ ...compatibleCallbacks
35
46
  ) {
36
47
  const {
37
48
  baseUrl = '/',
@@ -40,6 +51,16 @@ export function serviceFactory(
40
51
  code,
41
52
  } = options
42
53
 
54
+ const {
55
+ successCallback = () => ({}),
56
+ failCallback = () => ({}),
57
+ unauthorizedCallback = () => ({}),
58
+ forbiddenCallback = () => ({}),
59
+ notfoundCallback = () => ({}),
60
+ requestInterceptor = (c) => (c),
61
+ responseInterceptor = (r) => (r)
62
+ } = compatibleCallback(callbacks, compatibleCallbacks)
63
+
43
64
  // 创建axios实例
44
65
  const service = axios.create({
45
66
  baseURL: baseUrl,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yeepay/client-utils",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "shared utilities for yeepay client packages",
5
5
  "main": "dist/client-utils.min.js",
6
6
  "module": "dist/client-utils.esm.js",