drip-table
Version:
A tiny and powerful enterprise-class solution for building tables.
101 lines (83 loc) • 2.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.stringify = exports.preventEvent = exports.dataProcessValue = exports.dataProcessIndex = void 0;
var _operator = require("../../utils/operator");
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); }
/**
* 格式化变量用于提供给渲染函数
* @param v 任意数据
* @returns 渲染字符串
*/
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);
};
exports.stringify = stringify;
/**
* 抑制事件处理函数默认行为
* @param e 事件对象
* @returns boolean
*/
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 值
*/
exports.preventEvent = preventEvent;
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 = (0, _operator.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 值
*/
exports.dataProcessIndex = dataProcessIndex;
var dataProcessValue = function dataProcessValue(execute, data, indexes, funcText) {
var value = (0, _operator.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}}';
}
}
};
exports.dataProcessValue = dataProcessValue;