@sis-cc/dotstatsuite-components 15.0.21 → 16.1.0

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 (165) hide show
  1. package/lib/rules/src/index.js +1 -145
  2. package/lib/rules/src/table/index.js +0 -42
  3. package/lib/rules2/src/constants.js +4 -1
  4. package/lib/rules2/src/enhanceObservations.js +98 -0
  5. package/lib/rules2/src/getAttributesSeries.js +33 -0
  6. package/lib/rules2/src/getCombinationDefinitions.js +48 -0
  7. package/lib/rules2/src/getHeaderCombinations.js +42 -0
  8. package/lib/rules2/src/getHeaderSubtitle.js +41 -0
  9. package/lib/rules2/src/getManyValuesDimensions.js +39 -0
  10. package/lib/rules2/src/getOneValueDimensions.js +46 -0
  11. package/lib/rules2/src/hasCellMetadata.js +1 -1
  12. package/lib/rules2/src/index.js +186 -18
  13. package/lib/rules2/src/parseAttributes.js +50 -0
  14. package/lib/rules2/src/parseCombinations.js +54 -0
  15. package/lib/rules2/src/parseMetadataSeries.js +4 -2
  16. package/lib/rules2/src/prepareData.js +74 -0
  17. package/lib/{rules/src/table/preparators/getAttributeValue.js → rules2/src/refineAttributes.js} +13 -11
  18. package/lib/rules2/src/table/getCells.js +74 -0
  19. package/lib/rules2/src/table/getCellsAttributesIds.js +63 -0
  20. package/lib/rules2/src/table/getCombinationDimensionsData.js +47 -0
  21. package/lib/rules2/src/table/getCuratedCells.js +28 -0
  22. package/lib/rules2/src/table/getFlagsAndNotes.js +28 -0
  23. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +31 -0
  24. package/lib/rules2/src/table/getLayout.js +93 -0
  25. package/lib/rules2/src/table/getLayoutData.js +202 -0
  26. package/lib/{rules/src/table/factories → rules2/src/table}/getSortedLayoutIndexes.js +55 -40
  27. package/lib/rules2/src/table/getTableProps.js +64 -0
  28. package/lib/rules2/src/table/parseValueHierarchy.js +55 -0
  29. package/lib/{rules/src/table/factories → rules2/src/table}/refineLayoutSize.js +17 -8
  30. package/lib/rules2/src/{hasLayoutEntryMetadata.js → utils.js} +9 -6
  31. package/package.json +1 -1
  32. package/src/rules/src/index.js +1 -19
  33. package/src/rules/src/table/index.js +0 -4
  34. package/src/rules2/src/constants.js +3 -0
  35. package/src/rules2/src/enhanceObservations.js +88 -0
  36. package/src/rules2/src/getAttributesSeries.js +29 -0
  37. package/src/rules2/src/getCombinationDefinitions.js +29 -0
  38. package/src/rules2/src/getHeaderCombinations.js +39 -0
  39. package/src/rules2/src/getHeaderSubtitle.js +34 -0
  40. package/src/rules2/src/getManyValuesDimensions.js +34 -0
  41. package/src/rules2/src/getOneValueDimensions.js +33 -0
  42. package/src/rules2/src/hasCellMetadata.js +1 -1
  43. package/src/rules2/src/index.js +21 -6
  44. package/src/rules2/src/parseAttributes.js +36 -0
  45. package/src/rules2/src/parseCombinations.js +36 -0
  46. package/src/rules2/src/parseMetadataSeries.js +3 -2
  47. package/src/rules2/src/prepareData.js +50 -0
  48. package/src/rules2/src/refineAttributes.js +16 -0
  49. package/src/rules2/src/table/getCells.js +72 -0
  50. package/src/rules2/src/table/getCellsAttributesIds.js +38 -0
  51. package/src/rules2/src/table/getCombinationDimensionsData.js +38 -0
  52. package/src/rules2/src/table/getCuratedCells.js +33 -0
  53. package/src/rules2/src/table/getFlagsAndNotes.js +21 -0
  54. package/src/rules2/src/table/getIndexedCombinationsByDisplay.js +16 -0
  55. package/src/rules2/src/table/getLayout.js +80 -0
  56. package/src/rules2/src/table/getLayoutData.js +183 -0
  57. package/src/rules2/src/table/getSortedLayoutIndexes.js +119 -0
  58. package/src/rules2/src/table/getTableProps.js +36 -0
  59. package/src/rules2/src/table/parseValueHierarchy.js +27 -0
  60. package/src/{rules/src/table/factories → rules2/src/table}/refineLayoutSize.js +24 -8
  61. package/src/rules2/src/utils.js +12 -0
  62. package/test/enhanceObservations2.test.js +219 -0
  63. package/test/getAttributesSeries.test.js +58 -0
  64. package/test/getCells.test.js +6 -40
  65. package/test/getCombinationDimensionsData.test.js +48 -0
  66. package/test/getSortedLayoutIndexes.test.js +1025 -3
  67. package/test/mocks/OECD_SNA_TABLE1_1.0_-_AUS_V_metadata.json +2 -2
  68. package/test/parseAttributes.test.js +17 -62
  69. package/test/parseMetadataSeries.test.js +1 -1
  70. package/test/parseValueHierarchy.test.js +88 -0
  71. package/test/refineLayoutSize.test.js +2621 -1
  72. package/lib/rules/src/table/factories/getCells.js +0 -97
  73. package/lib/rules/src/table/factories/getConfirmedSeriesAttributesIds.js +0 -26
  74. package/lib/rules/src/table/factories/getCuratedCells.js +0 -45
  75. package/lib/rules/src/table/factories/getLayoutData.js +0 -168
  76. package/lib/rules/src/table/factories/getLayoutWithFlags.js +0 -133
  77. package/lib/rules/src/table/factories/getTableCells.js +0 -24
  78. package/lib/rules/src/table/factories/getTableData.js +0 -98
  79. package/lib/rules/src/table/preparators/getDimensionsAttributesRegisters.js +0 -43
  80. package/lib/rules/src/table/preparators/getManyValuesDimensions.js +0 -33
  81. package/lib/rules/src/table/preparators/getOneValueDimensions.js +0 -24
  82. package/lib/rules/src/table/preparators/getUniqValuesAttributes.js +0 -36
  83. package/lib/rules/src/table/preparators/parseAttributes.js +0 -84
  84. package/lib/rules/src/table/preparators/parseAttributesValuesFromObservations.js +0 -22
  85. package/lib/rules/src/table/preparators/parseDimensionsIds.js +0 -22
  86. package/lib/rules/src/table/preparators/prepareData.js +0 -191
  87. package/lib/rules/src/table/preparators/refineObservationsAttributesValues.js +0 -31
  88. package/lib/rules/src/table/preparators/refineSeriesAttributesValues.js +0 -23
  89. package/lib/rules/src/table/units/appendUnitsInLayoutData.js +0 -82
  90. package/lib/rules/src/table/units/appendUnitsInLayoutDataEntry.js +0 -45
  91. package/lib/rules/src/table/units/cleanUnitsInLayoutData.js +0 -66
  92. package/lib/rules/src/table/units/getAttachmentSeriesIndexes.js +0 -25
  93. package/lib/rules/src/table/units/getHeaderUnits.js +0 -35
  94. package/lib/rules/src/table/units/getUnitsArtefacts.js +0 -85
  95. package/lib/rules/src/table/units/getUnitsCodes.js +0 -23
  96. package/lib/rules/src/table/units/getUnitsDefinition.js +0 -33
  97. package/lib/rules/src/table/units/getUnitsDisplay.js +0 -33
  98. package/lib/rules/src/table/units/getUnitsSerieIndexes.js +0 -23
  99. package/lib/rules/src/table/units/getUnitsSeries.js +0 -49
  100. package/lib/rules/src/table/units/getUnitsinLayout.js +0 -74
  101. package/lib/rules/src/table/units/refineDimSeriesUnits.js +0 -44
  102. package/lib/rules2/src/getAdvancedAttributes.js +0 -124
  103. package/lib/rules2/src/invertTime.js +0 -33
  104. package/src/rules/src/table/factories/getCells.js +0 -102
  105. package/src/rules/src/table/factories/getConfirmedSeriesAttributesIds.js +0 -27
  106. package/src/rules/src/table/factories/getCuratedCells.js +0 -40
  107. package/src/rules/src/table/factories/getLayoutData.js +0 -171
  108. package/src/rules/src/table/factories/getLayoutWithFlags.js +0 -137
  109. package/src/rules/src/table/factories/getSortedLayoutIndexes.js +0 -108
  110. package/src/rules/src/table/factories/getTableCells.js +0 -16
  111. package/src/rules/src/table/factories/getTableData.js +0 -86
  112. package/src/rules/src/table/preparators/getAttributeValue.js +0 -17
  113. package/src/rules/src/table/preparators/getDimensionsAttributesRegisters.js +0 -51
  114. package/src/rules/src/table/preparators/getManyValuesDimensions.js +0 -19
  115. package/src/rules/src/table/preparators/getOneValueDimensions.js +0 -17
  116. package/src/rules/src/table/preparators/getUniqValuesAttributes.js +0 -24
  117. package/src/rules/src/table/preparators/parseAttributes.js +0 -113
  118. package/src/rules/src/table/preparators/parseAttributesValuesFromObservations.js +0 -16
  119. package/src/rules/src/table/preparators/parseDimensionsIds.js +0 -17
  120. package/src/rules/src/table/preparators/prepareData.js +0 -197
  121. package/src/rules/src/table/preparators/refineObservationsAttributesValues.js +0 -22
  122. package/src/rules/src/table/preparators/refineSeriesAttributesValues.js +0 -11
  123. package/src/rules/src/table/units/appendUnitsInLayoutData.js +0 -56
  124. package/src/rules/src/table/units/appendUnitsInLayoutDataEntry.js +0 -38
  125. package/src/rules/src/table/units/cleanUnitsInLayoutData.js +0 -65
  126. package/src/rules/src/table/units/getAttachmentSeriesIndexes.js +0 -27
  127. package/src/rules/src/table/units/getHeaderUnits.js +0 -32
  128. package/src/rules/src/table/units/getUnitsArtefacts.js +0 -90
  129. package/src/rules/src/table/units/getUnitsCodes.js +0 -22
  130. package/src/rules/src/table/units/getUnitsDefinition.js +0 -34
  131. package/src/rules/src/table/units/getUnitsDisplay.js +0 -19
  132. package/src/rules/src/table/units/getUnitsSerieIndexes.js +0 -12
  133. package/src/rules/src/table/units/getUnitsSeries.js +0 -41
  134. package/src/rules/src/table/units/getUnitsinLayout.js +0 -71
  135. package/src/rules/src/table/units/refineDimSeriesUnits.js +0 -26
  136. package/src/rules2/src/getAdvancedAttributes.js +0 -111
  137. package/src/rules2/src/hasLayoutEntryMetadata.js +0 -9
  138. package/src/rules2/src/invertTime.js +0 -22
  139. package/test/advanced-attributes-parsing-perf.test.js +0 -16
  140. package/test/appendUnitsInLayoutDataEntry.test.js +0 -65
  141. package/test/cleanUnitsInLayoutData.test.js +0 -85
  142. package/test/enhanceObservations.test.js +0 -340
  143. package/test/getAttachmentSeriesIndexes.test.js +0 -35
  144. package/test/getConfirmedSeriesAttributesIds.test.js +0 -27
  145. package/test/getDataflowAdvancedAttributes.test.js +0 -32
  146. package/test/getHeaderUnits.test.js +0 -51
  147. package/test/getLayoutData.test.js +0 -206
  148. package/test/getLayoutDataWithFlags.test.js +0 -142
  149. package/test/getOneValueDimensions.test.js +0 -26
  150. package/test/getSeriesAdvancedAttributes.test.js +0 -32
  151. package/test/getSubtitleFlags.test.js +0 -42
  152. package/test/getTableData.test.js +0 -1317
  153. package/test/getUnitsArtefacts.test.js +0 -117
  154. package/test/getUnitsDefinition.test.js +0 -37
  155. package/test/getUnitsInLayout.test.js +0 -77
  156. package/test/getUnitsSeries.test.js +0 -154
  157. package/test/invertTime.test.js +0 -77
  158. package/test/parseAttributesValuesFromObservations.test.js +0 -45
  159. package/test/parseDimensionsIds.test.js +0 -20
  160. package/test/prepareData.test.js +0 -29
  161. package/test/refineObservationsAttributesValues.test.js +0 -33
  162. package/test/table-invert-time-perf.test.js +0 -11
  163. package/test/table-layout-perf.test.js +0 -74
  164. package/test/table-prep-duplicate-perf.test.js +0 -15
  165. package/test/table-prep-perf.test.js +0 -61
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCells = exports.getFlags = undefined;
7
-
8
- var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
9
-
10
- var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- var _dimensionUtils = require('../../dimension-utils');
17
-
18
- var _hasCellMetadata = require('../../../../rules2/src/hasCellMetadata');
19
-
20
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
21
-
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
- var getAttrLabel = function getAttrLabel(display) {
25
- return function (attribute) {
26
- return display(attribute) + ': ' + display(R.propOr({}, 'value', attribute));
27
- };
28
- };
29
-
30
- var getFlags = exports.getFlags = function getFlags(customAttributesIds, display, unitsProps) {
31
- return function (_ref) {
32
- var _ref$attributes = _ref.attributes,
33
- attributes = _ref$attributes === undefined ? {} : _ref$attributes,
34
- _ref$units = _ref.units,
35
- units = _ref$units === undefined ? {} : _ref$units,
36
- _ref$notes = _ref.notes,
37
- notes = _ref$notes === undefined ? [] : _ref$notes;
38
-
39
- var refinedAttributes = R.omit(R.propOr([], 'rejected', customAttributesIds), attributes);
40
- var flags = R.pipe(R.pick(R.propOr([], 'flags', customAttributesIds)), R.values)(refinedAttributes);
41
- var footnotes = R.pipe(R.pick(R.propOr([], 'notes', customAttributesIds)), R.values)(refinedAttributes);
42
-
43
- var unitsDisplay = R.prop('unitsDisplay', unitsProps);
44
- var rejectedUnitsValueIds = R.propOr([], 'rejectedValueIds', unitsProps);
45
-
46
- var separatedUnitsFootnotes = R.ifElse(R.always(unitsDisplay === 'cells'), R.always([]), function (units) {
47
- var unitsSerie = R.pathOr({}, ['unitsSeries', units.serieKey], unitsProps);
48
- var validAttrs = R.omit(R.keys(unitsSerie), units);
49
- return R.pipe(R.props(R.propOr([], 'unitsDefinitionCodes', unitsProps)), R.reject(function (entry) {
50
- return R.isNil(entry) || R.includes(R.path(['value', 'id'], entry), rejectedUnitsValueIds);
51
- }))(validAttrs);
52
- })(units);
53
-
54
- var fullUnitsFootnote = R.ifElse(R.always(unitsDisplay === 'cells'), function (units) {
55
- if (R.isEmpty(units)) {
56
- return {};
57
- }
58
- var unitsLabel = display(unitsProps.unitDimension);
59
- var valuesLabel = R.pipe(R.omit(R.propOr([], 'layoutDimsIds', unitsProps)), R.props(unitsProps.unitsDefinitionCodes), R.reduce(function (values, entry) {
60
- if (R.isNil(entry) || R.includes(R.path(['value', 'id'], entry), rejectedUnitsValueIds)) {
61
- return values;
62
- }
63
- return R.append(display(entry.value), values);
64
- }, []), R.join(', '))(units);
65
- if (R.isNil(valuesLabel) || R.isEmpty(valuesLabel)) {
66
- return {};
67
- }
68
- return { label: unitsLabel + ': ' + valuesLabel };
69
- }, R.always(null))(units);
70
-
71
- return R.useWith(R.concat, [R.map(R.converge(function (code, label) {
72
- return { code: code, label: label };
73
- }, [R.path(['value', 'id']), getAttrLabel(display)])), R.pipe(R.flip(R.concat)(separatedUnitsFootnotes), R.map(R.pipe(getAttrLabel(display), function (label) {
74
- return { label: label };
75
- })), R.when(R.always(unitsDisplay === 'cells' && !R.isEmpty(fullUnitsFootnote)), R.append(fullUnitsFootnote)), function (res) {
76
- return R.concat(res, notes);
77
- })])(flags, footnotes);
78
- };
79
- };
80
-
81
- var getSideProps = function getSideProps(_ref2, customAttributes, metadataCoordinates) {
82
- var attributes = _ref2.attributes,
83
- indexedDimValIds = _ref2.indexedDimValIds;
84
-
85
- var rejected = [].concat((0, _toConsumableArray3.default)(customAttributes.flags || []), (0, _toConsumableArray3.default)(customAttributes.notes || []), (0, _toConsumableArray3.default)(customAttributes.rejected || []));
86
- var advancedAttributes = R.omit(rejected, attributes);
87
- var hasAdvancedAttributes = !R.isEmpty(advancedAttributes);
88
- var hasMetadata = (0, _hasCellMetadata.hasCellMetadata)(metadataCoordinates, indexedDimValIds);
89
-
90
- return hasAdvancedAttributes || hasMetadata ? { hasAdvancedAttributes: hasAdvancedAttributes, hasMetadata: hasMetadata, coordinates: indexedDimValIds } : null;
91
- };
92
-
93
- var getCells = exports.getCells = function getCells(data, display, customAttributes, unitsProps, metadataCoordinates) {
94
- return R.mapObjIndexed(function (observation) {
95
- return R.pipe(R.set(R.lensProp('flags'), getFlags(customAttributes, (0, _dimensionUtils.dimensionValueDisplay)(display), unitsProps)(observation)), R.set(R.lensProp('intValue'), R.is(Number, observation.value) ? observation.value : null), R.set(R.lensProp('value'), R.prop('formattedValue', observation)), R.assoc('indexedDimValIds', R.prop('indexedDimValIds', observation)), R.assoc('sideProps', getSideProps(observation, customAttributes, metadataCoordinates)), R.set(R.lensProp('key'), R.prop('key', observation)))({});
96
- }, R.propOr({}, 'observations', data));
97
- };
@@ -1,26 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getConfirmedSeriesAttributesIds = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
13
-
14
- var getConfirmedSeriesAttributesIds = exports.getConfirmedSeriesAttributesIds = function getConfirmedSeriesAttributesIds(attributes, layoutIds) {
15
- return R.reduce(function (acc, attribute) {
16
- var targetDimensions = R.pathOr([], ['relationship', 'dimensions'], attribute);
17
-
18
- var headerTargets = R.intersection(targetDimensions, R.propOr([], 'header', layoutIds));
19
- var sectionsAndRows = R.pipe(R.props(['sections', 'rows']), R.map(R.when(R.isNil, R.always([]))), R.unnest)(layoutIds);
20
- var rowsTargets = R.intersection(targetDimensions, sectionsAndRows);
21
-
22
- var isValid = R.pipe(R.reject(R.isEmpty), R.length, R.equals(1))([headerTargets, rowsTargets]);
23
-
24
- return R.when(R.always(isValid), R.append(attribute.id))(acc);
25
- }, [])(attributes);
26
- };
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCuratedCells = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
13
-
14
- /*
15
-
16
- example shape = ['header', 'sections', 'rows']
17
-
18
- */
19
-
20
- var getPivotKey = function getPivotKey(indexes) {
21
- return R.pipe(R.props(indexes), R.join(':'));
22
- };
23
-
24
- var getPivots = function getPivots(layout, shape) {
25
- return R.pipe(R.props(shape), R.map(R.pipe(R.pluck('__index'), getPivotKey)))(layout);
26
- };
27
-
28
- var indexWithPivots = function indexWithPivots(pivots, observations) {
29
- return R.pipe(R.values, R.reduce(function (acc, obs) {
30
- var splitKey = R.split(':', obs.key);
31
- var path = R.map(function (pivot) {
32
- return pivot(splitKey);
33
- }, pivots);
34
- return R.over(R.lensPath(path), R.ifElse(R.isNil, R.always([obs]), R.append(obs)))(acc);
35
- }, {}))(observations);
36
- };
37
-
38
- var getCuratedCells = exports.getCuratedCells = function getCuratedCells(_ref) {
39
- var layout = _ref.layout,
40
- observations = _ref.observations,
41
- shape = _ref.shape;
42
-
43
- var pivots = getPivots(layout, shape);
44
- return indexWithPivots(pivots, observations);
45
- };
@@ -1,168 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getLayoutData = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
13
-
14
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
15
-
16
- var _extends2 = require('babel-runtime/helpers/extends');
17
-
18
- var _extends3 = _interopRequireDefault(_extends2);
19
-
20
- var _ramda = require('ramda');
21
-
22
- var R = _interopRequireWildcard(_ramda);
23
-
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- var indexesToLayoutData = function indexesToLayoutData(dimensions, indexes) {
29
- return R.addIndex(R.map)(function (valueIndex, dimensionIndex) {
30
- var dimension = R.nth(dimensionIndex, dimensions);
31
- return {
32
- dimension: R.pick(['id', 'name', '__index'], dimension),
33
- value: R.nth(Number(valueIndex), R.propOr([], 'values', dimension))
34
- };
35
- }, indexes);
36
- };
37
-
38
- var parseParents = function parseParents(value, previous) {
39
- var previousParents = R.pathOr([], ['value', 'parents'], previous);
40
- var indexedParents = R.indexBy(R.identity, value.parents);
41
-
42
- var refinedParents = R.reduce(function (acc, id) {
43
- if (R.has(id, indexedParents)) {
44
- return R.append(id, acc);
45
- }
46
- return acc;
47
- }, [], R.append(R.path(['value', 'id'], previous), previousParents));
48
- var lastParent = R.last(refinedParents);
49
- var missingParents = R.takeLastWhile(function (id) {
50
- return id !== lastParent;
51
- }, value.parents);
52
-
53
- return { parents: refinedParents, missingIds: missingParents };
54
- };
55
-
56
- var getRowData = function getRowData(indexes, dimension) {
57
- return R.pipe(R.propOr([], 'values'), R.props(indexes), R.reduce(function (_ref, _value) {
58
- var data = _ref.data,
59
- missingParents = _ref.missingParents;
60
-
61
- if (R.isNil(_value)) {
62
- return { data: data, missingParents: {} };
63
- }
64
- var raw = {
65
- dimension: R.pick(['id', 'name', '__index'], dimension),
66
- value: _value
67
- };
68
- if (R.isNil(_value.parents) || R.isEmpty(_value.parents)) {
69
- return { data: R.append([raw], data), missingParents: {} };
70
- }
71
- var previous = R.head(R.last(data) || []);
72
- if (R.last(_value.parents) === R.path(['value', 'id'], previous)) {
73
- //previous is parent
74
- var _value2 = R.set(R.lensPath(['value', 'parents']), R.append(R.path(['value', 'id'], previous), R.pathOr([], ['value', 'parents'], previous)))(raw);
75
- return { data: R.append([_value2], data), missingParents: {} };
76
- }
77
-
78
- var previousParent = R.pipe(R.pathOr([], ['value', 'parents']), R.last)(previous);
79
- if (R.last(_value.parents) === previousParent) {
80
- //previous is bro
81
- var _value3 = R.set(R.lensPath(['value']), (0, _extends3.default)({}, _value, {
82
- name: R.isEmpty(missingParents) ? _value.name : missingParents.name + ' > ' + _value.name,
83
- parents: R.pathOr([], ['value', 'parents'], previous)
84
- }))(raw);
85
- return { data: R.append([_value3], data), missingParents: missingParents };
86
- }
87
-
88
- var _parseParents = parseParents(_value, previous),
89
- parents = _parseParents.parents,
90
- missingIds = _parseParents.missingIds;
91
-
92
- var _missingParents = R.reduce(function (acc, value) {
93
- if (value.id !== R.head(acc.missingIds)) {
94
- return acc;
95
- }
96
- var _missingIds = R.tail(acc.missingIds);
97
- if (R.isEmpty(acc.name)) {
98
- return { name: value.name, missingIds: _missingIds };
99
- }
100
- return {
101
- name: acc.name + ' > ' + value.name,
102
- missingIds: _missingIds
103
- };
104
- }, { name: '', missingIds: missingIds }, dimension.values);
105
-
106
- var value = R.set(R.lensProp('value'), (0, _extends3.default)({}, _value, {
107
- parents: parents,
108
- name: R.isEmpty(missingIds) ? _value.name : _missingParents.name + ' > ' + _value.name
109
- }))(raw);
110
-
111
- return { data: R.append([value], data), missingParents: R.isEmpty(missingIds) ? {} : _missingParents };
112
- }, { data: [], missingParents: {} }), R.prop('data'))(dimension);
113
- };
114
-
115
- var getRowsData = function getRowsData(rowsIndexes, dimensions) {
116
- var dimension = R.head(dimensions);
117
-
118
- if (R.length(dimensions) === 1) {
119
- return getRowData(R.unnest(rowsIndexes), R.head(dimensions));
120
- }
121
-
122
- var groupedIndexes = R.reduce(function (acc, indexes) {
123
- var headIndex = R.head(indexes);
124
- var last = R.last(acc.heads);
125
- if (last === headIndex) {
126
- return (0, _extends3.default)({}, acc, {
127
- tails: R.over(R.lensIndex(-1), R.append(R.tail(indexes)))(acc.tails)
128
- });
129
- }
130
- return {
131
- heads: R.append(headIndex, acc.heads),
132
- tails: R.append([R.tail(indexes)], acc.tails)
133
- };
134
- }, { heads: [], tails: [] }, rowsIndexes);
135
-
136
- var headsDatas = getRowData(groupedIndexes.heads, R.head(dimensions));
137
-
138
- var res = R.addIndex(R.map)(function (tail, i) {
139
- var tailData = getRowsData(tail, R.tail(dimensions));
140
- return R.map(R.prepend(R.head(headsDatas[i])), tailData);
141
- }, groupedIndexes.tails);
142
-
143
- return R.unnest(res);
144
- };
145
-
146
- var getLayoutData = function getLayoutData(layoutIndexes, layout) {
147
- var header = layoutIndexes.header,
148
- sections = layoutIndexes.sections,
149
- rest = (0, _objectWithoutProperties3.default)(layoutIndexes, ['header', 'sections']);
150
-
151
- var headerData = R.map(function (i) {
152
- return R.pipe(indexesToLayoutData, R.filter(R.prop('value')))(layout.header, i);
153
- }, header);
154
-
155
- var sectionsData = R.map(function (_ref2) {
156
- var _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
157
- sectionIndexes = _ref3[0],
158
- rows = _ref3[1];
159
-
160
- var sectionData = R.pipe(indexesToLayoutData, R.filter(R.prop('value')))(layout.sections, sectionIndexes);
161
-
162
- var rowsData = getRowsData(rows, layout.rows);
163
-
164
- return [sectionData, rowsData];
165
- }, sections);
166
- return (0, _extends3.default)({ headerData: headerData, sectionsData: sectionsData }, rest);
167
- };
168
- exports.getLayoutData = getLayoutData;
@@ -1,133 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getLayoutDataWithFlags = exports.getSublayoutDataCells = exports.getLayoutSerieAttributes = undefined;
7
-
8
- var _extends2 = require('babel-runtime/helpers/extends');
9
-
10
- var _extends3 = _interopRequireDefault(_extends2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- var _getCells = require('./getCells');
17
-
18
- var _dimensionUtils = require('../../dimension-utils');
19
-
20
- var _hasCellMetadata = require('../../../../rules2/src/hasCellMetadata');
21
-
22
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- var getLayoutSerieAttributes = exports.getLayoutSerieAttributes = function getLayoutSerieAttributes(layoutSerie, seriesAttributes) {
27
- var length = R.length(layoutSerie);
28
- if (length === 0) {
29
- return null;
30
- }
31
-
32
- var serieIndexes = R.reduce(function (acc, entry) {
33
- var dimIndex = R.pathOr(null, ['dimension', '__index'], entry);
34
- var valIndex = R.pathOr(null, ['value', '__index'], entry);
35
-
36
- if (R.isNil(dimIndex) || R.isNil(valIndex)) {
37
- return acc;
38
- }
39
-
40
- return R.assoc(String(dimIndex), String(valIndex))(acc);
41
- }, {}, layoutSerie);
42
-
43
- return R.pipe(R.filter(R.pipe(R.propOr([], 'serie'), R.addIndex(R.all)(function (valIndex, dimIndex) {
44
- if (valIndex === 'x') {
45
- return true;
46
- }
47
- return R.propEq(String(dimIndex), String(valIndex), serieIndexes);
48
- }))))(seriesAttributes);
49
- };
50
-
51
- var getFlagsFromSeriesAttributes = function getFlagsFromSeriesAttributes(display, customAttributes) {
52
- return R.pipe(R.values, R.pluck('attributes'), R.mergeAll, function (attributes) {
53
- return (0, _getCells.getFlags)(customAttributes, (0, _dimensionUtils.dimensionValueDisplay)(display))({ attributes: attributes });
54
- });
55
- };
56
-
57
- var formatCell = function formatCell(display, customAttributes) {
58
- return R.converge(function (label, flags, others) {
59
- return (0, _extends3.default)({ label: label, flags: flags }, others);
60
- }, [(0, _dimensionUtils.dimensionValueDisplay)(display), (0, _getCells.getFlags)(customAttributes, (0, _dimensionUtils.dimensionValueDisplay)(display)), R.pick(['parents', 'unitsLabel', 'id'])]);
61
- };
62
-
63
- var getSublayoutDataCells = exports.getSublayoutDataCells = function getSublayoutDataCells(display, customAttributes) {
64
- return R.map(R.evolve({
65
- dimension: formatCell(display, customAttributes),
66
- value: formatCell(display, customAttributes)
67
- }));
68
- };
69
-
70
- var getSerieKey = R.pipe(R.reduce(function (acc, entry) {
71
- var index = R.pathOr(null, ['value', '__index'], entry);
72
- if (R.isNil(index)) {
73
- return acc;
74
- }
75
- return R.append(index, acc);
76
- }, []), R.join(':'));
77
-
78
- var getCoordinates = function getCoordinates(data, unitsId) {
79
- return R.reduce(function (acc, entry) {
80
- var dimId = R.path(['dimension', 'id'], entry);
81
- var valId = R.path(['value', 'id'], entry);
82
- if (dimId === unitsId) {
83
- return acc;
84
- }
85
- return R.assoc(dimId, valId, acc);
86
- }, {}, data);
87
- };
88
-
89
- var getLayoutDataWithFlags = exports.getLayoutDataWithFlags = function getLayoutDataWithFlags(seriesAttributes, display, customAttributes, metadataCoordinates, unitsId) {
90
- var regularAttrsIds = R.concat(customAttributes.flags || [], customAttributes.notes || []);
91
- var formatSublayout = function formatSublayout(getAttributes) {
92
- var mCoordinates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
93
- var supplData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
94
- return function (data) {
95
- var attributes = getAttributes(data);
96
- var key = getSerieKey(data);
97
- var cells = getSublayoutDataCells(display, customAttributes)(data);
98
- var flags = getFlagsFromSeriesAttributes(display, customAttributes)(attributes);
99
- var coordinates = getCoordinates(R.concat(supplData, data), unitsId);
100
- var hasMetadata = (0, _hasCellMetadata.hasCellMetadata)(mCoordinates, coordinates);
101
- var dataAdvancedAttrs = R.reduce(function (acc, _ref) {
102
- var dimension = _ref.dimension,
103
- value = _ref.value;
104
-
105
- var attrs = (0, _extends3.default)({}, dimension.attributes || {}, value.attributes || {});
106
- var advAttrs = R.omit(regularAttrsIds, attrs);
107
- return (0, _extends3.default)({}, acc, advAttrs);
108
- }, {}, data);
109
- var advancedAttributesSeries = R.isNil(attributes) ? {} : R.filter(function (serie) {
110
- return !R.isEmpty(R.omit(regularAttrsIds, R.propOr({}, 'attributes', serie)));
111
- }, attributes);
112
- var hasAdvancedAttributes = !R.isEmpty(advancedAttributesSeries) || !R.isEmpty(dataAdvancedAttrs);
113
- var sideProps = hasMetadata || hasAdvancedAttributes ? { hasAdvancedAttributes: hasAdvancedAttributes, hasMetadata: hasMetadata, coordinates: coordinates } : null;
114
-
115
- return { data: cells, key: key, flags: flags, sideProps: sideProps };
116
- };
117
- };
118
-
119
- return R.evolve({
120
- headerData: R.map(formatSublayout(function (data) {
121
- return getLayoutSerieAttributes(data, seriesAttributes);
122
- }, metadataCoordinates.header)),
123
- sectionsData: R.map(function (sectionData) {
124
- var sectionSerie = R.head(sectionData);
125
- var sectionAttributes = getLayoutSerieAttributes(sectionSerie, seriesAttributes);
126
- return [formatSublayout(function () {
127
- return sectionAttributes;
128
- }, metadataCoordinates.sections)(sectionSerie), R.map(formatSublayout(function (rowData) {
129
- return getLayoutSerieAttributes(R.concat(sectionSerie, rowData), R.omit(R.keys(sectionAttributes), seriesAttributes));
130
- }, metadataCoordinates.rows, sectionSerie))(R.last(sectionData))];
131
- })
132
- });
133
- };
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getTableCells = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- var _getCells = require('./getCells');
13
-
14
- var _getCuratedCells = require('./getCuratedCells');
15
-
16
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
17
-
18
- var getTableCells = exports.getTableCells = function getTableCells(data, layoutIds, display, customAttributes) {
19
- var cells = (0, _getCells.getCells)(data, layoutIds, display, customAttributes);
20
-
21
- var layout = R.pipe(R.mergeRight({ header: [], sections: [], rows: [] }), R.mapObjIndexed(R.flip(R.props)(R.pathOr({}, ['dimensions', 'many'], data))))(layoutIds);
22
-
23
- return (0, _getCuratedCells.getCuratedCells)({ layout: layout, observations: cells, shape: ['header', 'sections', 'rows'] });
24
- };
@@ -1,98 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getTableProps = undefined;
7
-
8
- var _extends2 = require('babel-runtime/helpers/extends');
9
-
10
- var _extends3 = _interopRequireDefault(_extends2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- var _getCells = require('./getCells');
17
-
18
- var _getConfirmedSeriesAttributesIds = require('./getConfirmedSeriesAttributesIds');
19
-
20
- var _getCuratedCells = require('./getCuratedCells');
21
-
22
- var _getLayoutWithFlags = require('./getLayoutWithFlags');
23
-
24
- var _getUnitsinLayout = require('../units/getUnitsinLayout');
25
-
26
- var _appendUnitsInLayoutData = require('../units/appendUnitsInLayoutData');
27
-
28
- var _cleanUnitsInLayoutData = require('../units/cleanUnitsInLayoutData');
29
-
30
- var _getSortedLayoutIndexes = require('./getSortedLayoutIndexes');
31
-
32
- var _refineLayoutSize = require('./refineLayoutSize');
33
-
34
- var _getLayoutData = require('./getLayoutData');
35
-
36
- var _refineMetadataCoordinates = require('../../../../rules2/src/refineMetadataCoordinates');
37
-
38
- var _invertTime2 = require('../../../../rules2/src/invertTime');
39
-
40
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
41
-
42
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
-
44
- var getTableProps = exports.getTableProps = function getTableProps(_ref) {
45
- var data = _ref.data,
46
- layoutIds = _ref.layoutIds,
47
- display = _ref.display,
48
- customAttributes = _ref.customAttributes,
49
- limit = _ref.limit,
50
- isTimeInverted = _ref.isTimeInverted;
51
-
52
- var seriesAttributes = R.propOr({}, 'seriesAttributes', data);
53
-
54
- var confirmedSeriesAttributesIds = (0, _getConfirmedSeriesAttributesIds.getConfirmedSeriesAttributesIds)(seriesAttributes, layoutIds);
55
-
56
- var refinedMetadataCoordinates = (0, _refineMetadataCoordinates.refineMetadataCoordinates)(data.metadataCoordinates, layoutIds);
57
-
58
- var _R$propOr = R.propOr({}, 'units', data),
59
- rejectedValueIds = _R$propOr.rejectedValueIds,
60
- unitDimension = _R$propOr.unitDimension,
61
- unitsAttachmentSeriesIds = _R$propOr.unitsAttachmentSeriesIds,
62
- unitsDefinitionCodes = _R$propOr.unitsDefinitionCodes,
63
- unitsSeries = _R$propOr.unitsSeries;
64
-
65
- var _getUnitsInLayout = (0, _getUnitsinLayout.getUnitsInLayout)({ layoutIds: layoutIds, unitsAttachmentSeriesIds: unitsAttachmentSeriesIds, unitsDefinitionCodes: unitsDefinitionCodes, unitsSeries: unitsSeries }),
66
- unitsLevelDisplay = _getUnitsInLayout.unitsLevelDisplay,
67
- unitsAttachmentIndexesInLayout = _getUnitsInLayout.unitsAttachmentIndexesInLayout,
68
- unitsIndexesInLayout = _getUnitsInLayout.unitsIndexesInLayout;
69
-
70
- var layoutDimsIds = R.pipe(R.pathOr({}, ['dimensions', 'many']), R.keys)(data);
71
-
72
- var cells = (0, _getCells.getCells)(data, display, R.assoc('rejected', confirmedSeriesAttributesIds, customAttributes), {
73
- unitsDefinitionCodes: unitsDefinitionCodes, unitsSeries: unitsSeries, unitsDisplay: unitsLevelDisplay,
74
- unitDimension: unitDimension, rejectedValueIds: rejectedValueIds, layoutDimsIds: layoutDimsIds
75
- }, refinedMetadataCoordinates.cells, data.observationsType);
76
-
77
- var _invertTime = (0, _invertTime2.invertTime)(data, isTimeInverted),
78
- dimensions = _invertTime.dimensions,
79
- observations = _invertTime.observations;
80
-
81
- var seriesAttributesValues = R.propOr({}, 'seriesAttributesValues', data);
82
- var layout = R.pipe(R.mergeRight({ header: [], sections: [], rows: [] }), R.mapObjIndexed(R.flip(R.props)(dimensions)))(layoutIds);
83
-
84
- var partialUnitSerieIndexes = R.pipe(R.pathOr(0, ['dimensions', 'length']), R.times(R.always('x')))(data);
85
-
86
- var layoutData = R.pipe(_getSortedLayoutIndexes.getSortedLayoutIndexes, (0, _refineLayoutSize.refineLayoutSize)({ layout: layout, observations: data.observations, limit: R.when(R.isNil, R.always(0))(limit) }), function (indexes) {
87
- return (0, _getLayoutData.getLayoutData)(indexes, layout);
88
- }, (0, _appendUnitsInLayoutData.appendUnitsInLayoutData)({
89
- display: display, unitDimension: unitDimension, unitsDisplay: unitsLevelDisplay, unitsSeries: unitsSeries,
90
- unitsDefinitionCodes: unitsDefinitionCodes, unitsIndexes: unitsAttachmentIndexesInLayout,
91
- partialUnitSerieIndexes: partialUnitSerieIndexes, rejectedValueIds: rejectedValueIds, layoutIds: layoutIds
92
- }), (0, _getLayoutWithFlags.getLayoutDataWithFlags)(seriesAttributesValues, display, customAttributes, refinedMetadataCoordinates, unitDimension.id), (0, _cleanUnitsInLayoutData.cleanUnitsInLayoutData)({ unitsDisplay: unitsLevelDisplay, unitsLayoutIndexes: unitsIndexesInLayout }))(layout, observations);
93
-
94
- return (0, _extends3.default)({
95
- cells: (0, _getCuratedCells.getCuratedCells)({ layout: layout, observations: cells, shape: ['header', 'sections', 'rows'] }),
96
- layout: layout
97
- }, layoutData);
98
- };
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDimensionsAttributesRegisters = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
13
-
14
- var getSerieRegisterPath = function getSerieRegisterPath(attribute, obsDimValuesIndexes) {
15
- var serieKey = R.pipe(R.addIndex(R.map)(function (dimensionValueIndex, dimensionIndex) {
16
- return R.when(R.always(!R.has(String(dimensionIndex), attribute.targetIndexes)), R.always('x'))(dimensionValueIndex);
17
- }), R.join(':'))(obsDimValuesIndexes);
18
-
19
- return ['series', serieKey, attribute.id];
20
- };
21
-
22
- var getDimensionRegisterPath = function getDimensionRegisterPath(attribute, obsDimValuesIndexes) {
23
- var dimensionIndex = attribute.targetIndex;
24
- var dimensionValueIndex = R.nth(dimensionIndex, obsDimValuesIndexes);
25
-
26
- return ['dimensions', dimensionIndex + ':' + dimensionValueIndex, attribute.id];
27
- };
28
-
29
- var getAttributesRegisters = function getAttributesRegisters(getPath) {
30
- return R.map(function (attribute) {
31
- return function (observation) {
32
- var valueIndex = R.nth(attribute.index, R.propOr([], 'attrValuesIndexes', observation));
33
-
34
- var registerPath = getPath(attribute, R.propOr([], 'dimValuesIndexes', observation));
35
-
36
- return R.over(R.lensPath(registerPath), R.ifElse(R.isNil, R.always([valueIndex]), R.append(valueIndex)));
37
- };
38
- });
39
- };
40
-
41
- var getDimensionsAttributesRegisters = exports.getDimensionsAttributesRegisters = function getDimensionsAttributesRegisters(attributesIds, attributesByIds) {
42
- return R.converge(R.concat, [R.pipe(R.propOr([], 'series'), R.flip(R.props)(attributesByIds), getAttributesRegisters(getSerieRegisterPath)), R.pipe(R.propOr([], 'manyValuesDimensions'), R.flip(R.props)(attributesByIds), getAttributesRegisters(getDimensionRegisterPath))])(attributesIds);
43
- };
@@ -1,33 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getManyValuesDimensions = undefined;
7
-
8
- var _extends2 = require('babel-runtime/helpers/extends');
9
-
10
- var _extends3 = _interopRequireDefault(_extends2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
15
-
16
- var _refineObservationsAttributesValues = require('./refineObservationsAttributesValues');
17
-
18
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- var getManyValuesDimensions = exports.getManyValuesDimensions = function getManyValuesDimensions(dimensionsByIds, dimensionsIds, attributeValues, attributes) {
23
- return R.mapObjIndexed(function (dimension) {
24
- var dimensionIndex = R.prop(dimension.id, dimensionsIds);
25
- var values = R.map(function (value) {
26
- var valueAttributes = (0, _refineObservationsAttributesValues.refineObservationsAttributesValues)(attributes)(R.propOr({}, dimensionIndex + ':' + value.__index, attributeValues));
27
- return (0, _extends3.default)({}, R.pick(['id', 'name', '__indexPosition', 'parent', '__index', 'notes'], value), {
28
- attributes: valueAttributes
29
- });
30
- }, dimension.values);
31
- return R.assoc('values', values, dimension);
32
- }, R.pick(R.keys(dimensionsIds), dimensionsByIds));
33
- };