UNPKG

mobile-more

Version:

基于 antd-mobile v5 扩展移动端 UI 组件

73 lines (69 loc) 2.35 kB
import _typeof from "@babel/runtime/helpers/esm/typeof"; import { isArray, isString, set } from 'ut2'; // 转换 // 标识无效表单值 export var InvalidFormValue = "_invalid_".concat(Math.random(), "_"); // 转换银行卡号 export function transformBankCard(val) { var char = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ' '; if (typeof val !== 'string') { return val; } var ret = val.replace(/\s/g, ''); if (char) { var reg = new RegExp("\\".concat(char), 'g'); ret = val.replace(reg, ''); } return ret; } // 转换表单值 export function transformFormValues(values, transforms, currentLevelValues) { if (isArray(values) && values.length <= 0 || isArray(transforms) && transforms.length <= 0 || !transforms) { return values; } var ret; if (isArray(values) && isArray(transforms)) { ret = values.map(function (item, index) { if (_typeof(item) === 'object' || isArray(item)) { return transformFormValues(item, transforms[index]); } if (typeof transforms[index] === 'function') { return transforms[index](item); } return item; }); } else if (_typeof(values) === 'object' && _typeof(transforms) === 'object') { ret = {}; for (var key in values) { if (_typeof(values[key]) === 'object' || isArray(values[key])) { ret[key] = transformFormValues(values[key], transforms[key], ret); } else if (typeof transforms[key] === 'function') { ret[key] = transforms[key](values[key], ret); } else { ret[key] = values[key]; } if (ret[key] === InvalidFormValue) { delete ret[key]; } } } else if (typeof transforms === 'function') { ret = transforms(values, currentLevelValues); } else { ret = values; } return ret; } export var transformValueToNames = function transformValueToNames(value, currentLevelValues, names) { if (isArray(names) && names.length > 0) { names.forEach(function (item, index) { var currentValue = isArray(value) && value.length > 0 ? value[index] : undefined; if (isArray(item) && item.length > 0) { set(currentLevelValues, item, currentValue); } else if (isString(item)) { currentLevelValues[item] = currentValue; } }); return InvalidFormValue; } return value; };