@sis-cc/dotstatsuite-components 20.5.0 → 21.0.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/.gitlab-ci.yml +3 -2
  2. package/LICENSE +1 -1
  3. package/README.md +1 -17
  4. package/package.json +20 -14
  5. package/src/bridge-d3-react/src/react-chart-factory.js +1 -2
  6. package/src/rules/src/factories/sample-series.js +1 -1
  7. package/src/rules/src/index.js +14 -13
  8. package/src/rules/src/observation-formater.js +0 -1
  9. package/src/rules/src/properties/focus.js +3 -3
  10. package/src/rules/src/sdmx-data/index.js +2 -0
  11. package/src/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +5 -1
  12. package/src/rules2/src/table/getLayoutData2.js +4 -1
  13. package/src/viewer/src/index.js +4 -5
  14. package/src/viewer/src/legends/AxisLegend.js +0 -7
  15. package/src/viewer/src/legends/FocusLegend.js +2 -10
  16. package/src/viewer/src/legends/Legend.js +0 -6
  17. package/src/viewer/src/legends/SeriesLegend.js +0 -7
  18. package/test/hierarchiseDimensionWithNativeHierarchy2.test.js +59 -32
  19. package/vite.config.mjs +51 -0
  20. package/lib/app.js +0 -22
  21. package/lib/bridge-d3-react/src/app.js +0 -98
  22. package/lib/bridge-d3-react/src/index.js +0 -33
  23. package/lib/bridge-d3-react/src/mock-choro.js +0 -41
  24. package/lib/bridge-d3-react/src/react-chart-factory.js +0 -103
  25. package/lib/index.js +0 -41
  26. package/lib/rules/src/chart/getAxisOptions.js +0 -206
  27. package/lib/rules/src/chart/getBaseOptions.js +0 -51
  28. package/lib/rules/src/chart/getChartOptions.js +0 -106
  29. package/lib/rules/src/chart/getGridOptions.js +0 -21
  30. package/lib/rules/src/chart/getTooltipOptions.js +0 -84
  31. package/lib/rules/src/constants.js +0 -68
  32. package/lib/rules/src/date.js +0 -180
  33. package/lib/rules/src/dimension-utils.js +0 -67
  34. package/lib/rules/src/factories/choro-series.js +0 -99
  35. package/lib/rules/src/factories/sample-focus.js +0 -64
  36. package/lib/rules/src/factories/sample-series.js +0 -90
  37. package/lib/rules/src/factories/scatter-dimension.js +0 -72
  38. package/lib/rules/src/factories/scatter-focus.js +0 -77
  39. package/lib/rules/src/factories/scatter-series.js +0 -145
  40. package/lib/rules/src/factories/stacked-dimension.js +0 -42
  41. package/lib/rules/src/factories/stacked-series.js +0 -166
  42. package/lib/rules/src/factories/symbol-dimension.js +0 -69
  43. package/lib/rules/src/factories/symbol-series.js +0 -119
  44. package/lib/rules/src/factories/timeline-focus.js +0 -38
  45. package/lib/rules/src/factories/timeline-series.js +0 -121
  46. package/lib/rules/src/get-values-enhanced.js +0 -141
  47. package/lib/rules/src/header/getDefaultSubtitle.js +0 -50
  48. package/lib/rules/src/header/getHeaderUnits.js +0 -26
  49. package/lib/rules/src/header/getSubtitleFlags.js +0 -53
  50. package/lib/rules/src/header/getTitleFlags.js +0 -24
  51. package/lib/rules/src/header/index.js +0 -41
  52. package/lib/rules/src/index.js +0 -714
  53. package/lib/rules/src/layout.js +0 -98
  54. package/lib/rules/src/observation-formater.js +0 -112
  55. package/lib/rules/src/preparators/enhanceObservations.js +0 -142
  56. package/lib/rules/src/preparators/formatValue.js +0 -83
  57. package/lib/rules/src/preparators/getObservations.js +0 -27
  58. package/lib/rules/src/preparators/getReportingYearStart.js +0 -52
  59. package/lib/rules/src/properties/errors.js +0 -31
  60. package/lib/rules/src/properties/focus.js +0 -90
  61. package/lib/rules/src/properties/getAvailableChartTypes.js +0 -30
  62. package/lib/rules/src/properties/getHeaderProps.js +0 -83
  63. package/lib/rules/src/properties/getInformationsStateFromNewProps.js +0 -61
  64. package/lib/rules/src/properties/getObservationsType.js +0 -31
  65. package/lib/rules/src/properties/getStringifiedSubtitle.js +0 -18
  66. package/lib/rules/src/properties/index.js +0 -401
  67. package/lib/rules/src/properties/information.js +0 -79
  68. package/lib/rules/src/properties/linear.js +0 -158
  69. package/lib/rules/src/properties/scatter.js +0 -174
  70. package/lib/rules/src/properties/stacked.js +0 -133
  71. package/lib/rules/src/properties/symbol.js +0 -96
  72. package/lib/rules/src/properties/utils.js +0 -126
  73. package/lib/rules/src/sdmx-data/index.js +0 -55
  74. package/lib/rules/src/table/factories/getCellValue.js +0 -57
  75. package/lib/rules/src/table/index.js +0 -14
  76. package/lib/rules/src/v8-transformer.js +0 -184
  77. package/lib/rules/test/extractSdmxArtefacts.js +0 -37
  78. package/lib/rules/test/get-values-enhanced.test.js +0 -128
  79. package/lib/rules/test/oecd-HEALTH_PROT-parsed.js +0 -303
  80. package/lib/rules/test/scatter-property.js +0 -403
  81. package/lib/rules/test/stacked-property.js +0 -244
  82. package/lib/rules/test/symbol-property.js +0 -234
  83. package/lib/rules/test/v8-transformer.test.js +0 -82
  84. package/lib/rules2/src/applyHierarchicalCodesToDim.js +0 -175
  85. package/lib/rules2/src/combinedValuesDisplay.js +0 -71
  86. package/lib/rules2/src/constants.js +0 -11
  87. package/lib/rules2/src/duplicateObservations.js +0 -39
  88. package/lib/rules2/src/enhanceObservations.js +0 -103
  89. package/lib/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -39
  90. package/lib/rules2/src/getAttributesSeries.js +0 -40
  91. package/lib/rules2/src/getCombinationDefinitions.js +0 -72
  92. package/lib/rules2/src/getDataflowAttributes.js +0 -34
  93. package/lib/rules2/src/getDataflowTooltipAttributesIds.js +0 -38
  94. package/lib/rules2/src/getDimensionValuesIndexes.js +0 -19
  95. package/lib/rules2/src/getHCodelistsRefsInData.js +0 -49
  96. package/lib/rules2/src/getHeaderCombinations.js +0 -51
  97. package/lib/rules2/src/getHeaderCoordinates.js +0 -18
  98. package/lib/rules2/src/getHeaderSubtitle.js +0 -41
  99. package/lib/rules2/src/getHeaderTitle.js +0 -29
  100. package/lib/rules2/src/getMSDInformations.js +0 -43
  101. package/lib/rules2/src/getManyValuesDimensions.js +0 -39
  102. package/lib/rules2/src/getMetadataCoordinates.js +0 -40
  103. package/lib/rules2/src/getMetadataStructureFromData.js +0 -23
  104. package/lib/rules2/src/getNotDisplayedIds.js +0 -58
  105. package/lib/rules2/src/getOneValueDimensions.js +0 -48
  106. package/lib/rules2/src/getSeriesCombinations.js +0 -33
  107. package/lib/rules2/src/hasCellMetadata.js +0 -22
  108. package/lib/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +0 -65
  109. package/lib/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +0 -36
  110. package/lib/rules2/src/index.js +0 -443
  111. package/lib/rules2/src/parseAttributes.js +0 -51
  112. package/lib/rules2/src/parseCombinations.js +0 -96
  113. package/lib/rules2/src/parseHierarchicalCodelist.js +0 -57
  114. package/lib/rules2/src/parseMetadataSeries.js +0 -119
  115. package/lib/rules2/src/prepareData.js +0 -113
  116. package/lib/rules2/src/refineAttributes.js +0 -32
  117. package/lib/rules2/src/refineDimensions.js +0 -38
  118. package/lib/rules2/src/refineMetadataCoordinates.js +0 -35
  119. package/lib/rules2/src/refineTimePeriod.js +0 -154
  120. package/lib/rules2/src/sdmx3.0DataFormatPatch.js +0 -20
  121. package/lib/rules2/src/table/declineObservationsOverAttributes.js +0 -43
  122. package/lib/rules2/src/table/getCells.js +0 -90
  123. package/lib/rules2/src/table/getCellsAttributesIds.js +0 -63
  124. package/lib/rules2/src/table/getCellsMetadataCoordinates.js +0 -30
  125. package/lib/rules2/src/table/getCombinationDimensionsData.js +0 -48
  126. package/lib/rules2/src/table/getCuratedCells.js +0 -28
  127. package/lib/rules2/src/table/getFlagsAndNotes.js +0 -30
  128. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +0 -31
  129. package/lib/rules2/src/table/getLayout.js +0 -105
  130. package/lib/rules2/src/table/getLayoutData2.js +0 -269
  131. package/lib/rules2/src/table/getSortedLayoutIndexes.js +0 -136
  132. package/lib/rules2/src/table/getTableLabelAccessor.js +0 -20
  133. package/lib/rules2/src/table/getTableLayoutIds.js +0 -365
  134. package/lib/rules2/src/table/getTableProps.js +0 -96
  135. package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +0 -124
  136. package/lib/rules2/src/table/parseValueHierarchy.js +0 -63
  137. package/lib/rules2/src/table/refineLayoutSize2.js +0 -293
  138. package/lib/rules2/src/utils.js +0 -48
  139. package/lib/viewer/mocks/bar.js +0 -21
  140. package/lib/viewer/mocks/gpp-symbol.js +0 -55
  141. package/lib/viewer/mocks/gpp-time.js +0 -1023
  142. package/lib/viewer/mocks/row.js +0 -26
  143. package/lib/viewer/mocks/scatter.js +0 -84
  144. package/lib/viewer/mocks/stack.js +0 -93
  145. package/lib/viewer/src/app/leg.js +0 -101
  146. package/lib/viewer/src/app/nodata-res.js +0 -40
  147. package/lib/viewer/src/app/nodata-sized.js +0 -41
  148. package/lib/viewer/src/app/one-table-cell.js +0 -75
  149. package/lib/viewer/src/app/table.js +0 -300
  150. package/lib/viewer/src/app/use-case-1.js +0 -60
  151. package/lib/viewer/src/app/use-case-2.js +0 -82
  152. package/lib/viewer/src/app/use-case-3.js +0 -52
  153. package/lib/viewer/src/app.js +0 -162
  154. package/lib/viewer/src/chart.js +0 -82
  155. package/lib/viewer/src/chartUtils/options.js +0 -30
  156. package/lib/viewer/src/chartUtils/series.js +0 -63
  157. package/lib/viewer/src/footer.js +0 -54
  158. package/lib/viewer/src/header.js +0 -29
  159. package/lib/viewer/src/index.js +0 -243
  160. package/lib/viewer/src/legends/AxisLegend.js +0 -84
  161. package/lib/viewer/src/legends/ChartLegends.js +0 -100
  162. package/lib/viewer/src/legends/FocusLegend.js +0 -89
  163. package/lib/viewer/src/legends/Legend.js +0 -88
  164. package/lib/viewer/src/legends/SeriesLegend.js +0 -108
  165. package/lib/viewer/src/utils.js +0 -36
