drip-table
Version:
A tiny and powerful enterprise-class solution for building tables.
91 lines (81 loc) • 2.69 kB
JavaScript
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
/**
* This file is part of the drip-table project.
* @link : https://drip-table.jd.com/
* @author : Emil Zhai (root@derzh.com)
* @modifier : Emil Zhai (root@derzh.com)
* @copyright: Copyright (c) 2021 JD Network Technology Co., Ltd.
*/
import { indexValue } from "../../utils/operator";
/**
* 格式化变量用于提供给渲染函数
* @param v 任意数据
* @returns 渲染字符串
*/
export var stringify = function stringify(v) {
if (_typeof(v) === 'object' && v !== null) {
try {
v = JSON.stringify(v);
} catch (_unused) {}
}
if (v === void 0) {
return '';
}
return String(v);
};
/**
* 抑制事件处理函数默认行为
* @param e 事件对象
* @returns boolean
*/
export var preventEvent = function preventEvent(e) {
e.preventDefault();
e.stopPropagation();
return false;
};
/**
* 获取对象的经过数据处理后的最终值 WHAT THE HELL IS THIS??
* @param execute 执行器
* @param data 基础对象
* @param indexes 下标或下标数组
* @param defaultValue 默认值
* @param dataProcess 数据处理的语句
* @returns 值
*/
export var dataProcessIndex = function dataProcessIndex(execute, data, indexes) {
var defaultValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : void 0;
var dataProcess = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : void 0;
var value = indexValue(data, indexes, defaultValue);
if (dataProcess) {
try {
return execute(dataProcess, {
rec: data,
value: value
});
} catch (error) {
return error instanceof Error ? "{{Render Error: ".concat(error.message, "}}") : '{{Unknown Render Error}}';
}
}
return value;
};
/**
* 获取数据处理的运行结果 WHAT THE HELL IS THIS??
* @param execute 执行器
* @param data 基础对象
* @param indexes 下标或下标数组
* @param funcText 数据处理的语句
* @returns 值
*/
export var dataProcessValue = function dataProcessValue(execute, data, indexes, funcText) {
var value = indexValue(data, indexes, '');
if (funcText) {
try {
return execute(funcText, {
rec: data,
value: value
});
} catch (error) {
return error instanceof Error ? "{{Render Error: ".concat(error.message, "}}") : '{{Unknown Render Error}}';
}
}
};