@sis-cc/dotstatsuite-components 22.6.0 → 23.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bridge-d3-react/src/index.js +1 -2
  3. package/dist/bridge-d3-react/src/index.js.map +1 -1
  4. package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js +2 -2
  5. package/dist/node_modules/css-vendor/dist/css-vendor.esm.js +1 -1
  6. package/dist/node_modules/jss/dist/jss.esm.js +1 -1
  7. package/dist/rules/src/chart/getChartOptions.js +1 -1
  8. package/dist/rules/src/chart/getChartOptions.js.map +1 -1
  9. package/dist/rules/src/constants.js +1 -35
  10. package/dist/rules/src/constants.js.map +1 -1
  11. package/dist/rules/src/dimension-utils.js +26 -24
  12. package/dist/rules/src/dimension-utils.js.map +1 -1
  13. package/dist/rules/src/factories/choro-series.js +43 -32
  14. package/dist/rules/src/factories/choro-series.js.map +1 -1
  15. package/dist/rules/src/factories/focus.js +20 -0
  16. package/dist/rules/src/factories/focus.js.map +1 -0
  17. package/dist/rules/src/factories/getChartSeries.js +11 -0
  18. package/dist/rules/src/factories/getChartSeries.js.map +1 -0
  19. package/dist/rules/src/factories/sample-focus.js +14 -18
  20. package/dist/rules/src/factories/sample-focus.js.map +1 -1
  21. package/dist/rules/src/factories/sample-series.js +20 -20
  22. package/dist/rules/src/factories/sample-series.js.map +1 -1
  23. package/dist/rules/src/factories/scatter-focus.js +21 -35
  24. package/dist/rules/src/factories/scatter-focus.js.map +1 -1
  25. package/dist/rules/src/factories/scatter-series.js +5 -5
  26. package/dist/rules/src/factories/scatter-series.js.map +1 -1
  27. package/dist/rules/src/factories/series.js +48 -0
  28. package/dist/rules/src/factories/series.js.map +1 -0
  29. package/dist/rules/src/factories/stacked-series.js +6 -7
  30. package/dist/rules/src/factories/stacked-series.js.map +1 -1
  31. package/dist/rules/src/factories/symbol-series.js +39 -46
  32. package/dist/rules/src/factories/symbol-series.js.map +1 -1
  33. package/dist/rules/src/factories/timeline-focus.js +10 -14
  34. package/dist/rules/src/factories/timeline-focus.js.map +1 -1
  35. package/dist/rules/src/factories/timeline-series.js +37 -41
  36. package/dist/rules/src/factories/timeline-series.js.map +1 -1
  37. package/dist/rules/src/get-values-enhanced.js +6 -0
  38. package/dist/rules/src/get-values-enhanced.js.map +1 -1
  39. package/dist/rules/src/index.js +6 -371
  40. package/dist/rules/src/index.js.map +1 -1
  41. package/dist/rules/src/layout.js +4 -2
  42. package/dist/rules/src/layout.js.map +1 -1
  43. package/dist/rules/src/observation-formater.js +8 -14
  44. package/dist/rules/src/observation-formater.js.map +1 -1
  45. package/dist/rules/src/properties/focus.js +51 -3
  46. package/dist/rules/src/properties/focus.js.map +1 -1
  47. package/dist/rules/src/properties/getHeaderProps.js +2 -53
  48. package/dist/rules/src/properties/getHeaderProps.js.map +1 -1
  49. package/dist/rules/src/properties/index.js +7 -98
  50. package/dist/rules/src/properties/index.js.map +1 -1
  51. package/dist/rules/src/properties/linear.js +5 -5
  52. package/dist/rules/src/properties/linear.js.map +1 -1
  53. package/dist/rules/src/properties/scatter.js +5 -5
  54. package/dist/rules/src/properties/scatter.js.map +1 -1
  55. package/dist/rules/src/properties/stacked.js +5 -7
  56. package/dist/rules/src/properties/stacked.js.map +1 -1
  57. package/dist/rules/src/properties/symbol.js +1 -1
  58. package/dist/rules/src/properties/symbol.js.map +1 -1
  59. package/dist/rules/src/properties/utils.js +11 -12
  60. package/dist/rules/src/properties/utils.js.map +1 -1
  61. package/dist/rules/src/sdmx-data/index.js +2 -27
  62. package/dist/rules/src/sdmx-data/index.js.map +1 -1
  63. package/dist/rules2/src/combinedValuesDisplay.js +2 -2
  64. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -1
  65. package/dist/rules2/src/getAttributes.js +37 -0
  66. package/dist/rules2/src/getAttributes.js.map +1 -0
  67. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  68. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -1
  69. package/dist/rules2/src/getHeaderCombinations.js +1 -1
  70. package/dist/rules2/src/getHeaderCombinations.js.map +1 -1
  71. package/dist/rules2/src/getHeaderSubtitle.js +1 -1
  72. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -1
  73. package/dist/rules2/src/getHeaderTitle.js +1 -1
  74. package/dist/rules2/src/getHeaderTitle.js.map +1 -1
  75. package/dist/rules2/src/getMetadataCoordinates.js +1 -1
  76. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -1
  77. package/dist/rules2/src/getNotDisplayedIds.js +1 -1
  78. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -1
  79. package/dist/rules2/src/index.js +1 -0
  80. package/dist/rules2/src/index.js.map +1 -1
  81. package/dist/rules2/src/parseAttributes.js +2 -2
  82. package/dist/rules2/src/parseAttributes.js.map +1 -1
  83. package/dist/rules2/src/parseHierarchicalCodelist.js +1 -1
  84. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -1
  85. package/dist/rules2/src/parseMetadataSeries.js +1 -1
  86. package/dist/rules2/src/parseMetadataSeries.js.map +1 -1
  87. package/dist/rules2/src/prepareData.js +10 -3
  88. package/dist/rules2/src/prepareData.js.map +1 -1
  89. package/dist/rules2/src/refineDimensions.js +53 -8
  90. package/dist/rules2/src/refineDimensions.js.map +1 -1
  91. package/dist/rules2/src/table/getCells.js +1 -1
  92. package/dist/rules2/src/table/getCells.js.map +1 -1
  93. package/dist/rules2/src/table/getLayout.js +1 -1
  94. package/dist/rules2/src/table/getLayout.js.map +1 -1
  95. package/dist/rules2/src/table/getTableLayoutIds.js +1 -1
  96. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -1
  97. package/dist/rules2/src/table/getTableProps.js +0 -1
  98. package/dist/rules2/src/table/getTableProps.js.map +1 -1
  99. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -1
  100. package/dist/rules2/src/table/refineLayoutSize2.js +1 -1
  101. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -1
  102. package/dist/rules2/src/utils.js.map +1 -1
  103. package/dist/viewer/src/chart.js +13 -2
  104. package/dist/viewer/src/chart.js.map +1 -1
  105. package/dist/viewer/src/legends/FocusLegend.js +1 -1
  106. package/dist/viewer/src/legends/FocusLegend.js.map +1 -1
  107. package/package.json +6 -5
  108. package/src/bridge-d3-react/src/index.js +0 -1
  109. package/src/rules/src/chart/getChartOptions.js +2 -2
  110. package/src/rules/src/constants.js +0 -35
  111. package/src/rules/src/dimension-utils.js +25 -23
  112. package/src/rules/src/factories/choro-series.js +41 -30
  113. package/src/rules/src/factories/focus.js +17 -0
  114. package/src/rules/src/factories/getChartSeries.js +8 -0
  115. package/src/rules/src/factories/sample-focus.js +14 -18
  116. package/src/rules/src/factories/sample-series.js +20 -20
  117. package/src/rules/src/factories/scatter-focus.js +22 -36
  118. package/src/rules/src/factories/scatter-series.js +8 -8
  119. package/src/rules/src/factories/series.js +45 -0
  120. package/src/rules/src/factories/stacked-series.js +4 -5
  121. package/src/rules/src/factories/symbol-series.js +37 -44
  122. package/src/rules/src/factories/timeline-focus.js +10 -14
  123. package/src/rules/src/factories/timeline-series.js +35 -39
  124. package/src/rules/src/get-values-enhanced.js +6 -0
  125. package/src/rules/src/index.js +7 -384
  126. package/src/rules/src/layout.js +4 -2
  127. package/src/rules/src/observation-formater.js +14 -20
  128. package/src/rules/src/properties/focus.js +50 -2
  129. package/src/rules/src/properties/getHeaderProps.js +1 -53
  130. package/src/rules/src/properties/index.js +2 -93
  131. package/src/rules/src/properties/linear.js +2 -2
  132. package/src/rules/src/properties/scatter.js +4 -4
  133. package/src/rules/src/properties/stacked.js +4 -6
  134. package/src/rules/src/properties/symbol.js +0 -1
  135. package/src/rules/src/properties/utils.js +11 -21
  136. package/src/rules/src/sdmx-data/index.js +2 -31
  137. package/src/rules2/src/combinedValuesDisplay.js +2 -2
  138. package/src/rules2/src/getAttributes.js +34 -0
  139. package/src/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  140. package/src/rules2/src/getHeaderCombinations.js +1 -1
  141. package/src/rules2/src/getHeaderSubtitle.js +2 -2
  142. package/src/rules2/src/getHeaderTitle.js +1 -1
  143. package/src/rules2/src/getMetadataCoordinates.js +1 -1
  144. package/src/rules2/src/getNotDisplayedIds.js +1 -1
  145. package/src/rules2/src/index.js +1 -0
  146. package/src/rules2/src/parseAttributes.js +2 -2
  147. package/src/rules2/src/parseHierarchicalCodelist.js +1 -1
  148. package/src/rules2/src/parseMetadataSeries.js +1 -1
  149. package/src/rules2/src/prepareData.js +10 -3
  150. package/src/rules2/src/refineDimensions.js +53 -8
  151. package/src/rules2/src/table/getCells.js +2 -2
  152. package/src/rules2/src/table/getLayout.js +2 -2
  153. package/src/rules2/src/table/getTableLayoutIds.js +9 -9
  154. package/src/rules2/src/table/getTableProps.js +0 -1
  155. package/src/rules2/src/table/parseValueHierarchy.js +0 -7
  156. package/src/rules2/src/table/refineLayoutSize2.js +5 -5
  157. package/src/rules2/src/utils.js +0 -11
  158. package/src/viewer/src/app/leg.js +0 -1
  159. package/src/viewer/src/chart.jsx +23 -1
  160. package/src/viewer/src/legends/FocusLegend.jsx +1 -1
  161. package/dist/rules/src/factories/scatter-dimension.js +0 -35
  162. package/dist/rules/src/factories/scatter-dimension.js.map +0 -1
  163. package/dist/rules/src/factories/stacked-dimension.js +0 -32
  164. package/dist/rules/src/factories/stacked-dimension.js.map +0 -1
  165. package/dist/rules/src/factories/symbol-dimension.js +0 -32
  166. package/dist/rules/src/factories/symbol-dimension.js.map +0 -1
  167. package/dist/rules/src/header/getDefaultSubtitle.js +0 -44
  168. package/dist/rules/src/header/getDefaultSubtitle.js.map +0 -1
  169. package/dist/rules/src/header/getHeaderUnits.js +0 -21
  170. package/dist/rules/src/header/getHeaderUnits.js.map +0 -1
  171. package/dist/rules/src/header/getSubtitleFlags.js +0 -47
  172. package/dist/rules/src/header/getSubtitleFlags.js.map +0 -1
  173. package/dist/rules/src/header/getTitleFlags.js +0 -12
  174. package/dist/rules/src/header/getTitleFlags.js.map +0 -1
  175. package/dist/rules/src/properties/errors.js +0 -22
  176. package/dist/rules/src/properties/errors.js.map +0 -1
  177. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +0 -50
  178. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +0 -1
  179. package/dist/rules/src/v8-transformer.js +0 -174
  180. package/dist/rules/src/v8-transformer.js.map +0 -1
  181. package/src/bridge-d3-react/src/app.js +0 -64
  182. package/src/bridge-d3-react/src/mock-choro.js +0 -394
  183. package/src/rules/src/factories/scatter-dimension.js +0 -32
  184. package/src/rules/src/factories/stacked-dimension.js +0 -29
  185. package/src/rules/src/factories/symbol-dimension.js +0 -29
  186. package/src/rules/src/header/getDefaultSubtitle.js +0 -40
  187. package/src/rules/src/header/getHeaderUnits.js +0 -17
  188. package/src/rules/src/header/getSubtitleFlags.js +0 -43
  189. package/src/rules/src/header/getTitleFlags.js +0 -8
  190. package/src/rules/src/header/index.js +0 -4
  191. package/src/rules/src/preparators/enhanceObservations.js +0 -152
  192. package/src/rules/src/properties/errors.js +0 -19
  193. package/src/rules/src/properties/getInformationsStateFromNewProps.js +0 -47
  194. package/src/rules/src/properties/information.js +0 -84
  195. package/src/rules/src/v8-transformer.js +0 -177
  196. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -29
  197. package/src/rules2/src/getMetadataStructureFromData.js +0 -17
  198. package/src/rules2/src/refineMetadataCoordinates.js +0 -28
  199. package/src/rules2/src/table/getCombinationDimensionsData.js +0 -39
