UNPKG

drip-table

Version:

A tiny and powerful enterprise-class solution for building tables.

101 lines (83 loc) 2.8 kB
"use strict"; 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;