@jswork/jzyunqi-interceptors
Version:
Interceptors for jzyunqi/yw.
45 lines (44 loc) • 1.2 kB
JavaScript
/*!
* name: @jswork/jzyunqi-interceptors
* description: Interceptors for jzyunqi/yw.
* homepage: https://js.work
* version: 1.0.12
* date: 2025-03-01 11:46:15
* license: MIT
*/
/**
* 处理场景如下:
* 1. 请求中存在 Array 结尾的字段
* 2. 请求中存在 IdArray 结尾的字段
*
* 1. 检测逻辑为
* 1.1 字段 key 以 Array 结尾
* 1.2 字段 value 为数组,且为简单类型
*
* 处理逻辑为
* 1. 字段 key 不变
* 2. 字段 value: join(',')
*
* 2. 检测逻辑为
* 2.1 字段 key 以 IdArray 结尾
* 2.2 字段 value 为数组,且为简单类型
*
* 处理逻辑为
* 1. 字段 key 不变
* 2. 字段 value: join(',')
*/
import nx from '@jswork/next';
import '@jswork/next-deep-each';
export default function suffixArray(options) {
var data = options.data;
if (!data || typeof data !== 'object')
return options;
nx.deepEach(data, function (key, value, target) {
if (String(key).endsWith('Array')) {
if (Array.isArray(value) && value.every(function (item) { return typeof item !== 'object'; })) {
target[key] = value.join();
}
}
});
return options;
}