feat: funjia工具库v1.0.0版本
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.parseNumber = exports.fF = exports.formatForm = exports.tV = exports.tryValue = exports.parseType = void 0;
|
||||
const is_1 = require("./is");
|
||||
/**
|
||||
* 根据指定类型生成新类型的数据
|
||||
* @param originalInfo 原始数据,需要转换类型的数据
|
||||
* @param newInfo 转换类型之后的数据
|
||||
*/
|
||||
function parseType(originalInfo, newInfo, mapper = null) {
|
||||
var _a;
|
||||
if (originalInfo) {
|
||||
if ((0, is_1.isEmpty)(mapper)) {
|
||||
for (const name in newInfo) {
|
||||
if (originalInfo.hasOwnProperty(name)) {
|
||||
newInfo[name] = originalInfo[name];
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
let fieldIdx = -1;
|
||||
let originalFieldName = "";
|
||||
let name;
|
||||
for (name in newInfo) {
|
||||
fieldIdx = mapper === null || mapper === void 0 ? void 0 : mapper[0].indexOf(name);
|
||||
originalFieldName = ((_a = mapper === null || mapper === void 0 ? void 0 : mapper[1]) === null || _a === void 0 ? void 0 : _a[(0, is_1.isEmpty)(fieldIdx) ? -1 : (fieldIdx || 0)]) || "";
|
||||
console.log(name, fieldIdx, originalFieldName, "字段:", originalFieldName);
|
||||
if (originalFieldName) {
|
||||
if (originalInfo.hasOwnProperty(originalFieldName)) {
|
||||
newInfo[name] = originalInfo[originalFieldName];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
return newInfo;
|
||||
}
|
||||
return newInfo;
|
||||
}
|
||||
exports.parseType = parseType;
|
||||
/**
|
||||
* 尝试获取子属性的值并且出错时可返回指定类型的默认值
|
||||
* 链式获取数据
|
||||
* {children:{children:{name,age}}} 获取name的值
|
||||
* tryValue({children:{chidren:{name,age}}},["children","children","name"],"--")
|
||||
* @param obj 原始对象
|
||||
* @param names 按层级排列的子属性
|
||||
* @param defV 指定返回的默认值
|
||||
*/
|
||||
const tryValue = (obj, names, defV = null) => {
|
||||
let _obj = obj;
|
||||
const getDeepValue = (item, name) => {
|
||||
return item[name];
|
||||
};
|
||||
try {
|
||||
names.forEach(item => {
|
||||
_obj = getDeepValue(_obj, item);
|
||||
});
|
||||
if ((0, is_1.isEmpty)(_obj)) {
|
||||
return defV;
|
||||
}
|
||||
if (isNaN(_obj))
|
||||
return defV;
|
||||
else
|
||||
return _obj;
|
||||
}
|
||||
catch (error) {
|
||||
return defV;
|
||||
}
|
||||
};
|
||||
exports.tryValue = tryValue;
|
||||
exports.tV = exports.tryValue;
|
||||
/**
|
||||
* 格式化表单
|
||||
* 方法实现参考地址:https://www.cnblogs.com/yaowen/p/5574923.html
|
||||
*/
|
||||
const formatForm = (data, defValue = undefined) => {
|
||||
/**
|
||||
* 格式化表单一
|
||||
* 清楚字符串前后空格
|
||||
*/
|
||||
// 目前只对集合处理
|
||||
if (data) {
|
||||
const isObject = data.toString() == "[object Object]" ? true : false;
|
||||
if (isObject) {
|
||||
const objs = Object.keys(data), len = objs.length;
|
||||
for (let i = 0; i < len; i++) {
|
||||
if (typeof (data[objs[i]]) == "string") {
|
||||
data[objs[i]] = data[objs[i]].trim();
|
||||
}
|
||||
const v = data[objs[i]];
|
||||
data[objs[i]] = (0, is_1.isEmpty)(v) ? defValue : v;
|
||||
}
|
||||
}
|
||||
}
|
||||
return data;
|
||||
};
|
||||
exports.formatForm = formatForm;
|
||||
exports.fF = exports.formatForm;
|
||||
/**
|
||||
* 转换为数字
|
||||
*/
|
||||
const parseNumber = (value) => {
|
||||
const num = parseInt(value === null || value === void 0 ? void 0 : value.toString());
|
||||
if (isNaN(num))
|
||||
return 1;
|
||||
else
|
||||
return num;
|
||||
};
|
||||
exports.parseNumber = parseNumber;
|
||||
Reference in New Issue
Block a user