@@ -0,0 +1,37 @@
1
+ import * as R from 'ramda';
2
+ import { getIsHidden } from '../../rules/src/sdmx-data/index.js';
3
+ import { getValuesEnhanced } from '../../rules/src/get-values-enhanced.js';
4
+
5
+ const getAttributes = ({ attributes, annotations, options }) => {
6
+ const {
7
+ hiddenCombinations = {},
8
+ hiddenValues = {},
9
+ locale = '',
10
+ ...restOptions
11
+ } = options;
12
+
13
+ const datasetAttributes = R.propOr([], 'dataSet', attributes);
14
+ const obsAttributes = R.propOr([], 'observation', attributes);
15
+
16
+ return R.pipe(
17
+ R.concat,
18
+ R.addIndex(R.map)((attr, index) => {
19
+ const attrAnnotations = R.props(attr.annotations || [], annotations);
20
+ return ({
21
+ ...attr,
22
+ __index: index,
23
+ display: !R.has(attr.id, hiddenValues) && !getIsHidden(attrAnnotations),
24
+ values: getValuesEnhanced({
25
+ locale,
26
+ annotations,
27
+ parent: attr.id,
28
+ hiddenIds: hiddenValues,
29
+ options: restOptions,
30
+ })(attr.values || [])
31
+ })
32
+ })
33
+ )(obsAttributes, datasetAttributes);
34
+ };
35
+
36
+ export { getAttributes };
37
+ //# sourceMappingURL=getAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAttributes.js","sources":["../../../src/rules2/src/getAttributes.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getIsHidden } from '../../rules/src/sdmx-data';\nimport { getValuesEnhanced } from '../../rules/src/get-values-enhanced';\n\nexport const getAttributes = ({ attributes, annotations, options }) => {\n const {\n hiddenCombinations = {},\n hiddenValues = {},\n locale = '',\n ...restOptions\n } = options;\n\n const datasetAttributes = R.propOr([], 'dataSet', attributes);\n const obsAttributes = R.propOr([], 'observation', attributes);\n\n return R.pipe(\n R.concat,\n R.addIndex(R.map)((attr, index) => {\n const attrAnnotations = R.props(attr.annotations || [], annotations);\n return ({\n ...attr,\n __index: index,\n display: !R.has(attr.id, hiddenValues) && !getIsHidden(attrAnnotations),\n values: getValuesEnhanced({\n locale,\n annotations,\n parent: attr.id,\n hiddenIds: hiddenValues,\n options: restOptions,\n })(attr.values || [])\n })\n })\n )(obsAttributes, datasetAttributes);\n};\n"],"names":[],"mappings":";;;;AAIY,MAAC,aAAa,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK;AACvE,EAAE,MAAM;AACR,IAAI,kBAAkB,GAAG,EAAE;AAC3B,IAAI,YAAY,GAAG,EAAE;AACrB,IAAI,MAAM,GAAG,EAAE;AACf,IAAI,GAAG;AACP,GAAG,GAAG,OAAO;;AAEb,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;AAC/D,EAAE,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC;;AAE/D,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACvC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,WAAW,CAAC;AAC1E,MAAM,QAAQ;AACd,QAAQ,GAAG,IAAI;AACf,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;AAC/E,QAAQ,MAAM,EAAE,iBAAiB,CAAC;AAClC,UAAU,MAAM;AAChB,UAAU,WAAW;AACrB,UAAU,MAAM,EAAE,IAAI,CAAC,EAAE;AACzB,UAAU,SAAS,EAAE,YAAY;AACjC,UAAU,OAAO,EAAE,WAAW;AAC9B,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;AAC5B,OAAO;AACP,IAAI,CAAC;AACL,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC;AACrC;;;;"}
@@ -4,8 +4,8 @@ const getDataflowTooltipAttributesIds = (sdmxJson, defaults = {}) => {
4
4
  const dataflowAnnotationsIndexes = R.pathOr([], ['data', 'dataSets', 0, 'annotations'], sdmxJson);
5
5
  const dataflowAnnotations = R.props(dataflowAnnotationsIndexes, R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson));
6
6
 
7
- const flagsAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_FLAG'), dataflowAnnotations);
8
- const footnotesAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_NOTE'), dataflowAnnotations);
7
+ const flagsAttrAnnotation = R.find(R.propEq('LAYOUT_FLAG', 'type'), dataflowAnnotations);
8
+ const footnotesAttrAnnotation = R.find(R.propEq('LAYOUT_NOTE', 'type'), dataflowAnnotations);
9
9
 
