@mui/x-data-grid-generator 6.0.0-alpha.0 → 6.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/CHANGELOG.md +1428 -138
  2. package/columns/commodities.columns.js +6 -10
  3. package/columns/employees.columns.js +1 -2
  4. package/hooks/useDemoData.js +9 -31
  5. package/hooks/useMovieData.d.ts +1 -0
  6. package/hooks/useMovieData.js +35 -1
  7. package/hooks/useQuery.d.ts +6 -6
  8. package/hooks/useQuery.js +11 -43
  9. package/index.js +1 -1
  10. package/legacy/columns/commodities.columns.js +6 -10
  11. package/legacy/columns/employees.columns.js +1 -3
  12. package/legacy/hooks/useBasicDemoData.js +6 -7
  13. package/legacy/hooks/useDemoData.js +28 -70
  14. package/legacy/hooks/useMovieData.js +35 -2
  15. package/legacy/hooks/useQuery.js +38 -77
  16. package/legacy/index.js +1 -1
  17. package/legacy/renderer/renderAvatar.js +0 -1
  18. package/legacy/renderer/renderCountry.js +3 -4
  19. package/legacy/renderer/renderEditCountry.js +32 -20
  20. package/legacy/renderer/renderEditCurrency.js +32 -20
  21. package/legacy/renderer/renderEditIncoterm.js +36 -26
  22. package/legacy/renderer/renderEditProgress.js +10 -20
  23. package/legacy/renderer/renderEditRating.js +32 -23
  24. package/legacy/renderer/renderEditStatus.js +2 -15
  25. package/legacy/renderer/renderEmail.js +0 -1
  26. package/legacy/renderer/renderIncoterm.js +0 -2
  27. package/legacy/renderer/renderLink.js +1 -3
  28. package/legacy/renderer/renderPnl.js +0 -3
  29. package/legacy/renderer/renderProgress.js +4 -5
  30. package/legacy/renderer/renderRating.js +3 -4
  31. package/legacy/renderer/renderStatus.js +9 -14
  32. package/legacy/renderer/renderTotalPrice.js +5 -6
  33. package/legacy/services/asyncWorker.js +4 -7
  34. package/legacy/services/basic-data-service.js +0 -5
  35. package/legacy/services/random-generator.js +6 -20
  36. package/legacy/services/real-data-service.js +0 -9
  37. package/legacy/services/tree-data-generator.js +6 -22
  38. package/modern/columns/commodities.columns.js +6 -10
  39. package/modern/columns/employees.columns.js +1 -2
  40. package/modern/hooks/useDemoData.js +9 -27
  41. package/modern/hooks/useMovieData.js +35 -1
  42. package/modern/hooks/useQuery.js +11 -41
  43. package/modern/index.js +1 -1
  44. package/modern/renderer/renderAvatar.js +0 -1
  45. package/modern/renderer/renderCountry.js +3 -4
  46. package/modern/renderer/renderEditCountry.js +6 -13
  47. package/modern/renderer/renderEditCurrency.js +6 -13
  48. package/modern/renderer/renderEditIncoterm.js +7 -16
  49. package/modern/renderer/renderEditProgress.js +3 -10
  50. package/modern/renderer/renderEditRating.js +7 -17
  51. package/modern/renderer/renderEditStatus.js +0 -10
  52. package/modern/renderer/renderIncoterm.js +0 -2
  53. package/modern/renderer/renderLink.js +1 -3
  54. package/modern/renderer/renderPnl.js +0 -3
  55. package/modern/renderer/renderProgress.js +4 -5
  56. package/modern/renderer/renderRating.js +3 -4
  57. package/modern/renderer/renderStatus.js +9 -14
  58. package/modern/renderer/renderTotalPrice.js +5 -6
  59. package/modern/services/asyncWorker.js +2 -4
  60. package/modern/services/basic-data-service.js +0 -5
  61. package/modern/services/random-generator.js +6 -19
  62. package/modern/services/real-data-service.js +0 -9
  63. package/modern/services/tree-data-generator.js +0 -14
  64. package/node/columns/commodities.columns.js +7 -17
  65. package/node/columns/employees.columns.js +2 -9
  66. package/node/columns/index.js +0 -4
  67. package/node/hooks/index.js +0 -8
  68. package/node/hooks/useBasicDemoData.js +0 -6
  69. package/node/hooks/useDemoData.js +17 -62
  70. package/node/hooks/useMovieData.js +35 -3
  71. package/node/hooks/useQuery.js +13 -57
  72. package/node/index.js +1 -9
  73. package/node/renderer/index.js +0 -32
  74. package/node/renderer/renderAvatar.js +0 -8
  75. package/node/renderer/renderCountry.js +3 -12
  76. package/node/renderer/renderEditCountry.js +6 -26
  77. package/node/renderer/renderEditCurrency.js +6 -26
  78. package/node/renderer/renderEditIncoterm.js +7 -28
  79. package/node/renderer/renderEditProgress.js +4 -24
  80. package/node/renderer/renderEditRating.js +7 -26
  81. package/node/renderer/renderEditStatus.js +0 -26
  82. package/node/renderer/renderEmail.js +1 -9
  83. package/node/renderer/renderIncoterm.js +0 -12
  84. package/node/renderer/renderLink.js +1 -10
  85. package/node/renderer/renderPnl.js +0 -12
  86. package/node/renderer/renderProgress.js +4 -14
  87. package/node/renderer/renderRating.js +3 -13
  88. package/node/renderer/renderStatus.js +9 -27
  89. package/node/renderer/renderTotalPrice.js +5 -15
  90. package/node/services/asyncWorker.js +2 -5
  91. package/node/services/basic-data-service.js +0 -7
  92. package/node/services/index.js +0 -8
  93. package/node/services/random-generator.js +7 -105
  94. package/node/services/real-data-service.js +0 -12
  95. package/node/services/static-data.js +0 -2
  96. package/node/services/tree-data-generator.js +1 -22
  97. package/package.json +7 -7
  98. package/renderer/renderAvatar.js +0 -1
  99. package/renderer/renderCountry.js +3 -4
  100. package/renderer/renderEditCountry.js +6 -13
  101. package/renderer/renderEditCurrency.js +6 -13
  102. package/renderer/renderEditIncoterm.js +7 -16
  103. package/renderer/renderEditProgress.js +3 -10
  104. package/renderer/renderEditRating.js +7 -17
  105. package/renderer/renderEditStatus.js +0 -10
  106. package/renderer/renderEmail.js +0 -1
  107. package/renderer/renderIncoterm.js +0 -2
  108. package/renderer/renderLink.js +1 -3
  109. package/renderer/renderPnl.js +0 -3
  110. package/renderer/renderProgress.js +4 -5
  111. package/renderer/renderRating.js +3 -4
  112. package/renderer/renderStatus.js +9 -14
  113. package/renderer/renderTotalPrice.js +5 -6
  114. package/services/asyncWorker.js +2 -4
  115. package/services/basic-data-service.js +0 -5
  116. package/services/random-generator.js +6 -20
  117. package/services/real-data-service.js +0 -9
  118. package/services/tree-data-generator.js +0 -15
