@sis-cc/dotstatsuite-components 22.0.1 → 22.0.2

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 (366) hide show
  1. package/dist/bridge-d3-react/src/index.js +18 -0
  2. package/dist/bridge-d3-react/src/index.js.map +1 -0
  3. package/dist/bridge-d3-react/src/react-chart-factory.js +44 -0
  4. package/dist/bridge-d3-react/src/react-chart-factory.js.map +1 -0
  5. package/dist/rules/src/chart/getAxisOptions.js +256 -0
  6. package/dist/rules/src/chart/getAxisOptions.js.map +1 -0
  7. package/dist/rules/src/chart/getBaseOptions.js +77 -0
  8. package/dist/rules/src/chart/getBaseOptions.js.map +1 -0
  9. package/dist/rules/src/chart/getChartOptions.js +120 -0
  10. package/dist/rules/src/chart/getChartOptions.js.map +1 -0
  11. package/dist/rules/src/chart/getGridOptions.js +46 -0
  12. package/dist/rules/src/chart/getGridOptions.js.map +1 -0
  13. package/dist/rules/src/chart/getTooltipOptions.js +223 -0
  14. package/dist/rules/src/chart/getTooltipOptions.js.map +1 -0
  15. package/dist/rules/src/constants.js +65 -0
  16. package/dist/rules/src/constants.js.map +1 -0
  17. package/dist/rules/src/date.js +121 -0
  18. package/dist/rules/src/date.js.map +1 -0
  19. package/dist/rules/src/dimension-utils.js +57 -0
  20. package/dist/rules/src/dimension-utils.js.map +1 -0
  21. package/dist/rules/src/factories/choro-series.js +68 -0
  22. package/dist/rules/src/factories/choro-series.js.map +1 -0
  23. package/dist/rules/src/factories/sample-focus.js +25 -0
  24. package/dist/rules/src/factories/sample-focus.js.map +1 -0
  25. package/dist/rules/src/factories/sample-series.js +53 -0
  26. package/dist/rules/src/factories/sample-series.js.map +1 -0
  27. package/dist/rules/src/factories/scatter-dimension.js +35 -0
  28. package/dist/rules/src/factories/scatter-dimension.js.map +1 -0
  29. package/dist/rules/src/factories/scatter-focus.js +42 -0
  30. package/dist/rules/src/factories/scatter-focus.js.map +1 -0
  31. package/dist/rules/src/factories/scatter-series.js +91 -0
  32. package/dist/rules/src/factories/scatter-series.js.map +1 -0
  33. package/dist/rules/src/factories/stacked-dimension.js +32 -0
  34. package/dist/rules/src/factories/stacked-dimension.js.map +1 -0
  35. package/dist/rules/src/factories/stacked-series.js +188 -0
  36. package/dist/rules/src/factories/stacked-series.js.map +1 -0
  37. package/dist/rules/src/factories/symbol-dimension.js +32 -0
  38. package/dist/rules/src/factories/symbol-dimension.js.map +1 -0
  39. package/dist/rules/src/factories/symbol-series.js +65 -0
  40. package/dist/rules/src/factories/symbol-series.js.map +1 -0
  41. package/dist/rules/src/factories/timeline-focus.js +21 -0
  42. package/dist/rules/src/factories/timeline-focus.js.map +1 -0
  43. package/dist/rules/src/factories/timeline-series.js +94 -0
  44. package/dist/rules/src/factories/timeline-series.js.map +1 -0
  45. package/dist/rules/src/get-values-enhanced.js +133 -0
  46. package/dist/rules/src/get-values-enhanced.js.map +1 -0
  47. package/dist/rules/src/header/getDefaultSubtitle.js +44 -0
  48. package/dist/rules/src/header/getDefaultSubtitle.js.map +1 -0
  49. package/dist/rules/src/header/getHeaderUnits.js +21 -0
  50. package/dist/rules/src/header/getHeaderUnits.js.map +1 -0
  51. package/dist/rules/src/header/getSubtitleFlags.js +47 -0
  52. package/dist/rules/src/header/getSubtitleFlags.js.map +1 -0
  53. package/dist/rules/src/header/getTitleFlags.js +12 -0
  54. package/dist/rules/src/header/getTitleFlags.js.map +1 -0
  55. package/dist/rules/src/index.js +378 -0
  56. package/dist/rules/src/index.js.map +1 -0
  57. package/dist/rules/src/layout.js +107 -0
  58. package/dist/rules/src/layout.js.map +1 -0
  59. package/dist/rules/src/observation-formater.js +86 -0
  60. package/dist/rules/src/observation-formater.js.map +1 -0
  61. package/dist/rules/src/preparators/formatValue.js +96 -0
  62. package/dist/rules/src/preparators/formatValue.js.map +1 -0
  63. package/dist/rules/src/preparators/getObservations.js +22 -0
  64. package/dist/rules/src/preparators/getObservations.js.map +1 -0
  65. package/dist/rules/src/preparators/getReportingYearStart.js +19 -0
  66. package/dist/rules/src/preparators/getReportingYearStart.js.map +1 -0
  67. package/dist/rules/src/properties/errors.js +22 -0
  68. package/dist/rules/src/properties/errors.js.map +1 -0
  69. package/dist/rules/src/properties/focus.js +72 -0
  70. package/dist/rules/src/properties/focus.js.map +1 -0
  71. package/dist/rules/src/properties/getAvailableChartTypes.js +31 -0
  72. package/dist/rules/src/properties/getAvailableChartTypes.js.map +1 -0
  73. package/dist/rules/src/properties/getHeaderProps.js +76 -0
  74. package/dist/rules/src/properties/getHeaderProps.js.map +1 -0
  75. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +50 -0
  76. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +1 -0
  77. package/dist/rules/src/properties/getObservationsType.js +28 -0
  78. package/dist/rules/src/properties/getObservationsType.js.map +1 -0
  79. package/dist/rules/src/properties/getStringifiedSubtitle.js +9 -0
  80. package/dist/rules/src/properties/getStringifiedSubtitle.js.map +1 -0
  81. package/dist/rules/src/properties/index.js +384 -0
  82. package/dist/rules/src/properties/index.js.map +1 -0
  83. package/dist/rules/src/properties/linear.js +123 -0
  84. package/dist/rules/src/properties/linear.js.map +1 -0
  85. package/dist/rules/src/properties/scatter.js +156 -0
  86. package/dist/rules/src/properties/scatter.js.map +1 -0
  87. package/dist/rules/src/properties/stacked.js +96 -0
  88. package/dist/rules/src/properties/stacked.js.map +1 -0
  89. package/dist/rules/src/properties/symbol.js +76 -0
  90. package/dist/rules/src/properties/symbol.js.map +1 -0
  91. package/dist/rules/src/properties/utils.js +86 -0
  92. package/dist/rules/src/properties/utils.js.map +1 -0
  93. package/dist/rules/src/sdmx-data/index.js +38 -0
  94. package/dist/rules/src/sdmx-data/index.js.map +1 -0
  95. package/dist/rules/src/table/factories/getCellValue.js +53 -0
  96. package/dist/rules/src/table/factories/getCellValue.js.map +1 -0
  97. package/dist/rules/src/v8-transformer.js +174 -0
  98. package/dist/rules/src/v8-transformer.js.map +1 -0
  99. package/dist/rules2/src/applyHierarchicalCodesToDim.js +126 -0
  100. package/dist/rules2/src/applyHierarchicalCodesToDim.js.map +1 -0
  101. package/dist/rules2/src/combinedValuesDisplay.js +77 -0
  102. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -0
  103. package/dist/rules2/src/constants.js +9 -0
  104. package/dist/rules2/src/constants.js.map +1 -0
  105. package/dist/rules2/src/duplicateObservations.js +38 -0
  106. package/dist/rules2/src/duplicateObservations.js.map +1 -0
  107. package/dist/rules2/src/enhanceObservations.js +98 -0
  108. package/dist/rules2/src/enhanceObservations.js.map +1 -0
  109. package/dist/rules2/src/getAttributesSeries.js +39 -0
  110. package/dist/rules2/src/getAttributesSeries.js.map +1 -0
  111. package/dist/rules2/src/getCombinationDefinitions.js +50 -0
  112. package/dist/rules2/src/getCombinationDefinitions.js.map +1 -0
  113. package/dist/rules2/src/getDataflowAttributes.js +25 -0
  114. package/dist/rules2/src/getDataflowAttributes.js.map +1 -0
  115. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +33 -0
  116. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -0
  117. package/dist/rules2/src/getDimensionValuesIndexes.js +16 -0
  118. package/dist/rules2/src/getDimensionValuesIndexes.js.map +1 -0
  119. package/dist/rules2/src/getHCodelistsRefsInData.js +35 -0
  120. package/dist/rules2/src/getHCodelistsRefsInData.js.map +1 -0
  121. package/dist/rules2/src/getHeaderCombinations.js +51 -0
  122. package/dist/rules2/src/getHeaderCombinations.js.map +1 -0
  123. package/dist/rules2/src/getHeaderCoordinates.js +10 -0
  124. package/dist/rules2/src/getHeaderCoordinates.js.map +1 -0
  125. package/dist/rules2/src/getHeaderSubtitle.js +37 -0
  126. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -0
  127. package/dist/rules2/src/getHeaderTitle.js +18 -0
  128. package/dist/rules2/src/getHeaderTitle.js.map +1 -0
  129. package/dist/rules2/src/getMSDInformations.js +26 -0
  130. package/dist/rules2/src/getMSDInformations.js.map +1 -0
  131. package/dist/rules2/src/getManyValuesDimensions.js +37 -0
  132. package/dist/rules2/src/getManyValuesDimensions.js.map +1 -0
  133. package/dist/rules2/src/getMetadataCoordinates.js +40 -0
  134. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -0
  135. package/dist/rules2/src/getNotDisplayedIds.js +56 -0
  136. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -0
  137. package/dist/rules2/src/getOneValueDimensions.js +37 -0
  138. package/dist/rules2/src/getOneValueDimensions.js.map +1 -0
  139. package/dist/rules2/src/getSeriesCombinations.js +27 -0
  140. package/dist/rules2/src/getSeriesCombinations.js.map +1 -0
  141. package/dist/rules2/src/hasCellMetadata.js +17 -0
  142. package/dist/rules2/src/hasCellMetadata.js.map +1 -0
  143. package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +60 -0
  144. package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js.map +1 -0
  145. package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +38 -0
  146. package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js.map +1 -0
  147. package/dist/rules2/src/index.js +47 -0
  148. package/dist/rules2/src/index.js.map +1 -0
  149. package/dist/rules2/src/parseAttributes.js +44 -0
  150. package/dist/rules2/src/parseAttributes.js.map +1 -0
  151. package/dist/rules2/src/parseCombinations.js +105 -0
  152. package/dist/rules2/src/parseCombinations.js.map +1 -0
  153. package/dist/rules2/src/parseHierarchicalCodelist.js +34 -0
  154. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -0
  155. package/dist/rules2/src/parseMetadataSeries.js +124 -0
  156. package/dist/rules2/src/parseMetadataSeries.js.map +1 -0
  157. package/dist/rules2/src/prepareData.js +78 -0
  158. package/dist/rules2/src/prepareData.js.map +1 -0
  159. package/dist/rules2/src/refineAttributes.js +19 -0
  160. package/dist/rules2/src/refineAttributes.js.map +1 -0
  161. package/dist/rules2/src/refineDimensions.js +21 -0
  162. package/dist/rules2/src/refineDimensions.js.map +1 -0
  163. package/dist/rules2/src/refineTimePeriod.js +130 -0
  164. package/dist/rules2/src/refineTimePeriod.js.map +1 -0
  165. package/dist/rules2/src/sdmx3.0DataFormatPatch.js +12 -0
  166. package/dist/rules2/src/sdmx3.0DataFormatPatch.js.map +1 -0
  167. package/dist/rules2/src/table/declineObservationsOverAttributes.js +35 -0
  168. package/dist/rules2/src/table/declineObservationsOverAttributes.js.map +1 -0
  169. package/dist/rules2/src/table/getCells.js +96 -0
  170. package/dist/rules2/src/table/getCells.js.map +1 -0
  171. package/dist/rules2/src/table/getCellsAttributesIds.js +41 -0
  172. package/dist/rules2/src/table/getCellsAttributesIds.js.map +1 -0
  173. package/dist/rules2/src/table/getCellsMetadataCoordinates.js +16 -0
  174. package/dist/rules2/src/table/getCellsMetadataCoordinates.js.map +1 -0
  175. package/dist/rules2/src/table/getCuratedCells.js +36 -0
  176. package/dist/rules2/src/table/getCuratedCells.js.map +1 -0
  177. package/dist/rules2/src/table/getFlagsAndNotes.js +26 -0
  178. package/dist/rules2/src/table/getFlagsAndNotes.js.map +1 -0
  179. package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js +19 -0
  180. package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js.map +1 -0
  181. package/dist/rules2/src/table/getLayout.js +87 -0
  182. package/dist/rules2/src/table/getLayout.js.map +1 -0
  183. package/dist/rules2/src/table/getLayoutData2.js +205 -0
  184. package/dist/rules2/src/table/getLayoutData2.js.map +1 -0
  185. package/dist/rules2/src/table/getSortedLayoutIndexes.js +141 -0
  186. package/dist/rules2/src/table/getSortedLayoutIndexes.js.map +1 -0
  187. package/dist/rules2/src/table/getTableLabelAccessor.js +11 -0
  188. package/dist/rules2/src/table/getTableLabelAccessor.js.map +1 -0
  189. package/dist/rules2/src/table/getTableLayoutIds.js +317 -0
  190. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -0
  191. package/dist/rules2/src/table/getTableProps.js +85 -0
  192. package/dist/rules2/src/table/getTableProps.js.map +1 -0
  193. package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js +82 -0
  194. package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js.map +1 -0
  195. package/dist/rules2/src/table/parseValueHierarchy.js +29 -0
  196. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -0
  197. package/dist/rules2/src/table/refineLayoutSize2.js +324 -0
  198. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -0
  199. package/dist/rules2/src/utils.js +29 -0
  200. package/dist/rules2/src/utils.js.map +1 -0
  201. package/dist/viewer/src/chart.js +50 -0
  202. package/dist/viewer/src/chart.js.map +1 -0
  203. package/dist/viewer/src/chartUtils/options.js +33 -0
  204. package/dist/viewer/src/chartUtils/options.js.map +1 -0
  205. package/dist/viewer/src/chartUtils/series.js +54 -0
  206. package/dist/viewer/src/chartUtils/series.js.map +1 -0
  207. package/dist/viewer/src/footer.js +39 -0
  208. package/dist/viewer/src/footer.js.map +1 -0
  209. package/dist/viewer/src/header.js +12 -0
  210. package/dist/viewer/src/header.js.map +1 -0
  211. package/dist/viewer/src/index.js +160 -0
  212. package/dist/viewer/src/index.js.map +1 -0
  213. package/dist/viewer/src/legends/AxisLegend.js +42 -0
  214. package/dist/viewer/src/legends/AxisLegend.js.map +1 -0
  215. package/dist/viewer/src/legends/ChartLegends.js +80 -0
  216. package/dist/viewer/src/legends/ChartLegends.js.map +1 -0
  217. package/dist/viewer/src/legends/FocusLegend.js +67 -0
  218. package/dist/viewer/src/legends/FocusLegend.js.map +1 -0
  219. package/dist/viewer/src/legends/Legend.js +51 -0
  220. package/dist/viewer/src/legends/Legend.js.map +1 -0
  221. package/dist/viewer/src/legends/SeriesLegend.js +77 -0
  222. package/dist/viewer/src/legends/SeriesLegend.js.map +1 -0
  223. package/dist/viewer/src/utils.js +24 -0
  224. package/dist/viewer/src/utils.js.map +1 -0
  225. package/package.json +1 -1
  226. package/src/app.js +13 -0
  227. package/src/bridge-d3-react/README.md +42 -0
  228. package/src/bridge-d3-react/src/app.js +64 -0
  229. package/src/bridge-d3-react/src/index.js +16 -0
  230. package/src/bridge-d3-react/src/mock-choro.js +394 -0
  231. package/src/bridge-d3-react/src/react-chart-factory.jsx +65 -0
  232. package/src/index.js +10 -0
  233. package/src/rules/README.md +23 -0
  234. package/src/rules/src/chart/getAxisOptions.js +263 -0
  235. package/src/rules/src/chart/getBaseOptions.js +84 -0
  236. package/src/rules/src/chart/getChartOptions.js +118 -0
  237. package/src/rules/src/chart/getGridOptions.js +52 -0
  238. package/src/rules/src/chart/getTooltipOptions.js +230 -0
  239. package/src/rules/src/constants.js +64 -0
  240. package/src/rules/src/date.js +118 -0
  241. package/src/rules/src/dimension-utils.js +54 -0
  242. package/src/rules/src/factories/choro-series.js +65 -0
  243. package/src/rules/src/factories/sample-focus.js +22 -0
  244. package/src/rules/src/factories/sample-series.js +50 -0
  245. package/src/rules/src/factories/scatter-dimension.js +32 -0
  246. package/src/rules/src/factories/scatter-focus.js +39 -0
  247. package/src/rules/src/factories/scatter-series.js +92 -0
  248. package/src/rules/src/factories/stacked-dimension.js +29 -0
  249. package/src/rules/src/factories/stacked-series.js +185 -0
  250. package/src/rules/src/factories/symbol-dimension.js +29 -0
  251. package/src/rules/src/factories/symbol-series.js +62 -0
  252. package/src/rules/src/factories/timeline-focus.js +18 -0
  253. package/src/rules/src/factories/timeline-series.js +91 -0
  254. package/src/rules/src/get-values-enhanced.js +134 -0
  255. package/src/rules/src/header/getDefaultSubtitle.js +40 -0
  256. package/src/rules/src/header/getHeaderUnits.js +17 -0
  257. package/src/rules/src/header/getSubtitleFlags.js +43 -0
  258. package/src/rules/src/header/getTitleFlags.js +8 -0
  259. package/src/rules/src/header/index.js +4 -0
  260. package/src/rules/src/index.js +398 -0
  261. package/src/rules/src/layout.js +113 -0
  262. package/src/rules/src/observation-formater.js +83 -0
  263. package/src/rules/src/preparators/enhanceObservations.js +152 -0
  264. package/src/rules/src/preparators/formatValue.js +93 -0
  265. package/src/rules/src/preparators/getObservations.js +19 -0
  266. package/src/rules/src/preparators/getReportingYearStart.js +16 -0
  267. package/src/rules/src/properties/errors.js +19 -0
  268. package/src/rules/src/properties/focus.js +69 -0
  269. package/src/rules/src/properties/getAvailableChartTypes.js +34 -0
  270. package/src/rules/src/properties/getHeaderProps.js +74 -0
  271. package/src/rules/src/properties/getInformationsStateFromNewProps.js +47 -0
  272. package/src/rules/src/properties/getObservationsType.js +29 -0
  273. package/src/rules/src/properties/getStringifiedSubtitle.js +6 -0
  274. package/src/rules/src/properties/index.js +424 -0
  275. package/src/rules/src/properties/information.js +84 -0
  276. package/src/rules/src/properties/linear.js +129 -0
  277. package/src/rules/src/properties/scatter.js +158 -0
  278. package/src/rules/src/properties/stacked.js +98 -0
  279. package/src/rules/src/properties/symbol.js +79 -0
  280. package/src/rules/src/properties/utils.js +110 -0
  281. package/src/rules/src/sdmx-data/index.js +39 -0
  282. package/src/rules/src/table/factories/getCellValue.js +50 -0
  283. package/src/rules/src/table/index.js +1 -0
  284. package/src/rules/src/v8-transformer.js +177 -0
  285. package/src/rules2/src/applyHierarchicalCodesToDim.js +123 -0
  286. package/src/rules2/src/combinedValuesDisplay.js +74 -0
  287. package/src/rules2/src/constants.js +6 -0
  288. package/src/rules2/src/duplicateObservations.js +35 -0
  289. package/src/rules2/src/enhanceObservations.js +95 -0
  290. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +29 -0
  291. package/src/rules2/src/getAttributesSeries.js +36 -0
  292. package/src/rules2/src/getCombinationDefinitions.js +47 -0
  293. package/src/rules2/src/getDataflowAttributes.js +23 -0
  294. package/src/rules2/src/getDataflowTooltipAttributesIds.js +31 -0
  295. package/src/rules2/src/getDimensionValuesIndexes.js +13 -0
  296. package/src/rules2/src/getHCodelistsRefsInData.js +32 -0
  297. package/src/rules2/src/getHeaderCombinations.js +48 -0
  298. package/src/rules2/src/getHeaderCoordinates.js +7 -0
  299. package/src/rules2/src/getHeaderSubtitle.js +34 -0
  300. package/src/rules2/src/getHeaderTitle.js +15 -0
  301. package/src/rules2/src/getMSDInformations.js +23 -0
  302. package/src/rules2/src/getManyValuesDimensions.js +34 -0
  303. package/src/rules2/src/getMetadataCoordinates.js +37 -0
  304. package/src/rules2/src/getMetadataStructureFromData.js +17 -0
  305. package/src/rules2/src/getNotDisplayedIds.js +53 -0
  306. package/src/rules2/src/getOneValueDimensions.js +34 -0
  307. package/src/rules2/src/getSeriesCombinations.js +24 -0
  308. package/src/rules2/src/hasCellMetadata.js +14 -0
  309. package/src/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +57 -0
  310. package/src/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +35 -0
  311. package/src/rules2/src/index.js +50 -0
  312. package/src/rules2/src/parseAttributes.js +41 -0
  313. package/src/rules2/src/parseCombinations.js +102 -0
  314. package/src/rules2/src/parseHierarchicalCodelist.js +48 -0
  315. package/src/rules2/src/parseMetadataSeries.js +121 -0
  316. package/src/rules2/src/prepareData.js +75 -0
  317. package/src/rules2/src/refineAttributes.js +16 -0
  318. package/src/rules2/src/refineDimensions.js +18 -0
  319. package/src/rules2/src/refineMetadataCoordinates.js +28 -0
  320. package/src/rules2/src/refineTimePeriod.js +127 -0
  321. package/src/rules2/src/sdmx3.0DataFormatPatch.js +9 -0
  322. package/src/rules2/src/table/declineObservationsOverAttributes.js +32 -0
  323. package/src/rules2/src/table/getCells.js +93 -0
  324. package/src/rules2/src/table/getCellsAttributesIds.js +38 -0
  325. package/src/rules2/src/table/getCellsMetadataCoordinates.js +13 -0
  326. package/src/rules2/src/table/getCombinationDimensionsData.js +39 -0
  327. package/src/rules2/src/table/getCuratedCells.js +33 -0
  328. package/src/rules2/src/table/getFlagsAndNotes.js +23 -0
  329. package/src/rules2/src/table/getIndexedCombinationsByDisplay.js +16 -0
  330. package/src/rules2/src/table/getLayout.js +84 -0
  331. package/src/rules2/src/table/getLayoutData2.js +202 -0
  332. package/src/rules2/src/table/getSortedLayoutIndexes.js +138 -0
  333. package/src/rules2/src/table/getTableLabelAccessor.js +9 -0
  334. package/src/rules2/src/table/getTableLayoutIds.js +314 -0
  335. package/src/rules2/src/table/getTableProps.js +82 -0
  336. package/src/rules2/src/table/parseSeriesIndexesHierarchies.js +79 -0
  337. package/src/rules2/src/table/parseValueHierarchy.js +33 -0
  338. package/src/rules2/src/table/refineLayoutSize2.js +321 -0
  339. package/src/rules2/src/utils.js +37 -0
  340. package/src/viewer/mocks/bar.js +33 -0
  341. package/src/viewer/mocks/gpp-symbol.js +93 -0
  342. package/src/viewer/mocks/gpp-time.js +1103 -0
  343. package/src/viewer/mocks/row.js +39 -0
  344. package/src/viewer/mocks/scatter.js +93 -0
  345. package/src/viewer/mocks/stack.js +161 -0
  346. package/src/viewer/src/app/leg.js +36 -0
  347. package/src/viewer/src/app/nodata-res.js +22 -0
  348. package/src/viewer/src/app/nodata-sized.js +23 -0
  349. package/src/viewer/src/app/one-table-cell.js +70 -0
  350. package/src/viewer/src/app/table.js +423 -0
  351. package/src/viewer/src/app/use-case-1.js +33 -0
  352. package/src/viewer/src/app/use-case-2.js +38 -0
  353. package/src/viewer/src/app/use-case-3.js +18 -0
  354. package/src/viewer/src/app.js +116 -0
  355. package/src/viewer/src/chart.jsx +52 -0
  356. package/src/viewer/src/chartUtils/options.js +30 -0
  357. package/src/viewer/src/chartUtils/series.js +51 -0
  358. package/src/viewer/src/footer.jsx +23 -0
  359. package/src/viewer/src/header.jsx +10 -0
  360. package/src/viewer/src/index.jsx +158 -0
  361. package/src/viewer/src/legends/AxisLegend.jsx +41 -0
  362. package/src/viewer/src/legends/ChartLegends.jsx +66 -0
  363. package/src/viewer/src/legends/FocusLegend.jsx +63 -0
  364. package/src/viewer/src/legends/Legend.jsx +46 -0
  365. package/src/viewer/src/legends/SeriesLegend.jsx +78 -0
  366. package/src/viewer/src/utils.js +21 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAttributesSeries.js","sources":["../../../src/rules2/src/getAttributesSeries.js"],"sourcesContent":["import * as R from 'ramda';\r\n\r\nexport const getAttributesSeries = observations => R.pipe(\r\n R.values,\r\n R.reduce(\r\n (acc, { attributes }) => {\r\n let res = acc.res;\r\n let rejected = acc.rejected;\r\n R.forEachObjIndexed(\r\n (attribute) => {\r\n if (!R.isNil(attribute.serieKey) && !attribute.isObs) {\r\n if (R.isNil(attribute.value)) {\r\n res = R.dissocPath([attribute.serieKey, attribute.id], res);\r\n rejected = R.assocPath([attribute.serieKey, attribute.id], true, rejected);\r\n }\r\n if (R.path([attribute.serieKey, attribute.id], rejected)) {\r\n return ;\r\n }\r\n const valueInRes = R.path([attribute.serieKey, attribute.id, 'value', 'id'], res);\r\n if (!R.isNil(valueInRes) && valueInRes !== R.path(['value', 'id'], attribute)) {\r\n res = R.dissocPath([attribute.serieKey, attribute.id], res);\r\n rejected = R.assocPath([attribute.serieKey, attribute.id], true, rejected);\r\n }\r\n else {\r\n res = R.assocPath([attribute.serieKey, attribute.id], attribute, res);\r\n }\r\n }\r\n },\r\n attributes\r\n );\r\n return ({ res, rejected });\r\n },\r\n { res: {}, rejected: {}, }\r\n ),\r\n R.prop('res')\r\n)(observations);\r\n"],"names":[],"mappings":";;AAEY,MAAC,mBAAmB,GAAG,YAAY,IAAI,CAAC,CAAC,IAAI;AACzD,EAAE,CAAC,CAAC,MAAM;AACV,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK;AAC7B,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AACxB,MAAM,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAClC,MAAM,CAAC,CAAC,iBAAiB;AACzB,QAAQ,CAAC,SAAS,KAAK;AACvB,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAChE,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AAC1C,cAAc,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1E,cAAc,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzF,YAAY,CAAC;AACb,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE;AACtE,cAAc,QAAQ;AACtB,YAAY,CAAC;AACb,YAAY,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9F,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE;AAC3F,cAAc,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1E,cAAc,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzF,YAAY,CAAC;AACb,iBAAiB;AACjB,cAAc,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AACpF,YAAY,CAAC;AACb,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,QAAQ,UAAU;AAClB,OAAO,CAAC;AACR,MAAM,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;AACjC,IAAI,CAAC;AACL,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG;AAC9B,GAAG;AACH,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACf,CAAC,CAAC,YAAY;;;;"}