10
10
  const customFlags = R.pipe(
11
11
  R.propOr('', 'title'),
@@ -1 +1 @@
1
- {"version":3,"file":"getDataflowTooltipAttributesIds.js","sources":["../../../src/rules2/src/getDataflowTooltipAttributesIds.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getDataflowTooltipAttributesIds = (sdmxJson, defaults = {}) => {\n const dataflowAnnotationsIndexes = R.pathOr([], ['data', 'dataSets', 0, 'annotations'], sdmxJson);\n const dataflowAnnotations = R.props(dataflowAnnotationsIndexes, R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson));\n\n const flagsAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_FLAG'), dataflowAnnotations);\n const footnotesAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_NOTE'), dataflowAnnotations);\n\n const customFlags = R.pipe(\n R.propOr('', 'title'),\n title => R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title)\n )(flagsAttrAnnotation || {});\n\n const customNotes = R.pipe(\n R.propOr('', 'title'),\n title => R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title),\n notes => R.difference(notes, customFlags)\n )(footnotesAttrAnnotation || {});\n\n const flags = R.isNil(flagsAttrAnnotation)\n ? R.difference(defaults.flags || [], customNotes)\n : customFlags;\n\n const notes = R.isNil(footnotesAttrAnnotation)\n ? R.difference(defaults.notes || [], flags)\n : customNotes;\n\n return ({ flags, notes });\n};\n\n"],"names":[],"mappings":";;AAEY,MAAC,+BAA+B,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE,KAAK;AAC5E,EAAE,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;AACnG,EAAE,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;;AAE/H,EAAE,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC;AAC1F,EAAE,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC;;AAE9F,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI;AAC5B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK;AACzE,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;;AAE9B,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI;AAC5B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AAC1E,IAAI,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW;AAC5C,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;;AAElC,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB;AAC3C,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW;AACpD,MAAM,WAAW;;AAEjB,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB;AAC/C,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK;AAC9C,MAAM,WAAW;;AAEjB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;AAC1B;;;;"}
1
+ {"version":3,"file":"getDataflowTooltipAttributesIds.js","sources":["../../../src/rules2/src/getDataflowTooltipAttributesIds.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getDataflowTooltipAttributesIds = (sdmxJson, defaults = {}) => {\n const dataflowAnnotationsIndexes = R.pathOr([], ['data', 'dataSets', 0, 'annotations'], sdmxJson);\n const dataflowAnnotations = R.props(dataflowAnnotationsIndexes, R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson));\n\n const flagsAttrAnnotation = R.find(R.propEq('LAYOUT_FLAG', 'type'), dataflowAnnotations);\n const footnotesAttrAnnotation = R.find(R.propEq('LAYOUT_NOTE', 'type'), dataflowAnnotations);\n\n const customFlags = R.pipe(\n R.propOr('', 'title'),\n title => R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title)\n )(flagsAttrAnnotation || {});\n\n const customNotes = R.pipe(\n R.propOr('', 'title'),\n title => R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title),\n notes => R.difference(notes, customFlags)\n )(footnotesAttrAnnotation || {});\n\n const flags = R.isNil(flagsAttrAnnotation)\n ? R.difference(defaults.flags || [], customNotes)\n : customFlags;\n\n const notes = R.isNil(footnotesAttrAnnotation)\n ? R.difference(defaults.notes || [], flags)\n : customNotes;\n\n return ({ flags, notes });\n};\n\n"],"names":[],"mappings":";;AAEY,MAAC,+BAA+B,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE,KAAK;AAC5E,EAAE,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;AACnG,EAAE,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;;AAE/H,EAAE,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;AAC1F,EAAE,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;;AAE9F,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI;AAC5B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK;AACzE,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;;AAE9B,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI;AAC5B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AAC1E,IAAI,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW;AAC5C,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;;AAElC,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB;AAC3C,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW;AACpD,MAAM,WAAW;;AAEjB,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB;AAC/C,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK;AAC9C,MAAM,WAAW;;AAEjB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;AAC1B;;;;"}
@@ -1,7 +1,7 @@
1
1
  import * as R from 'ramda';
2
+ import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
2
3
  import { combinedValuesDisplay } from './combinedValuesDisplay.js';
3
4
  import { REJECTED_VALUE_IDS } from './constants.js';
4
- import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
5
5
 
6
6
  const getHeaderCombinations = (combinations, dimensions, attributes, display) => {
7
7
  const indexedDimensions = R.indexBy(R.prop('id'), dimensions);
@@ -1 +1 @@
1
- {"version":3,"file":"getHeaderCombinations.js","sources":["../../../src/rules2/src/getHeaderCombinations.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src';\nimport { combinedValuesDisplay } from './combinedValuesDisplay';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nexport const getHeaderCombinations = (combinations, dimensions, attributes, display) => {\n const indexedDimensions = R.indexBy(R.prop('id'), dimensions);\n const indexedAttributes = R.indexBy(R.prop('id'), attributes);\n return R.reduce(\n (acc, comb) => {\n if (!R.prop('header', comb) || !R.propOr(true, 'display', comb)) {\n return acc;\n }\n\n const header = `${dimensionValueDisplay(display)(comb)}:`;\n\n const label = R.pipe(\n R.reduce(\n (_acc, concept) => {\n const artefact = R.has(concept, indexedDimensions)\n ? R.prop(concept, indexedDimensions)\n : R.prop(concept, indexedAttributes);\n if (R.isNil(artefact)) {\n return _acc;\n }\n const value = R.path(['values', 0], artefact);\n if (R.isNil(value)) {\n return _acc;\n }\n if (R.has(concept, indexedAttributes) && (!R.propOr(true, 'display', value)\n || !R.propOr(true, 'artefact', value) || R.includes(value.id, REJECTED_VALUE_IDS))) {\n return _acc;\n }\n return R.append(value, _acc);\n },\n []\n ),\n values => combinedValuesDisplay(display, values)\n )(comb.concepts || []);\n if (R.isEmpty(label)) {\n return acc;\n }\n return R.append({ header, label }, acc);\n },\n [],\n combinations,\n );\n};\n"],"names":[],"mappings":";;;;;AAKY,MAAC,qBAAqB,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,KAAK;AACxF,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/D,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/D,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK;AACnB,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;AACvE,QAAQ,OAAO,GAAG;AAClB,MAAM;;AAEN,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AAE/D,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAC1B,QAAQ,CAAC,CAAC,MAAM;AAChB,UAAU,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7B,YAAY,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB;AAC7D,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB;AACjD,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC;AAClD,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACnC,cAAc,OAAO,IAAI;AACzB,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;AACzD,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAChC,cAAc,OAAO,IAAI;AACzB,YAAY;AACZ,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK;AACtF,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,EAAE;AAClG,cAAc,OAAO,IAAI;AACzB,YAAY;AACZ,YAAY,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;AACxC,UAAU,CAAC;AACX,UAAU;AACV,SAAS;AACT,QAAQ,MAAM,IAAI,qBAAqB,CAAC,OAAO,EAAE,MAAM;AACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC5B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;AAC7C,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,YAAY;AAChB,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"getHeaderCombinations.js","sources":["../../../src/rules2/src/getHeaderCombinations.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src/dimension-utils';\nimport { combinedValuesDisplay } from './combinedValuesDisplay';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nexport const getHeaderCombinations = (combinations, dimensions, attributes, display) => {\n const indexedDimensions = R.indexBy(R.prop('id'), dimensions);\n const indexedAttributes = R.indexBy(R.prop('id'), attributes);\n return R.reduce(\n (acc, comb) => {\n if (!R.prop('header', comb) || !R.propOr(true, 'display', comb)) {\n return acc;\n }\n\n const header = `${dimensionValueDisplay(display)(comb)}:`;\n\n const label = R.pipe(\n R.reduce(\n (_acc, concept) => {\n const artefact = R.has(concept, indexedDimensions)\n ? R.prop(concept, indexedDimensions)\n : R.prop(concept, indexedAttributes);\n if (R.isNil(artefact)) {\n return _acc;\n }\n const value = R.path(['values', 0], artefact);\n if (R.isNil(value)) {\n return _acc;\n }\n if (R.has(concept, indexedAttributes) && (!R.propOr(true, 'display', value)\n || !R.propOr(true, 'artefact', value) || R.includes(value.id, REJECTED_VALUE_IDS))) {\n return _acc;\n }\n return R.append(value, _acc);\n },\n []\n ),\n values => combinedValuesDisplay(display, values)\n )(comb.concepts || []);\n if (R.isEmpty(label)) {\n return acc;\n }\n return R.append({ header, label }, acc);\n },\n [],\n combinations,\n );\n};\n"],"names":[],"mappings":";;;;;AAKY,MAAC,qBAAqB,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,KAAK;AACxF,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/D,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/D,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK;AACnB,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;AACvE,QAAQ,OAAO,GAAG;AAClB,MAAM;;AAEN,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AAE/D,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAC1B,QAAQ,CAAC,CAAC,MAAM;AAChB,UAAU,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7B,YAAY,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB;AAC7D,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB;AACjD,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC;AAClD,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACnC,cAAc,OAAO,IAAI;AACzB,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;AACzD,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAChC,cAAc,OAAO,IAAI;AACzB,YAAY;AACZ,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK;AACtF,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,EAAE;AAClG,cAAc,OAAO,IAAI;AACzB,YAAY;AACZ,YAAY,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;AACxC,UAAU,CAAC;AACX,UAAU;AACV,SAAS;AACT,QAAQ,MAAM,IAAI,qBAAqB,CAAC,OAAO,EAAE,MAAM;AACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC5B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;AAC7C,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,YAAY;AAChB,GAAG;AACH;;;;"}
@@ -8,7 +8,7 @@ const getHeaderSubtitle = (dimensions, combinations, customAttributes, display,
8
8
 
9
9
  return R.reduce(
10
10
  (acc, dim) => {
11
- if (!R.propOr(true, 'display', dim) || R.propEq('id', microdataDimension, dim)
11
+ if (!R.propOr(true, 'display', dim) || R.propEq(microdataDimension, 'id', dim)
12
12
  || R.includes(dim.id, combinationsConepts)) {
13
13
  return acc;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getHeaderSubtitle.js","sources":["../../../src/rules2/src/getHeaderSubtitle.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getFlagsAndNotes } from './table/getFlagsAndNotes';\nimport { dimensionValueDisplay } from '../../rules/src/';\n\nexport const getHeaderSubtitle = (dimensions, combinations, customAttributes, display, microdataDimension) => {\n const combinationsConepts = R.pipe(R.pluck('concepts'), R.unnest)(combinations);\n const DEFAULT_REJECTED_SUBTITLE_IDS = ['_L', '_T', '_Z'];\n\n return R.reduce(\n (acc, dim) => {\n if (!R.propOr(true, 'display', dim) || R.propEq('id', microdataDimension, dim)\n || R.includes(dim.id, combinationsConepts)) {\n return acc;\n }\n const value = R.path(['values', 0], dim);\n if (!R.propOr(true, 'display', value) || R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS)) {\n return acc;\n }\n const header = `${dimensionValueDisplay(display)(dim)}:`;\n const label = dimensionValueDisplay(display)(value);\n const flags = R.pipe(\n getFlagsAndNotes,\n R.map(entry => ({\n code: entry.code,\n header: `${dimensionValueDisplay(display)(entry)}:`,\n label: dimensionValueDisplay(display)(entry.value),\n })),\n )(dim.attrValues, customAttributes);\n return R.append({ header, label, flags }, acc);\n },\n [],\n dimensions,\n );\n};\n"],"names":[],"mappings":";;;;AAIY,MAAC,iBAAiB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,KAAK;AAC9G,EAAE,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;AACjF,EAAE,MAAM,6BAA6B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;;AAE1D,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;AAClB,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG;AACnF,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,mBAAmB,CAAC,EAAE;AACpD,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;AAC9C,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,6BAA6B,CAAC,EAAE;AACpG,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AACzD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAC1B,QAAQ,gBAAgB;AACxB,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK;AACxB,UAAU,IAAI,EAAE,KAAK,CAAC,IAAI;AAC1B,UAAU,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7D,UAAU,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5D,SAAS,CAAC,CAAC;AACX,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC;AACzC,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;AACpD,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,UAAU;AACd,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"getHeaderSubtitle.js","sources":["../../../src/rules2/src/getHeaderSubtitle.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getFlagsAndNotes } from './table/getFlagsAndNotes';\nimport { dimensionValueDisplay } from '../../rules/src/dimension-utils';\n\nexport const getHeaderSubtitle = (dimensions, combinations, customAttributes, display, microdataDimension) => {\n const combinationsConepts = R.pipe(R.pluck('concepts'), R.unnest)(combinations);\n const DEFAULT_REJECTED_SUBTITLE_IDS = ['_L', '_T', '_Z'];\n\n return R.reduce(\n (acc, dim) => {\n if (!R.propOr(true, 'display', dim) || R.propEq(microdataDimension, 'id', dim)\n || R.includes(dim.id, combinationsConepts)) {\n return acc;\n }\n const value = R.path(['values', 0], dim);\n if (!R.propOr(true, 'display', value) || R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS)) {\n return acc;\n }\n const header = `${dimensionValueDisplay(display)(dim)}:`;\n const label = dimensionValueDisplay(display)(value);\n const flags = R.pipe(\n getFlagsAndNotes,\n R.map(entry => ({\n code: entry.code,\n header: `${dimensionValueDisplay(display)(entry)}:`,\n label: dimensionValueDisplay(display)(entry.value),\n })),\n )(dim.attrValues, customAttributes);\n return R.append({ header, label, flags }, acc);\n },\n [],\n dimensions,\n );\n};\n"],"names":[],"mappings":";;;;AAIY,MAAC,iBAAiB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,KAAK;AAC9G,EAAE,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;AACjF,EAAE,MAAM,6BAA6B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;;AAE1D,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;AAClB,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,EAAE,GAAG;AACnF,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,mBAAmB,CAAC,EAAE;AACpD,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;AAC9C,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,6BAA6B,CAAC,EAAE;AACpG,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AACzD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAC1B,QAAQ,gBAAgB;AACxB,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK;AACxB,UAAU,IAAI,EAAE,KAAK,CAAC,IAAI;AAC1B,UAAU,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7D,UAAU,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5D,SAAS,CAAC,CAAC;AACX,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC;AACzC,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;AACpD,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,UAAU;AACd,GAAG;AACH;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as R from 'ramda';
2
- import { getFlagsAndNotes } from './table/getFlagsAndNotes.js';
3
2
  import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
3
+ import { getFlagsAndNotes } from './table/getFlagsAndNotes.js';
4
4
 
5
5
  const getHeaderTitle = (dataflow, attributes, display, customAttributes) => ({
6
6
  label: dimensionValueDisplay(display)(dataflow),
@@ -1 +1 @@
1
- {"version":3,"file":"getHeaderTitle.js","sources":["../../../src/rules2/src/getHeaderTitle.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src';\nimport { getFlagsAndNotes } from './table/getFlagsAndNotes';\n\nexport const getHeaderTitle = (dataflow, attributes, display, customAttributes) => ({\n label: dimensionValueDisplay(display)(dataflow),\n flags: R.pipe(\n getFlagsAndNotes,\n R.map(entry => ({\n code: entry.code,\n header: `${dimensionValueDisplay(display)(entry)}:`,\n label: dimensionValueDisplay(display)(entry.value),\n })),\n )(attributes, customAttributes),\n});\n"],"names":[],"mappings":";;;;AAIY,MAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,MAAM;AACpF,EAAE,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;AACjD,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI;AACf,IAAI,gBAAgB;AACpB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK;AACpB,MAAM,IAAI,EAAE,KAAK,CAAC,IAAI;AACtB,MAAM,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AACxD,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC;AACjC,CAAC;;;;"}
1
+ {"version":3,"file":"getHeaderTitle.js","sources":["../../../src/rules2/src/getHeaderTitle.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src/dimension-utils';\nimport { getFlagsAndNotes } from './table/getFlagsAndNotes';\n\nexport const getHeaderTitle = (dataflow, attributes, display, customAttributes) => ({\n label: dimensionValueDisplay(display)(dataflow),\n flags: R.pipe(\n getFlagsAndNotes,\n R.map(entry => ({\n code: entry.code,\n header: `${dimensionValueDisplay(display)(entry)}:`,\n label: dimensionValueDisplay(display)(entry.value),\n })),\n )(attributes, customAttributes),\n});\n"],"names":[],"mappings":";;;;AAIY,MAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,MAAM;AACpF,EAAE,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;AACjD,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI;AACf,IAAI,gBAAgB;AACpB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK;AACpB,MAAM,IAAI,EAAE,KAAK,CAAC,IAAI;AACtB,MAAM,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AACxD,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC;AACjC,CAAC;;;;"}
@@ -6,7 +6,7 @@ const getMetadataCoordinates = (sdmxJson) => {
6
6
  const metadataAvailKeys = R.pipe(
7
7
  R.pathOr([], ['data', 'dataSets', 0, 'dimensionGroupAttributes']),
8
8
  R.map(indexes => R.props(indexes, annotations)),
9
- R.filter(R.find(a => a && R.propEq('type', 'HAS_METADATA', a))),
9
+ R.filter(R.find(a => a && R.propEq('HAS_METADATA', 'type', a))),
10
10
  R.keys
11
11
  )(sdmxJson);
12
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"getMetadataCoordinates.js","sources":["../../../src/rules2/src/getMetadataCoordinates.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getMetadataCoordinates = (sdmxJson) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);\n const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);\n const metadataAvailKeys = R.pipe(\n R.pathOr([], ['data', 'dataSets', 0, 'dimensionGroupAttributes']),\n R.map(indexes => R.props(indexes, annotations)),\n R.filter(R.find(a => a && R.propEq('type', 'HAS_METADATA', a))),\n R.keys\n )(sdmxJson);\n\n return R.map(\n key => {\n const indexes = R.split(':', key);\n return R.addIndex(R.reduce)(\n (acc, vIndex, dimIndex) => {\n if (R.isNil(vIndex) || R.isEmpty(vIndex)) {\n return acc;\n }\n const dim = R.nth(dimIndex, dimensions);\n if (R.isNil(dim) || R.prop('rejected', dim)) {\n return acc;\n }\n const val = R.path(['values', Number(vIndex)], dim);\n if (R.isNil(val)) {\n return acc;\n }\n return R.assoc(dim.id, val.id, acc);\n },\n {},\n indexes\n );\n },\n metadataAvailKeys\n );\n};\n"],"names":[],"mappings":";;AAEY,MAAC,sBAAsB,GAAG,CAAC,QAAQ,KAAK;AACpD,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;AAC/F,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;AAClF,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI;AAClC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;AACrE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACnD,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;AACnE,IAAI,CAAC,CAAC;AACN,GAAG,CAAC,QAAQ,CAAC;;AAEb,EAAE,OAAO,CAAC,CAAC,GAAG;AACd,IAAI,GAAG,IAAI;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AACvC,MAAM,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,KAAK;AACnC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACpD,YAAY,OAAO,GAAG;AACtB,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;AACjD,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;AACvD,YAAY,OAAO,GAAG;AACtB,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;AAC7D,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC5B,YAAY,OAAO,GAAG;AACtB,UAAU;AACV,UAAU,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AAC7C,QAAQ,CAAC;AACT,QAAQ,EAAE;AACV,QAAQ;AACR,OAAO;AACP,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"getMetadataCoordinates.js","sources":["../../../src/rules2/src/getMetadataCoordinates.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getMetadataCoordinates = (sdmxJson) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);\n const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);\n const metadataAvailKeys = R.pipe(\n R.pathOr([], ['data', 'dataSets', 0, 'dimensionGroupAttributes']),\n R.map(indexes => R.props(indexes, annotations)),\n R.filter(R.find(a => a && R.propEq('HAS_METADATA', 'type', a))),\n R.keys\n )(sdmxJson);\n\n return R.map(\n key => {\n const indexes = R.split(':', key);\n return R.addIndex(R.reduce)(\n (acc, vIndex, dimIndex) => {\n if (R.isNil(vIndex) || R.isEmpty(vIndex)) {\n return acc;\n }\n const dim = R.nth(dimIndex, dimensions);\n if (R.isNil(dim) || R.prop('rejected', dim)) {\n return acc;\n }\n const val = R.path(['values', Number(vIndex)], dim);\n if (R.isNil(val)) {\n return acc;\n }\n return R.assoc(dim.id, val.id, acc);\n },\n {},\n indexes\n );\n },\n metadataAvailKeys\n );\n};\n"],"names":[],"mappings":";;AAEY,MAAC,sBAAsB,GAAG,CAAC,QAAQ,KAAK;AACpD,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;AAC/F,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;AAClF,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI;AAClC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;AACrE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACnD,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACnE,IAAI,CAAC,CAAC;AACN,GAAG,CAAC,QAAQ,CAAC;;AAEb,EAAE,OAAO,CAAC,CAAC,GAAG;AACd,IAAI,GAAG,IAAI;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AACvC,MAAM,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,KAAK;AACnC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACpD,YAAY,OAAO,GAAG;AACtB,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;AACjD,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;AACvD,YAAY,OAAO,GAAG;AACtB,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;AAC7D,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC5B,YAAY,OAAO,GAAG;AACtB,UAAU;AACV,UAAU,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AAC7C,QAAQ,CAAC;AACT,QAAQ,EAAE;AACV,QAAQ;AACR,OAAO;AACP,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;;;;"}
@@ -42,7 +42,7 @@ const getNotDisplayedValues = annot => {
42
42
  };
43
43
 
44
44
  const getNotDisplayedIds = (annotations) => R.pipe(
45
- R.find(R.propEq('type', 'NOT_DISPLAYED')),
45
+ R.find(R.propEq('NOT_DISPLAYED', 'type')),
46
46
  R.converge((hiddenValues, hiddenCombinations) => ({
47
47
  hiddenValues,
48
48
  hiddenCombinations
@@ -1 +1 @@
1
- {"version":3,"file":"getNotDisplayedIds.js","sources":["../../../src/rules2/src/getNotDisplayedIds.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getNotDisplayedCombinations } from '@sis-cc/dotstatsuite-sdmxjs';\n\nconst getNotDisplayedValues = annot => {\n if (R.isNil(annot)) {\n return {};\n }\n const ids = R.split(',', annot.title || '');\n return R.reduce(\n (acc, entry) => {\n if (R.isEmpty(entry)) {\n return acc;\n }\n const parsed = R.split('=', entry);\n const dimensionId = parsed[0];\n if (R.length(parsed) === 1) {\n return R.assoc(dimensionId, dimensionId, acc);\n }\n const values = R.split('+', parsed[1]);\n if (R.length(values) === 1 && R.isEmpty(values[0])) {\n return R.assoc(dimensionId, dimensionId, acc);\n }\n return R.reduce(\n (_acc, val) => {\n let _val = val\n if (R.isEmpty(val)) {\n return _acc;\n }\n if (R.test('/[()]/')) {\n _val = R.replace(/[()]/g, '')(val)\n }\n const key = R.isEmpty(_val) ? dimensionId : `${dimensionId}.${_val}`;\n return R.assoc(key, key, _acc);\n },\n acc,\n values\n );\n },\n {},\n ids\n );\n};\n\nexport const getNotDisplayedIds = (annotations) => R.pipe(\n R.find(R.propEq('type', 'NOT_DISPLAYED')),\n R.converge((hiddenValues, hiddenCombinations) => ({\n hiddenValues,\n hiddenCombinations\n }), [\n getNotDisplayedValues,\n (annot={ title: '' }) => getNotDisplayedCombinations(annot) \n ])\n)(annotations);\n"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,KAAK,IAAI;AACvC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AACtB,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AAC7C,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK;AACpB,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAClC,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC;AACrD,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5C,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1D,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC;AACrD,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,MAAM;AACrB,QAAQ,CAAC,IAAI,EAAE,GAAG,KAAK;AACvB,UAAU,IAAI,IAAI,GAAG;AACrB,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC9B,YAAY,OAAO,IAAI;AACvB,UAAU;AACV,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAChC,YAAY,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG;AAC7C,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9E,UAAU,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;AACxC,QAAQ,CAAC;AACT,QAAQ,GAAG;AACX,QAAQ;AACR,OAAO;AACP,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI;AACJ,GAAG;AACH,CAAC;;AAEW,MAAC,kBAAkB,GAAG,CAAC,WAAW,KAAK,CAAC,CAAC,IAAI;AACzD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAC3C,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,kBAAkB,MAAM;AACpD,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG,CAAC,EAAE;AACN,IAAI,qBAAqB;AACzB,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,2BAA2B,CAAC,KAAK,CAAC;AAC/D,GAAG;AACH,CAAC,CAAC,WAAW;;;;"}
1
+ {"version":3,"file":"getNotDisplayedIds.js","sources":["../../../src/rules2/src/getNotDisplayedIds.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getNotDisplayedCombinations } from '@sis-cc/dotstatsuite-sdmxjs';\n\nconst getNotDisplayedValues = annot => {\n if (R.isNil(annot)) {\n return {};\n }\n const ids = R.split(',', annot.title || '');\n return R.reduce(\n (acc, entry) => {\n if (R.isEmpty(entry)) {\n return acc;\n }\n const parsed = R.split('=', entry);\n const dimensionId = parsed[0];\n if (R.length(parsed) === 1) {\n return R.assoc(dimensionId, dimensionId, acc);\n }\n const values = R.split('+', parsed[1]);\n if (R.length(values) === 1 && R.isEmpty(values[0])) {\n return R.assoc(dimensionId, dimensionId, acc);\n }\n return R.reduce(\n (_acc, val) => {\n let _val = val\n if (R.isEmpty(val)) {\n return _acc;\n }\n if (R.test('/[()]/')) {\n _val = R.replace(/[()]/g, '')(val)\n }\n const key = R.isEmpty(_val) ? dimensionId : `${dimensionId}.${_val}`;\n return R.assoc(key, key, _acc);\n },\n acc,\n values\n );\n },\n {},\n ids\n );\n};\n\nexport const getNotDisplayedIds = (annotations) => R.pipe(\n R.find(R.propEq('NOT_DISPLAYED', 'type')),\n R.converge((hiddenValues, hiddenCombinations) => ({\n hiddenValues,\n hiddenCombinations\n }), [\n getNotDisplayedValues,\n (annot={ title: '' }) => getNotDisplayedCombinations(annot) \n ])\n)(annotations);\n"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,KAAK,IAAI;AACvC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AACtB,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AAC7C,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK;AACpB,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAClC,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC;AACrD,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5C,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1D,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC;AACrD,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,MAAM;AACrB,QAAQ,CAAC,IAAI,EAAE,GAAG,KAAK;AACvB,UAAU,IAAI,IAAI,GAAG;AACrB,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC9B,YAAY,OAAO,IAAI;AACvB,UAAU;AACV,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAChC,YAAY,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG;AAC7C,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9E,UAAU,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;AACxC,QAAQ,CAAC;AACT,QAAQ,GAAG;AACX,QAAQ;AACR,OAAO;AACP,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI;AACJ,GAAG;AACH,CAAC;;AAEW,MAAC,kBAAkB,GAAG,CAAC,WAAW,KAAK,CAAC,CAAC,IAAI;AACzD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAC3C,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,kBAAkB,MAAM;AACpD,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG,CAAC,EAAE;AACN,IAAI,qBAAqB;AACzB,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,2BAA2B,CAAC,KAAK,CAAC;AAC/D,GAAG;AACH,CAAC,CAAC,WAAW;;;;"}
@@ -12,6 +12,7 @@ export { refinePartialHierarchy } from './hierarchiseDimensionWithAdvancedHierar
12
12
  export { hierarchiseDimensionWithNativeHierarchy } from './hierarchiseDimensionWithNativeHierarchy2.js';
13
13
  export { getDimensionValuesIndexes } from './getDimensionValuesIndexes.js';
14
14
  export { getCombinationDefinitions, parseCombinationDefinition } from './getCombinationDefinitions.js';
15
+ export { getAttributes } from './getAttributes.js';
15
16
  export { refineDimensions } from './refineDimensions.js';
16
17
  export { parseAttributes } from './parseAttributes.js';
17
18
  export { parseCombinations } from './parseCombinations.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -14,10 +14,10 @@ const parseAttributes = (attributes, dimensions, customAttributes) => {
14
14
  || attr.id === REPYEARSTART) {
15
15
  return R.assoc('display', false, res);
16
16
  }
17
- if (R.propEq('id', customAttributes.prefscale, attr)) {
17
+ if (R.propEq(customAttributes.prefscale, 'id', attr)) {
18
18
  return R.assoc('prefscale', true, res);
19
19
  }
20
- if (R.propEq('id', customAttributes.decimals, attr)) {
20
+ if (R.propEq(customAttributes.decimals, 'id', attr)) {
21
21
  return R.assoc('decimals', true, res);
22
22
  }
23
23
  if (R.hasPath(['relationship', 'none'], attr) || R.hasPath(['relationship', 'dataflow'], attr)) {
@@ -1 +1 @@
1
- {"version":3,"file":"parseAttributes.js","sources":["../../../src/rules2/src/parseAttributes.js"],"sourcesContent":["import * as R from 'ramda';\nimport { REPORTING_YEAR_START_DAY, REPYEARSTART } from './constants';\n\nexport const parseAttributes = (attributes, dimensions, customAttributes) => {\n const indexedDimensions = R.indexBy(R.prop('id'), dimensions);\n return R.addIndex(R.map)((attr, index) => {\n let res = R.assoc('index', index, attr);\n const displayableValuesCount = R.pipe(\n R.filter(R.propOr(true, 'display')),\n R.length,\n )(attr);\n if (R.isEmpty(attr.values || []) || !R.propOr(true, 'display', attr)\n || displayableValuesCount < 1 || attr.id === REPORTING_YEAR_START_DAY\n || attr.id === REPYEARSTART) {\n return R.assoc('display', false, res);\n }\n if (R.propEq('id', customAttributes.prefscale, attr)) {\n return R.assoc('prefscale', true, res);\n }\n if (R.propEq('id', customAttributes.decimals, attr)) {\n return R.assoc('decimals', true, res);\n }\n if (R.hasPath(['relationship', 'none'], attr) || R.hasPath(['relationship', 'dataflow'], attr)) {\n return { ...res, header: true, relationship: [] };\n }\n if (R.hasPath(['relationship', 'primaryMeasure'], attr) || R.hasPath(['relationship', 'observation'], attr)) {\n return { ...res, series: true, relationship: [] };\n }\n const seriesDimensions = R.pipe(\n R.pathOr([], ['relationship', 'dimensions']),\n R.filter(id => {\n const dimension = R.prop(id, indexedDimensions);\n return !dimension.header && R.length(dimension.values || []) > 1 && !dimension.rejected;\n }),\n )(attr);\n if (R.length(seriesDimensions) > 0) {\n return { ...res, series: true, relationship: seriesDimensions };\n }\n return { ...res, header: true, relationship: R.prop('dimensions', attr.relationship || []) };\n }, attributes);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseAttributes.js","sources":["../../../src/rules2/src/parseAttributes.js"],"sourcesContent":["import * as R from 'ramda';\nimport { REPORTING_YEAR_START_DAY, REPYEARSTART } from './constants';\n\nexport const parseAttributes = (attributes, dimensions, customAttributes) => {\n const indexedDimensions = R.indexBy(R.prop('id'), dimensions);\n return R.addIndex(R.map)((attr, index) => {\n let res = R.assoc('index', index, attr);\n const displayableValuesCount = R.pipe(\n R.filter(R.propOr(true, 'display')),\n R.length,\n )(attr);\n if (R.isEmpty(attr.values || []) || !R.propOr(true, 'display', attr)\n || displayableValuesCount < 1 || attr.id === REPORTING_YEAR_START_DAY\n || attr.id === REPYEARSTART) {\n return R.assoc('display', false, res);\n }\n if (R.propEq(customAttributes.prefscale, 'id', attr)) {\n return R.assoc('prefscale', true, res);\n }\n if (R.propEq(customAttributes.decimals, 'id', attr)) {\n return R.assoc('decimals', true, res);\n }\n if (R.hasPath(['relationship', 'none'], attr) || R.hasPath(['relationship', 'dataflow'], attr)) {\n return { ...res, header: true, relationship: [] };\n }\n if (R.hasPath(['relationship', 'primaryMeasure'], attr) || R.hasPath(['relationship', 'observation'], attr)) {\n return { ...res, series: true, relationship: [] };\n }\n const seriesDimensions = R.pipe(\n R.pathOr([], ['relationship', 'dimensions']),\n R.filter(id => {\n const dimension = R.prop(id, indexedDimensions);\n return !dimension.header && R.length(dimension.values || []) > 1 && !dimension.rejected;\n }),\n )(attr);\n if (R.length(seriesDimensions) > 0) {\n return { ...res, series: true, relationship: seriesDimensions };\n }\n return { ...res, header: true, relationship: R.prop('dimensions', attr.relationship || []) };\n }, attributes);\n};\n"],"names":[],"mappings":";;;AAGY,MAAC,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,KAAK;AAC7E,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/D,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC5C,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;AAC3C,IAAI,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI;AACzC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC,MAAM,CAAC,CAAC,MAAM;AACd,KAAK,CAAC,IAAI,CAAC;AACX,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI;AACvE,SAAS,sBAAsB,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK;AACnD,SAAS,IAAI,CAAC,EAAE,KAAK,YAAY,EAAE;AACnC,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC;AAC3C,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;AAC1D,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC;AAC5C,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;AACzD,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC;AAC3C,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE;AACpG,MAAM,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;AACvD,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE;AACjH,MAAM,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;AACvD,IAAI;AACJ,IAAI,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI;AACnC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAClD,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI;AACrB,QAAQ,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC;AACvD,QAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ;AAC/F,MAAM,CAAC,CAAC;AACR,KAAK,CAAC,IAAI,CAAC;AACX,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;AACxC,MAAM,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE;AACrE,IAAI;AACJ,IAAI,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;AAChG,EAAE,CAAC,EAAE,UAAU,CAAC;AAChB;;;;"}
@@ -2,7 +2,7 @@ import * as R from 'ramda';
2
2
 
3
3
  const parseHierarchicalCodelist = (sdmxJson, hierarchyId) => {
4
4
  const hCodelist = R.pathOr({}, ['data', 'hierarchicalCodelists', 0], sdmxJson);
5
- const hierarchy = R.find(R.propEq('id', hierarchyId), hCodelist.hierarchies || []);
5
+ const hierarchy = R.find(R.propEq(hierarchyId, 'id'), hCodelist.hierarchies || []);
6
6
 
7
7
  const getChildren = (codes, parents) => {
8
8
  const ids = R.pluck('codeID', codes);
@@ -1 +1 @@
1
- {"version":3,"file":"parseHierarchicalCodelist.js","sources":["../../../src/rules2/src/parseHierarchicalCodelist.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const parseHierarchicalCodelist = (sdmxJson, hierarchyId) => {\n const hCodelist = R.pathOr({}, ['data', 'hierarchicalCodelists', 0], sdmxJson);\n const hierarchy = R.find(R.propEq('id', hierarchyId), hCodelist.hierarchies || []);\n\n const getParentedCodes = (codes, parent) => {\n const ids = R.pluck('codeID', codes);\n\n const siblings = R.reduce(\n (acc, code) => {\n if (R.isEmpty(code.hierarchicalCodes || [])) {\n return acc;\n }\n return R.mergeRight(acc, getParentedCodes(code.hierarchicalCodes, code.id));\n },\n {},\n codes\n );\n\n return ({ ...siblings, [parent]: ids });\n };\n\n const getChildren = (codes, parents) => {\n const ids = R.pluck('codeID', codes);\n\n const children = R.reduce(\n (acc, code) => {\n if (R.isEmpty(code.hierarchicalCodes || [])) {\n return acc;\n }\n return ({\n ...acc,\n ...getChildren(code.hierarchicalCodes, R.append(code.codeID, parents))\n });\n },\n {},\n codes\n );\n const key = R.isEmpty(parents) ? '#ROOT' : R.join('.', parents);\n return ({ ...children, [key]: ids });\n }\n\n return R.pipe(\n R.propOr([], 'hierarchicalCodes'),\n codes => getChildren(codes, []),\n )(hierarchy);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,yBAAyB,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAK;AACpE,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;AAChF,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC;;AAmBpF,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AAC1C,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;;AAExC,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM;AAC7B,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK;AACrB,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE;AACrD,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,QAAQ;AAChB,UAAU,GAAG,GAAG;AAChB,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAC/E,SAAS;AACT,MAAM,CAAC;AACP,MAAM,EAAE;AACR,MAAM;AACN,KAAK;AACL,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;AACnE,IAAI,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE;AACvC,EAAE;;AAEF,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;AACrC,IAAI,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;AACnC,GAAG,CAAC,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"parseHierarchicalCodelist.js","sources":["../../../src/rules2/src/parseHierarchicalCodelist.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const parseHierarchicalCodelist = (sdmxJson, hierarchyId) => {\n const hCodelist = R.pathOr({}, ['data', 'hierarchicalCodelists', 0], sdmxJson);\n const hierarchy = R.find(R.propEq(hierarchyId, 'id'), hCodelist.hierarchies || []);\n\n const getParentedCodes = (codes, parent) => {\n const ids = R.pluck('codeID', codes);\n\n const siblings = R.reduce(\n (acc, code) => {\n if (R.isEmpty(code.hierarchicalCodes || [])) {\n return acc;\n }\n return R.mergeRight(acc, getParentedCodes(code.hierarchicalCodes, code.id));\n },\n {},\n codes\n );\n\n return ({ ...siblings, [parent]: ids });\n };\n\n const getChildren = (codes, parents) => {\n const ids = R.pluck('codeID', codes);\n\n const children = R.reduce(\n (acc, code) => {\n if (R.isEmpty(code.hierarchicalCodes || [])) {\n return acc;\n }\n return ({\n ...acc,\n ...getChildren(code.hierarchicalCodes, R.append(code.codeID, parents))\n });\n },\n {},\n codes\n );\n const key = R.isEmpty(parents) ? '#ROOT' : R.join('.', parents);\n return ({ ...children, [key]: ids });\n }\n\n return R.pipe(\n R.propOr([], 'hierarchicalCodes'),\n codes => getChildren(codes, []),\n )(hierarchy);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,yBAAyB,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAK;AACpE,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;AAChF,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC;;AAmBpF,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AAC1C,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;;AAExC,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM;AAC7B,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK;AACrB,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE;AACrD,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,QAAQ;AAChB,UAAU,GAAG,GAAG;AAChB,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAC/E,SAAS;AACT,MAAM,CAAC;AACP,MAAM,EAAE;AACR,MAAM;AACN,KAAK;AACL,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;AACnE,IAAI,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE;AACvC,EAAE;;AAEF,EAAE,OAAO,CAAC,CAAC,IAAI;AACf,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;AACrC,IAAI,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;AACnC,GAAG,CAAC,SAAS,CAAC;AACd;;;;"}
@@ -47,7 +47,7 @@ const parseMetadataSeries = (metadataJson, options) => {
47
47
  const val = R.nth(Number(vInd), dim.values || []);
48
48
 
49
49
  const originalVal = R.find(
50
- R.propEq('id', val.id),
50
+ R.propEq(val.id, 'id'),
51
51
  )(R.propOr([], 'values', R.nth(dInd, options.dimensions)));
52
52
  return R.propOr('', '__index', originalVal);
53
53
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"parseMetadataSeries.js","sources":["../../../src/rules2/src/parseMetadataSeries.js"],"sourcesContent":["import * as R from 'ramda';\nimport { EMPTY_ATTACHMENT_LEVEL_CHAR } from './constants';\n\nconst dimensionValueDisplay = (display) => data => {\n if (display === 'code') {\n return R.prop('id', data);\n }\n const name = R.prop('name')(data);\n if (display === 'both') {\n return `${R.prop('id', data)}: ${name}`;\n }\n return name;\n};\n// options = { locale, display, dimensions = [], attributes = { [id]: { format, parent } } };\nexport const parseMetadataSeries = (metadataJson, options) => {\n const metadataAttributes = R.pathOr([], ['data', 'structures', 0, 'attributes', 'dimensionGroup'], metadataJson);\n const metaAttrLength = R.length(metadataAttributes);\n\n if (!metaAttrLength) {\n return ({});\n }\n\n const dimensions = R.pipe(\n R.pathOr([], ['data', 'structures', 0, 'dimensions']),\n ({ series = [], observation = [] }) => R.concat(series, observation),\n dims => R.isEmpty(options.dimensions || [])\n ? dims\n : R.props(R.pluck('id', options.dimensions), R.indexBy(R.prop('id'), dims))\n )(metadataJson);\n\n const { notDisplayedIds = {} } = options;\n\n const metadataSeries = R.pipe(\n R.pathOr({}, ['data', 'dataSets', 0, 'dimensionGroupAttributes']),\n series => R.reduce((acc, serieKey) => {\n const indexes = series[serieKey];\n const metaIndexes = R.take(metaAttrLength, indexes);\n\n\n const evolvedKey = R.pipe(\n R.split(':'),\n R.addIndex(R.map)((vInd, dInd) => {\n if (R.isEmpty(vInd) || R.equals(EMPTY_ATTACHMENT_LEVEL_CHAR, vInd)) {\n return '';\n }\n const dim = R.nth(dInd, dimensions);\n const val = R.nth(Number(vInd), dim.values || []);\n\n const originalVal = R.find(\n R.propEq('id', val.id),\n )(R.propOr([], 'values', R.nth(dInd, options.dimensions)));\n return R.propOr('', '__index', originalVal);\n }),\n R.join(':')\n )(serieKey);\n\n const attributes = R.pipe(\n R.addIndex(R.reduce)(\n (acc, valueIndex, attrIndex) => {\n const attribute = R.nth(attrIndex, metadataAttributes);\n const isHidden = R.has(attribute.id, notDisplayedIds);\n if ((R.isNil(valueIndex) && !(attribute.isPresentational)) || isHidden) {\n return acc;\n }\n const attrOptions = R.pathOr({}, ['attributes', attribute.id], options);\n const id = attrOptions.id;\n const label = dimensionValueDisplay(options.display)({ ...attribute, id });\n\n const _value = R.prop('value', R.nth(valueIndex, attribute.values || []));\n const value = R.is(Object, _value) ? R.prop(options.locale, _value) : _value;\n\n return R.append({\n ...(R.isNil(value) ? {} : { value }),\n id: attribute.id,\n label,\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', attribute.id], options))\n }, acc);\n },\n [],\n ),\n attributes => { // missing parents in metadata response \n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const indexedAttrs = R.indexBy(R.prop('id'), attributes);\n\n return R.reduce(\n (acc, id) => {\n if (R.has(id, indexedAttrs) || id === '#ROOT') {\n return acc;\n }\n return R.append({\n id,\n label: dimensionValueDisplay(options.display)({ id, name: R.path(['attributes', id, 'name'], options) }),\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', id], options))\n }, acc);\n },\n attributes,\n R.keys(groupedAttrs)\n );\n },\n attributes => {\n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const makeTree = R.map(attr => {\n if (R.has(attr.id, groupedAttrs)) {\n const children = makeTree(R.prop(attr.id, groupedAttrs));\n return R.assoc('children', children, attr);\n }\n return attr;\n });\n\n return makeTree(R.propOr([], '#ROOT', groupedAttrs));\n },\n )(metaIndexes);\n\n return R.assoc(evolvedKey, attributes, acc);\n },\n {},\n R.keys(series)\n ))(metadataJson);\n\n return metadataSeries;\n};"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI;AACnD,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACnC,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3C,EAAE;AACF,EAAE,OAAO,IAAI;AACb,CAAC;AACD;AACY,MAAC,mBAAmB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK;AAC9D,EAAE,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,YAAY,CAAC;AAClH,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;;AAErD,EAAE,IAAI,CAAC,cAAc,EAAE;AACvB,IAAI,QAAQ,EAAE;AACd,EAAE;;AAEF,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI;AAC3B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AACzD,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;AACxE,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC9C,QAAQ;AACR,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;AAChF,GAAG,CAAC,YAAY,CAAC;;AAEjB,EAAE,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,OAAO;;AAE1C,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI;AAC/B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;AACrE,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK;AAC1C,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;AACtC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;;;AAGzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI;AAC/B,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACpB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK;AAC1C,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE;AAC9E,YAAY,OAAO,EAAE;AACrB,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;AAC7C,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;;AAE3D,UAAU,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI;AACpC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAClC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,UAAU,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC;AACrD,QAAQ,CAAC,CAAC;AACV,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;AAClB,OAAO,CAAC,QAAQ,CAAC;;AAEjB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI;AAC/B,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5B,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,KAAK;AAC1C,YAAY,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAClE,YAAY,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC;AACjE,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE;AACpF,cAAc,OAAO,GAAG;AACxB,YAAY;AACZ,YAAY,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;AACnF,YAAY,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE;AACrC,YAAY,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC;;AAEtF,YAAY,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AACrF,YAAY,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;;AAExF,YAAY,OAAO,CAAC,CAAC,MAAM,CAAC;AAC5B,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAClD,cAAc,EAAE,EAAE,SAAS,CAAC,EAAE;AAC9B,cAAc,KAAK;AACnB,cAAc,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;AAC9F,aAAa,EAAE,GAAG,CAAC;AACnB,UAAU,CAAC;AACX,UAAU,EAAE;AACZ,SAAS;AACT,QAAQ,UAAU,IAAI;AACtB,UAAU,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;AACnG,UAAU,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;;AAElE,UAAU,OAAO,CAAC,CAAC,MAAM;AACzB,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK;AACzB,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE;AAC7D,gBAAgB,OAAO,GAAG;AAC1B,cAAc;AACd,cAAc,OAAO,CAAC,CAAC,MAAM,CAAC;AAC9B,gBAAgB,EAAE;AAClB,gBAAgB,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;AACxH,gBAAgB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC;AACtF,eAAe,EAAE,GAAG,CAAC;AACrB,YAAY,CAAC;AACb,YAAY,UAAU;AACtB,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY;AAC/B,WAAW;AACX,QAAQ,CAAC;AACT,QAAQ,UAAU,IAAI;AACtB,UAAU,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;AACnG,UAAU,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI;AACzC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC9C,cAAc,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AACtE,cAAc,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC;AACxD,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,UAAU,CAAC,CAAC;;AAEZ,UAAU,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9D,QAAQ,CAAC;AACT,OAAO,CAAC,WAAW,CAAC;;AAEpB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC;AACjD,IAAI,CAAC;AACL,MAAM,EAAE;AACR,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM;AACnB,KAAK,CAAC,CAAC,YAAY,CAAC;;AAEpB,EAAE,OAAO,cAAc;AACvB;;;;"}
1
+ {"version":3,"file":"parseMetadataSeries.js","sources":["../../../src/rules2/src/parseMetadataSeries.js"],"sourcesContent":["import * as R from 'ramda';\nimport { EMPTY_ATTACHMENT_LEVEL_CHAR } from './constants';\n\nconst dimensionValueDisplay = (display) => data => {\n if (display === 'code') {\n return R.prop('id', data);\n }\n const name = R.prop('name')(data);\n if (display === 'both') {\n return `${R.prop('id', data)}: ${name}`;\n }\n return name;\n};\n// options = { locale, display, dimensions = [], attributes = { [id]: { format, parent } } };\nexport const parseMetadataSeries = (metadataJson, options) => {\n const metadataAttributes = R.pathOr([], ['data', 'structures', 0, 'attributes', 'dimensionGroup'], metadataJson);\n const metaAttrLength = R.length(metadataAttributes);\n\n if (!metaAttrLength) {\n return ({});\n }\n\n const dimensions = R.pipe(\n R.pathOr([], ['data', 'structures', 0, 'dimensions']),\n ({ series = [], observation = [] }) => R.concat(series, observation),\n dims => R.isEmpty(options.dimensions || [])\n ? dims\n : R.props(R.pluck('id', options.dimensions), R.indexBy(R.prop('id'), dims))\n )(metadataJson);\n\n const { notDisplayedIds = {} } = options;\n\n const metadataSeries = R.pipe(\n R.pathOr({}, ['data', 'dataSets', 0, 'dimensionGroupAttributes']),\n series => R.reduce((acc, serieKey) => {\n const indexes = series[serieKey];\n const metaIndexes = R.take(metaAttrLength, indexes);\n\n\n const evolvedKey = R.pipe(\n R.split(':'),\n R.addIndex(R.map)((vInd, dInd) => {\n if (R.isEmpty(vInd) || R.equals(EMPTY_ATTACHMENT_LEVEL_CHAR, vInd)) {\n return '';\n }\n const dim = R.nth(dInd, dimensions);\n const val = R.nth(Number(vInd), dim.values || []);\n\n const originalVal = R.find(\n R.propEq(val.id, 'id'),\n )(R.propOr([], 'values', R.nth(dInd, options.dimensions)));\n return R.propOr('', '__index', originalVal);\n }),\n R.join(':')\n )(serieKey);\n\n const attributes = R.pipe(\n R.addIndex(R.reduce)(\n (acc, valueIndex, attrIndex) => {\n const attribute = R.nth(attrIndex, metadataAttributes);\n const isHidden = R.has(attribute.id, notDisplayedIds);\n if ((R.isNil(valueIndex) && !(attribute.isPresentational)) || isHidden) {\n return acc;\n }\n const attrOptions = R.pathOr({}, ['attributes', attribute.id], options);\n const id = attrOptions.id;\n const label = dimensionValueDisplay(options.display)({ ...attribute, id });\n\n const _value = R.prop('value', R.nth(valueIndex, attribute.values || []));\n const value = R.is(Object, _value) ? R.prop(options.locale, _value) : _value;\n\n return R.append({\n ...(R.isNil(value) ? {} : { value }),\n id: attribute.id,\n label,\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', attribute.id], options))\n }, acc);\n },\n [],\n ),\n attributes => { // missing parents in metadata response \n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const indexedAttrs = R.indexBy(R.prop('id'), attributes);\n\n return R.reduce(\n (acc, id) => {\n if (R.has(id, indexedAttrs) || id === '#ROOT') {\n return acc;\n }\n return R.append({\n id,\n label: dimensionValueDisplay(options.display)({ id, name: R.path(['attributes', id, 'name'], options) }),\n handlerProps: R.omit(['id'], R.pathOr({}, ['attributes', id], options))\n }, acc);\n },\n attributes,\n R.keys(groupedAttrs)\n );\n },\n attributes => {\n const groupedAttrs = R.groupBy(R.pathOr('#ROOT', ['handlerProps', 'parent']), attributes);\n const makeTree = R.map(attr => {\n if (R.has(attr.id, groupedAttrs)) {\n const children = makeTree(R.prop(attr.id, groupedAttrs));\n return R.assoc('children', children, attr);\n }\n return attr;\n });\n\n return makeTree(R.propOr([], '#ROOT', groupedAttrs));\n },\n )(metaIndexes);\n\n return R.assoc(evolvedKey, attributes, acc);\n },\n {},\n R.keys(series)\n ))(metadataJson);\n\n return metadataSeries;\n};"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI;AACnD,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACnC,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3C,EAAE;AACF,EAAE,OAAO,IAAI;AACb,CAAC;AACD;AACY,MAAC,mBAAmB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK;AAC9D,EAAE,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,YAAY,CAAC;AAClH,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;;AAErD,EAAE,IAAI,CAAC,cAAc,EAAE;AACvB,IAAI,QAAQ,EAAE;AACd,EAAE;;AAEF,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI;AAC3B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AACzD,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;AACxE,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC9C,QAAQ;AACR,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;AAChF,GAAG,CAAC,YAAY,CAAC;;AAEjB,EAAE,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,OAAO;;AAE1C,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI;AAC/B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;AACrE,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK;AAC1C,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;AACtC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;;;AAGzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI;AAC/B,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACpB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK;AAC1C,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE;AAC9E,YAAY,OAAO,EAAE;AACrB,UAAU;AACV,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;AAC7C,UAAU,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;;AAE3D,UAAU,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI;AACpC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;AAClC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,UAAU,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC;AACrD,QAAQ,CAAC,CAAC;AACV,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;AAClB,OAAO,CAAC,QAAQ,CAAC;;AAEjB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI;AAC/B,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5B,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,KAAK;AAC1C,YAAY,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAClE,YAAY,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC;AACjE,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE;AACpF,cAAc,OAAO,GAAG;AACxB,YAAY;AACZ,YAAY,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;AACnF,YAAY,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE;AACrC,YAAY,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC;;AAEtF,YAAY,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AACrF,YAAY,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;;AAExF,YAAY,OAAO,CAAC,CAAC,MAAM,CAAC;AAC5B,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAClD,cAAc,EAAE,EAAE,SAAS,CAAC,EAAE;AAC9B,cAAc,KAAK;AACnB,cAAc,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;AAC9F,aAAa,EAAE,GAAG,CAAC;AACnB,UAAU,CAAC;AACX,UAAU,EAAE;AACZ,SAAS;AACT,QAAQ,UAAU,IAAI;AACtB,UAAU,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;AACnG,UAAU,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;;AAElE,UAAU,OAAO,CAAC,CAAC,MAAM;AACzB,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK;AACzB,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE;AAC7D,gBAAgB,OAAO,GAAG;AAC1B,cAAc;AACd,cAAc,OAAO,CAAC,CAAC,MAAM,CAAC;AAC9B,gBAAgB,EAAE;AAClB,gBAAgB,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;AACxH,gBAAgB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC;AACtF,eAAe,EAAE,GAAG,CAAC;AACrB,YAAY,CAAC;AACb,YAAY,UAAU;AACtB,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY;AAC/B,WAAW;AACX,QAAQ,CAAC;AACT,QAAQ,UAAU,IAAI;AACtB,UAAU,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;AACnG,UAAU,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI;AACzC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC9C,cAAc,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AACtE,cAAc,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC;AACxD,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,UAAU,CAAC,CAAC;;AAEZ,UAAU,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9D,QAAQ,CAAC;AACT,OAAO,CAAC,WAAW,CAAC;;AAEpB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC;AACjD,IAAI,CAAC;AACL,MAAM,EAAE;AACR,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM;AACnB,KAAK,CAAC,CAAC,YAAY,CAAC;;AAEpB,EAAE,OAAO,cAAc;AACvB;;;;"}
@@ -1,4 +1,5 @@
1
1
  import * as R from 'ramda';
2
+ import { getObservations } from '../../rules/src/preparators/getObservations.js';
2
3
  import { refineDimensions } from './refineDimensions.js';
3
4
  import { enhanceObservations } from './enhanceObservations.js';
4
5
  import { parseAttributes } from './parseAttributes.js';
@@ -17,13 +18,19 @@ import { getHeaderSubtitle } from './getHeaderSubtitle.js';
17
18
  import { getHeaderCombinations } from './getHeaderCombinations.js';
18
19
  import { getHeaderCoordinates } from './getHeaderCoordinates.js';
19
20
  import { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim.js';
20
- import { getObservations } from '../../rules/src/preparators/getObservations.js';
21
+ import { getReportingYearStart } from '../../rules/src/preparators/getReportingYearStart.js';
22
+ import { getNotDisplayedIds } from './getNotDisplayedIds.js';
23
+ import { getAttributes } from './getAttributes.js';
21
24
 
22
25
  const prepareData = (sdmxJson, { customAttributes, locale, hierarchies, dataflow, display, defaultCombinations, dataquery }) => {
23
26
  const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);
24
- const refinedDimensions = refineDimensions(dimensions, dataquery);
25
- const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], sdmxJson);
26
27
  const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);
28
+ const reportYearStart = getReportingYearStart(sdmxJson);
29
+ const { hiddenValues, hiddenCombinations } = getNotDisplayedIds(annotations);
30
+ const options = { dataquery, hiddenCombinations, hiddenValues, locale, reportYearStart };
31
+ const refinedDimensions = refineDimensions({ annotations, dimensions, options });
32
+ const _attributes = R.pathOr([], ['data', 'structure', 'attributes'], sdmxJson);
33
+ const attributes = getAttributes({ attributes: _attributes, annotations, options });
27
34
  const observations = getObservations(sdmxJson);
28
35
  let combinations = getCombinationDefinitions(annotations, locale);
29
36
  if (R.isEmpty(combinations) && !R.isEmpty(defaultCombinations)) {
@@ -1 +1 @@
1
- {"version":3,"file":"prepareData.js","sources":["../../../src/rules2/src/prepareData.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getObservations } from '../../rules/src';\nimport { refineDimensions } from './refineDimensions';\nimport { enhanceObservations } from './enhanceObservations';\nimport { parseAttributes } from './parseAttributes';\nimport { getCombinationDefinitions, parseCombinationDefinition } from './getCombinationDefinitions';\nimport { parseCombinations } from './parseCombinations';\nimport { refineAttributes } from './refineAttributes';\nimport { duplicateObs } from './duplicateObservations';\nimport { getMetadataCoordinates } from './getMetadataCoordinates';\nimport { getAttributesSeries } from './getAttributesSeries';\nimport { getManyValuesDimensions } from './getManyValuesDimensions';\nimport { getOneValueDimensions } from './getOneValueDimensions';\nimport { hierarchiseDimensionWithNativeHierarchy } from './hierarchiseDimensionWithNativeHierarchy2';\nimport { getDataflowAttributes } from './getDataflowAttributes';\nimport { getHeaderTitle } from './getHeaderTitle';\nimport { getHeaderSubtitle } from './getHeaderSubtitle';\nimport { getHeaderCombinations } from './getHeaderCombinations';\nimport { getHeaderCoordinates } from './getHeaderCoordinates';\nimport { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim';\n\nexport const prepareData = (sdmxJson, { customAttributes, locale, hierarchies, dataflow, display, defaultCombinations, dataquery }) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);\n const refinedDimensions = refineDimensions(dimensions, dataquery);\n const attributes = R.pathOr([], ['data', 'structure', 'attributes', 'observation'], sdmxJson);\n const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);\n const observations = getObservations(sdmxJson);\n let combinations = getCombinationDefinitions(annotations, locale);\n if (R.isEmpty(combinations) && !R.isEmpty(defaultCombinations)) {\n const { concepts, names } = defaultCombinations;\n combinations = parseCombinationDefinition(locale)(concepts, names);\n }\n const metadataCoordinates = getMetadataCoordinates(sdmxJson);\n\n const parsedAttributes = parseAttributes(attributes, refinedDimensions, customAttributes);\n const parsedCombinations = parseCombinations(combinations, parsedAttributes, refinedDimensions);\n const seriesCombinations = R.filter(R.prop('series'), parsedCombinations);\n const refinedAttributes = refineAttributes(parsedAttributes, seriesCombinations);\n\n const enhancedObservations = enhanceObservations(refinedDimensions, observations, refinedAttributes, { customAttributes });\n const attributesSeries = getAttributesSeries(enhancedObservations);\n const manyValuesDimensions = getManyValuesDimensions(refinedDimensions, attributesSeries, customAttributes, seriesCombinations);\n const oneValueDimensions = getOneValueDimensions(refinedDimensions, parsedAttributes);\n const rejectedDimensions = R.filter(R.prop('rejected'), dimensions);\n const headerCoordinates = getHeaderCoordinates(oneValueDimensions);\n const hierarchisedDimensions = R.map(dim => {\n if (R.isEmpty(R.propOr({}, dim.id, hierarchies))) {\n return hierarchiseDimensionWithNativeHierarchy(dim);\n }\n return applyHierarchicalCodesToDim(R.prop(dim.id, hierarchies), dim);\n }, manyValuesDimensions)\n const duplicatedObservations = duplicateObs(R.values(hierarchisedDimensions), enhancedObservations);\n\n const dataflowAttributes = getDataflowAttributes(parsedAttributes, parsedCombinations);\n const headerTitle = getHeaderTitle(dataflow, dataflowAttributes, display, customAttributes);\n const headerSubtitle = getHeaderSubtitle(oneValueDimensions, parsedCombinations, customAttributes, display);\n const headerCombinations = getHeaderCombinations(parsedCombinations, oneValueDimensions, refinedAttributes, display);\n \n return ({\n observations: duplicatedObservations,\n dimensions: hierarchisedDimensions,\n combinations: parsedCombinations,\n oneValueDimensions,\n attributesSeries,\n metadataCoordinates,\n attributes: refinedAttributes,\n rejectedDimensions,\n header: {\n title: headerTitle,\n subtitle: headerSubtitle,\n combinations: headerCombinations,\n coordinates: headerCoordinates\n }\n });\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareData.js","sources":["../../../src/rules2/src/prepareData.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getObservations } from '../../rules/src/preparators/getObservations';\nimport { refineDimensions } from './refineDimensions';\nimport { enhanceObservations } from './enhanceObservations';\nimport { parseAttributes } from './parseAttributes';\nimport { getCombinationDefinitions, parseCombinationDefinition } from './getCombinationDefinitions';\nimport { parseCombinations } from './parseCombinations';\nimport { refineAttributes } from './refineAttributes';\nimport { duplicateObs } from './duplicateObservations';\nimport { getMetadataCoordinates } from './getMetadataCoordinates';\nimport { getAttributesSeries } from './getAttributesSeries';\nimport { getManyValuesDimensions } from './getManyValuesDimensions';\nimport { getOneValueDimensions } from './getOneValueDimensions';\nimport { hierarchiseDimensionWithNativeHierarchy } from './hierarchiseDimensionWithNativeHierarchy2';\nimport { getDataflowAttributes } from './getDataflowAttributes';\nimport { getHeaderTitle } from './getHeaderTitle';\nimport { getHeaderSubtitle } from './getHeaderSubtitle';\nimport { getHeaderCombinations } from './getHeaderCombinations';\nimport { getHeaderCoordinates } from './getHeaderCoordinates';\nimport { applyHierarchicalCodesToDim } from './applyHierarchicalCodesToDim';\nimport { getReportingYearStart } from '../../rules/src/preparators/getReportingYearStart';\nimport { getNotDisplayedIds } from './getNotDisplayedIds';\nimport { getAttributes } from './getAttributes';\n\nexport const prepareData = (sdmxJson, { customAttributes, locale, hierarchies, dataflow, display, defaultCombinations, dataquery }) => {\n const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);\n const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);\n const reportYearStart = getReportingYearStart(sdmxJson);\n const { hiddenValues, hiddenCombinations } = getNotDisplayedIds(annotations);\n const options = { dataquery, hiddenCombinations, hiddenValues, locale, reportYearStart };\n const refinedDimensions = refineDimensions({ annotations, dimensions, options });\n const _attributes = R.pathOr([], ['data', 'structure', 'attributes'], sdmxJson);\n const attributes = getAttributes({ attributes: _attributes, annotations, options });\n const observations = getObservations(sdmxJson);\n let combinations = getCombinationDefinitions(annotations, locale);\n if (R.isEmpty(combinations) && !R.isEmpty(defaultCombinations)) {\n const { concepts, names } = defaultCombinations;\n combinations = parseCombinationDefinition(locale)(concepts, names);\n }\n const metadataCoordinates = getMetadataCoordinates(sdmxJson);\n\n const parsedAttributes = parseAttributes(attributes, refinedDimensions, customAttributes);\n const parsedCombinations = parseCombinations(combinations, parsedAttributes, refinedDimensions);\n const seriesCombinations = R.filter(R.prop('series'), parsedCombinations);\n const refinedAttributes = refineAttributes(parsedAttributes, seriesCombinations);\n\n const enhancedObservations = enhanceObservations(refinedDimensions, observations, refinedAttributes, { customAttributes });\n const attributesSeries = getAttributesSeries(enhancedObservations);\n const manyValuesDimensions = getManyValuesDimensions(refinedDimensions, attributesSeries, customAttributes, seriesCombinations);\n const oneValueDimensions = getOneValueDimensions(refinedDimensions, parsedAttributes);\n const rejectedDimensions = R.filter(R.prop('rejected'), dimensions);\n const headerCoordinates = getHeaderCoordinates(oneValueDimensions);\n const hierarchisedDimensions = R.map(dim => {\n if (R.isEmpty(R.propOr({}, dim.id, hierarchies))) {\n return hierarchiseDimensionWithNativeHierarchy(dim);\n }\n return applyHierarchicalCodesToDim(R.prop(dim.id, hierarchies), dim);\n }, manyValuesDimensions)\n const duplicatedObservations = duplicateObs(R.values(hierarchisedDimensions), enhancedObservations);\n\n const dataflowAttributes = getDataflowAttributes(parsedAttributes, parsedCombinations);\n const headerTitle = getHeaderTitle(dataflow, dataflowAttributes, display, customAttributes);\n const headerSubtitle = getHeaderSubtitle(oneValueDimensions, parsedCombinations, customAttributes, display);\n const headerCombinations = getHeaderCombinations(parsedCombinations, oneValueDimensions, refinedAttributes, display);\n \n return ({\n observations: duplicatedObservations,\n dimensions: hierarchisedDimensions,\n combinations: parsedCombinations,\n oneValueDimensions,\n attributesSeries,\n metadataCoordinates,\n attributes: refinedAttributes,\n rejectedDimensions,\n header: {\n title: headerTitle,\n subtitle: headerSubtitle,\n combinations: headerCombinations,\n coordinates: headerCoordinates\n }\n });\n};\n"],"names":[],"mappings":"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"}
@@ -1,19 +1,64 @@
1
1
  import * as R from 'ramda';
2
+ import { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
3
+ import { getValuesEnhanced } from '../../rules/src/get-values-enhanced.js';
4
+ import { getIsHidden } from '../../rules/src/sdmx-data/index.js';
2
5
 
3
- const refineDimensions = (dimensions=[], dataquery='') => {
6
+ const TIME_PERIOD_ID = 'TIME_PERIOD';
7
+
8
+ const refineDimensions = ({
9
+ annotations = [],
10
+ dimensions = [],
11
+ options = {},
12
+ }) => {
13
+ const {
14
+ dataquery = '',
15
+ hiddenCombinations = {},
16
+ hiddenValues = {},
17
+ locale = '',
18
+ reportYearStart,
19
+ ...restOptions
20
+ } = options;
4
21
  const selectionIds = R.pipe(R.split('.'), R.map(R.split('+')))(dataquery);
5
22
 
23
+ const getIsAllDimHidden = ({ id, values }) => {
24
+ if (!R.has(id, hiddenCombinations)) {
25
+ return false;
26
+ }
27
+ const valuesIds = R.pluck('id', values);
28
+ return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));
29
+ };
30
+
6
31
  return R.addIndex(R.map)((dim, index) => {
7
32
  const selection = R.nth(index, selectionIds);
8
- const values = R.map(val => {
9
- if (R.includes(val.id, selection || []) || R.isNil(selection) || R.length(selection) === 0 || R.isEmpty(R.head(selection))) {
10
- return R.assoc('isSelected', true, val);
11
- }
12
- return R.assoc('empty', true, val);
13
- }, dim.values || []);
33
+ const isEmptySelection = R.isNil(selection) || R.isEmpty(selection) || R.isEmpty(R.head(selection));
34
+ const isTimeDimension = isTimePeriodDimension(dim);
35
+ const dimAnnotations = R.props(dim.annotations || [], annotations);
36
+ const values = getValuesEnhanced({
37
+ annotations,
38
+ hiddenIds: hiddenValues,
39
+ isTimeDimension,
40
+ locale,
41
+ options: restOptions,
42
+ parent: dim.id,
43
+ reportYearStart,
44
+ selection
45
+ })(dim.values || []);
14
46
 
15
47
  const size = R.length(values);
16
- return { ...dim, values, header: size === 1 || (size > 1 && R.length(selection) === 1 && !R.isEmpty(R.head(selection))) };
48
+ const isAllDimHidden = getIsAllDimHidden({ id: dim.id, values });
49
+ const isHidden = isAllDimHidden || R.has(dim.id, hiddenValues)
50
+ || getIsHidden(dimAnnotations);
51
+ return ({
52
+ ...dim,
53
+ display: !isHidden,
54
+ header: size === 1 || (size > 1 && R.length(selection) === 1 && !isEmptySelection),
55
+ __index: index,
56
+ rejected: isAllDimHidden || !size,
57
+ role: isTimeDimension
58
+ ? TIME_PERIOD_ID
59
+ : R.head(dim.roles || []),
60
+ values,
61
+ });
17
62
  }, dimensions);
18
63
  };
19
64
 
@@ -1 +1 @@
1
- {"version":3,"file":"refineDimensions.js","sources":["../../../src/rules2/src/refineDimensions.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const refineDimensions = (dimensions=[], dataquery='') => {\n const selectionIds = R.pipe(R.split('.'), R.map(R.split('+')))(dataquery);\n\n return R.addIndex(R.map)((dim, index) => {\n const selection = R.nth(index, selectionIds);\n const values = R.map(val => {\n if (R.includes(val.id, selection || []) || R.isNil(selection) || R.length(selection) === 0 || R.isEmpty(R.head(selection))) {\n return R.assoc('isSelected', true, val);\n }\n return R.assoc('empty', true, val);\n }, dim.values || []);\n\n const size = R.length(values);\n return { ...dim, values, header: size === 1 || (size > 1 && R.length(selection) === 1 && !R.isEmpty(R.head(selection))) };\n }, dimensions);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,gBAAgB,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK;AACjE,EAAE,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;;AAE3E,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK;AAC3C,IAAI,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC;AAChD,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;AAChC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;AAClI,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;AAC/C,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC;AACxC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;;AAExB,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACjC,IAAI,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;AAC7H,EAAE,CAAC,EAAE,UAAU,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"refineDimensions.js","sources":["../../../src/rules2/src/refineDimensions.js"],"sourcesContent":["import * as R from 'ramda';\nimport { isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { getValuesEnhanced } from '../../rules/src/get-values-enhanced';\nimport { getIsHidden } from '../../rules/src/sdmx-data';\n\nconst TIME_PERIOD_ID = 'TIME_PERIOD';\n\nexport const refineDimensions = ({\n annotations = [],\n dimensions = [],\n options = {},\n}) => {\n const {\n dataquery = '',\n hiddenCombinations = {},\n hiddenValues = {},\n locale = '',\n reportYearStart,\n ...restOptions\n } = options;\n const selectionIds = R.pipe(R.split('.'), R.map(R.split('+')))(dataquery);\n\n const getIsAllDimHidden = ({ id, values }) => {\n if (!R.has(id, hiddenCombinations)) {\n return false;\n }\n const valuesIds = R.pluck('id', values);\n return R.isEmpty(R.difference(valuesIds, hiddenCombinations[id]));\n }\n\n return R.addIndex(R.map)((dim, index) => {\n const selection = R.nth(index, selectionIds);\n const isEmptySelection = R.isNil(selection) || R.isEmpty(selection) || R.isEmpty(R.head(selection));\n const isTimeDimension = isTimePeriodDimension(dim);\n const dimAnnotations = R.props(dim.annotations || [], annotations);\n const values = getValuesEnhanced({\n annotations,\n hiddenIds: hiddenValues,\n isTimeDimension,\n locale,\n options: restOptions,\n parent: dim.id,\n reportYearStart,\n selection\n })(dim.values || []);\n\n const size = R.length(values);\n const isAllDimHidden = getIsAllDimHidden({ id: dim.id, values });\n const isHidden = isAllDimHidden || R.has(dim.id, hiddenValues)\n || getIsHidden(dimAnnotations);\n return ({\n ...dim,\n display: !isHidden,\n header: size === 1 || (size > 1 && R.length(selection) === 1 && !isEmptySelection),\n __index: index,\n rejected: isAllDimHidden || !size,\n role: isTimeDimension\n ? TIME_PERIOD_ID\n : R.head(dim.roles || []),\n values,\n });\n }, dimensions);\n};\n"],"names":[],"mappings":"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"}
@@ -92,5 +92,5 @@ const getCells = (customAttributes, cellsAttributesId, combinations, attributesS
92
92
  );
93
93
  };
94
94
 
95
- export { getCellCombinedSeries, getCellRelevantAttributes, getCells };
95
+ export { getCells };
96
96
  //# sourceMappingURL=getCells.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCells.js","sources":["../../../../src/rules2/src/table/getCells.js"],"sourcesContent":["import * as R from 'ramda';\r\nimport { getFlagsAndNotes } from './getFlagsAndNotes';\r\nimport { hasCellMetadata } from '../hasCellMetadata';\r\n\r\nexport const getCellRelevantAttributes = (attributes, attributesSeries, cellAttributeIds) => R.filter(\r\n (attr) => {\r\n if (R.isNil(attr.value)) {\r\n return false;\r\n }\r\n if (R.has(attr.id, cellAttributeIds)) {\r\n return true;\r\n }\r\n const attrInSerie = R.path([attr.serieKey, attr.id], attributesSeries);\r\n return R.isNil(attrInSerie);\r\n },\r\n attributes\r\n);\r\n\r\nexport const getCellCombinedSeries = (attributes, combinations) => R.reduce(\r\n (acc, comb) => {\r\n const values = R.reduce(\r\n (acc, concept) => {\r\n if (R.has(concept, comb.fixedDimValues || {})) {\r\n return R.append(R.prop(concept, comb.fixedDimValues), acc);\r\n }\r\n if (R.has(concept, attributes || {})) {\r\n return R.append(R.path([concept, 'value'], attributes), acc);\r\n }\r\n return acc;\r\n },\r\n [],\r\n comb.concepts\r\n );\r\n\r\n if (R.isEmpty(values)) {\r\n return acc;\r\n }\r\n return R.append({ ...R.pick(['id', 'name'], comb), values }, acc);\r\n },\r\n [],\r\n combinations\r\n);\r\n\r\n// combinations = { cells, layout };\r\nexport const getCells = (customAttributes, cellsAttributesId, combinations, attributesSeries, metadataCoordinates) => observations => {\r\n const attributesInLayoutCombination = R.pipe(\r\n R.propOr([], 'layout'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const attributesInCellsCombination = R.pipe(\r\n R.propOr([], 'cells'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const _customAttributes = R.over(\r\n R.lensProp('notes'),\r\n notes => R.pipe(R.concat, R.uniq)(notes || [], attributesInLayoutCombination)\r\n )(customAttributes);\r\n\r\n return R.mapObjIndexed(\r\n obs => {\r\n const isAttrCell = R.pathOr('OBS_VAL', ['indexedDimValIds', 'OBS_ATTR'], obs) !== 'OBS_VAL';\r\n const relevantAttributes = isAttrCell ? [] : getCellRelevantAttributes(obs.attributes, attributesSeries, cellsAttributesId);\r\n const flagsAndNotes = isAttrCell ? [] : getFlagsAndNotes(R.omit(attributesInCellsCombination, relevantAttributes), _customAttributes);\r\n const combinedSeries = isAttrCell ? [] : getCellCombinedSeries(relevantAttributes, combinations.cells || []);\r\n const hasAdvancedAttributes = isAttrCell\r\n ? false : R.pipe(\r\n R.omit(R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination])),\r\n res => !R.isEmpty(res)\r\n )(relevantAttributes);\r\n\r\n const advancedAttributes = R.omit(\r\n R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination]),\r\n R.filter(attr => !R.isNil(attr.value), obs.attributes), \r\n );\r\n\r\n const hasMetadata = isAttrCell ? false : hasCellMetadata(metadataCoordinates, obs.indexedDimValIds);\r\n\r\n return ({\r\n ...R.pick(['indexedDimValIds', 'key'], obs),\r\n flags: R.concat(flagsAndNotes, combinedSeries),\r\n sideProps: hasAdvancedAttributes || hasMetadata\r\n ? { hasMetadata, coordinates: obs.indexedDimValIds, advancedAttributes } : null,\r\n intValue: R.is(Number, obs.value) ? obs.value : null,\r\n value: obs.formattedValue,\r\n });\r\n },\r\n observations\r\n );\r\n};\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getCells.js","sources":["../../../../src/rules2/src/table/getCells.js"],"sourcesContent":["import * as R from 'ramda';\r\nimport { getFlagsAndNotes } from './getFlagsAndNotes';\r\nimport { hasCellMetadata } from '../hasCellMetadata';\r\n\r\nconst getCellRelevantAttributes = (attributes, attributesSeries, cellAttributeIds) => R.filter(\r\n (attr) => {\r\n if (R.isNil(attr.value)) {\r\n return false;\r\n }\r\n if (R.has(attr.id, cellAttributeIds)) {\r\n return true;\r\n }\r\n const attrInSerie = R.path([attr.serieKey, attr.id], attributesSeries);\r\n return R.isNil(attrInSerie);\r\n },\r\n attributes\r\n);\r\n\r\nconst getCellCombinedSeries = (attributes, combinations) => R.reduce(\r\n (acc, comb) => {\r\n const values = R.reduce(\r\n (acc, concept) => {\r\n if (R.has(concept, comb.fixedDimValues || {})) {\r\n return R.append(R.prop(concept, comb.fixedDimValues), acc);\r\n }\r\n if (R.has(concept, attributes || {})) {\r\n return R.append(R.path([concept, 'value'], attributes), acc);\r\n }\r\n return acc;\r\n },\r\n [],\r\n comb.concepts\r\n );\r\n\r\n if (R.isEmpty(values)) {\r\n return acc;\r\n }\r\n return R.append({ ...R.pick(['id', 'name'], comb), values }, acc);\r\n },\r\n [],\r\n combinations\r\n);\r\n\r\n// combinations = { cells, layout };\r\nexport const getCells = (customAttributes, cellsAttributesId, combinations, attributesSeries, metadataCoordinates) => observations => {\r\n const attributesInLayoutCombination = R.pipe(\r\n R.propOr([], 'layout'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const attributesInCellsCombination = R.pipe(\r\n R.propOr([], 'cells'),\r\n R.pluck('concepts'),\r\n R.unnest\r\n )(combinations);\r\n\r\n const _customAttributes = R.over(\r\n R.lensProp('notes'),\r\n notes => R.pipe(R.concat, R.uniq)(notes || [], attributesInLayoutCombination)\r\n )(customAttributes);\r\n\r\n return R.mapObjIndexed(\r\n obs => {\r\n const isAttrCell = R.pathOr('OBS_VAL', ['indexedDimValIds', 'OBS_ATTR'], obs) !== 'OBS_VAL';\r\n const relevantAttributes = isAttrCell ? [] : getCellRelevantAttributes(obs.attributes, attributesSeries, cellsAttributesId);\r\n const flagsAndNotes = isAttrCell ? [] : getFlagsAndNotes(R.omit(attributesInCellsCombination, relevantAttributes), _customAttributes);\r\n const combinedSeries = isAttrCell ? [] : getCellCombinedSeries(relevantAttributes, combinations.cells || []);\r\n const hasAdvancedAttributes = isAttrCell\r\n ? false : R.pipe(\r\n R.omit(R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination])),\r\n res => !R.isEmpty(res)\r\n )(relevantAttributes);\r\n\r\n const advancedAttributes = R.omit(\r\n R.unnest([_customAttributes.flags || [], _customAttributes.notes || [], attributesInCellsCombination]),\r\n R.filter(attr => !R.isNil(attr.value), obs.attributes), \r\n );\r\n\r\n const hasMetadata = isAttrCell ? false : hasCellMetadata(metadataCoordinates, obs.indexedDimValIds);\r\n\r\n return ({\r\n ...R.pick(['indexedDimValIds', 'key'], obs),\r\n flags: R.concat(flagsAndNotes, combinedSeries),\r\n sideProps: hasAdvancedAttributes || hasMetadata\r\n ? { hasMetadata, coordinates: obs.indexedDimValIds, advancedAttributes } : null,\r\n intValue: R.is(Number, obs.value) ? obs.value : null,\r\n value: obs.formattedValue,\r\n });\r\n },\r\n observations\r\n );\r\n};\r\n"],"names":[],"mappings":"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"}
@@ -83,5 +83,5 @@ const getLayout = (_layoutIds, dimensions, combinations, isTimeInverted) => {
83
83
  return ({ header, sections, rows });
84
84
  };
85
85
 
86
- export { getConceptsSet, getLayout, parseCombination };
86
+ export { getLayout };
87
87
  //# sourceMappingURL=getLayout.js.map