@sis-cc/dotstatsuite-components 15.0.20 → 16.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 (167) hide show
  1. package/LICENSE +1 -1
  2. package/lib/rules/src/index.js +1 -145
  3. package/lib/rules/src/table/index.js +0 -42
  4. package/lib/rules/src/v8-transformer.js +6 -5
  5. package/lib/rules2/src/constants.js +3 -1
  6. package/lib/rules2/src/enhanceObservations.js +98 -0
  7. package/lib/rules2/src/getAttributesSeries.js +33 -0
  8. package/lib/rules2/src/getCombinationDefinitions.js +48 -0
  9. package/lib/rules2/src/getHeaderCombinations.js +42 -0
  10. package/lib/rules2/src/getHeaderSubtitle.js +41 -0
  11. package/lib/rules2/src/getManyValuesDimensions.js +39 -0
  12. package/lib/rules2/src/getNotDisplayedIds.js +5 -1
  13. package/lib/rules2/src/getOneValueDimensions.js +46 -0
  14. package/lib/rules2/src/hasCellMetadata.js +1 -1
  15. package/lib/rules2/src/index.js +186 -18
  16. package/lib/rules2/src/parseAttributes.js +50 -0
  17. package/lib/rules2/src/parseCombinations.js +54 -0
  18. package/lib/rules2/src/prepareData.js +74 -0
  19. package/lib/{rules/src/table/preparators/getAttributeValue.js → rules2/src/refineAttributes.js} +13 -11
  20. package/lib/rules2/src/table/getCells.js +74 -0
  21. package/lib/rules2/src/table/getCellsAttributesIds.js +63 -0
  22. package/lib/rules2/src/table/getCombinationDimensionsData.js +47 -0
  23. package/lib/rules2/src/table/getCuratedCells.js +28 -0
  24. package/lib/rules2/src/table/getFlagsAndNotes.js +28 -0
  25. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +31 -0
  26. package/lib/rules2/src/table/getLayout.js +93 -0
  27. package/lib/rules2/src/table/getLayoutData.js +202 -0
  28. package/lib/{rules/src/table/factories → rules2/src/table}/getSortedLayoutIndexes.js +55 -40
  29. package/lib/rules2/src/table/getTableProps.js +64 -0
  30. package/lib/rules2/src/table/parseValueHierarchy.js +55 -0
  31. package/lib/{rules/src/table/factories → rules2/src/table}/refineLayoutSize.js +17 -8
  32. package/lib/rules2/src/{hasLayoutEntryMetadata.js → utils.js} +9 -6
  33. package/package.json +1 -1
  34. package/src/rules/src/index.js +1 -19
  35. package/src/rules/src/table/index.js +0 -4
  36. package/src/rules/src/v8-transformer.js +75 -74
  37. package/src/rules2/src/constants.js +2 -0
  38. package/src/rules2/src/enhanceObservations.js +88 -0
  39. package/src/rules2/src/getAttributesSeries.js +29 -0
  40. package/src/rules2/src/getCombinationDefinitions.js +29 -0
  41. package/src/rules2/src/getHeaderCombinations.js +39 -0
  42. package/src/rules2/src/getHeaderSubtitle.js +34 -0
  43. package/src/rules2/src/getManyValuesDimensions.js +34 -0
  44. package/src/rules2/src/getNotDisplayedIds.js +5 -1
  45. package/src/rules2/src/getOneValueDimensions.js +33 -0
  46. package/src/rules2/src/hasCellMetadata.js +1 -1
  47. package/src/rules2/src/index.js +21 -6
  48. package/src/rules2/src/parseAttributes.js +36 -0
  49. package/src/rules2/src/parseCombinations.js +36 -0
  50. package/src/rules2/src/prepareData.js +50 -0
  51. package/src/rules2/src/refineAttributes.js +16 -0
  52. package/src/rules2/src/table/getCells.js +72 -0
  53. package/src/rules2/src/table/getCellsAttributesIds.js +38 -0
  54. package/src/rules2/src/table/getCombinationDimensionsData.js +38 -0
  55. package/src/rules2/src/table/getCuratedCells.js +33 -0
  56. package/src/rules2/src/table/getFlagsAndNotes.js +21 -0
  57. package/src/rules2/src/table/getIndexedCombinationsByDisplay.js +16 -0
  58. package/src/rules2/src/table/getLayout.js +80 -0
  59. package/src/rules2/src/table/getLayoutData.js +183 -0
  60. package/src/rules2/src/table/getSortedLayoutIndexes.js +119 -0
  61. package/src/rules2/src/table/getTableProps.js +36 -0
  62. package/src/rules2/src/table/parseValueHierarchy.js +27 -0
  63. package/src/{rules/src/table/factories → rules2/src/table}/refineLayoutSize.js +24 -8
  64. package/src/rules2/src/utils.js +12 -0
  65. package/test/enhanceObservations2.test.js +219 -0
  66. package/test/getAttributesSeries.test.js +58 -0
  67. package/test/getCells.test.js +6 -40
  68. package/test/getCombinationDimensionsData.test.js +48 -0
  69. package/test/getNotDisplayedIds.test.js +15 -2
  70. package/test/getSortedLayoutIndexes.test.js +1025 -3
  71. package/test/parseAttributes.test.js +17 -62
  72. package/test/parseValueHierarchy.test.js +88 -0
  73. package/test/refineLayoutSize.test.js +2621 -1
  74. package/lib/rules/src/table/factories/getCells.js +0 -97
  75. package/lib/rules/src/table/factories/getConfirmedSeriesAttributesIds.js +0 -26
  76. package/lib/rules/src/table/factories/getCuratedCells.js +0 -45
  77. package/lib/rules/src/table/factories/getLayoutData.js +0 -168
  78. package/lib/rules/src/table/factories/getLayoutWithFlags.js +0 -133
  79. package/lib/rules/src/table/factories/getTableCells.js +0 -24
  80. package/lib/rules/src/table/factories/getTableData.js +0 -98
  81. package/lib/rules/src/table/preparators/getDimensionsAttributesRegisters.js +0 -43
  82. package/lib/rules/src/table/preparators/getManyValuesDimensions.js +0 -33
  83. package/lib/rules/src/table/preparators/getOneValueDimensions.js +0 -24
  84. package/lib/rules/src/table/preparators/getUniqValuesAttributes.js +0 -36
  85. package/lib/rules/src/table/preparators/parseAttributes.js +0 -84
  86. package/lib/rules/src/table/preparators/parseAttributesValuesFromObservations.js +0 -22
  87. package/lib/rules/src/table/preparators/parseDimensionsIds.js +0 -22
  88. package/lib/rules/src/table/preparators/prepareData.js +0 -191
  89. package/lib/rules/src/table/preparators/refineObservationsAttributesValues.js +0 -31
  90. package/lib/rules/src/table/preparators/refineSeriesAttributesValues.js +0 -23
  91. package/lib/rules/src/table/units/appendUnitsInLayoutData.js +0 -82
  92. package/lib/rules/src/table/units/appendUnitsInLayoutDataEntry.js +0 -45
  93. package/lib/rules/src/table/units/cleanUnitsInLayoutData.js +0 -66
  94. package/lib/rules/src/table/units/getAttachmentSeriesIndexes.js +0 -25
  95. package/lib/rules/src/table/units/getHeaderUnits.js +0 -35
  96. package/lib/rules/src/table/units/getUnitsArtefacts.js +0 -85
  97. package/lib/rules/src/table/units/getUnitsCodes.js +0 -23
  98. package/lib/rules/src/table/units/getUnitsDefinition.js +0 -33
  99. package/lib/rules/src/table/units/getUnitsDisplay.js +0 -33
  100. package/lib/rules/src/table/units/getUnitsSerieIndexes.js +0 -23
  101. package/lib/rules/src/table/units/getUnitsSeries.js +0 -49
  102. package/lib/rules/src/table/units/getUnitsinLayout.js +0 -74
  103. package/lib/rules/src/table/units/refineDimSeriesUnits.js +0 -44
  104. package/lib/rules2/src/getAdvancedAttributes.js +0 -124
  105. package/lib/rules2/src/invertTime.js +0 -33
  106. package/src/rules/src/table/factories/getCells.js +0 -102
  107. package/src/rules/src/table/factories/getConfirmedSeriesAttributesIds.js +0 -27
  108. package/src/rules/src/table/factories/getCuratedCells.js +0 -40
  109. package/src/rules/src/table/factories/getLayoutData.js +0 -171
  110. package/src/rules/src/table/factories/getLayoutWithFlags.js +0 -137
  111. package/src/rules/src/table/factories/getSortedLayoutIndexes.js +0 -108
  112. package/src/rules/src/table/factories/getTableCells.js +0 -16
  113. package/src/rules/src/table/factories/getTableData.js +0 -86
  114. package/src/rules/src/table/preparators/getAttributeValue.js +0 -17
  115. package/src/rules/src/table/preparators/getDimensionsAttributesRegisters.js +0 -51
  116. package/src/rules/src/table/preparators/getManyValuesDimensions.js +0 -19
  117. package/src/rules/src/table/preparators/getOneValueDimensions.js +0 -17
  118. package/src/rules/src/table/preparators/getUniqValuesAttributes.js +0 -24
  119. package/src/rules/src/table/preparators/parseAttributes.js +0 -113
  120. package/src/rules/src/table/preparators/parseAttributesValuesFromObservations.js +0 -16
  121. package/src/rules/src/table/preparators/parseDimensionsIds.js +0 -17
  122. package/src/rules/src/table/preparators/prepareData.js +0 -197
  123. package/src/rules/src/table/preparators/refineObservationsAttributesValues.js +0 -22
  124. package/src/rules/src/table/preparators/refineSeriesAttributesValues.js +0 -11
  125. package/src/rules/src/table/units/appendUnitsInLayoutData.js +0 -56
  126. package/src/rules/src/table/units/appendUnitsInLayoutDataEntry.js +0 -38
  127. package/src/rules/src/table/units/cleanUnitsInLayoutData.js +0 -65
  128. package/src/rules/src/table/units/getAttachmentSeriesIndexes.js +0 -27
  129. package/src/rules/src/table/units/getHeaderUnits.js +0 -32
  130. package/src/rules/src/table/units/getUnitsArtefacts.js +0 -90
  131. package/src/rules/src/table/units/getUnitsCodes.js +0 -22
  132. package/src/rules/src/table/units/getUnitsDefinition.js +0 -34
  133. package/src/rules/src/table/units/getUnitsDisplay.js +0 -19
  134. package/src/rules/src/table/units/getUnitsSerieIndexes.js +0 -12
  135. package/src/rules/src/table/units/getUnitsSeries.js +0 -41
  136. package/src/rules/src/table/units/getUnitsinLayout.js +0 -71
  137. package/src/rules/src/table/units/refineDimSeriesUnits.js +0 -26
  138. package/src/rules2/src/getAdvancedAttributes.js +0 -111
  139. package/src/rules2/src/hasLayoutEntryMetadata.js +0 -9
  140. package/src/rules2/src/invertTime.js +0 -22
  141. package/test/advanced-attributes-parsing-perf.test.js +0 -16
  142. package/test/appendUnitsInLayoutDataEntry.test.js +0 -65
  143. package/test/cleanUnitsInLayoutData.test.js +0 -85
  144. package/test/enhanceObservations.test.js +0 -340
  145. package/test/getAttachmentSeriesIndexes.test.js +0 -35
  146. package/test/getConfirmedSeriesAttributesIds.test.js +0 -27
  147. package/test/getDataflowAdvancedAttributes.test.js +0 -32
  148. package/test/getHeaderUnits.test.js +0 -51
  149. package/test/getLayoutData.test.js +0 -206
  150. package/test/getLayoutDataWithFlags.test.js +0 -142
  151. package/test/getOneValueDimensions.test.js +0 -26
  152. package/test/getSeriesAdvancedAttributes.test.js +0 -32
  153. package/test/getSubtitleFlags.test.js +0 -42
  154. package/test/getTableData.test.js +0 -1317
  155. package/test/getUnitsArtefacts.test.js +0 -117
  156. package/test/getUnitsDefinition.test.js +0 -37
  157. package/test/getUnitsInLayout.test.js +0 -77
  158. package/test/getUnitsSeries.test.js +0 -154
  159. package/test/invertTime.test.js +0 -77
  160. package/test/parseAttributesValuesFromObservations.test.js +0 -45
  161. package/test/parseDimensionsIds.test.js +0 -20
  162. package/test/prepareData.test.js +0 -29
  163. package/test/refineObservationsAttributesValues.test.js +0 -33
  164. package/test/table-invert-time-perf.test.js +0 -11
  165. package/test/table-layout-perf.test.js +0 -74
  166. package/test/table-prep-duplicate-perf.test.js +0 -15
  167. package/test/table-prep-perf.test.js +0 -61
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright © OECD 2019-2022
3
+ Copyright © OECD 2019-2023
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.enhanceObservations = exports.getObservations = exports.getUnitsSeries = exports.getAttachmentSeriesIndexes = exports.getHeaderUnits = exports.getUnitsArtefacts = exports.getUnitsDefinition = exports.refineSeriesAttributesValues = exports.getAttributeValue = exports.getManyValuesDimensions = exports.getOneValueDimensions = exports.parseAttributesValuesFromObservations = exports.getDimensionsAttributesRegisters = exports.parseAttributes = exports.parseDimensionsIds = exports.isSharedLayoutCompatible = exports.getAvailableChartTypes = exports.getObservationsType = exports.getInformationsStateFromNewProps = exports.getFooterProps = exports.getHeaderProps = exports.getTimePeriodLabel = exports.getFullName = exports.getFlags = exports.getTableProps = exports.getCellValue = exports.prepareData = exports.v8Transformer = exports.toSingularity = exports.getErrors = exports.toProperties = exports.toChartOptions = exports.toChartData = exports.onChangeProperties = exports.stateFromNewProps = exports.initialState = exports.chartTypes = exports.V8_SDMX_JSON = exports.DEFAULT_MAJOR_ATTRIBUTES = exports.DIMENSION_DISPLAY_PARTS = exports.DEFAULT_UPR_IDS = exports.dimensionValueDisplay = exports.isNonIdealState = exports.getTopologyAreasCollections = exports.sourceLabel = exports.header = exports.getUprs = exports.headerUprsLabel = exports.uprAttributesWithOneRelevantValue = exports.uprAttributes = exports.defaultSubtitle = exports.parseFocus = exports.focus = exports.source = exports.series = exports.choroSeries = exports.stackedSeries = exports.timelineSeries = exports.symbolSeries = exports.scatterSeries = exports.stackedDimension = exports.symbolDimension = exports.scatterDimension = exports.sampleSeries = exports.parseDisplay = exports.dimensionsWithValuesIndexedById = exports.splitDimensions = exports.getDimensionValues = exports.getRelevantsDatasetAttributes = exports.extractSdmxArtefacts = exports.extractDataName = exports.extractSdmxErrors = exports.freqM = exports.freqQ = exports.freqA = undefined;
6
+ exports.getObservations = exports.isSharedLayoutCompatible = exports.getAvailableChartTypes = exports.getObservationsType = exports.getInformationsStateFromNewProps = exports.getFooterProps = exports.getHeaderProps = exports.getTimePeriodLabel = exports.getFullName = exports.getCellValue = exports.v8Transformer = exports.toSingularity = exports.getErrors = exports.toProperties = exports.toChartOptions = exports.toChartData = exports.onChangeProperties = exports.stateFromNewProps = exports.initialState = exports.chartTypes = exports.V8_SDMX_JSON = exports.DEFAULT_MAJOR_ATTRIBUTES = exports.DIMENSION_DISPLAY_PARTS = exports.DEFAULT_UPR_IDS = exports.dimensionValueDisplay = exports.isNonIdealState = exports.getTopologyAreasCollections = exports.sourceLabel = exports.header = exports.getUprs = exports.headerUprsLabel = exports.uprAttributesWithOneRelevantValue = exports.uprAttributes = exports.defaultSubtitle = exports.parseFocus = exports.focus = exports.source = exports.series = exports.choroSeries = exports.stackedSeries = exports.timelineSeries = exports.symbolSeries = exports.scatterSeries = exports.stackedDimension = exports.symbolDimension = exports.scatterDimension = exports.sampleSeries = exports.parseDisplay = exports.dimensionsWithValuesIndexedById = exports.splitDimensions = exports.getDimensionValues = exports.getRelevantsDatasetAttributes = exports.extractSdmxArtefacts = exports.extractDataName = exports.extractSdmxErrors = exports.freqM = exports.freqQ = exports.freqA = undefined;
7
7
 
