@jswork/jzyunqi-interceptors
Version:
Interceptors for jzyunqi/yw.
59 lines (58 loc) • 1.85 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
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/**
* 请求中有 when 函数,当 when 函数返回 true 时,才会执行后续的拦截器
*
* A: 处理字段中出现 xxArray 的字段
* 检测逻辑为:
* 1. 字段key: 以 Array 结尾
* 2. 字段value: string
* 处理逻辑为:
* 1. 字段 key 不变
* 2. 字段 value: split(',')
*
* B: 处理字段中出现 xxIdArray 的字段
* 检测逻辑为:
* 1. 字段key: 以 IdArray 结尾
* 2. 字段value: string
* 处理逻辑为:
* 1. 字段 key: 字段 key 不变
* 2. 字段 value: split(',').map(Number)
*/
var next_1 = __importDefault(require("@jswork/next"));
require("@jswork/next-deep-each");
function suffixArray(options) {
next_1.default.deepEach(options.data, function (key, value, target) {
if (typeof value === 'string') {
var _key = String(key);
if (_key.endsWith('Array')) {
if (value === '') {
target[key] = [];
}
else {
var aryValue = value.split(',');
target[key] = aryValue;
if (_key.endsWith('IdArray')) {
target[key] = aryValue.map(function (item) {
var num = Number(item);
return isNaN(num) ? item : num;
});
}
}
}
}
});
return options;
}
exports.default = suffixArray;