@@ -0,0 +1,50 @@
1
+ import * as R from 'ramda';
2
+
3
+ const parseTexts = texts => R.reduce(
4
+ (acc, text) => {
5
+ const splitted = R.split(':', text);
6
+ if (R.length(splitted) !== 2) {
7
+ return acc;
8
+ }
9
+ const [id, name] = splitted;
10
+ return R.assoc(id, name, acc);
11
+ },
12
+ {},
13
+ texts
14
+ );
15
+
16
+ const parseCombinationDefinition = (locale) => (title, texts) => R.useWith(
17
+ (titles, texts) =>
18
+ R.reduce((acc, title) => {
19
+ const split = R.split(':', title);
20
+ if (R.length(split) !== 2) {
21
+ return acc;
22
+ }
23
+ const [id, codes] = split;
24
+ if (R.isEmpty(codes)) {
25
+ return acc;
26
+ }
27
+ return R.append({
28
+ id,
29
+ concepts: R.split(',', codes),
30
+ name: R.hasPath([locale, id], texts)
31
+ ? R.path([locale, id], texts)
32
+ : `[${id}]`,
33
+ }, acc);
34
+ }, [], titles),
35
+ [R.split(';'), R.map(R.pipe(R.split(';'), parseTexts))],
36
+ )(title, texts);
37
+
38
+ const getCombinationDefinitions = (annotations, locale) => {
39
+ const annotation = R.find(annot => annot.type === 'COMBINED_CONCEPTS', annotations);
40
+ if (R.isNil(annotation)) {
41
+ return [];
42
+ }
43
+ const title = R.propOr('', 'title', annotation);
44
+ const texts = R.propOr({}, 'texts', annotation);
45
+
46
+ return parseCombinationDefinition(locale)(title, texts);
47
+ };
48
+
49
+ export { getCombinationDefinitions, parseCombinationDefinition };
50
+ //# sourceMappingURL=getCombinationDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCombinationDefinitions.js","sources":["../../../src/rules2/src/getCombinationDefinitions.js"],"sourcesContent":["import * as R from 'ramda';\n\nconst parseTexts = texts => R.reduce(\n (acc, text) => {\n const splitted = R.split(':', text);\n if (R.length(splitted) !== 2) {\n return acc;\n }\n const [id, name] = splitted;\n return R.assoc(id, name, acc);\n },\n {},\n texts\n);\n\nexport const parseCombinationDefinition = (locale) => (title, texts) => R.useWith(\n (titles, texts) =>\n R.reduce((acc, title) => {\n const split = R.split(':', title);\n if (R.length(split) !== 2) {\n return acc;\n }\n const [id, codes] = split;\n if (R.isEmpty(codes)) {\n return acc;\n }\n return R.append({\n id,\n concepts: R.split(',', codes),\n name: R.hasPath([locale, id], texts)\n ? R.path([locale, id], texts)\n : `[${id}]`,\n }, acc);\n }, [], titles),\n [R.split(';'), R.map(R.pipe(R.split(';'), parseTexts))],\n)(title, texts);\n\nexport const getCombinationDefinitions = (annotations, locale) => {\n const annotation = R.find(annot => annot.type === 'COMBINED_CONCEPTS', annotations);\n if (R.isNil(annotation)) {\n return [];\n }\n const title = R.propOr('', 'title', annotation);\n const texts = R.propOr({}, 'texts', annotation);\n\n return parseCombinationDefinition(locale)(title, texts);\n};\n"],"names":[],"mappings":";;AAEA,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC,MAAM;AACpC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AACjB,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;AACvC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAClC,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,QAAQ;AAC/B,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC;AACjC,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE;AACF,CAAC;;AAEW,MAAC,0BAA0B,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,OAAO;AACjF,EAAE,CAAC,MAAM,EAAE,KAAK;AAChB,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK;AAC7B,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AACvC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AACjC,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,KAAK;AAC/B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC;AACtB,QAAQ,EAAE;AACV,QAAQ,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AACrC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK;AAC3C,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK;AACtC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrB,OAAO,EAAE,GAAG,CAAC;AACb,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;AAClB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,KAAK,EAAE,KAAK;;AAEF,MAAC,yBAAyB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK;AAClE,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,WAAW,CAAC;AACrF,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AAC3B,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC;AACjD,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC;;AAEjD,EAAE,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;AACzD;;;;"}
@@ -0,0 +1,25 @@
1
+ import * as R from 'ramda';
2
+ import { REJECTED_VALUE_IDS } from './constants.js';
3
+
4
+ const getDataflowAttributes = (attributes, combinations) => {
5
+ const combinationsConceptsIds = R.pipe(R.pluck('concepts'), R.unnest)(combinations);
6
+ return R.reduce(
7
+ (acc, attribute) => {
8
+ if (!R.prop('header', attribute) || !R.isEmpty(attribute.relationship)
9
+ || R.includes(attribute.id, combinationsConceptsIds)) {
10
+ return acc;
11
+ }
12
+ const value = R.head(attribute.values);
13
+ if (!R.propOr(true, 'display', attribute) || R.isNil(value)
14
+ || !R.propOr(true, 'display', value) || R.includes(R.prop('id', value), REJECTED_VALUE_IDS)) {
15
+ return acc;
16
+ }
17
+ return R.assoc(attribute.id, { ...R.pick(['id', 'name'], attribute), value }, acc);
18
+ },
19
+ {},
20
+ attributes,
21
+ );
22
+ };
23
+
24
+ export { getDataflowAttributes };
25
+ //# sourceMappingURL=getDataflowAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDataflowAttributes.js","sources":["../../../src/rules2/src/getDataflowAttributes.js"],"sourcesContent":["import * as R from 'ramda';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nexport const getDataflowAttributes = (attributes, combinations) => {\n const combinationsConceptsIds = R.pipe(R.pluck('concepts'), R.unnest)(combinations);\n return R.reduce(\n (acc, attribute) => {\n if (!R.prop('header', attribute) || !R.isEmpty(attribute.relationship)\n || R.includes(attribute.id, combinationsConceptsIds)) {\n return acc;\n }\n const value = R.head(attribute.values);\n if (!R.propOr(true, 'display', attribute) || R.isNil(value)\n || !R.propOr(true, 'display', value) || R.includes(R.prop('id', value), REJECTED_VALUE_IDS)) {\n return acc;\n }\n return R.assoc(attribute.id, { ...R.pick(['id', 'name'], attribute), value }, acc);\n },\n {},\n attributes,\n );\n};\n\n"],"names":[],"mappings":";;;AAGY,MAAC,qBAAqB,GAAG,CAAC,UAAU,EAAE,YAAY,KAAK;AACnE,EAAE,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;AACrF,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,SAAS,KAAK;AACxB,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY;AAC3E,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,uBAAuB,CAAC,EAAE;AAC9D,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAC5C,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK;AAChE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC,EAAE;AACrG,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;AACxF,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,UAAU;AACd,GAAG;AACH;;;;"}
@@ -0,0 +1,33 @@
1
+ import * as R from 'ramda';
2
+
3
+ const getDataflowTooltipAttributesIds = (sdmxJson, defaults = {}) => {
4
+ const dataflowAnnotationsIndexes = R.pathOr([], ['data', 'dataSets', 0, 'annotations'], sdmxJson);
5
+ const dataflowAnnotations = R.props(dataflowAnnotationsIndexes, R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson));
6
+
7
+ const flagsAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_FLAG'), dataflowAnnotations);
8
+ const footnotesAttrAnnotation = R.find(R.propEq('type', 'LAYOUT_NOTE'), dataflowAnnotations);
9
+
10
+ const customFlags = R.pipe(
11
+ R.propOr('', 'title'),
12
+ title => R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title)
13
+ )(flagsAttrAnnotation || {});
14
+
15
+ const customNotes = R.pipe(
16
+ R.propOr('', 'title'),
17
+ title => R.isNil(title) || R.isEmpty(title) ? [] : R.split(',', title),
18
+ notes => R.difference(notes, customFlags)
19
+ )(footnotesAttrAnnotation || {});
20
+
21
+ const flags = R.isNil(flagsAttrAnnotation)
22
+ ? R.difference(defaults.flags || [], customNotes)
23
+ : customFlags;
24
+
25
+ const notes = R.isNil(footnotesAttrAnnotation)
26
+ ? R.difference(defaults.notes || [], flags)
27
+ : customNotes;
28
+
29
+ return ({ flags, notes });
30
+ };
31
+
32
+ export { getDataflowTooltipAttributesIds };
33
+ //# sourceMappingURL=getDataflowTooltipAttributesIds.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,16 @@
1
+ import * as R from 'ramda';
2
+
3
+ const getDimensionValuesIndexes = (values) => R.addIndex(R.reduce)(
4
+ (acc, value, position) => {
5
+ const sdmxIndex = value.__index;
6
+ return R.over(
7
+ R.lensProp(String(sdmxIndex)),
8
+ R.ifElse(R.isNil, R.always([position]), R.append(position))
9
+ )(acc);
10
+ },
11
+ {},
12
+ values
13
+ );
14
+
15
+ export { getDimensionValuesIndexes };
16
+ //# sourceMappingURL=getDimensionValuesIndexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDimensionValuesIndexes.js","sources":["../../../src/rules2/src/getDimensionValuesIndexes.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getDimensionValuesIndexes = (values) => R.addIndex(R.reduce)(\n (acc, value, position) => {\n const sdmxIndex = value.__index;\n return R.over(\n R.lensProp(String(sdmxIndex)),\n R.ifElse(R.isNil, R.always([position]), R.append(position))\n )(acc);\n },\n {},\n values\n);\n"],"names":[],"mappings":";;AAEY,MAAC,yBAAyB,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACzE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,KAAK;AAC5B,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO;AACnC,IAAI,OAAO,CAAC,CAAC,IAAI;AACjB,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChE,KAAK,CAAC,GAAG,CAAC;AACV,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE;AACF;;;;"}
@@ -0,0 +1,35 @@
1
+ import * as R from 'ramda';
2
+
3
+ const getHCodelistsRefs = annotations => R.reduce(
4
+ (acc, annotation) => {
5
+ if (annotation.type !== 'HIER_CONTEXT') {
6
+ return acc;
7
+ }
8
+ const references = annotation.text || annotation.title || '';
9
+ const refs = R.pipe(
10
+ R.split(','),
11
+ R.reduce(
12
+ (acc2, ref) => {
13
+ const match = ref.match(/([\w@_.]+):([\w@_.]+):([\w@_.]+)\(([\d.]+)\).([\w@_.]+)$/);
14
+ if (R.isNil(match)) {
15
+ return acc2;
16
+ }
17
+ const [codelistId, agencyId, code, version, hierarchy] = R.tail(match);
18
+ return R.assoc(codelistId, { agencyId, code, version, hierarchy, codelistId }, acc2);
19
+ },
20
+ {}
21
+ )
22
+ )(references);
23
+ return R.mergeRight(acc, refs);
24
+ },
25
+ {},
26
+ annotations,
27
+ );
28
+
29
+ const getHCodelistsRefsInData = sdmxJson => {
30
+ const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);
31
+ return getHCodelistsRefs(annotations);
32
+ };
33
+
34
+ export { getHCodelistsRefs, getHCodelistsRefsInData };
35
+ //# sourceMappingURL=getHCodelistsRefsInData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHCodelistsRefsInData.js","sources":["../../../src/rules2/src/getHCodelistsRefsInData.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getHCodelistsRefs = annotations => R.reduce(\n (acc, annotation) => {\n if (annotation.type !== 'HIER_CONTEXT') {\n return acc;\n }\n const references = annotation.text || annotation.title || '';\n const refs = R.pipe(\n R.split(','),\n R.reduce(\n (acc2, ref) => {\n const match = ref.match(/([\\w@_.]+):([\\w@_.]+):([\\w@_.]+)\\(([\\d.]+)\\).([\\w@_.]+)$/);\n if (R.isNil(match)) {\n return acc2;\n }\n const [codelistId, agencyId, code, version, hierarchy] = R.tail(match);\n return R.assoc(codelistId, { agencyId, code, version, hierarchy, codelistId }, acc2);\n },\n {}\n )\n )(references);\n return R.mergeRight(acc, refs);\n },\n {},\n annotations,\n);\n\nexport const getHCodelistsRefsInData = sdmxJson => {\n const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);\n return getHCodelistsRefs(annotations);\n};\n"],"names":[],"mappings":";;AAEY,MAAC,iBAAiB,GAAG,WAAW,IAAI,CAAC,CAAC,MAAM;AACxD,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK;AACvB,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE;AAC5C,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE;AAChE,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI;AACvB,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAClB,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,CAAC,IAAI,EAAE,GAAG,KAAK;AACvB,UAAU,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC;AAC7F,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAC9B,YAAY,OAAO,IAAI;AACvB,UAAU;AACV,UAAU,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAChF,UAAU,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC;AAC9F,QAAQ,CAAC;AACT,QAAQ;AACR;AACA,KAAK,CAAC,UAAU,CAAC;AACjB,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC;AAClC,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE,WAAW;AACb;;AAEY,MAAC,uBAAuB,GAAG,QAAQ,IAAI;AACnD,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;AAClF,EAAE,OAAO,iBAAiB,CAAC,WAAW,CAAC;AACvC;;;;"}
@@ -0,0 +1,51 @@
1
+ import * as R from 'ramda';
2
+ import { combinedValuesDisplay } from './combinedValuesDisplay.js';
3
+ import { REJECTED_VALUE_IDS } from './constants.js';
4
+ import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
5
+
6
+ const getHeaderCombinations = (combinations, dimensions, attributes, display) => {
7
+ const indexedDimensions = R.indexBy(R.prop('id'), dimensions);
8
+ const indexedAttributes = R.indexBy(R.prop('id'), attributes);
9
+ return R.reduce(
10
+ (acc, comb) => {
11
+ if (!R.prop('header', comb) || !R.propOr(true, 'display', comb)) {
12
+ return acc;
13
+ }
14
+
15
+ const header = `${dimensionValueDisplay(display)(comb)}:`;
16
+
17
+ const label = R.pipe(
18
+ R.reduce(
19
+ (_acc, concept) => {
20
+ const artefact = R.has(concept, indexedDimensions)
21
+ ? R.prop(concept, indexedDimensions)
22
+ : R.prop(concept, indexedAttributes);
23
+ if (R.isNil(artefact)) {
24
+ return _acc;
25
+ }
26
+ const value = R.path(['values', 0], artefact);
27
+ if (R.isNil(value)) {
28
+ return _acc;
29
+ }
30
+ if (R.has(concept, indexedAttributes) && (!R.propOr(true, 'display', value)
31
+ || !R.propOr(true, 'artefact', value) || R.includes(value.id, REJECTED_VALUE_IDS))) {
32
+ return _acc;
33
+ }
34
+ return R.append(value, _acc);
35
+ },
36
+ []
37
+ ),
38
+ values => combinedValuesDisplay(display, values)
39
+ )(comb.concepts || []);
40
+ if (R.isEmpty(label)) {
41
+ return acc;
42
+ }
43
+ return R.append({ header, label }, acc);
44
+ },
45
+ [],
46
+ combinations,
47
+ );
48
+ };
49
+
50
+ export { getHeaderCombinations };
51
+ //# sourceMappingURL=getHeaderCombinations.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,10 @@
1
+ import * as R from 'ramda';
2
+
3
+ const getHeaderCoordinates = (oneValueDimensions) => R.reduce(
4
+ (acc, dim) => R.assoc(dim.id, R.path(['values', 0, 'id'], dim), acc),
5
+ {},
6
+ oneValueDimensions
7
+ );
8
+
9
+ export { getHeaderCoordinates };
10
+ //# sourceMappingURL=getHeaderCoordinates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHeaderCoordinates.js","sources":["../../../src/rules2/src/getHeaderCoordinates.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getHeaderCoordinates = (oneValueDimensions) => R.reduce(\n (acc, dim) => R.assoc(dim.id, R.path(['values', 0, 'id'], dim), acc),\n {},\n oneValueDimensions\n);\n"],"names":[],"mappings":";;AAEY,MAAC,oBAAoB,GAAG,CAAC,kBAAkB,KAAK,CAAC,CAAC,MAAM;AACpE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;AACtE,EAAE,EAAE;AACJ,EAAE;AACF;;;;"}
@@ -0,0 +1,37 @@
1
+ import * as R from 'ramda';
2
+ import { getFlagsAndNotes } from './table/getFlagsAndNotes.js';
3
+ import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
4
+
5
+ const getHeaderSubtitle = (dimensions, combinations, customAttributes, display, microdataDimension) => {
6
+ const combinationsConepts = R.pipe(R.pluck('concepts'), R.unnest)(combinations);
7
+ const DEFAULT_REJECTED_SUBTITLE_IDS = ['_L', '_T', '_Z'];
8
+
9
+ return R.reduce(
10
+ (acc, dim) => {
11
+ if (!R.propOr(true, 'display', dim) || R.propEq('id', microdataDimension, dim)
12
+ || R.includes(dim.id, combinationsConepts)) {
13
+ return acc;
14
+ }
15
+ const value = R.path(['values', 0], dim);
16
+ if (!R.propOr(true, 'display', value) || R.includes(value.id, DEFAULT_REJECTED_SUBTITLE_IDS)) {
17
+ return acc;
18
+ }
19
+ const header = `${dimensionValueDisplay(display)(dim)}:`;
20
+ const label = dimensionValueDisplay(display)(value);
21
+ const flags = R.pipe(
22
+ getFlagsAndNotes,
23
+ R.map(entry => ({
24
+ code: entry.code,
25
+ header: `${dimensionValueDisplay(display)(entry)}:`,
26
+ label: dimensionValueDisplay(display)(entry.value),
27
+ })),
28
+ )(dim.attrValues, customAttributes);
29
+ return R.append({ header, label, flags }, acc);
30
+ },
31
+ [],
32
+ dimensions,
33
+ );
34
+ };
35
+
36
+ export { getHeaderSubtitle };
37
+ //# sourceMappingURL=getHeaderSubtitle.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,18 @@
1
+ import * as R from 'ramda';
2
+ import { getFlagsAndNotes } from './table/getFlagsAndNotes.js';
3
+ import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
4
+
5
+ const getHeaderTitle = (dataflow, attributes, display, customAttributes) => ({
6
+ label: dimensionValueDisplay(display)(dataflow),
7
+ flags: R.pipe(
8
+ getFlagsAndNotes,
9
+ R.map(entry => ({
10
+ code: entry.code,
11
+ header: `${dimensionValueDisplay(display)(entry)}:`,
12
+ label: dimensionValueDisplay(display)(entry.value),
13
+ })),
14
+ )(attributes, customAttributes),
15
+ });
16
+
17
+ export { getHeaderTitle };
18
+ //# sourceMappingURL=getHeaderTitle.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,26 @@
1
+ import * as R from 'ramda';
2
+
3
+ const getMSDInformations = msdJson => {
4
+ const attributesDefinitions = R.pathOr([], ['data', 'metadataStructures', 0, 'metadataStructureComponents', 'reportStructures', 0, 'metadataAttributes'], msdJson);
5
+ const indexedConcepts = R.pipe(R.pathOr([], ['data', 'conceptSchemes', 0, 'concepts']), R.indexBy(R.prop('id')))(msdJson);
6
+
7
+ const parseAttributes = (parent) => R.reduce(
8
+ (acc, attribute) => {
9
+ const id = attribute.id;
10
+ const name = R.path([id, 'name'], indexedConcepts);
11
+ const hierarchicalId = parent === '#ROOT' ? id : `${parent}.${id}`;
12
+ const format = R.path(['localRepresentation', 'textFormat', 'textType'], attribute);
13
+ if (R.has('metadataAttributes', attribute)) {
14
+ const collection = parseAttributes(hierarchicalId)(attribute.metadataAttributes);
15
+ return ({ ...acc, ...collection, [hierarchicalId]: { format, parent, id, name } });
16
+ }
17
+ return R.assoc(hierarchicalId, { format, parent, id, name }, acc);
18
+ },
19
+ {}
20
+ );
21
+
22
+ return ({ attributes: parseAttributes('#ROOT')(attributesDefinitions) });
23
+ };
24
+
25
+ export { getMSDInformations };
26
+ //# sourceMappingURL=getMSDInformations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMSDInformations.js","sources":["../../../src/rules2/src/getMSDInformations.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getMSDInformations = msdJson => {\n const attributesDefinitions = R.pathOr([], ['data', 'metadataStructures', 0, 'metadataStructureComponents', 'reportStructures', 0, 'metadataAttributes'], msdJson);\n const indexedConcepts = R.pipe(R.pathOr([], ['data', 'conceptSchemes', 0, 'concepts']), R.indexBy(R.prop('id')))(msdJson);\n\n const parseAttributes = (parent) => R.reduce(\n (acc, attribute) => {\n const id = attribute.id;\n const name = R.path([id, 'name'], indexedConcepts);\n const hierarchicalId = parent === '#ROOT' ? id : `${parent}.${id}`;\n const format = R.path(['localRepresentation', 'textFormat', 'textType'], attribute);\n if (R.has('metadataAttributes', attribute)) {\n const collection = parseAttributes(hierarchicalId)(attribute.metadataAttributes);\n return ({ ...acc, ...collection, [hierarchicalId]: { format, parent, id, name } });\n }\n return R.assoc(hierarchicalId, { format, parent, id, name }, acc);\n },\n {}\n )\n\n return ({ attributes: parseAttributes('#ROOT')(attributesDefinitions) });\n};\n"],"names":[],"mappings":";;AAEY,MAAC,kBAAkB,GAAG,OAAO,IAAI;AAC7C,EAAE,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,CAAC,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;AACpK,EAAE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;;AAE3H,EAAE,MAAM,eAAe,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;AAC9C,IAAI,CAAC,GAAG,EAAE,SAAS,KAAK;AACxB,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE;AAC7B,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,MAAM,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC;AACzF,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAAE;AAClD,QAAQ,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC;AACxF,QAAQ,QAAQ,EAAE,GAAG,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;AACzF,MAAM;AACN,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC;AACvE,IAAI,CAAC;AACL,IAAI;AACJ;;AAEA,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,EAAE;AACzE;;;;"}
@@ -0,0 +1,37 @@
1
+ import * as R from 'ramda';
2
+ import { getFlagsAndNotes } from './table/getFlagsAndNotes.js';
3
+
4
+ const getManyValuesDimensions = (dimensions, attributesSeries, customAttributes, combinations) => {
5
+ const combConceptsIds = R.pipe(R.pluck('concepts'), R.unnest)(combinations);
6
+ return R.reduce(
7
+ (acc, dim) => {
8
+ if (dim.header || dim.rejected) {
9
+ return acc;
10
+ }
11
+ const enhancedValues = R.map(val => {
12
+ const attrSeries = R.propOr({}, `${dim.id}=${val.id}`, attributesSeries);
13
+ if (R.isEmpty(attrSeries)) {
14
+ return val;
15
+ }
16
+ const flags = getFlagsAndNotes(attrSeries, customAttributes);
17
+ const hasAdvancedAttributes = R.pipe(
18
+ R.omit(
19
+ R.unnest([
20
+ customAttributes.flags || [],
21
+ customAttributes.notes || [],
22
+ combConceptsIds,
23
+ ]),
24
+ ),
25
+ R.complement(R.isEmpty),
26
+ )(attrSeries);
27
+ return { ...val, flags, hasAdvancedAttributes };
28
+ }, dim.values);
29
+ return R.append(R.assoc('values', enhancedValues, dim), acc);
30
+ },
31
+ [],
32
+ dimensions,
33
+ );
34
+ };
35
+
36
+ export { getManyValuesDimensions };
37
+ //# sourceMappingURL=getManyValuesDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getManyValuesDimensions.js","sources":["../../../src/rules2/src/getManyValuesDimensions.js"],"sourcesContent":["import * as R from 'ramda';\nimport { getFlagsAndNotes } from './table/getFlagsAndNotes';\n\nexport const getManyValuesDimensions = (dimensions, attributesSeries, customAttributes, combinations) => {\n const combConceptsIds = R.pipe(R.pluck('concepts'), R.unnest)(combinations);\n return R.reduce(\n (acc, dim) => {\n if (dim.header || dim.rejected) {\n return acc;\n }\n const enhancedValues = R.map(val => {\n const attrSeries = R.propOr({}, `${dim.id}=${val.id}`, attributesSeries);\n if (R.isEmpty(attrSeries)) {\n return val;\n }\n const flags = getFlagsAndNotes(attrSeries, customAttributes);\n const hasAdvancedAttributes = R.pipe(\n R.omit(\n R.unnest([\n customAttributes.flags || [],\n customAttributes.notes || [],\n combConceptsIds,\n ]),\n ),\n R.complement(R.isEmpty),\n )(attrSeries);\n return { ...val, flags, hasAdvancedAttributes };\n }, dim.values);\n return R.append(R.assoc('values', enhancedValues, dim), acc);\n },\n [],\n dimensions,\n );\n};\n"],"names":[],"mappings":";;;AAGY,MAAC,uBAAuB,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,KAAK;AACzG,EAAE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;AAC7E,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;AAClB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE;AACtC,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;AAC1C,QAAQ,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC;AAChF,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACnC,UAAU,OAAO,GAAG;AACpB,QAAQ;AACR,QAAQ,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC;AACpE,QAAQ,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI;AAC5C,UAAU,CAAC,CAAC,IAAI;AAChB,YAAY,CAAC,CAAC,MAAM,CAAC;AACrB,cAAc,gBAAgB,CAAC,KAAK,IAAI,EAAE;AAC1C,cAAc,gBAAgB,CAAC,KAAK,IAAI,EAAE;AAC1C,cAAc,eAAe;AAC7B,aAAa,CAAC;AACd,WAAW;AACX,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AACjC,SAAS,CAAC,UAAU,CAAC;AACrB,QAAQ,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE;AACvD,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;AACpB,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;AAClE,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,UAAU;AACd,GAAG;AACH;;;;"}
@@ -0,0 +1,40 @@
1
+ import * as R from 'ramda';
2
+
3
+ const getMetadataCoordinates = (sdmxJson) => {
4
+ const dimensions = R.pathOr([], ['data', 'structure', 'dimensions', 'observation'], sdmxJson);
5
+ const annotations = R.pathOr([], ['data', 'structure', 'annotations'], sdmxJson);
6
+ const metadataAvailKeys = R.pipe(
7
+ R.pathOr([], ['data', 'dataSets', 0, 'dimensionGroupAttributes']),
8
+ R.map(indexes => R.props(indexes, annotations)),
9
+ R.filter(R.find(a => a && R.propEq('type', 'HAS_METADATA', a))),
10
+ R.keys
11
+ )(sdmxJson);
12
+
13
+ return R.map(
14
+ key => {
15
+ const indexes = R.split(':', key);
16
+ return R.addIndex(R.reduce)(
17
+ (acc, vIndex, dimIndex) => {
18
+ if (R.isNil(vIndex) || R.isEmpty(vIndex)) {
19
+ return acc;
20
+ }
21
+ const dim = R.nth(dimIndex, dimensions);
22
+ if (R.isNil(dim) || R.prop('rejected', dim)) {
23
+ return acc;
24
+ }
25
+ const val = R.path(['values', Number(vIndex)], dim);
26
+ if (R.isNil(val)) {
27
+ return acc;
28
+ }
29
+ return R.assoc(dim.id, val.id, acc);
30
+ },
31
+ {},
32
+ indexes
33
+ );
34
+ },
35
+ metadataAvailKeys
36
+ );
37
+ };
38
+
39
+ export { getMetadataCoordinates };
40
+ //# sourceMappingURL=getMetadataCoordinates.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,56 @@
1
+ import * as R from 'ramda';
2
+ import { getNotDisplayedCombinations } from '@sis-cc/dotstatsuite-sdmxjs';
3
+
4
+ const getNotDisplayedValues = annot => {
5
+ if (R.isNil(annot)) {
6
+ return {};
7
+ }
8
+ const ids = R.split(',', annot.title || '');
9
+ return R.reduce(
10
+ (acc, entry) => {
11
+ if (R.isEmpty(entry)) {
12
+ return acc;
13
+ }
14
+ const parsed = R.split('=', entry);
15
+ const dimensionId = parsed[0];
16
+ if (R.length(parsed) === 1) {
17
+ return R.assoc(dimensionId, dimensionId, acc);
18
+ }
19
+ const values = R.split('+', parsed[1]);
20
+ if (R.length(values) === 1 && R.isEmpty(values[0])) {
21
+ return R.assoc(dimensionId, dimensionId, acc);
22
+ }
23
+ return R.reduce(
24
+ (_acc, val) => {
25
+ let _val = val;
26
+ if (R.isEmpty(val)) {
27
+ return _acc;
28
+ }
29
+ if (R.test('/[()]/')) {
30
+ _val = R.replace(/[()]/g, '')(val);
31
+ }
32
+ const key = R.isEmpty(_val) ? dimensionId : `${dimensionId}.${_val}`;
33
+ return R.assoc(key, key, _acc);
34
+ },
35
+ acc,
36
+ values
37
+ );
38
+ },
39
+ {},
40
+ ids
41
+ );
42
+ };
43
+
44
+ const getNotDisplayedIds = (annotations) => R.pipe(
45
+ R.find(R.propEq('type', 'NOT_DISPLAYED')),
46
+ R.converge((hiddenValues, hiddenCombinations) => ({
47
+ hiddenValues,
48
+ hiddenCombinations
49
+ }), [
50
+ getNotDisplayedValues,
51
+ (annot={ title: '' }) => getNotDisplayedCombinations(annot)
52
+ ])
53
+ )(annotations);
54
+
55
+ export { getNotDisplayedIds };
56
+ //# sourceMappingURL=getNotDisplayedIds.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,37 @@
1
+ import * as R from 'ramda';
2
+ import { REJECTED_VALUE_IDS } from './constants.js';
3
+
4
+ const getOneValueDimensions = (dimensions, attributes) => {
5
+ const indexedRelevantAttributes = R.reduce(
6
+ (acc, attr) => {
7
+ if (!attr.header || !R.propOr(true, 'display', attr) || R.length(attr.relationship || []) !== 1) {
8
+ return acc;
9
+ }
10
+ const value = R.path(['values', 0], attr);
11
+ if (R.isNil(value) || !R.propOr(true, 'display', value) || R.includes(R.prop('id', value), REJECTED_VALUE_IDS)) {
12
+ return acc;
13
+ }
14
+ const dim = R.head(attr.relationship);
15
+ return R.over(R.lensProp(dim), (values = {}) => ({
16
+ ...values,
17
+ [attr.id]: { ...attr, value },
18
+ }))(acc);
19
+ },
20
+ {},
21
+ attributes,
22
+ );
23
+ return R.reduce(
24
+ (acc, dim) => {
25
+ if (!dim.header) {
26
+ return acc;
27
+ }
28
+ const attrValues = R.propOr({}, dim.id, indexedRelevantAttributes);
29
+ return R.append({ ...dim, attrValues }, acc);
30
+ },
31
+ [],
32
+ dimensions,
33
+ );
34
+ };
35
+
36
+ export { getOneValueDimensions };
37
+ //# sourceMappingURL=getOneValueDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOneValueDimensions.js","sources":["../../../src/rules2/src/getOneValueDimensions.js"],"sourcesContent":["import * as R from 'ramda';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nexport const getOneValueDimensions = (dimensions, attributes) => {\n const indexedRelevantAttributes = R.reduce(\n (acc, attr) => {\n if (!attr.header || !R.propOr(true, 'display', attr) || R.length(attr.relationship || []) !== 1) {\n return acc;\n }\n const value = R.path(['values', 0], attr);\n if (R.isNil(value) || !R.propOr(true, 'display', value) || R.includes(R.prop('id', value), REJECTED_VALUE_IDS)) {\n return acc;\n }\n const dim = R.head(attr.relationship);\n return R.over(R.lensProp(dim), (values = {}) => ({\n ...values,\n [attr.id]: { ...attr, value },\n }))(acc);\n },\n {},\n attributes,\n );\n return R.reduce(\n (acc, dim) => {\n if (!dim.header) {\n return acc;\n }\n const attrValues = R.propOr({}, dim.id, indexedRelevantAttributes);\n return R.append({ ...dim, attrValues }, acc);\n },\n [],\n dimensions,\n );\n};\n"],"names":[],"mappings":";;;AAGY,MAAC,qBAAqB,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK;AACjE,EAAE,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM;AAC5C,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK;AACnB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;AACvG,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;AAC/C,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC,EAAE;AACtH,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AAC3C,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,MAAM;AACvD,QAAQ,GAAG,MAAM;AACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE;AACrC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACd,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,UAAU;AACd,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,MAAM;AACjB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;AAClB,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;AACvB,QAAQ,OAAO,GAAG;AAClB,MAAM;AACN,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,yBAAyB,CAAC;AACxE,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC;AAClD,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,UAAU;AACd,GAAG;AACH;;;;"}
@@ -0,0 +1,27 @@
1
+ import * as R from 'ramda';
2
+
3
+ const getSeriesCombinations = (combinations, oneValuesDimensions) => {
4
+ const indexedValues = R.reduce(
5
+ (acc, dim) => {
6
+ const value = R.head(dim.values);
7
+ return R.assoc(dim.id, value, acc);
8
+ },
9
+ {},
10
+ oneValuesDimensions
11
+ );
12
+
13
+ return R.reduce(
14
+ (acc, comb) => {
15
+ if (!R.prop('series', comb)) {
16
+ return acc;
17
+ }
18
+ const fixedDimValues = R.pick(comb.concepts, indexedValues);
19
+ return R.append({ ...comb, fixedDimValues }, acc);
20
+ },
21
+ [],
22
+ combinations
23
+ );
24
+ };
25
+
26
+ export { getSeriesCombinations };
27
+ //# sourceMappingURL=getSeriesCombinations.js.map