8
8
  var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
9
 
@@ -193,30 +193,12 @@ Object.defineProperty(exports, 'v8Transformer', {
193
193
 
194
194
  var _table = require('./table');
195
195
 
196
- Object.defineProperty(exports, 'prepareData', {
197
- enumerable: true,
198
- get: function get() {
199
- return _table.prepareData;
200
- }
201
- });
202
196
  Object.defineProperty(exports, 'getCellValue', {
203
197
  enumerable: true,
204
198
  get: function get() {
205
199
  return _table.getCellValue;
206
200
  }
207
201
  });
208
- Object.defineProperty(exports, 'getTableProps', {
209
- enumerable: true,
210
- get: function get() {
211
- return _table.getTableProps;
212
- }
213
- });
214
- Object.defineProperty(exports, 'getFlags', {
215
- enumerable: true,
216
- get: function get() {
217
- return _table.getFlags;
218
- }
219
- });
220
202
 
221
203
  var _sdmxData = require('./sdmx-data');
222
204
 
@@ -287,123 +269,6 @@ Object.defineProperty(exports, 'isSharedLayoutCompatible', {
287
269
  }
288
270
  });
289
271
 
290
- var _parseDimensionsIds = require('./table/preparators/parseDimensionsIds');
291
-
292
- Object.defineProperty(exports, 'parseDimensionsIds', {
293
- enumerable: true,
294
- get: function get() {
295
- return _parseDimensionsIds.parseDimensionsIds;
296
- }
297
- });
298
-
299
- var _parseAttributes = require('./table/preparators/parseAttributes');
300
-
301
- Object.defineProperty(exports, 'parseAttributes', {
302
- enumerable: true,
303
- get: function get() {
304
- return _parseAttributes.parseAttributes;
305
- }
306
- });
307
-
308
- var _getDimensionsAttributesRegisters = require('./table/preparators/getDimensionsAttributesRegisters');
309
-
310
- Object.defineProperty(exports, 'getDimensionsAttributesRegisters', {
311
- enumerable: true,
312
- get: function get() {
313
- return _getDimensionsAttributesRegisters.getDimensionsAttributesRegisters;
314
- }
315
- });
316
-
317
- var _parseAttributesValuesFromObservations = require('./table/preparators/parseAttributesValuesFromObservations');
318
-
319
- Object.defineProperty(exports, 'parseAttributesValuesFromObservations', {
320
- enumerable: true,
321
- get: function get() {
322
- return _parseAttributesValuesFromObservations.parseAttributesValuesFromObservations;
323
- }
324
- });
325
-
326
- var _getOneValueDimensions = require('./table/preparators/getOneValueDimensions');
327
-
328
- Object.defineProperty(exports, 'getOneValueDimensions', {
329
- enumerable: true,
330
- get: function get() {
331
- return _getOneValueDimensions.getOneValueDimensions;
332
- }
333
- });
334
-
335
- var _getManyValuesDimensions = require('./table/preparators/getManyValuesDimensions');
336
-
337
- Object.defineProperty(exports, 'getManyValuesDimensions', {
338
- enumerable: true,
339
- get: function get() {
340
- return _getManyValuesDimensions.getManyValuesDimensions;
341
- }
342
- });
343
-
344
- var _getAttributeValue = require('./table/preparators/getAttributeValue');
345
-
346
- Object.defineProperty(exports, 'getAttributeValue', {
347
- enumerable: true,
348
- get: function get() {
349
- return _getAttributeValue.getAttributeValue;
350
- }
351
- });
352
-
353
- var _refineSeriesAttributesValues = require('./table/preparators/refineSeriesAttributesValues');
354
-
355
- Object.defineProperty(exports, 'refineSeriesAttributesValues', {
356
- enumerable: true,
357
- get: function get() {
358
- return _refineSeriesAttributesValues.refineSeriesAttributesValues;
359
- }
360
- });
361
-
362
- var _getUnitsDefinition = require('./table/units/getUnitsDefinition');
363
-
364
- Object.defineProperty(exports, 'getUnitsDefinition', {
365
- enumerable: true,
366
- get: function get() {
367
- return _getUnitsDefinition.getUnitsDefinition;
368
- }
369
- });
370
-
371
- var _getUnitsArtefacts = require('./table/units/getUnitsArtefacts');
372
-
373
- Object.defineProperty(exports, 'getUnitsArtefacts', {
374
- enumerable: true,
375
- get: function get() {
376
- return _getUnitsArtefacts.getUnitsArtefacts;
377
- }
378
- });
379
-
380
- var _getHeaderUnits = require('./table/units/getHeaderUnits');
381
-
382
- Object.defineProperty(exports, 'getHeaderUnits', {
383
- enumerable: true,
384
- get: function get() {
385
- return _getHeaderUnits.getHeaderUnits;
386
- }
387
- });
388
-
389
- var _getAttachmentSeriesIndexes = require('./table/units/getAttachmentSeriesIndexes');
390
-
391
- Object.defineProperty(exports, 'getAttachmentSeriesIndexes', {
392
- enumerable: true,
393
- get: function get() {
394
- return _getAttachmentSeriesIndexes.getAttachmentSeriesIndexes;
395
- }
396
- });
397
-
398
- var _getUnitsSeries = require('./table/units/getUnitsSeries');
399
-
400
- Object.defineProperty(exports, 'getUnitsSeries', {
401
- enumerable: true,
402
- get: function get() {
403
- return _getUnitsSeries.getUnitsSeries;
404
- }
405
- });
406
-
407
272
  var _getObservations = require('./preparators/getObservations');
408
273
 
409
274
  Object.defineProperty(exports, 'getObservations', {
@@ -413,15 +278,6 @@ Object.defineProperty(exports, 'getObservations', {
413
278
  }
414
279
  });
415
280
 
416
- var _enhanceObservations = require('./preparators/enhanceObservations');
417
-
418
- Object.defineProperty(exports, 'enhanceObservations', {
419
- enumerable: true,
420
- get: function get() {
421
- return _enhanceObservations.enhanceObservations;
422
- }
423
- });
424
-
425
281
  var _ramda = require('ramda');
426
282
 
427
283
  var R = _interopRequireWildcard(_ramda);
@@ -4,48 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
 
7
- var _prepareData = require('./preparators/prepareData');
8
-
9
- Object.defineProperty(exports, 'prepareData', {
10
- enumerable: true,
11
- get: function get() {
12
- return _prepareData.prepareData;
13
- }
14
- });
15
-
16
- var _getCells = require('./factories/getCells');
17
-
18
- Object.defineProperty(exports, 'getCells', {
19
- enumerable: true,
20
- get: function get() {
21
- return _getCells.getCells;
22
- }
23
- });
24
- Object.defineProperty(exports, 'getFlags', {
25
- enumerable: true,
26
- get: function get() {
27
- return _getCells.getFlags;
28
- }
29
- });
30
-
31
- var _getTableCells = require('./factories/getTableCells');
32
-
33
- Object.defineProperty(exports, 'getTableCells', {
34
- enumerable: true,
35
- get: function get() {
36
- return _getTableCells.getTableCells;
37
- }
38
- });
39
-
40
- var _getTableData = require('./factories/getTableData');
41
-
42
- Object.defineProperty(exports, 'getTableProps', {
43
- enumerable: true,
44
- get: function get() {
45
- return _getTableData.getTableProps;
46
- }
47
- });
48
-
49
7
  var _getCellValue = require('./factories/getCellValue');
50
8
 
51
9
  Object.defineProperty(exports, 'getCellValue', {
@@ -35,7 +35,8 @@ var TIME_PERIOD_ID = 'TIME_PERIOD';
35
35
 
36
36
  var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew) {
37
37
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
38
- var locale = options.locale;
38
+ var locale = options.locale,
39
+ _hiddenIds = options.hiddenIds;
39
40
 
40
41
  var reportYearStart = (0, _getReportingYearStart.getReportingYearStart)(dataNew);
41
42
 
@@ -65,7 +66,7 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
65
66
  var getValuesEnhanced = function getValuesEnhanced(locale, annotations, isTimeDimension, parent) {
66
67
  return R.pipe(R.addIndex(R.map)(function (value, __index) {
67
68
  var valueAnnotations = R.pipe(R.propOr([], 'annotations'), R.flip(R.props)(annotations))(value);
68
- var isHidden = R.has(parent + '.' + value.id, hiddenIds) || (0, _sdmxData.getIsHidden)(valueAnnotations);
69
+ var isHidden = _hiddenIds[parent] && R.includes(value.id, _hiddenIds[parent]) || R.has(parent + '.' + value.id, hiddenIds) || (0, _sdmxData.getIsHidden)(valueAnnotations);
69
70
  var name = (0, _dotstatsuiteSdmxjs.getRefinedName)(value);
70
71
  var __indexPosition = NaN;
71
72
  var notes = [];
@@ -151,16 +152,16 @@ var dataTransformer = exports.dataTransformer = function dataTransformer(dataNew
151
152
  return R.addIndex(R.reduce)(function (acc, observation, obsIndex) {
152
153
  var id = R.prop('id')(observation);
153
154
  var dimAnnotations = (0, _sdmxData.getRelationnalAnnotations)(R.propOr([], 'annotations')(observation))(annotations);
154
- var isHidden = R.has(id, hiddenIds) || (0, _sdmxData.getIsHidden)(dimAnnotations);
155
155
  var isTime = (0, _dotstatsuiteSdmxjs.isTimePeriodDimension)(observation);
156
156
  var values = getValuesEnhanced(locale, annotations, isTime, id)(R.propOr([], 'values', observation));
157
-
157
+ var _idHidden = _hiddenIds[id] && R.isEmpty(R.difference(_hiddenIds[id], R.pluck('id')(values)));
158
+ var isHidden = _idHidden || R.has(id, hiddenIds) || (0, _sdmxData.getIsHidden)(dimAnnotations);
158
159
  return {
159
160
  observation: R.append((0, _extends3.default)({}, observation, {
160
161
  display: !isHidden,
161
162
  __index: obsIndex,
162
163
  name: (0, _dotstatsuiteSdmxjs.getRefinedName)(observation),
163
- values: values,
164
+ values: _idHidden ? [] : values,
164
165
  role: isTime ? TIME_PERIOD_ID : R.head(R.propOr([], 'roles', observation))
165
166
  }))(acc.observation),
166
167
  dimensionsLayout: (0, _sdmxData.setAnnotationsLayout)(id, acc.dimensionsLayout)(dimAnnotations)
@@ -4,4 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
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';
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 REPORTING_YEAR_START_DAY = exports.REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';
9
+ var REPYEARSTART = exports.REPYEARSTART = 'REPYEARSTART';
@@ -0,0 +1,98 @@
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
+ 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
+ /*
23
+ options = {
24
+ customAttributes: {
25
+ decimals: id,
26
+ prefscale: id,
27
+ },
28
+ rejectedValueIds,
29
+ }
30
+ */
31
+
32
+ var parseAttributesValues = function parseAttributesValues(obs, attributes, indexedDimensions, rejectedValueIds) {
33
+ var attrValuesIndexes = obs.attrValuesIndexes,
34
+ dimValuesIndexes = obs.dimValuesIndexes;
35
+
36
+ return R.addIndex(R.reduce)(function (acc, valueIndex, attrIndex) {
37
+ var attribute = R.nth(attrIndex, attributes);
38
+ if (R.isNil(attribute) || !R.propOr(true, 'display', attribute) || !R.prop('series', attribute)) {
39
+ return acc;
40
+ }
41
+ var value = R.nth(valueIndex, attribute.values || []);
42
+ if (!R.propOr(true, 'display', value) || R.includes(R.prop('id', value), rejectedValueIds)) {
43
+ value = null;
44
+ }
45
+ var relationship = R.propOr([], 'relationship', attribute);
46
+ var coordinates = {};
47
+ var serieKey = R.pipe(function (dims) {
48
+ return R.isEmpty(relationship) ? R.values(dims) : R.props(relationship, dims);
49
+ }, R.map(function (dim) {
50
+ var valueIndex = R.nth(dim.__index, dimValuesIndexes);
51
+ var valueId = R.path(['values', valueIndex, 'id'], dim);
52
+ coordinates = R.assoc(dim.id, valueId, coordinates);
53
+ return dim.id + '=' + valueId;
54
+ }), R.ifElse(R.isEmpty, R.always(null), R.join(':')))(indexedDimensions);
55
+
56
+ return R.assoc(attribute.id, (0, _extends3.default)({}, R.pick(['id', 'name', 'relationship'], attribute), { value: value, serieKey: serieKey, coordinates: coordinates, isObs: R.isEmpty(relationship) }), acc);
57
+ }, {}, attrValuesIndexes);
58
+ };
59
+
60
+ var getFormatAttributesIndexes = function getFormatAttributesIndexes(attributes, customAttributes) {
61
+ return R.addIndex(R.reduce)(function (acc, attribute, index) {
62
+ if (R.equals(attribute.id, customAttributes.decimals)) {
63
+ return (0, _extends3.default)({}, acc, { decimals: index });
64
+ }
65
+ if (R.equals(attribute.id, customAttributes.prefscale)) {
66
+ return (0, _extends3.default)({}, acc, { prefscale: index });
67
+ }
68
+ return acc;
69
+ }, { prefscale: null, decimals: null }, attributes);
70
+ };
71
+
72
+ var enhanceObservations = exports.enhanceObservations = function enhanceObservations() {
73
+ var dimensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
74
+ var observations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
75
+ var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
76
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
77
+
78
+ var formatAttributesIndexes = getFormatAttributesIndexes(attributes, R.propOr({}, 'customAttributes', options));
79
+ var indexedDimensions = R.indexBy(R.prop('id'), dimensions);
80
+
81
+ return R.mapObjIndexed(function (observation) {
82
+ var dimValuesIndexes = observation.dimValuesIndexes;
83
+
84
+
85
+ var indexedDimValIds = R.addIndex(R.reduce)(function (acc, dimension, dimensionIndex) {
86
+ var id = dimension.id;
87
+ var valueIndex = R.nth(dimensionIndex, dimValuesIndexes);
88
+ var valueId = R.path(['values', Number(valueIndex), 'id'], dimension);
89
+ return R.assoc(id, valueId, acc);
90
+ }, {}, dimensions);
91
+
92
+ return (0, _extends3.default)({}, observation, {
93
+ attributes: parseAttributesValues(observation, attributes, indexedDimensions, R.propOr([], 'rejectedValueIds', options)),
94
+ formattedValue: (0, _formatValue.formatValue)(observation, formatAttributesIndexes, attributes),
95
+ indexedDimValIds: indexedDimValIds
96
+ });
97
+ }, observations);
98
+ };
@@ -0,0 +1,33 @@
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)) {
22
+ var valueInRes = R.path([attribute.serieKey, attribute.id, 'value', 'id'], res);
23
+ if (!R.isNil(valueInRes) && valueInRes !== R.path(['value', 'id'], attribute)) {
24
+ res = R.dissocPath([attribute.serieKey, attribute.id], res);
25
+ rejected = R.assocPath([attribute.serieKey, attribute.id], true, rejected);
26
+ } else {
27
+ res = R.assocPath([attribute.serieKey, attribute.id], attribute, res);
28
+ }
29
+ }
30
+ }, attributes);
31
+ return { res: res, rejected: rejected };
32
+ }, { res: {}, rejected: {} }), R.prop('res'))(observations);
33
+ };
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCombinationDefinitions = 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 getCombinationDefinitions = exports.getCombinationDefinitions = function getCombinationDefinitions(annotations, locale) {
21
+ var annotation = R.find(function (annot) {
22
+ return annot.type === 'COMBINED_CONCEPTS';
23
+ }, annotations);
24
+ if (R.isNil(annotation)) {
25
+ return [];
26
+ }
27
+ var title = R.propOr('', 'title', annotation);
28
+ var texts = R.propOr({}, 'texts', annotation);
29
+
30
+ return R.useWith(function (titles, texts) {
31
+ return R.addIndex(R.map)(function (title, index) {
32
+ var split = R.split(':', title);
33
+ if (R.length(split !== 2)) {
34
+ return null;
35
+ }
36
+
37
+ var _split = (0, _slicedToArray3.default)(split, 2),
38
+ id = _split[0],
39
+ codes = _split[1];
40
+
41
+ return {
42
+ id: id,
43
+ concepts: R.split(',', codes),
44
+ name: R.has(locale, texts) ? R.pipe(R.prop(locale), R.nth(index), R.split(':'), R.last)(texts) : '[' + id + ']'
45
+ };
46
+ }, titles);
47
+ }, [R.split(';'), R.map(R.split(';'))])(title, texts);
48
+ };
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getHeaderCombinations = undefined;
7
+
8
+ var _ramda = require('ramda');
9
+
10
+ var R = _interopRequireWildcard(_ramda);
11
+
12
+ var _src = require('../../rules/src');
13
+
14
+ 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; } }
15
+
16
+ var getHeaderCombinations = exports.getHeaderCombinations = function getHeaderCombinations(combinations, dimensions, attributes, display) {
17
+ var indexedDimensions = R.indexBy(R.prop('id'), dimensions);
18
+ var indexedAttributes = R.indexBy(R.prop('id'), attributes);
19
+ return R.reduce(function (acc, comb) {
20
+ if (!R.prop('header', comb)) {
21
+ return acc;
22
+ }
23
+
24
+ var header = (0, _src.dimensionValueDisplay)(display)(comb);
25
+
26
+ var values = R.pipe(R.reduce(function (_acc, concept) {
27
+ var artefact = R.has(concept, indexedDimensions) ? R.prop(concept, indexedDimensions) : R.prop(concept, indexedAttributes);
28
+ if (R.isNil(artefact) || !R.prop('display', artefact || {})) {
29
+ return _acc;
30
+ }
31
+ var value = R.path(['values', 0], artefact);
32
+ if (R.isNil(value) || !R.prop('display', value || {})) {
33
+ return _acc;
34
+ }
35
+ return R.append((0, _src.dimensionValueDisplay)(display)(value), _acc);
36
+ }, []), R.join(', '))(comb.concepts || []);
37
+ if (R.isEmpty(values)) {
38
+ return acc;
39
+ }
40
+ return R.append({ header: header, label: values }, acc);
41
+ }, [], combinations);
42
+ };
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getHeaderSubtitle = undefined;
7
+
8
+ var _ramda = require('ramda');
9
+
10
+ var R = _interopRequireWildcard(_ramda);
11
+
12
+ var _getFlagsAndNotes = require('./table/getFlagsAndNotes');
13
+
14
+ var _src = require('../../rules/src/');
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 getHeaderSubtitle = exports.getHeaderSubtitle = function getHeaderSubtitle(dimensions, combinations, customAttributes, display, microdataDimension) {
19
+ var combinationsConepts = R.pipe(R.pluck('concepts'), R.unnest)(combinations);
20
+ var DEFAULT_REJECTED_SUBTITLE_IDS = ['_L', '_T', '_Z'];
21
+
22
+ return R.reduce(function (acc, dim) {
23
+ if (!R.propOr(true, 'display', dim) || R.propEq('id', microdataDimension, dim) || R.includes(dim.id, combinationsConepts)) {
24
+ return acc;
25
+ }
26
+ var value = R.path(['values', 0], dim);
27
+ if (!R.propOr(true, 'display', value) || R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS)) {
28
+ return acc;
29
+ }
30
+ var header = (0, _src.dimensionValueDisplay)(display)(dim) + ':';
31
+ var label = (0, _src.dimensionValueDisplay)(display)(value);
32
+ var flags = R.pipe(_getFlagsAndNotes.getFlagsAndNotes, R.map(function (entry) {
33
+ return {
34
+ code: entry.code,
35
+ header: (0, _src.dimensionValueDisplay)(display)(entry) + ':',
36
+ label: (0, _src.dimensionValueDisplay)(display)(entry.value)
37
+ };
38
+ }))(dim.attrValues, customAttributes);
39
+ return R.append({ header: header, label: label, flags: flags }, acc);
40
+ }, [], dimensions);
41
+ };
@@ -0,0 +1,39 @@
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 _getFlagsAndNotes = require('./table/getFlagsAndNotes');
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(dimensions, attributesSeries, customAttributes, combinations) {
23
+ var combConceptsIds = R.pipe(R.pluck('concepts'), R.unnest)(combinations);
24
+ return R.reduce(function (acc, dim) {
25
+ if (R.length(dim.values || []) < 2) {
26
+ return acc;
27
+ }
28
+ var enhancedValues = R.map(function (val) {
29
+ var attrSeries = R.propOr({}, dim.id + '=' + val.id, attributesSeries);
30
+ if (R.isEmpty(attrSeries)) {
31
+ return val;
32
+ }
33
+ var flags = (0, _getFlagsAndNotes.getFlagsAndNotes)(attrSeries, customAttributes);
34
+ var hasAdvancedAttributes = R.pipe(R.omit(R.unnest([customAttributes.flags || [], customAttributes.notes || [], combConceptsIds])), R.complement(R.isEmpty))(attrSeries);
35
+ return (0, _extends3.default)({}, val, { flags: flags, hasAdvancedAttributes: hasAdvancedAttributes });
36
+ }, dim.values);
37
+ return R.append(R.assoc('values', enhancedValues, dim), acc);
38
+ }, [], dimensions);
39
+ };
@@ -31,10 +31,14 @@ var getNotDisplayedIds = exports.getNotDisplayedIds = function getNotDisplayedId
31
31
  return R.assoc(dimensionId, dimensionId, acc);
32
32
  }
