UNPKG

@iel/axios-ext-response-wrap

Version:

Axios response result wrapper.

39 lines (38 loc) 992 B
import { isPlainObject } from '@iel/axios-ext-utils'; /** * `success` 格式适配器 * * @example * ```js * // 需要后端返回的数据格式 * const responseData = { * success: true, * data: null, * message: '' * } * ``` */ const adaptor = function (responseData) { var _a, _b; let isAdaption = false; const result = { error: false, data: null, message: '' }; const shouldHaveKeys = ['success', 'data', 'message']; if (isPlainObject(responseData) && shouldHaveKeys.every((key) => key in responseData)) { isAdaption = true; result.error = !((_a = responseData.success) !== null && _a !== void 0 ? _a : true); result.data = (_b = responseData.data) !== null && _b !== void 0 ? _b : null; result.message = result.error ? responseData.message : ''; } else { result.data = responseData; } return { isAdaption, result }; }; export default adaptor;