@@ -1,175 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.applyHierarchicalCodesToDim = undefined;
7
-
8
- var _extends2 = require('babel-runtime/helpers/extends');
9
-
10
- var _extends3 = _interopRequireDefault(_extends2);
11
-
12
- var _set = require('babel-runtime/core-js/set');
13
-
14
- var _set2 = _interopRequireDefault(_set);
15
-
16
- var _ramda = require('ramda');
17
-
18
- var R = _interopRequireWildcard(_ramda);
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 addParentId = function addParentId(id, ids) {
25
- var last = R.last(ids);
26
- return R.append(R.isNil(last) ? id : last + '.' + id, ids);
27
- };
28
-
29
- var refineUnconfirmedPaths = function refineUnconfirmedPaths(paths) {
30
- var confirmedPaths = R.filter(function (p) {
31
- return p.length === 1;
32
- }, paths);
33
- if (!R.isEmpty(confirmedPaths)) {
34
- confirmedPaths = R.reduce(function (acc, k) {
35
- if (R.has(k, acc)) {
36
- return acc;
37
- }
38
- var ps = R.prop(k, paths);
39
- var flatConfirmed = R.unnest(R.values(acc));
40
- var filtered = R.filter(function (p) {
41
- return !!R.find(function (cP) {
42
- return R.includes(p, cP) || R.includes(cP, p);
43
- }, flatConfirmed);
44
- }, ps);
45
- if (!R.isEmpty(filtered)) {
46
- return R.assoc(k, [R.head(filtered)], acc);
47
- }
48
- return acc;
49
- }, confirmedPaths, R.keys(paths));
50
- }
51
- var remainingIds = R.reject(function (id) {
52
- return R.has(id, confirmedPaths);
53
- }, R.keys(paths));
54
- var getCommonPaths = function getCommonPaths(ids) {
55
- var _R$reduce = R.reduce(function (acc, id) {
56
- var ps = R.prop(id, paths);
57
- if (R.isEmpty(acc.commonPaths)) {
58
- return R.assoc('commonPaths', ps, acc);
59
- }
60
- var common = R.intersection(acc.commonPaths, ps);
61
- return R.isEmpty(common) ? R.assoc('rejectedChildrenIds', id, acc) : R.assoc('commonPaths', common, acc);
62
- }, { commonPaths: [], rejectedIds: [] })(ids),
63
- commonPaths = _R$reduce.commonPaths,
64
- rejectedIds = _R$reduce.rejectedIds;
65
-
66
- if (!R.isEmpty(rejectedIds)) {
67
- return R.append(R.head(commonPaths), getCommonPaths(rejectedIds));
68
- }
69
- return [R.head(commonPaths)];
70
- };
71
- var commons = getCommonPaths(remainingIds);
72
- return R.reduce(function (acc, id) {
73
- return R.assoc(id, R.intersection(commons, R.prop(id, paths)), acc);
74
- }, confirmedPaths, remainingIds);
75
- };
76
-
77
- var applyHierarchicalCodesToDim = exports.applyHierarchicalCodesToDim = function applyHierarchicalCodesToDim(hCodes, dim) {
78
- var confirmedHierarchisedChilds = new _set2.default([]);
79
- var unconfirmedPaths = {};
80
-
81
- var indexedValues = R.reduce(function (acc, val) {
82
- if (!val.isSelected) {
83
- return acc;
84
- }
85
- return R.assoc(val.id, val, acc);
86
- }, {}, dim.values || []);
87
-
88
- var parseHCodes = function parseHCodes(parentsDef, parentsInDim) {
89
- return R.reduce(function (acc, hC) {
90
- var codeID = hC.codeID,
91
- _hC$hierarchicalCodes = hC.hierarchicalCodes,
92
- hierarchicalCodes = _hC$hierarchicalCodes === undefined ? [] : _hC$hierarchicalCodes;
93
-
94
- var hasInDim = R.has(codeID, indexedValues);
95
- var isUnconfirmed = R.length(parentsInDim) !== R.length(parentsDef);
96
- var children = parseHCodes(R.append(codeID, parentsDef), hasInDim ? addParentId(codeID, parentsInDim) : parentsInDim)(hierarchicalCodes);
97
- if (!hasInDim) {
98
- return R.concat(acc, children);
99
- }
100
- var path = R.join('.', parentsDef);
101
- var val = (0, _extends3.default)({}, R.prop(codeID, indexedValues), {
102
- path: path,
103
- parents: parentsInDim,
104
- parent: R.last(parentsInDim),
105
- children: children
106
- });
107
-
108
- if (isUnconfirmed) {
109
- unconfirmedPaths = R.over(R.lensProp(val.id), function (paths) {
110
- return R.append(path, paths || []);
111
- }, unconfirmedPaths);
112
- val = R.assoc('unconfirmed', true, val);
113
- return R.append(val, acc);
114
- }
115
- confirmedHierarchisedChilds.add(codeID);
116
- return R.append(val, acc);
117
- }, []);
118
- };
119
-
120
- var parsed = parseHCodes([], [])(hCodes);
121
-
122
- var _unconfirmedPaths = R.pipe(R.reject(function (id) {
123
- return confirmedHierarchisedChilds.has(id);
124
- }), function (ids) {
125
- return R.pick(ids, unconfirmedPaths);
126
- })(R.keys(unconfirmedPaths));
127
-
128
- var refinedUnconfirmedPaths = refineUnconfirmedPaths(_unconfirmedPaths);
129
-
130
- var flattenDescendants = R.reduce(function (acc, val) {
131
- var children = flattenDescendants(val.children || []);
132
- return R.concat(acc, R.prepend(val, children));
133
- }, []);
134
-
135
- var isValid = function isValid(val) {
136
- return !val.unconfirmed || R.includes(val.path, R.propOr([], val.id, refinedUnconfirmedPaths));
137
- };
138
-
139
- var refineCodes = R.reduce(function (acc, hC) {
140
- var _flatDescendants = flattenDescendants(hC.children);
141
- var flatDescendants = R.prepend(hC, _flatDescendants);
142
- var validDescendant = R.find(isValid, flatDescendants);
143
- if (!validDescendant) {
144
- return acc;
145
- }
146
- var refined = R.pipe(R.map(function (v) {
147
- confirmedHierarchisedChilds.add(v.id);
148
- return R.omit(['unconfirmed', 'children', 'path'], v);
149
- }))(flatDescendants);
150
- return R.concat(acc, refined);
151
- }, []);
152
-
153
- var refined = refineCodes(parsed);
154
-
155
- var missingValues = R.pipe(R.keys, R.filter(function (id) {
156
- return !confirmedHierarchisedChilds.has(id);
157
- }), function (ids) {
158
- return R.props(ids, indexedValues);
159
- }, R.map(function (v) {
160
- return (0, _extends3.default)({}, v, { parents: [], parent: undefined });
161
- }), R.sortBy(R.propOr(-1, '__indexPosition')))(indexedValues);
162
-
163
- var hierarchicalIndexes = {};
164
- return R.pipe(R.concat, R.addIndex(R.map)(function (v, ind) {
165
- var parents = R.props(v.parents, hierarchicalIndexes);
166
- var hierId = R.last(v.parents) ? R.last(v.parents) + '.' + v.id : v.id;
167
- hierarchicalIndexes[hierId] = ind;
168
- return (0, _extends3.default)({}, v, {
169
- parents: parents,
170
- __indexPosition: ind
171
- });
172
- }), function (values) {
173
- return (0, _extends3.default)({}, dim, { values: values });
174
- })(missingValues, refined);
175
- };
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.combinedValuesDisplay = exports.singleValueDisplay = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- var _src = require('../../rules/src');
13
-
14
- var _constants = require('./constants');
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 getRefinedMissinParentsLabels = R.pipe(R.propOr([], 'missingParents'), R.reduce(function (acc, par) {
19
- if (!R.propOr(true, 'display', par) || R.includes(par.id, _constants.REJECTED_VALUE_IDS)) {
20
- return acc;
21
- }
22
- return R.append((0, _src.dimensionValueDisplay)('label')(par), acc);
23
- }, []));
24
-
25
- var singleValueDisplay = exports.singleValueDisplay = function singleValueDisplay(display, value) {
26
- if (display === 'label') {
27
- return R.converge(function (missingParents, label) {
28
- return R.isEmpty(missingParents) ? label : R.join(' > ', R.append(label, missingParents));
29
- }, [getRefinedMissinParentsLabels, (0, _src.dimensionValueDisplay)(display)])(value);
30
- } else if (display === 'both') {
31
- return '(' + singleValueDisplay('code', value) + ') ' + singleValueDisplay('label', value);
32
- }
33
- return (0, _src.dimensionValueDisplay)(display)(value);
34
- };
35
-
36
- var _combinedValuesDisplay = function _combinedValuesDisplay(_display) {
37
- return function (values) {
38
- return R.pipe(R.reduce(function (acc, val) {
39
- if (R.isNil(val)) return acc;
40
- var isDisplayed = R.propOr(true, 'display', val);
41
- var isRejected = R.includes(val.id, _constants.REJECTED_VALUE_IDS);
42
- if ((!isDisplayed || isRejected) && _display === 'label') return acc;
43
- return R.append(singleValueDisplay(_display, val), acc);
44
- }, []), function (labels) {
45
- if (!R.isEmpty(labels) || _display !== 'label') {
46
- return R.join(', ', labels);
47
- }
48
- var totalValue = R.find(R.propEq('id', '_T'), values);
49
- if (!R.isNil(totalValue)) {
50
- return (0, _src.dimensionValueDisplay)('label')(totalValue);
51
- }
52
- if (R.isEmpty(values)) {
53
- return '';
54
- }
55
- var firstValue = R.head(values);
56
- return (0, _src.dimensionValueDisplay)('label')(firstValue);
57
- })(values);
58
- };
59
- };
60
-
61
- var combinedValuesDisplay = exports.combinedValuesDisplay = function combinedValuesDisplay(display, values) {
62
- if (display === 'both') {
63
- return R.converge(function (_ids, labels) {
64
- return (0, _src.dimensionValueDisplay)('both')({
65
- id: _ids,
66
- name: labels
67
- });
68
- }, [_combinedValuesDisplay('code'), _combinedValuesDisplay('label')])(values);
69
- }
70
- return _combinedValuesDisplay(display)(values);
71
- };
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var SDMX_3_0_JSON_DATA_FORMAT = exports.SDMX_3_0_JSON_DATA_FORMAT = 'application/vnd.sdmx.data+json;version=2.0';
7
- var SDMX_3_0_CSV_DATA_FORMAT = exports.SDMX_3_0_CSV_DATA_FORMAT = 'application/vnd.sdmx.data+csv;version=2.0';
8
- var EMPTY_ATTACHMENT_LEVEL_CHAR = exports.EMPTY_ATTACHMENT_LEVEL_CHAR = '~';
9
- var REPORTING_YEAR_START_DAY = exports.REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';
10
- var REPYEARSTART = exports.REPYEARSTART = 'REPYEARSTART';
11
- var REJECTED_VALUE_IDS = exports.REJECTED_VALUE_IDS = ['_L', '_T', '_Z'];
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.duplicateObs = 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 duplicateObs = exports.duplicateObs = function duplicateObs(dims, observations) {
15
- var obsValues = R.values(observations);
16
- if (R.length(dims) === 0) {
17
- return observations;
18
- }
19
- var duplicated = R.reduce(function (obs, dim) {
20
- var groupedObs = R.groupBy(function (o) {
21
- return R.prop(dim.id, o.indexedDimValIds);
22
- }, obs);
23
- var enhancedObs = R.addIndex(R.map)(function (value, index) {
24
- var matchingObs = R.propOr([], value.id, groupedObs);
25
-
26
- return R.map(function (obs) {
27
- return R.over(R.lensProp('orderedDimIndexes'), function (_indexes) {
28
- var indexes = R.isNil(_indexes) ? R.map(function (i) {
29
- return Number(i);
30
- }, obs.dimValuesIndexes) : _indexes;
31
- return R.set(R.lensIndex(dim.__index), index)(indexes);
32
- })(obs);
33
- }, matchingObs);
34
- }, dim.values);
35
- return R.unnest(enhancedObs);
36
- }, obsValues, dims);
37
- var res = R.indexBy(R.pipe(R.prop('orderedDimIndexes'), R.join(':')), duplicated);
38
- return res;
39
- };
@@ -1,103 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.enhanceObservations = 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 _formatValue = require('../../rules/src/preparators/formatValue');
17
-
18
- var _constants = require('./constants');
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
- /*
25
- options = {
26
- customAttributes: {
27
- decimals: id,
28
- prefscale: id,
29
- },
30
- }
31
- */
32
-
33
- var parseAttributesValues = function parseAttributesValues(obs, attributes, indexedDimensions) {
34
- var attrValuesIndexes = obs.attrValuesIndexes,
35
- dimValuesIndexes = obs.dimValuesIndexes;
36
-
37
- return R.addIndex(R.reduce)(function (acc, valueIndex, attrIndex) {
38
- var attribute = R.nth(attrIndex, attributes);
39
- if (R.isNil(attribute) || !R.prop('series', attribute)) {
40
- return acc;
41
- }
42
- var _value = R.nth(valueIndex, attribute.values || []);
43
- var value = R.isNil(_value) ? _value : R.over(R.lensProp('display'), function () {
44
- var display = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
45
- return display && !R.includes(_value.id, _constants.REJECTED_VALUE_IDS);
46
- })(_value);
47
- if (!R.propOr(true, 'display', attribute) || !R.propOr(true, 'display', value)) {
48
- value = null;
49
- }
50
- var relationship = R.propOr([], 'relationship', attribute);
51
- var coordinates = {};
52
- var serieKey = R.pipe(function (dims) {
53
- return R.isEmpty(relationship) ? R.values(dims) : R.props(relationship, dims);
54
- }, R.map(function (dim) {
55
- var valueIndex = R.nth(dim.__index, dimValuesIndexes);
56
- var valueId = R.path(['values', valueIndex, 'id'], dim);
57
- coordinates = R.assoc(dim.id, valueId, coordinates);
58
- return dim.id + '=' + valueId;
59
- }), R.ifElse(R.isEmpty, R.always(null), R.join(':')))(indexedDimensions);
60
-
61
- return R.assoc(attribute.id, (0, _extends3.default)({}, R.pick(['id', 'name', 'relationship', 'display', 'combined'], attribute), { value: value, serieKey: serieKey, coordinates: coordinates, isObs: R.isEmpty(relationship) }), acc);
62
- }, {}, attrValuesIndexes);
63
- };
64
-
65
- var getFormatAttributesIndexes = function getFormatAttributesIndexes(attributes, customAttributes) {
66
- return R.addIndex(R.reduce)(function (acc, attribute, index) {
67
- if (R.equals(attribute.id, customAttributes.decimals)) {
68
- return (0, _extends3.default)({}, acc, { decimals: index });
69
- }
70
- if (R.equals(attribute.id, customAttributes.prefscale)) {
71
- return (0, _extends3.default)({}, acc, { prefscale: index });
72
- }
73
- return acc;
74
- }, { prefscale: null, decimals: null }, attributes);
75
- };
76
-
77
- var enhanceObservations = exports.enhanceObservations = function enhanceObservations() {
78
- var dimensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
79
- var observations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
80
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
81
- var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
82
-
83
- var formatAttributesIndexes = getFormatAttributesIndexes(attributes, R.propOr({}, 'customAttributes', options));
84
- var indexedDimensions = R.indexBy(R.prop('id'), dimensions);
85
-
86
- return R.map(function (observation) {
87
- var dimValuesIndexes = observation.dimValuesIndexes;
88
-
89
-
90
- var indexedDimValIds = R.addIndex(R.reduce)(function (acc, dimension, dimensionIndex) {
91
- var id = dimension.id;
92
- var valueIndex = R.nth(dimensionIndex, dimValuesIndexes);
93
- var valueId = R.path(['values', Number(valueIndex), 'id'], dimension);
94
- return R.assoc(id, valueId, acc);
95
- }, {}, dimensions);
96
-
97
- return (0, _extends3.default)({}, observation, {
98
- attributes: parseAttributesValues(observation, attributes, indexedDimensions),
99
- formattedValue: (0, _formatValue.formatValue)(observation, formatAttributesIndexes, attributes),
100
- indexedDimValIds: indexedDimValIds
101
- });
102
- }, observations);
103
- };
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getAdvAttrSeriesAtCoordinates = 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 attribueValueDisplay = function attribueValueDisplay(display) {
15
- return function (data) {
16
- if (display === 'code') {
17
- return R.prop('id', data);
18
- }
19
- if (display === 'both') {
20
- return R.prop('id', data) + ': ' + R.prop('name', data);
21
- }
22
- return R.prop('name', data);
23
- };
24
- };
25
-
26
- var getAdvAttrSeriesAtCoordinates = exports.getAdvAttrSeriesAtCoordinates = function getAdvAttrSeriesAtCoordinates(coordinates, advancedAttributes, display) {
27
- return R.pipe(R.filter(function (serie) {
28
- var mergedCoord = R.mergeLeft(serie.coordinates, coordinates);
29
- return R.equals(mergedCoord, coordinates);
30
- }), R.map(function (serie) {
31
- return R.pipe(R.propOr({}, 'attributes'), R.values, R.map(function (attribute) {
32
- return {
33
- id: attribute.id,
34
- label: attribueValueDisplay(display)(attribute),
35
- value: attribueValueDisplay(display)(attribute.value)
36
- };
37
- }))(serie);
38
- }))(advancedAttributes);
39
- };
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getAttributesSeries = 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 getAttributesSeries = exports.getAttributesSeries = function getAttributesSeries(observations) {
15
- return R.pipe(R.values, R.reduce(function (acc, _ref) {
16
- var attributes = _ref.attributes;
17
-
18
- var res = acc.res;
19
- var rejected = acc.rejected;
20
- R.forEachObjIndexed(function (attribute) {
21
- if (!R.isNil(attribute.serieKey) && !attribute.isObs) {
22
- if (R.isNil(attribute.value)) {
23
- res = R.dissocPath([attribute.serieKey, attribute.id], res);
24
- rejected = R.assocPath([attribute.serieKey, attribute.id], true, rejected);
25
- }
26
- if (R.path([attribute.serieKey, attribute.id], rejected)) {
27
- return;
28
- }
29
- var valueInRes = R.path([attribute.serieKey, attribute.id, 'value', 'id'], res);
30
- if (!R.isNil(valueInRes) && valueInRes !== R.path(['value', 'id'], attribute)) {
31
- res = R.dissocPath([attribute.serieKey, attribute.id], res);
32
- rejected = R.assocPath([attribute.serieKey, attribute.id], true, rejected);
33
- } else {
34
- res = R.assocPath([attribute.serieKey, attribute.id], attribute, res);
35
- }
36
- }
37
- }, attributes);
38
- return { res: res, rejected: rejected };
39
- }, { res: {}, rejected: {} }), R.prop('res'))(observations);
40
- };
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCombinationDefinitions = exports.parseCombinationDefinition = undefined;
7
-
8
- var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
-
10
- var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
-
12
- var _ramda = require('ramda');
13
-
14
- var R = _interopRequireWildcard(_ramda);
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
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- var parseTexts = function parseTexts(texts) {
21
- return R.reduce(function (acc, text) {
22
- var splitted = R.split(':', text);
23
- if (R.length(splitted) !== 2) {
24
- return acc;
25
- }
26
-
27
- var _splitted = (0, _slicedToArray3.default)(splitted, 2),
28
- id = _splitted[0],
29
- name = _splitted[1];
30
-
31
- return R.assoc(id, name, acc);
32
- }, {}, texts);
33
- };
34
-
35
- var parseCombinationDefinition = exports.parseCombinationDefinition = function parseCombinationDefinition(locale) {
36
- return function (title, texts) {
37
- return R.useWith(function (titles, texts) {
38
- return R.reduce(function (acc, title) {
39
- var split = R.split(':', title);
40
- if (R.length(split) !== 2) {
41
- return acc;
42
- }
43
-
44
- var _split = (0, _slicedToArray3.default)(split, 2),
45
- id = _split[0],
46
- codes = _split[1];
47
-
48
- if (R.isEmpty(codes)) {
49
- return acc;
50
- }
51
- return R.append({
52
- id: id,
53
- concepts: R.split(',', codes),
54
- name: R.hasPath([locale, id], texts) ? R.path([locale, id], texts) : '[' + id + ']'
55
- }, acc);
56
- }, [], titles);
57
- }, [R.split(';'), R.map(R.pipe(R.split(';'), parseTexts))])(title, texts);
58
- };
59
- };
60
-
61
- var getCombinationDefinitions = exports.getCombinationDefinitions = function getCombinationDefinitions(annotations, locale) {
62
- var annotation = R.find(function (annot) {
63
- return annot.type === 'COMBINED_CONCEPTS';
64
- }, annotations);
65
- if (R.isNil(annotation)) {
66
- return [];
67
- }
68
- var title = R.propOr('', 'title', annotation);
69
- var texts = R.propOr({}, 'texts', annotation);
70
-
71
- return parseCombinationDefinition(locale)(title, texts);
72
- };
@@ -1,34 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDataflowAttributes = 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 _constants = require('./constants');
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 getDataflowAttributes = exports.getDataflowAttributes = function getDataflowAttributes(attributes, combinations) {
23
- var combinationsConceptsIds = R.pipe(R.pluck('concepts'), R.unnest)(combinations);
24
- return R.reduce(function (acc, attribute) {
25
- if (!R.prop('header', attribute) || !R.isEmpty(attribute.relationship) || R.includes(attribute.id, combinationsConceptsIds)) {
26
- return acc;
27
- }
28
- var value = R.head(attribute.values);
29
- if (!R.propOr(true, 'display', attribute) || R.isNil(value) || !R.propOr(true, 'display', value) || R.includes(R.prop('id', value), _constants.REJECTED_VALUE_IDS)) {
30
- return acc;
31
- }
32
- return R.assoc(attribute.id, (0, _extends3.default)({}, R.pick(['id', 'name'], attribute), { value: value }), acc);
33
- }, {}, attributes);
34
- };
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDataflowTooltipAttributesIds = 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 getDataflowTooltipAttributesIds = exports.getDataflowTooltipAttributesIds = function getDataflowTooltipAttributesIds(sdmxJson) {
15
- var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
-
17
- var dataflowAnnotationsIndexes = R.pathOr([], ['data', 'dataSets', 0, 'annotations'], sdmxJson);
18
- var dataflowAnnotations = R.props(dataflowAnnotationsIndexes, R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson));
19
-
20
- var flagsAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_FLAG'), dataflowAnnotations);
21
- var footnotesAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_NOTE'), dataflowAnnotations);
22
-
23
- var customFlags = R.pipe(R.propOr('', 'title'), function (title) {
24
- return R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title);
25
- })(flagsAttrAnnotation || {});
26
-
27
- var customNotes = R.pipe(R.propOr('', 'title'), function (title) {
28
- return R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title);
29
- }, function (notes) {
30
- return R.difference(notes, customFlags);
31
- })(footnotesAttrAnnotation || {});
32
-
33
- var flags = R.isNil(flagsAttrAnnotation) ? R.difference(defaults.flags || [], customNotes) : customFlags;
34
-
35
- var notes = R.isNil(footnotesAttrAnnotation) ? R.difference(defaults.notes || [], flags) : customNotes;
36
-
37
- return { flags: flags, notes: notes };
38
- };
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDimensionValuesIndexes = 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 getDimensionValuesIndexes = exports.getDimensionValuesIndexes = function getDimensionValuesIndexes(values) {
15
- return R.addIndex(R.reduce)(function (acc, value, position) {
16
- var sdmxIndex = value.__index;
17
- return R.over(R.lensProp(String(sdmxIndex)), R.ifElse(R.isNil, R.always([position]), R.append(position)))(acc);
18
- }, {}, values);
19
- };