UNPKG

@iel/axios-ext-response-wrap

Version:

Axios response result wrapper.

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