@iel/axios-ext-response-wrap
Version:
Axios response result wrapper.
39 lines (38 loc) • 935 B
JavaScript
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;