1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import _typeof from "@babel/runtime/helpers/esm/typeof";
- var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';
- function toArray(arr) {
- if (arr === undefined || arr === null) {
- return [];
- }
- return Array.isArray(arr) ? arr : [arr];
- }
- export 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;
- }
- export 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;
- }
- export 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 && _typeof(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;
- }
- export function validateValue(val) {
- return val !== null && val !== undefined;
- }
|