@@ -2,21 +2,18 @@ export var currencyPairs = ['USDGBP', 'USDEUR', 'GBPEUR', 'JPYUSD', 'MXNUSD', 'B
2
2
  export var getBasicGridData = function getBasicGridData(rowLength, colLength) {
3
3
  var data = [];
4
4
  var pricesColLength = colLength - 2;
5
-
6
5
  for (var i = 0; i < rowLength; i += 1) {
7
6
  var idx = i >= currencyPairs.length ? i % currencyPairs.length : i;
8
7
  var model = {
9
8
  id: i,
10
9
  currencyPair: currencyPairs[idx]
11
10
  };
12
-
13
11
  for (var j = 1; j <= pricesColLength; j += 1) {
14
12
  model["price".concat(j, "M")] = Number("".concat(i.toString()).concat(j)); // randomPrice(0.7, 2);
15
13
  }
16
14
 
17
15
  data.push(model);
18
16
  }
19
-
20
17
  var columns = [{
21
18
  field: 'id',
22
19
  headerName: 'id',
@@ -25,7 +22,6 @@ export var getBasicGridData = function getBasicGridData(rowLength, colLength) {
25
22
  field: 'currencyPair',
26
23
  headerName: 'Currency Pair'
27
24
  }];
28
-
29
25
  for (var _j = 1; _j <= pricesColLength; _j += 1) {
30
26
  // const y = Math.floor(j / 12);
31
27
  columns.push({
@@ -36,7 +32,6 @@ export var getBasicGridData = function getBasicGridData(rowLength, colLength) {
36
32
  }
37
33
 
38
34
  columns.length = colLength; // we cut the array in case < 2;
39
-
40
35
  return {
41
36
  columns: columns,
42
37
  rows: data
@@ -2,7 +2,6 @@ import globalChance from 'chance';
2
2
  import { COLORS, COMMODITY_OPTIONS, CONTRACT_TYPE_OPTIONS, COUNTRY_ISO_OPTIONS, CURRENCY_OPTIONS, INCOTERM_OPTIONS, RATE_TYPE_OPTIONS, STATUS_OPTIONS, TAXCODE_OPTIONS } from './static-data';
3
3
  var chanceId = globalChance();
4
4
  var chance;
5
-
6
5
  if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
7
6
  chance = globalChance(function () {
8
7
  return 0.5;
@@ -10,82 +9,69 @@ if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
10
9
  } else {
11
10
  chance = chanceId;
12
11
  }
13
-
14
12
  /**
15
13
  * Wrap a data generator that returns a string and add a prefix if the value generated has already been given
16
14
  */
17
15
  var uniquenessHandler = function uniquenessHandler(generator) {
18
16
  return function (data, context) {
19
17
  var _context$values$rawVa;
20
-
21
18
  var rawValue = generator(data, context);
22
-
23
19
  if (!context.values) {
24
20
  return rawValue;
25
21
  }
26
-
27
22
  var valueCount = ((_context$values$rawVa = context.values[rawValue]) != null ? _context$values$rawVa : 0) + 1;
28
23
  context.values[rawValue] = valueCount + 1;
29
-
30
24
  if (valueCount > 1) {
31
25
  return "".concat(rawValue, " ").concat(valueCount);
32
26
  }
33
-
34
27
  return rawValue;
35
28
  };
36
29
  };
37
-
38
30
  function dateFuture(years, refDate) {
39
31
  var date = new Date();
40
-
41
32
  if (typeof refDate !== 'undefined') {
42
33
  date = new Date(Date.parse(refDate));
43
34
  }
44
-
45
35
  var range = {
46
36
  min: 1000,
47
37
  max: (years || 1) * 365 * 24 * 3600 * 1000
48
- }; // some time from now to N years later, in milliseconds
38
+ };
49
39
 
40
+ // some time from now to N years later, in milliseconds
50
41
  var past = date.getTime() + chance.integer(range);
51
42
  date.setTime(past);
52
43
  return date;
53
44
  }
54
-
55
45
  function dateRecent(days, refDate) {
56
46
  var date = new Date();
57
-
58
47
  if (typeof refDate !== 'undefined') {
59
48
  date = new Date(Date.parse(refDate));
60
49
  }
61
-
62
50
  var range = {
63
51
  min: 1000,
64
52
  max: (days || 1) * 24 * 3600 * 1000
65
- }; // some time from now to N days ago, in milliseconds
53
+ };
66
54
 
55
+ // some time from now to N days ago, in milliseconds
67
56
  var past = date.getTime() - chance.integer(range);
68
57
  date.setTime(past);
69
58
  return date;
70
59
  }
71
-
72
60
  function datePast(years, refDate) {
73
61
  var date = new Date();
74
-
75
62
  if (typeof refDate !== 'undefined') {
76
63
  date = new Date(Date.parse(refDate));
77
64
  }
78
-
79
65
  var range = {
80
66
  min: 1000,
81
67
  max: (years || 1) * 365 * 24 * 3600 * 1000
82
- }; // some time from now to N years ago, in milliseconds
68
+ };
83
69
 
70
+ // some time from now to N years ago, in milliseconds
84
71
  var past = date.getTime() - chance.integer(range);
85
72
  date.setTime(past);
86
73
  return date;
87
74
  }
88
-
89
75
  export var random = function random(min, max) {
90
76
  return chance.floating({
91
77
  min: min,
@@ -6,35 +6,26 @@ export function getRealGridData(rowLength, columns) {
6
6
  };
7
7
  var rows = [];
8
8
  var indexedValues = {};
9
-
10
9
  function work() {
11
10
  var row = {};
12
-
13
11
  for (var j = 0; j < columns.length; j += 1) {
14
12
  var column = columns[j];
15
-
16
13
  if (column.generateData) {
17
14
  var context = {};
18
-
19
15
  if (column.dataGeneratorUniquenessEnabled) {
20
16
  var fieldValues = indexedValues[column.field];
21
-
22
17
  if (!fieldValues) {
23
18
  fieldValues = {};
24
19
  indexedValues[column.field] = fieldValues;
25
20
  }
26
-
27
21
  context.values = fieldValues;
28
22
  }
29
-
30
23
  row[column.field] = column.generateData(row, context);
31
24
  }
32
25
  }
33
-
34
26
  rows.push(row);
35
27
  tasks.current -= 1;
36
28
  }
37
-
38
29
  var columnVisibilityModel = {};
39
30
  columns.forEach(function (col) {
40
31
  if (col.hide) {
@@ -3,81 +3,65 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import { randomArrayItem } from './random-generator';
4
4
  export var addTreeDataOptionsToDemoData = function addTreeDataOptionsToDemoData(data) {
5
5
  var _groupingCol$headerNa;
6
-
7
6
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8
7
  var _options$averageChild = options.averageChildren,
9
- averageChildren = _options$averageChild === void 0 ? 2 : _options$averageChild,
10
- _options$maxDepth = options.maxDepth,
11
- maxDepth = _options$maxDepth === void 0 ? 1 : _options$maxDepth,
12
- groupingField = options.groupingField;
8
+ averageChildren = _options$averageChild === void 0 ? 2 : _options$averageChild,
9
+ _options$maxDepth = options.maxDepth,
10
+ maxDepth = _options$maxDepth === void 0 ? 1 : _options$maxDepth,
11
+ groupingField = options.groupingField;
13
12
  var hasTreeData = maxDepth > 1 && groupingField != null;
14
-
15
13
  if (!hasTreeData) {
16
14
  return data;
17
15
  }
18
-
19
16
  if (data.rows.length > 1000) {
20
17
  throw new Error('MUI: useDemoData tree data mode only works up to 1000 rows.');
21
18
  }
22
-
23
19
  var rowsByTreeDepth = {};
24
20
  var rowsCount = data.rows.length;
25
21
  var groupingCol = data.columns.find(function (col) {
26
22
  return col.field === options.groupingField;
27
23
  });
28
-
29
24
  if (!groupingCol) {
30
25
  throw new Error('MUI: The tree data grouping field does not exist');
31
26
  }
32
-
33
27
  data.initialState.columns.columnVisibilityModel[groupingField] = false;
34
-
35
28
  for (var i = 0; i < rowsCount; i += 1) {
36
29
  var row = data.rows[i];
37
30
  var currentChunk = Math.floor(i * (Math.pow(averageChildren, maxDepth) - 1) / rowsCount) + 1;
38
31
  var currentDepth = Math.floor(Math.log(currentChunk) / Math.log(averageChildren));
39
-
40
32
  if (!rowsByTreeDepth[currentDepth]) {
41
33
  rowsByTreeDepth[currentDepth] = {
42
34
  rows: {},
43
35
  rowIndexes: []
44
36
  };
45
37
  }
46
-
47
38
  rowsByTreeDepth[currentDepth].rows[i] = {
48
39
  value: row,
49
40
  parentIndex: null
50
41
  };
51
42
  rowsByTreeDepth[currentDepth].rowIndexes.push(i);
52
43
  }
53
-
54
44
  Object.entries(rowsByTreeDepth).forEach(function (_ref) {
55
45
  var _ref2 = _slicedToArray(_ref, 2),
56
- depthStr = _ref2[0],
57
- rows = _ref2[1].rows;
58
-
46
+ depthStr = _ref2[0],
47
+ rows = _ref2[1].rows;
59
48
  var depth = Number(depthStr);
60
49
  Object.values(rows).forEach(function (row) {
61
50
  var path = [];
62
51
  var previousRow = null;
63
-
64
52
  for (var k = depth; k >= 0; k -= 1) {
65
53
  var rowTemp = void 0;
66
-
67
54
  if (k === depth) {
68
55
  if (depth > 0) {
69
56
  row.parentIndex = Number(randomArrayItem(rowsByTreeDepth[depth - 1].rowIndexes));
70
57
  }
71
-
72
58
  rowTemp = row;
73
59
  } else {
74
60
  rowTemp = rowsByTreeDepth[k].rows[previousRow.parentIndex];
75
61
  }
76
-
77
62
  path.unshift(rowTemp.value[groupingField]);
78
63
  previousRow = rowTemp;
79
64
  }
80
-
81
65
  row.value.path = path;
82
66
  });
83
67
  });
@@ -86,9 +86,8 @@ export const getCommodityColumns = (editable = false) => [{
86
86
  field: 'subTotal',
87
87
  headerName: 'Sub Total',
88
88
  valueGetter: ({
89
- row,
90
- rowNode
91
- }) => rowNode.isAutoGenerated ? null : row.quantity * row.unitPrice,
89
+ row
90
+ }) => row.quantity == null || row.unitPrice == null ? null : row.quantity * row.unitPrice,
92
91
  type: 'number',
93
92
  width: 120
94
93
  }, {
@@ -103,9 +102,8 @@ export const getCommodityColumns = (editable = false) => [{
103
102
  field: 'feeAmount',
104
103
  headerName: 'Fee Amount',
105
104
  valueGetter: ({
106
- row,
107
- rowNode
108
- }) => rowNode.isAutoGenerated ? null : row.feeRate * row.quantity * row.unitPrice,
105
+ row
106
+ }) => row.feeRate == null || row.quantity == null || row.unitPrice == null ? null : row.feeRate * row.quantity * row.unitPrice,
109
107
  type: 'number',
110
108
  width: 120
111
109
  }, {
@@ -120,9 +118,8 @@ export const getCommodityColumns = (editable = false) => [{
120
118
  field: 'totalPrice',
121
119
  headerName: 'Total in USD',
122
120
  valueGetter: ({
123
- row,
124
- rowNode
125
- }) => rowNode.isAutoGenerated ? null : row.feeRate + row.quantity * row.unitPrice,
121
+ row
122
+ }) => row.feeRate == null || row.quantity == null || row.unitPrice == null ? null : row.feeRate + row.quantity * row.unitPrice,
126
123
  renderCell: renderTotalPrice,
127
124
  type: 'number',
128
125
  width: 160
@@ -174,7 +171,6 @@ export const getCommodityColumns = (editable = false) => [{
174
171
  if (typeof value === 'string') {
175
172
  return COUNTRY_ISO_OPTIONS_SORTED.find(country => country.value === value);
176
173
  }
177
-
178
174
  return value;
179
175
  },
180
176
  valueFormatter: ({
@@ -11,7 +11,7 @@ export const getEmployeeColumns = () => [{
11
11
  headerName: 'Avatar',
12
12
  generateData: randomColor,
13
13
  renderCell: renderAvatar,
14
- valueGetter: params => params.rowNode.isAutoGenerated ? null : {
14
+ valueGetter: params => params.row.name == null || params.row.avatar == null ? null : {
15
15
  name: params.row.name,
16
16
  color: params.row.avatar
17
17
  },
@@ -130,7 +130,6 @@ export const getEmployeeColumns = () => [{
130
130
  if (!value || typeof value !== 'number') {
131
131
  return value;
132
132
  }
133
-
134
133
  return `${value.toLocaleString()}$`;
135
134
  }
136
135
  }];
@@ -9,7 +9,6 @@ import { addTreeDataOptionsToDemoData } from '../services/tree-data-generator';
9
9
  const dataCache = new LRUCache({
10
10
  max: 10,
11
11
  ttl: 60 * 5 * 1e3 // 5 minutes
12
-
13
12
  });
14
13
 
15
14
  // Generate fake data from a seed.
@@ -21,25 +20,20 @@ async function extrapolateSeed(rowLength, data) {
21
20
  const tasks = {
22
21
  current: rowLength - seed.length
23
22
  };
24
-
25
23
  function work() {
26
24
  const row = {};
27
-
28
25
  for (let j = 0; j < data.columns.length; j += 1) {
29
26
  const column = data.columns[j];
30
27
  const index = Math.round(Math.random() * (seed.length - 1));
31
-
32
28
  if (column.field === 'id') {
33
29
  row.id = `id-${tasks.current + seed.length}`;
34
30
  } else {
35
31
  row[column.field] = seed[index][column.field];
36
32
  }
37
33
  }
38
-
39
34
  rows.push(row);
40
35
  tasks.current -= 1;
41
36
  }
42
-
43
37
  asyncWorker({
44
38
  work,
45
39
  done: () => resolve(_extends({}, data, {
@@ -49,36 +43,31 @@ async function extrapolateSeed(rowLength, data) {
49
43
  });
50
44
  });
51
45
  }
52
-
53
46
  const deepFreeze = object => {
54
47
  // Retrieve the property names defined on object
55
- const propNames = Object.getOwnPropertyNames(object); // Freeze properties before freezing self
56
- // eslint-disable-next-line no-restricted-syntax
48
+ const propNames = Object.getOwnPropertyNames(object);
49
+
50
+ // Freeze properties before freezing self
57
51
 
52
+ // eslint-disable-next-line no-restricted-syntax
58
53
  for (const name of propNames) {
59
54
  const value = object[name];
60
-
61
55
  if (value && typeof value === 'object') {
62
56
  deepFreeze(value);
63
57
  }
64
58
  }
65
-
66
59
  return Object.freeze(object);
67
60
  };
68
-
69
61
  export const getColumnsFromOptions = options => {
70
62
  let columns = options.dataSet === 'Commodity' ? getCommodityColumns(options.editable) : getEmployeeColumns();
71
-
72
63
  if (options.visibleFields) {
73
64
  columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : _extends({}, col, {
74
65
  hide: true
75
66
  }));
76
67
  }
77
-
78
68
  if (options.maxColumns) {
79
69
  columns = columns.slice(0, options.maxColumns);
80
70
  }
81
-
82
71
  return columns;
83
72
  };
84
73
  export const getInitialState = (options, columns) => {
@@ -89,11 +78,9 @@ export const getInitialState = (options, columns) => {
89
78
  }
90
79
  });
91
80
  const groupingField = options.treeData?.groupingField;
92
-
93
81
  if (groupingField) {
94
82
  columnVisibilityModel[groupingField] = false;
95
83
  }
96
-
97
84
  return {
98
85
  columns: {
99
86
  columnVisibilityModel
@@ -120,48 +107,43 @@ export const useDemoData = options => {
120
107
  }, options.treeData);
121
108
  });
122
109
  React.useEffect(() => {
123
- const cacheKey = `${options.dataSet}-${rowLength}-${index}-${options.maxColumns}`; // Cache to allow fast switch between the JavaScript and TypeScript version
124
- // of the demos.
110
+ const cacheKey = `${options.dataSet}-${rowLength}-${index}-${options.maxColumns}`;
125
111
 
112
+ // Cache to allow fast switch between the JavaScript and TypeScript version
113
+ // of the demos.
126
114
  if (dataCache.has(cacheKey)) {
127
115
  const newData = dataCache.get(cacheKey);
128
116
  setData(newData);
129
117
  setLoading(false);
130
118
  return undefined;
131
119
  }
132
-
133
120
  let active = true;
134
-
135
121
  (async () => {
136
122
  setLoading(true);
137
123
  let newData;
138
-
139
124
  if (rowLength > 1000) {
140
125
  newData = await getRealGridData(1000, columns);
141
126
  newData = await extrapolateSeed(rowLength, newData);
142
127
  } else {
143
128
  newData = await getRealGridData(rowLength, columns);
144
129
  }
145
-
146
130
  if (!active) {
147
131
  return;
148
132
  }
149
-
150
133
  newData = addTreeDataOptionsToDemoData(newData, {
151
134
  maxDepth: options.treeData?.maxDepth,
152
135
  groupingField: options.treeData?.groupingField,
153
136
  averageChildren: options.treeData?.averageChildren
154
- }); // It's quite slow. No need for it in production.
137
+ });
155
138
 
139
+ // It's quite slow. No need for it in production.
156
140
  if (process.env.NODE_ENV !== 'production') {
157
141
  deepFreeze(newData);
158
142
  }
159
-
160
143
  dataCache.set(cacheKey, newData);
161
144
  setData(newData);
162
145
  setLoading(false);
163
146
  })();
164
-
165
147
  return () => {
166
148
  active = false;
167
149
  };