UNPKG

@iel/axios-ext-response-wrap

Version:

Axios response result wrapper.

32 lines (31 loc) 1.56 kB
import { isSafeInteger, isString } from '@iel/axios-ext-utils'; export function getResponseDataByAdaptors(responseData, adaptors) { for (const adaptor of adaptors) { const { isAdaption, result } = adaptor(responseData); if (isAdaption) return result; } return { error: false, data: responseData, message: '' }; } export function getResponseErrorMsg(error) { var _a, _b; const getMsg = (data) => (isString(data) || isSafeInteger(data) ? data : ''); const getResponse = (data) => { var _a; return (_a = data === null || data === void 0 ? void 0 : data.response) !== null && _a !== void 0 ? _a : data; }; const UNKNOWN_ERROR = '未知错误'; if (!error) return UNKNOWN_ERROR; const response = getResponse(error); return (getMsg(response) || getMsg((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || getMsg((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.data) || getMsg(response === null || response === void 0 ? void 0 : response.data) || getMsg(error === null || error === void 0 ? void 0 : error.message) || getMsg(response === null || response === void 0 ? void 0 : response.statusText) || getMsg(response === null || response === void 0 ? void 0 : response.status) || getMsg(error === null || error === void 0 ? void 0 : error.code) || UNKNOWN_ERROR); }