| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getColumnsKey = getColumnsKey;
- exports.getPathValue = getPathValue;
- exports.mergeObject = mergeObject;
- exports.validateValue = validateValue;
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
- var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';
- function toArray(arr) {
- if (arr === undefined || arr === null) {
- return [];
- }
- return Array.isArray(arr) ? arr : [arr];
- }
- function getPathValue(record, path) {
- // Skip if path is empty
- if (!path && typeof path !== 'number') {
- return record;
- }
- var pathList = toArray(path);
- var current = record;
- for (var i = 0; i < pathList.length; i += 1) {
- if (!current) {
- return null;
- }
- var prop = pathList[i];
- current = current[prop];
- }
- return current;
- }
- function getColumnsKey(columns) {
- var columnKeys = [];
- var keys = {};
- columns.forEach(function (column) {
- var _ref = column || {},
- key = _ref.key,
- dataIndex = _ref.dataIndex;
- var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;
- while (keys[mergedKey]) {
- mergedKey = "".concat(mergedKey, "_next");
- }
- keys[mergedKey] = true;
- columnKeys.push(mergedKey);
- });
- return columnKeys;
- }
- function mergeObject() {
- var merged = {};
- /* eslint-disable no-param-reassign */
- function fillProps(obj, clone) {
- if (clone) {
- Object.keys(clone).forEach(function (key) {
- var value = clone[key];
- if (value && (0, _typeof2.default)(value) === 'object') {
- obj[key] = obj[key] || {};
- fillProps(obj[key], value);
- } else {
- obj[key] = value;
- }
- });
- }
- }
- /* eslint-enable */
- for (var _len = arguments.length, objects = new Array(_len), _key = 0; _key < _len; _key++) {
- objects[_key] = arguments[_key];
- }
- objects.forEach(function (clone) {
- fillProps(merged, clone);
- });
- return merged;
- }
- function validateValue(val) {
- return val !== null && val !== undefined;
- }
|