@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,55 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getIsHidden = exports.hiddenFormat = exports.getRelationnalAnnotations = exports.setAnnotationsLayout = exports.LAYOUT_ROW_SECTION = exports.LAYOUT_COLUMN = exports.LAYOUT_ROW = 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 LAYOUT_ROW = exports.LAYOUT_ROW = 'LAYOUT_ROW';
15
- var LAYOUT_COLUMN = exports.LAYOUT_COLUMN = 'LAYOUT_COLUMN';
16
- var LAYOUT_ROW_SECTION = exports.LAYOUT_ROW_SECTION = 'LAYOUT_ROW_SECTION';
17
-
18
- var ROWS = 'rows';
19
- var HEADER = 'header';
20
- var SECTIONS = 'sections';
21
-
22
- var ORDER = 'ORDER';
23
- var NOT_DISPLAYED = 'NOT_DISPLAYED';
24
-
25
- var getType = R.propOr({}, 'type');
26
- var getIds = function getIds() {
27
- var stringIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
28
- return R.pipe(R.append(R.split(',', stringIds)), R.flatten);
29
- };
30
- var getPivot = function getPivot(key, stringIds) {
31
- return R.over(R.lensProp(key), getIds(stringIds));
32
- };
33
-
34
- var setAnnotationsLayout = exports.setAnnotationsLayout = function setAnnotationsLayout(stringIds, layout) {
35
- return R.reduce(function (acc, annotation) {
36
- if (R.equals(getType(annotation), LAYOUT_ROW)) return getPivot(ROWS, stringIds)(acc);
37
- if (R.equals(getType(annotation), LAYOUT_COLUMN)) return getPivot(HEADER, stringIds)(acc);
38
- if (R.equals(getType(annotation), LAYOUT_ROW_SECTION)) return getPivot(SECTIONS, stringIds)(acc);
39
- return acc;
40
- }, layout);
41
- };
42
-
43
- var getRelationnalAnnotations = exports.getRelationnalAnnotations = function getRelationnalAnnotations(annotationIndexes) {
44
- return function (annotations) {
45
- return R.map(function (annotationIndex) {
46
- return R.propOr({}, annotationIndex)(annotations);
47
- })(annotationIndexes);
48
- };
49
- };
50
-
51
- var hiddenFormat = exports.hiddenFormat = { isHidden: true };
52
-
53
- var getIsHidden = exports.getIsHidden = function getIsHidden(annotations) {
54
- return R.pipe(R.find(R.propEq('type', NOT_DISPLAYED)), R.complement(R.isNil))(annotations);
55
- };
@@ -1,57 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCellValue = undefined;
7
-
8
- var _ramda = require('ramda');
9
-
10
- var R = _interopRequireWildcard(_ramda);
11
-
12
- var _numeral = require('numeral');
13
-
14
- var _numeral2 = _interopRequireDefault(_numeral);
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
- var isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));
21
-
22
- var getCellValue = exports.getCellValue = function getCellValue(observation) {
23
- var value = R.prop('value', observation);
24
- if (R.is(Boolean, value)) {
25
- return value;
26
- }
27
- if (R.is(String, value)) {
28
- var monthMatch = value.match(/^\-\-([\d]{2})$/);
29
- if (R.is(Array, monthMatch)) {
30
- return R.nth(1, monthMatch);
31
- }
32
- var monthDayMatch = value.match(/^\-\-([\d]{2}\-[\d]{2})$/);
33
- if (R.is(Array, monthDayMatch)) {
34
- return R.nth(1, monthDayMatch);
35
- }
36
- var dayMatch = value.match(/^\-\-\-([\d]{2})$/);
37
- if (R.is(Array, dayMatch)) {
38
- return R.nth(1, dayMatch);
39
- }
40
- return value;
41
- }
42
- var scale = Number(observation.prefscale);
43
- var formatScale = R.ifElse(R.always(isValidNumber(scale)), function (value) {
44
- return (0, _numeral2.default)(value).multiply(Math.pow(10, -1 * Number(scale))).value();
45
- }, R.identity);
46
- var formatSeparator = function formatSeparator(value) {
47
- return (0, _numeral2.default)(value).format('0,0.[0000000]');
48
- };
49
- var decimals = Number(observation.decimals);
50
- var formatDecimals = R.ifElse(R.always(isValidNumber(decimals)), function (value) {
51
- return (0, _numeral2.default)(value).format(R.ifElse(R.equals(0), R.always('0,0'), function (d) {
52
- return '0,0.' + R.join('', R.times(R.always('0'), d));
53
- })(decimals));
54
- }, formatSeparator);
55
- var res = R.ifElse(isValidNumber, R.pipe(formatScale, formatDecimals), R.always('..'))(observation.value);
56
- return res;
57
- };
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _getCellValue = require('./factories/getCellValue');
8
-
9
- Object.defineProperty(exports, 'getCellValue', {
10
- enumerable: true,
11
- get: function get() {
12
- return _getCellValue.getCellValue;
13
- }
14
- });
@@ -1,184 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.dataTransformer = 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 _dotstatsuiteSdmxjs = require('@sis-cc/dotstatsuite-sdmxjs');
17
-
18
- var _sdmxData = require('./sdmx-data');
19
-
20
- var _getReportingYearStart = require('./preparators/getReportingYearStart');
21
-
22
- var _src = require('../../rules2/src');
23
-
24
- var _getValuesEnhanced = require('./get-values-enhanced');
25
-
26
- 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; } }
27
-
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
- var TIME_PERIOD_ID = 'TIME_PERIOD';
31
-
32
- var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew) {
33
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
34
- var locale = options.locale;
35
-
36
- var reportYearStart = (0, _getReportingYearStart.getReportingYearStart)(dataNew);
37
- var getName = R.prop('name');
38
- //---------------------------------------------------------------------------------------Annotations
39
- var getStructure = R.pathOr({}, ['data', 'structure']);
40
- var structure = getStructure(dataNew);
41
- var getAnnotations = R.propOr([], 'annotations');
42
- var annotations = getAnnotations(structure);
43
- var getDataSets = R.pathOr({}, ['data', 'dataSets']);
44
- var dataSets = getDataSets(dataNew);
45
-
46
- var dataSetsAnnotations = R.props(R.pathOr([], [0, 'annotations'], dataSets), annotations);
47
-
48
- /*
49
- hiddenValues => codelistIds or codelistValuesIds for display computation
50
- hiddenCombinations => used only for dimensions, if dimension values match the provided set, all dimension is removed
51
- */
52
-
53
- var _getNotDisplayedIds = (0, _src.getNotDisplayedIds)(dataSetsAnnotations),
54
- hiddenValues = _getNotDisplayedIds.hiddenValues,
55
- hiddenCombinations = _getNotDisplayedIds.hiddenCombinations;
56
-
57
- var getIsAllDimHidden = function getIsAllDimHidden(_ref) {
58
- var id = _ref.id,
59
- values = _ref.values;
60
-
61
- if (!R.has(id, hiddenCombinations)) {
62
- return false;
63
- }
64
- var valuesIds = R.pluck('id', values);
65
- return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));
66
- };
67
-
68
- //--------------------------------------------------------------------------------------------Header
69
- var getMeta = R.propOr({}, 'meta');
70
- var meta = getMeta(dataNew);
71
-
72
- var getSender = R.propOr({}, 'sender');
73
- var sender = getSender(meta);
74
-
75
- var resHeader = (0, _extends3.default)({}, meta, {
76
- sender: (0, _extends3.default)({}, sender, { name: getName(sender) })
77
- });
78
-
79
- //----------------------------------------------------------------------------------------Attributes
80
- var getAttributes = R.propOr({}, 'attributes');
81
- var attributes = getAttributes(structure);
82
-
83
- var getAttrObservations = R.propOr([], 'observation');
84
- var attrObservations = getAttrObservations(attributes);
85
-
86
- var resAttrObservations = R.addIndex(R.map)(function (observation, index) {
87
- var obsAnnotations = R.props(observation.annotations || [], annotations);
88
- return (0, _extends3.default)({}, observation, {
89
- __index: index,
90
- display: !R.has(observation.id, hiddenValues) && !(0, _sdmxData.getIsHidden)(obsAnnotations),
91
- name: getName(observation),
92
- values: (0, _getValuesEnhanced.getValuesEnhanced)({
93
- locale: locale,
94
- annotations: annotations,
95
- parent: observation.id,
96
- reportYearStart: reportYearStart,
97
- hiddenIds: hiddenValues,
98
- options: options
99
- })(R.propOr([], 'values', observation)),
100
- roles: !R.isNil(observation.role) ? R.head(observation.role) : null
101
- });
102
- }, attrObservations);
103
-
104
- var datasetAttributes = R.map(function (attr) {
105
- var attrAnnotations = R.props(attr.annotations || [], annotations);
106
- return (0, _extends3.default)({}, attr, {
107
- display: !R.has(attr.id, hiddenValues) && !(0, _sdmxData.getIsHidden)(attrAnnotations),
108
- name: getName(attr),
109
- values: (0, _getValuesEnhanced.getValuesEnhanced)({
110
- locale: locale,
111
- annotations: annotations,
112
- parent: attr.id,
113
- hiddenIds: hiddenValues,
114
- options: options,
115
- reportYearStart: reportYearStart
116
- })(R.propOr([], 'values', attr))
117
- });
118
- }, R.propOr([], 'dataSet', attributes));
119
-
120
- var resAttributes = (0, _extends3.default)({}, attributes, {
121
- observation: R.concat(resAttrObservations, datasetAttributes)
122
- });
123
-
124
- //----------------------------------------------------------------------------------------Dimensions
125
- var getDimensions = R.propOr({}, 'dimensions');
126
- var dimensions = getDimensions(structure);
127
-
128
- var getDimObservations = R.propOr([], 'observation');
129
- var dimObservations = getDimObservations(dimensions);
130
-
131
- var getObservations = function getObservations(locale) {
132
- return R.addIndex(R.reduce)(function (acc, observation, obsIndex) {
133
- var id = R.prop('id')(observation);
134
- var dimAnnotations = (0, _sdmxData.getRelationnalAnnotations)(R.propOr([], 'annotations')(observation))(annotations);
135
- var isTimeDimension = (0, _dotstatsuiteSdmxjs.isTimePeriodDimension)(observation);
136
- var values = (0, _getValuesEnhanced.getValuesEnhanced)({
137
- locale: locale,
138
- annotations: annotations,
139
- isTimeDimension: isTimeDimension,
140
- reportYearStart: reportYearStart,
141
- parent: id,
142
- hiddenIds: hiddenValues,
143
- options: options
144
- })(R.propOr([], 'values', observation));
145
- var isAllDimHidden = getIsAllDimHidden({ id: id, values: values });
146
- var isHidden = isAllDimHidden || R.has(id, hiddenValues) || (0, _sdmxData.getIsHidden)(dimAnnotations);
147
- return {
148
- observation: R.append((0, _extends3.default)({}, observation, {
149
- display: !isHidden,
150
- __index: obsIndex,
151
- name: getName(observation),
152
- values: isAllDimHidden ? [] : values,
153
- role: isTimeDimension ? TIME_PERIOD_ID : R.head(R.propOr([], 'roles', observation))
154
- }))(acc.observation),
155
- dimensionsLayout: (0, _sdmxData.setAnnotationsLayout)(id, acc.dimensionsLayout)(dimAnnotations)
156
- };
157
- }, { observation: [], dimensionsLayout: {} });
158
- };
159
-
160
- //-----------------------------------------------------------------------------------------Structure
161
-
162
- var _getObservations = getObservations(locale)(dimObservations),
163
- dimensionsLayout = _getObservations.dimensionsLayout,
164
- observation = _getObservations.observation;
165
-
166
- var resStructure = (0, _extends3.default)({}, structure, {
167
- name: getName((0, _extends3.default)({}, structure, { id: options.dataflowId })),
168
- annotations: annotations,
169
- attributes: resAttributes,
170
- dimensions: { observation: observation }
171
- });
172
-
173
- //------------------------------------------------------------------------------------------------------Layout
174
- var dataSetsLayout = R.reduce(function (acc, dataSetsAnnotation) {
175
- var title = R.propOr('', 'title')(dataSetsAnnotation);
176
- if (R.isEmpty(title)) return acc;
177
- return (0, _sdmxData.setAnnotationsLayout)(title, acc)([dataSetsAnnotation]);
178
- }, {})(dataSetsAnnotations);
179
-
180
- return {
181
- data: { header: resHeader, dataSets: dataSets, structure: resStructure },
182
- layout: R.mergeRight(dimensionsLayout, dataSetsLayout)
183
- };
184
- };
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- var _deepEql = require('deep-eql');
4
-
5
- var _deepEql2 = _interopRequireDefault(_deepEql);
6
-
7
- var _src = require('../src');
8
-
9
- var _oecdHEALTH_PROT = require('./oecd-HEALTH_PROT.json');
10
-
11
- var _oecdHEALTH_PROT2 = _interopRequireDefault(_oecdHEALTH_PROT);
12
-
13
- var _oecdHEALTH_PROTParsed = require('./oecd-HEALTH_PROT-parsed');
14
-
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
-
17
- describe('global tests', function () {
18
- var expectedEmptyResult = {
19
- attributes: [],
20
- datasetAttributes: [],
21
- dimensions: [],
22
- observations: {},
23
- source: null
24
- };
25
- it('null', function () {
26
- (0, _deepEql2.default)((0, _src.extractSdmxArtefacts)(null), expectedEmptyResult);
27
- });
28
- it('undefined', function () {
29
- (0, _deepEql2.default)((0, _src.extractSdmxArtefacts)(null), expectedEmptyResult);
30
- });
31
- });
32
-
33
- describe('dimensions parsing', function () {
34
- it('basic test', function () {
35
- (0, _deepEql2.default)((0, _src.extractSdmxArtefacts)(_oecdHEALTH_PROT2.default), _oecdHEALTH_PROTParsed.dimensions);
36
- });
37
- });
@@ -1,128 +0,0 @@
1
- 'use strict';
2
-
3
- var _extends2 = require('babel-runtime/helpers/extends');
4
-
5
- var _extends3 = _interopRequireDefault(_extends2);
6
-
7
- var _ramda = require('ramda');
8
-
9
- var R = _interopRequireWildcard(_ramda);
10
-
11
- var _chai = require('chai');
12
-
13
- var _getValuesEnhanced = require('../src/get-values-enhanced');
14
-
15
- 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; } }
16
-
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
-
19
- var values = [{
20
- id: 'A',
21
- order: 0,
22
- name: 'Code A',
23
- names: {
24
- en: 'Code A'
25
- }
26
- }, {
27
- id: 'B',
28
- order: 1,
29
- name: 'Code B',
30
- names: {
31
- en: 'Code B'
32
- }
33
- }, {
34
- id: 'C',
35
- order: 2,
36
- name: 'Code C',
37
- names: {
38
- en: 'Code C'
39
- }
40
- }];
41
-
42
- var timeValues = [{
43
- start: '2020-01-01T00:00:00',
44
- end: '2020-12-31T23:59:59',
45
- id: '2020',
46
- name: '2020',
47
- names: {
48
- en: '2020'
49
- }
50
- }, {
51
- start: '2021-01-01T00:00:00',
52
- end: '2021-12-31T23:59:59',
53
- id: '2021',
54
- name: '2021',
55
- names: {
56
- en: '2021'
57
- }
58
- }, {
59
- start: '2022-01-01T00:00:00',
60
- end: '2022-12-31T23:59:59',
61
- id: '2022',
62
- name: '2022',
63
- names: {
64
- en: '2022'
65
- }
66
- }];
67
-
68
- var expectedTimeValues = [{
69
- start: '2020-01-01T00:00:00.000Z',
70
- end: '2020-12-31T23:59:59.000Z',
71
- id: '2020',
72
- name: '2020'
73
- }, {
74
- start: '2021-01-01T00:00:00.000Z',
75
- end: '2021-12-31T23:59:59.000Z',
76
- id: '2021',
77
- name: '2021'
78
- }, {
79
- start: '2022-01-01T00:00:00.000Z',
80
- end: '2022-12-31T23:59:59.000Z',
81
- id: '2022',
82
- name: '2022'
83
- }];
84
-
85
- var nonCodedValues = [{ value: 'A' }, { value: 'B' }, { value: 'C' }];
86
-
87
- var expectedValues = function expectedValues() {
88
- var skippedValueEntries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
89
- var isNonCoded = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
90
- return R.addIndex(R.map)(function (value, index) {
91
- return (0, _extends3.default)({}, R.omit(R.prepend('names', skippedValueEntries), value), {
92
- __index: index,
93
- __indexPosition: index,
94
- display: true,
95
- notes: [],
96
- start: R.propOr(null, 'start', value),
97
- isNonCoded: isNonCoded
98
- });
99
- });
100
- };
101
-
102
- describe('get values enhanced method', function () {
103
- it('should pass with coded values', function () {
104
- var enhancedValues = (0, _getValuesEnhanced.getValuesEnhanced)({
105
- locale: 'en',
106
- parent: 'ID'
107
- })(values);
108
- (0, _chai.expect)(enhancedValues).to.deep.equal(expectedValues()(values));
109
- });
110
-
111
- it('should pass with non-coded values', function () {
112
- var enhancedValues = (0, _getValuesEnhanced.getValuesEnhanced)({
113
- locale: 'en',
114
- parent: 'ID'
115
- })(nonCodedValues);
116
- (0, _chai.expect)(enhancedValues).to.deep.equal(expectedValues(['name', 'order', 'value'], true)(values));
117
- });
118
-
119
- it('should pass with time values', function () {
120
- var enhancedValues = (0, _getValuesEnhanced.getValuesEnhanced)({
121
- locale: 'en',
122
- parent: 'ID',
123
- isTimeDimension: true,
124
- reportYearStart: { month: '01', day: '01' }
125
- })(timeValues);
126
- (0, _chai.expect)(enhancedValues).to.deep.equal(expectedValues()(expectedTimeValues));
127
- });
128
- });