33
33
  return R.reduce(function (_acc, val) {
34
+ var _val = val;
34
35
  if (R.isEmpty(val)) {
35
36
  return _acc;
36
37
  }
37
- var key = dimensionId + '.' + val;
38
+ if (R.test('/[()]/')) {
39
+ _val = R.replace(/[()]/g, '')(val);
40
+ }
41
+ var key = R.isEmpty(_val) ? dimensionId : dimensionId + '.' + _val;
38
42
  return R.assoc(key, key, _acc);
39
43
  }, acc, values);
40
44
  }, {}, ids);
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getOneValueDimensions = undefined;
7
+
8
+ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
+
10
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
+
12
+ var _extends3 = require('babel-runtime/helpers/extends');
13
+
14
+ var _extends4 = _interopRequireDefault(_extends3);
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 getOneValueDimensions = exports.getOneValueDimensions = function getOneValueDimensions(dimensions, attributes) {
25
+ var indexedRelevantAttributes = R.reduce(function (acc, attr) {
26
+ if (!attr.header || !attr.display || R.length(attr.relationship || []) !== 1) {
27
+ return acc;
28
+ }
29
+ var value = R.path(['values', 0], attr);
30
+ if (R.isNil(value) || !R.prop('display', value)) {
31
+ return acc;
32
+ }
33
+ var dim = R.head(attr.relationship);
34
+ return R.over(R.lensProp(dim), function () {
35
+ var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
36
+ return (0, _extends4.default)({}, values, (0, _defineProperty3.default)({}, attr.id, (0, _extends4.default)({}, attr, { value: value })));
37
+ })(acc);
38
+ }, {}, attributes);
39
+ return R.reduce(function (acc, dim) {
40
+ if (R.length(dim.values || []) !== 1) {
41
+ return acc;
42
+ }
43
+ var attrValues = R.propOr({}, dim.id, indexedRelevantAttributes);
44
+ return R.append((0, _extends4.default)({}, dim, { attrValues: attrValues }), acc);
45
+ }, [], dimensions);
46
+ };
@@ -14,6 +14,6 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
14
14
  var hasCellMetadata = exports.hasCellMetadata = function hasCellMetadata(metadataCoordinates, cellCoordinates) {
15
15
  return R.pipe(R.find(function (coordinates) {
16
16
  var mergedCoord = R.mergeLeft(coordinates, cellCoordinates);
17
- return R.equals(mergedCoord, cellCoordinates);
17
+ return !R.isEmpty(coordinates) && R.equals(mergedCoord, cellCoordinates);
18
18
  }), R.complement(R.isNil))(metadataCoordinates);
19
19
  };