@sis-cc/dotstatsuite-components 22.5.0 → 23.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/_virtual/index.js +4 -5
  2. package/dist/_virtual/index.js.map +1 -1
  3. package/dist/_virtual/index2.js +4 -5
  4. package/dist/_virtual/index2.js.map +1 -1
  5. package/dist/_virtual/index3.js +4 -4
  6. package/dist/_virtual/index4.js +2 -6
  7. package/dist/_virtual/index4.js.map +1 -1
  8. package/dist/_virtual/index5.js +3 -5
  9. package/dist/_virtual/index5.js.map +1 -1
  10. package/dist/_virtual/index6.js +2 -6
  11. package/dist/_virtual/index6.js.map +1 -1
  12. package/dist/_virtual/index7.js +2 -6
  13. package/dist/_virtual/index7.js.map +1 -1
  14. package/dist/bridge-d3-react/src/index.js +1 -2
  15. package/dist/bridge-d3-react/src/index.js.map +1 -1
  16. package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js +1 -1
  17. package/dist/node_modules/@mui/system/colorManipulator.js +2 -2
  18. package/dist/node_modules/@mui/system/esm/responsivePropType.js +1 -1
  19. package/dist/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +1 -1
  20. package/dist/node_modules/@mui/utils/node_modules/react-is/index.js +1 -1
  21. package/dist/node_modules/date-fns/esm/_lib/defaultOptions/index.js +7 -0
  22. package/dist/node_modules/date-fns/esm/_lib/defaultOptions/index.js.map +1 -0
  23. package/dist/node_modules/date-fns/esm/_lib/isSameUTCWeek/index.js +12 -0
  24. package/dist/node_modules/date-fns/esm/_lib/isSameUTCWeek/index.js.map +1 -0
  25. package/dist/node_modules/date-fns/esm/_lib/requiredArgs/index.js +8 -0
  26. package/dist/node_modules/date-fns/esm/_lib/requiredArgs/index.js.map +1 -0
  27. package/dist/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js +25 -0
  28. package/dist/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js.map +1 -0
  29. package/dist/node_modules/date-fns/esm/_lib/toInteger/index.js +13 -0
  30. package/dist/node_modules/date-fns/esm/_lib/toInteger/index.js.map +1 -0
  31. package/dist/node_modules/date-fns/esm/getISOWeek/index.js +39 -0
  32. package/dist/node_modules/date-fns/esm/getISOWeek/index.js.map +1 -0
  33. package/dist/node_modules/date-fns/esm/getISOWeekYear/index.js +47 -0
  34. package/dist/node_modules/date-fns/esm/getISOWeekYear/index.js.map +1 -0
  35. package/dist/node_modules/date-fns/esm/getTime/index.js +29 -0
  36. package/dist/node_modules/date-fns/esm/getTime/index.js.map +1 -0
  37. package/dist/node_modules/date-fns/esm/isFriday/index.js +27 -0
  38. package/dist/node_modules/date-fns/esm/isFriday/index.js.map +1 -0
  39. package/dist/node_modules/date-fns/esm/isMonday/index.js +27 -0
  40. package/dist/node_modules/date-fns/esm/isMonday/index.js.map +1 -0
  41. package/dist/node_modules/date-fns/esm/isSaturday/index.js +27 -0
  42. package/dist/node_modules/date-fns/esm/isSaturday/index.js.map +1 -0
  43. package/dist/node_modules/date-fns/esm/isSunday/index.js +27 -0
  44. package/dist/node_modules/date-fns/esm/isSunday/index.js.map +1 -0
  45. package/dist/node_modules/date-fns/esm/isThursday/index.js +27 -0
  46. package/dist/node_modules/date-fns/esm/isThursday/index.js.map +1 -0
  47. package/dist/node_modules/date-fns/esm/isTuesday/index.js +27 -0
  48. package/dist/node_modules/date-fns/esm/isTuesday/index.js.map +1 -0
  49. package/dist/node_modules/date-fns/esm/isWednesday/index.js +27 -0
  50. package/dist/node_modules/date-fns/esm/isWednesday/index.js.map +1 -0
  51. package/dist/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js +12 -0
  52. package/dist/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js.map +1 -0
  53. package/dist/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js +21 -0
  54. package/dist/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js.map +1 -0
  55. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js +45 -0
  56. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js.map +1 -0
  57. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js +20 -0
  58. package/dist/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js.map +1 -0
  59. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatDistance/index.js +119 -0
  60. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatDistance/index.js.map +1 -0
  61. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatLong/index.js +37 -0
  62. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatLong/index.js.map +1 -0
  63. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatRelative/index.js +14 -0
  64. package/dist/node_modules/date-fns/esm/locale/ar/_lib/formatRelative/index.js.map +1 -0
  65. package/dist/node_modules/date-fns/esm/locale/ar/_lib/localize/index.js +121 -0
  66. package/dist/node_modules/date-fns/esm/locale/ar/_lib/localize/index.js.map +1 -0
  67. package/dist/node_modules/date-fns/esm/locale/ar/_lib/match/index.js +102 -0
  68. package/dist/node_modules/date-fns/esm/locale/ar/_lib/match/index.js.map +1 -0
  69. package/dist/node_modules/date-fns/esm/locale/ar/index.js +30 -0
  70. package/dist/node_modules/date-fns/esm/locale/ar/index.js.map +1 -0
  71. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js +178 -0
  72. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js.map +1 -0
  73. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js +42 -0
  74. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js.map +1 -0
  75. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js +14 -0
  76. package/dist/node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js.map +1 -0
  77. package/dist/node_modules/date-fns/esm/locale/de/_lib/localize/index.js +137 -0
  78. package/dist/node_modules/date-fns/esm/locale/de/_lib/localize/index.js.map +1 -0
  79. package/dist/node_modules/date-fns/esm/locale/de/_lib/match/index.js +103 -0
  80. package/dist/node_modules/date-fns/esm/locale/de/_lib/match/index.js.map +1 -0
  81. package/dist/node_modules/date-fns/esm/locale/de/index.js +33 -0
  82. package/dist/node_modules/date-fns/esm/locale/de/index.js.map +1 -0
  83. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js +85 -0
  84. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js.map +1 -0
  85. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js +37 -0
  86. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js.map +1 -0
  87. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js +14 -0
  88. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js.map +1 -0
  89. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js +146 -0
  90. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js.map +1 -0
  91. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js +101 -0
  92. package/dist/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js.map +1 -0
  93. package/dist/node_modules/date-fns/esm/locale/en-US/index.js +30 -0
  94. package/dist/node_modules/date-fns/esm/locale/en-US/index.js.map +1 -0
  95. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js +85 -0
  96. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js.map +1 -0
  97. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js +37 -0
  98. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js.map +1 -0
  99. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js +26 -0
  100. package/dist/node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js.map +1 -0
  101. package/dist/node_modules/date-fns/esm/locale/es/_lib/localize/index.js +122 -0
  102. package/dist/node_modules/date-fns/esm/locale/es/_lib/localize/index.js.map +1 -0
  103. package/dist/node_modules/date-fns/esm/locale/es/_lib/match/index.js +102 -0
  104. package/dist/node_modules/date-fns/esm/locale/es/_lib/match/index.js.map +1 -0
  105. package/dist/node_modules/date-fns/esm/locale/es/index.js +33 -0
  106. package/dist/node_modules/date-fns/esm/locale/es/index.js.map +1 -0
  107. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js +85 -0
  108. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js.map +1 -0
  109. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js +37 -0
  110. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js.map +1 -0
  111. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js +14 -0
  112. package/dist/node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js.map +1 -0
  113. package/dist/node_modules/date-fns/esm/locale/fr/_lib/localize/index.js +97 -0
  114. package/dist/node_modules/date-fns/esm/locale/fr/_lib/localize/index.js.map +1 -0
  115. package/dist/node_modules/date-fns/esm/locale/fr/_lib/match/index.js +101 -0
  116. package/dist/node_modules/date-fns/esm/locale/fr/_lib/match/index.js.map +1 -0
  117. package/dist/node_modules/date-fns/esm/locale/fr/index.js +30 -0
  118. package/dist/node_modules/date-fns/esm/locale/fr/index.js.map +1 -0
  119. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatDistance/index.js +85 -0
  120. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatDistance/index.js.map +1 -0
  121. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatLong/index.js +37 -0
  122. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatLong/index.js.map +1 -0
  123. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatRelative/index.js +54 -0
  124. package/dist/node_modules/date-fns/esm/locale/it/_lib/formatRelative/index.js.map +1 -0
  125. package/dist/node_modules/date-fns/esm/locale/it/_lib/localize/index.js +122 -0
  126. package/dist/node_modules/date-fns/esm/locale/it/_lib/localize/index.js.map +1 -0
  127. package/dist/node_modules/date-fns/esm/locale/it/_lib/match/index.js +101 -0
  128. package/dist/node_modules/date-fns/esm/locale/it/_lib/match/index.js.map +1 -0
  129. package/dist/node_modules/date-fns/esm/locale/it/index.js +31 -0
  130. package/dist/node_modules/date-fns/esm/locale/it/index.js.map +1 -0
  131. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js +85 -0
  132. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js.map +1 -0
  133. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js +37 -0
  134. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js.map +1 -0
  135. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js +14 -0
  136. package/dist/node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js.map +1 -0
  137. package/dist/node_modules/date-fns/esm/locale/nl/_lib/localize/index.js +88 -0
  138. package/dist/node_modules/date-fns/esm/locale/nl/_lib/localize/index.js.map +1 -0
  139. package/dist/node_modules/date-fns/esm/locale/nl/_lib/match/index.js +100 -0
  140. package/dist/node_modules/date-fns/esm/locale/nl/_lib/match/index.js.map +1 -0
  141. package/dist/node_modules/date-fns/esm/locale/nl/index.js +34 -0
  142. package/dist/node_modules/date-fns/esm/locale/nl/index.js.map +1 -0
  143. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatDistance/index.js +89 -0
  144. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatDistance/index.js.map +1 -0
  145. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatLong/index.js +37 -0
  146. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatLong/index.js.map +1 -0
  147. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatRelative/index.js +14 -0
  148. package/dist/node_modules/date-fns/esm/locale/th/_lib/formatRelative/index.js.map +1 -0
  149. package/dist/node_modules/date-fns/esm/locale/th/_lib/localize/index.js +121 -0
  150. package/dist/node_modules/date-fns/esm/locale/th/_lib/localize/index.js.map +1 -0
  151. package/dist/node_modules/date-fns/esm/locale/th/_lib/match/index.js +100 -0
  152. package/dist/node_modules/date-fns/esm/locale/th/_lib/match/index.js.map +1 -0
  153. package/dist/node_modules/date-fns/esm/locale/th/index.js +31 -0
  154. package/dist/node_modules/date-fns/esm/locale/th/index.js.map +1 -0
  155. package/dist/node_modules/date-fns/esm/startOfISOWeek/index.js +32 -0
  156. package/dist/node_modules/date-fns/esm/startOfISOWeek/index.js.map +1 -0
  157. package/dist/node_modules/date-fns/esm/startOfISOWeekYear/index.js +37 -0
  158. package/dist/node_modules/date-fns/esm/startOfISOWeekYear/index.js.map +1 -0
  159. package/dist/node_modules/date-fns/esm/startOfWeek/index.js +52 -0
  160. package/dist/node_modules/date-fns/esm/startOfWeek/index.js.map +1 -0
  161. package/dist/node_modules/date-fns/esm/toDate/index.js +56 -0
  162. package/dist/node_modules/date-fns/esm/toDate/index.js.map +1 -0
  163. package/dist/node_modules/prop-types/index.js +1 -1
  164. package/dist/node_modules/react-is/index.js +1 -1
  165. package/dist/rules/src/chart/getAxisOptions.js +22 -22
  166. package/dist/rules/src/chart/getAxisOptions.js.map +1 -1
  167. package/dist/rules/src/chart/getChartOptions.js +1 -1
  168. package/dist/rules/src/chart/getChartOptions.js.map +1 -1
  169. package/dist/rules/src/constants.js +1 -35
  170. package/dist/rules/src/constants.js.map +1 -1
  171. package/dist/rules/src/date.js +40 -40
  172. package/dist/rules/src/date.js.map +1 -1
  173. package/dist/rules/src/dimension-utils.js +26 -24
  174. package/dist/rules/src/dimension-utils.js.map +1 -1
  175. package/dist/rules/src/factories/choro-series.js +43 -32
  176. package/dist/rules/src/factories/choro-series.js.map +1 -1
  177. package/dist/rules/src/factories/focus.js +20 -0
  178. package/dist/rules/src/factories/focus.js.map +1 -0
  179. package/dist/rules/src/factories/getChartSeries.js +11 -0
  180. package/dist/rules/src/factories/getChartSeries.js.map +1 -0
  181. package/dist/rules/src/factories/sample-focus.js +14 -18
  182. package/dist/rules/src/factories/sample-focus.js.map +1 -1
  183. package/dist/rules/src/factories/sample-series.js +20 -20
  184. package/dist/rules/src/factories/sample-series.js.map +1 -1
  185. package/dist/rules/src/factories/scatter-focus.js +21 -35
  186. package/dist/rules/src/factories/scatter-focus.js.map +1 -1
  187. package/dist/rules/src/factories/scatter-series.js +5 -5
  188. package/dist/rules/src/factories/scatter-series.js.map +1 -1
  189. package/dist/rules/src/factories/series.js +48 -0
  190. package/dist/rules/src/factories/series.js.map +1 -0
  191. package/dist/rules/src/factories/stacked-series.js +6 -7
  192. package/dist/rules/src/factories/stacked-series.js.map +1 -1
  193. package/dist/rules/src/factories/symbol-series.js +39 -46
  194. package/dist/rules/src/factories/symbol-series.js.map +1 -1
  195. package/dist/rules/src/factories/timeline-focus.js +10 -14
  196. package/dist/rules/src/factories/timeline-focus.js.map +1 -1
  197. package/dist/rules/src/factories/timeline-series.js +37 -41
  198. package/dist/rules/src/factories/timeline-series.js.map +1 -1
  199. package/dist/rules/src/get-values-enhanced.js +8 -2
  200. package/dist/rules/src/get-values-enhanced.js.map +1 -1
  201. package/dist/rules/src/index.js +6 -371
  202. package/dist/rules/src/index.js.map +1 -1
  203. package/dist/rules/src/layout.js +4 -2
  204. package/dist/rules/src/layout.js.map +1 -1
  205. package/dist/rules/src/observation-formater.js +8 -14
  206. package/dist/rules/src/observation-formater.js.map +1 -1
  207. package/dist/rules/src/properties/focus.js +51 -3
  208. package/dist/rules/src/properties/focus.js.map +1 -1
  209. package/dist/rules/src/properties/getHeaderProps.js +2 -53
  210. package/dist/rules/src/properties/getHeaderProps.js.map +1 -1
  211. package/dist/rules/src/properties/index.js +3 -94
  212. package/dist/rules/src/properties/index.js.map +1 -1
  213. package/dist/rules/src/properties/linear.js +4 -4
  214. package/dist/rules/src/properties/linear.js.map +1 -1
  215. package/dist/rules/src/properties/scatter.js +4 -4
  216. package/dist/rules/src/properties/scatter.js.map +1 -1
  217. package/dist/rules/src/properties/stacked.js +5 -7
  218. package/dist/rules/src/properties/stacked.js.map +1 -1
  219. package/dist/rules/src/properties/symbol.js.map +1 -1
  220. package/dist/rules/src/properties/utils.js +11 -12
  221. package/dist/rules/src/properties/utils.js.map +1 -1
  222. package/dist/rules/src/sdmx-data/index.js +2 -27
  223. package/dist/rules/src/sdmx-data/index.js.map +1 -1
  224. package/dist/rules2/src/combinedValuesDisplay.js +2 -2
  225. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -1
  226. package/dist/rules2/src/getAttributes.js +37 -0
  227. package/dist/rules2/src/getAttributes.js.map +1 -0
  228. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  229. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -1
  230. package/dist/rules2/src/getHeaderCombinations.js +1 -1
  231. package/dist/rules2/src/getHeaderCombinations.js.map +1 -1
  232. package/dist/rules2/src/getHeaderSubtitle.js +1 -1
  233. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -1
  234. package/dist/rules2/src/getHeaderTitle.js +1 -1
  235. package/dist/rules2/src/getHeaderTitle.js.map +1 -1
  236. package/dist/rules2/src/getMetadataCoordinates.js +1 -1
  237. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -1
  238. package/dist/rules2/src/getNotDisplayedIds.js +1 -1
  239. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -1
  240. package/dist/rules2/src/index.js +1 -0
  241. package/dist/rules2/src/index.js.map +1 -1
  242. package/dist/rules2/src/parseAttributes.js +2 -2
  243. package/dist/rules2/src/parseAttributes.js.map +1 -1
  244. package/dist/rules2/src/parseHierarchicalCodelist.js +1 -1
  245. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -1
  246. package/dist/rules2/src/parseMetadataSeries.js +1 -1
  247. package/dist/rules2/src/parseMetadataSeries.js.map +1 -1
  248. package/dist/rules2/src/prepareData.js +10 -3
  249. package/dist/rules2/src/prepareData.js.map +1 -1
  250. package/dist/rules2/src/refineDimensions.js +53 -8
  251. package/dist/rules2/src/refineDimensions.js.map +1 -1
  252. package/dist/rules2/src/refineTimePeriod.js +12 -16
  253. package/dist/rules2/src/refineTimePeriod.js.map +1 -1
  254. package/dist/rules2/src/table/getCells.js +1 -1
  255. package/dist/rules2/src/table/getCells.js.map +1 -1
  256. package/dist/rules2/src/table/getLayout.js +1 -1
  257. package/dist/rules2/src/table/getLayout.js.map +1 -1
  258. package/dist/rules2/src/table/getTableLayoutIds.js +1 -1
  259. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -1
  260. package/dist/rules2/src/table/getTableProps.js +0 -1
  261. package/dist/rules2/src/table/getTableProps.js.map +1 -1
  262. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -1
  263. package/dist/rules2/src/table/refineLayoutSize2.js +1 -1
  264. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -1
  265. package/dist/rules2/src/utils.js.map +1 -1
  266. package/dist/viewer/src/chart.js +13 -2
  267. package/dist/viewer/src/chart.js.map +1 -1
  268. package/dist/viewer/src/legends/FocusLegend.js +1 -1
  269. package/dist/viewer/src/legends/FocusLegend.js.map +1 -1
  270. package/package.json +7 -6
  271. package/src/bridge-d3-react/src/index.js +0 -1
  272. package/src/rules/src/chart/getAxisOptions.js +33 -21
  273. package/src/rules/src/chart/getChartOptions.js +2 -2
  274. package/src/rules/src/constants.js +0 -35
  275. package/src/rules/src/date.js +6 -12
  276. package/src/rules/src/dimension-utils.js +25 -23
  277. package/src/rules/src/factories/choro-series.js +41 -30
  278. package/src/rules/src/factories/focus.js +17 -0
  279. package/src/rules/src/factories/getChartSeries.js +8 -0
  280. package/src/rules/src/factories/sample-focus.js +14 -18
  281. package/src/rules/src/factories/sample-series.js +20 -20
  282. package/src/rules/src/factories/scatter-focus.js +22 -36
  283. package/src/rules/src/factories/scatter-series.js +8 -8
  284. package/src/rules/src/factories/series.js +45 -0
  285. package/src/rules/src/factories/stacked-series.js +4 -5
  286. package/src/rules/src/factories/symbol-series.js +37 -44
  287. package/src/rules/src/factories/timeline-focus.js +10 -14
  288. package/src/rules/src/factories/timeline-series.js +35 -39
  289. package/src/rules/src/get-values-enhanced.js +8 -2
  290. package/src/rules/src/index.js +7 -384
  291. package/src/rules/src/layout.js +4 -2
  292. package/src/rules/src/observation-formater.js +14 -20
  293. package/src/rules/src/properties/focus.js +50 -2
  294. package/src/rules/src/properties/getHeaderProps.js +1 -53
  295. package/src/rules/src/properties/index.js +2 -93
  296. package/src/rules/src/properties/linear.js +2 -2
  297. package/src/rules/src/properties/scatter.js +4 -4
  298. package/src/rules/src/properties/stacked.js +4 -6
  299. package/src/rules/src/properties/symbol.js +0 -1
  300. package/src/rules/src/properties/utils.js +11 -22
  301. package/src/rules/src/sdmx-data/index.js +2 -31
  302. package/src/rules2/src/combinedValuesDisplay.js +2 -2
  303. package/src/rules2/src/getAttributes.js +34 -0
  304. package/src/rules2/src/getDataflowTooltipAttributesIds.js +2 -2
  305. package/src/rules2/src/getHeaderCombinations.js +1 -1
  306. package/src/rules2/src/getHeaderSubtitle.js +2 -2
  307. package/src/rules2/src/getHeaderTitle.js +1 -1
  308. package/src/rules2/src/getMetadataCoordinates.js +1 -1
  309. package/src/rules2/src/getNotDisplayedIds.js +1 -1
  310. package/src/rules2/src/index.js +1 -0
  311. package/src/rules2/src/parseAttributes.js +2 -2
  312. package/src/rules2/src/parseHierarchicalCodelist.js +1 -1
  313. package/src/rules2/src/parseMetadataSeries.js +1 -1
  314. package/src/rules2/src/prepareData.js +10 -3
  315. package/src/rules2/src/refineDimensions.js +53 -8
  316. package/src/rules2/src/refineTimePeriod.js +12 -16
  317. package/src/rules2/src/table/getCells.js +2 -2
  318. package/src/rules2/src/table/getLayout.js +2 -2
  319. package/src/rules2/src/table/getTableLayoutIds.js +9 -9
  320. package/src/rules2/src/table/getTableProps.js +0 -1
  321. package/src/rules2/src/table/parseValueHierarchy.js +0 -7
  322. package/src/rules2/src/table/refineLayoutSize2.js +5 -5
  323. package/src/rules2/src/utils.js +0 -11
  324. package/src/viewer/src/app/leg.js +0 -1
  325. package/src/viewer/src/chart.jsx +23 -1
  326. package/src/viewer/src/legends/FocusLegend.jsx +1 -1
  327. package/dist/_virtual/index10.js +0 -8
  328. package/dist/_virtual/index10.js.map +0 -1
  329. package/dist/_virtual/index11.js +0 -8
  330. package/dist/_virtual/index11.js.map +0 -1
  331. package/dist/_virtual/index12.js +0 -8
  332. package/dist/_virtual/index12.js.map +0 -1
  333. package/dist/_virtual/index13.js +0 -8
  334. package/dist/_virtual/index13.js.map +0 -1
  335. package/dist/_virtual/index14.js +0 -8
  336. package/dist/_virtual/index14.js.map +0 -1
  337. package/dist/_virtual/index15.js +0 -8
  338. package/dist/_virtual/index15.js.map +0 -1
  339. package/dist/_virtual/index16.js +0 -8
  340. package/dist/_virtual/index16.js.map +0 -1
  341. package/dist/_virtual/index17.js +0 -7
  342. package/dist/_virtual/index17.js.map +0 -1
  343. package/dist/_virtual/index18.js +0 -7
  344. package/dist/_virtual/index18.js.map +0 -1
  345. package/dist/_virtual/index19.js +0 -8
  346. package/dist/_virtual/index19.js.map +0 -1
  347. package/dist/_virtual/index20.js +0 -4
  348. package/dist/_virtual/index20.js.map +0 -1
  349. package/dist/_virtual/index21.js +0 -6
  350. package/dist/_virtual/index21.js.map +0 -1
  351. package/dist/_virtual/index22.js +0 -4
  352. package/dist/_virtual/index22.js.map +0 -1
  353. package/dist/_virtual/index23.js +0 -4
  354. package/dist/_virtual/index23.js.map +0 -1
  355. package/dist/_virtual/index8.js +0 -8
  356. package/dist/_virtual/index8.js.map +0 -1
  357. package/dist/_virtual/index9.js +0 -8
  358. package/dist/_virtual/index9.js.map +0 -1
  359. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js +0 -32
  360. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js.map +0 -1
  361. package/dist/node_modules/date-fns/get_iso_week/index.js +0 -49
  362. package/dist/node_modules/date-fns/get_iso_week/index.js.map +0 -1
  363. package/dist/node_modules/date-fns/get_iso_year/index.js +0 -59
  364. package/dist/node_modules/date-fns/get_iso_year/index.js.map +0 -1
  365. package/dist/node_modules/date-fns/is_date/index.js +0 -32
  366. package/dist/node_modules/date-fns/is_date/index.js.map +0 -1
  367. package/dist/node_modules/date-fns/is_friday/index.js +0 -35
  368. package/dist/node_modules/date-fns/is_friday/index.js.map +0 -1
  369. package/dist/node_modules/date-fns/is_monday/index.js +0 -35
  370. package/dist/node_modules/date-fns/is_monday/index.js.map +0 -1
  371. package/dist/node_modules/date-fns/is_saturday/index.js +0 -35
  372. package/dist/node_modules/date-fns/is_saturday/index.js.map +0 -1
  373. package/dist/node_modules/date-fns/is_sunday/index.js +0 -35
  374. package/dist/node_modules/date-fns/is_sunday/index.js.map +0 -1
  375. package/dist/node_modules/date-fns/is_thursday/index.js +0 -35
  376. package/dist/node_modules/date-fns/is_thursday/index.js.map +0 -1
  377. package/dist/node_modules/date-fns/is_tuesday/index.js +0 -35
  378. package/dist/node_modules/date-fns/is_tuesday/index.js.map +0 -1
  379. package/dist/node_modules/date-fns/is_wednesday/index.js +0 -35
  380. package/dist/node_modules/date-fns/is_wednesday/index.js.map +0 -1
  381. package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js +0 -39
  382. package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js.map +0 -1
  383. package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js +0 -110
  384. package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js.map +0 -1
  385. package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js +0 -86
  386. package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js.map +0 -1
  387. package/dist/node_modules/date-fns/locale/ar/index.js +0 -26
  388. package/dist/node_modules/date-fns/locale/ar/index.js.map +0 -1
  389. package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js +0 -196
  390. package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js.map +0 -1
  391. package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js +0 -90
  392. package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js.map +0 -1
  393. package/dist/node_modules/date-fns/locale/de/index.js +0 -27
  394. package/dist/node_modules/date-fns/locale/de/index.js.map +0 -1
  395. package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js +0 -110
  396. package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js.map +0 -1
  397. package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js +0 -101
  398. package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js.map +0 -1
  399. package/dist/node_modules/date-fns/locale/en/index.js +0 -25
  400. package/dist/node_modules/date-fns/locale/en/index.js.map +0 -1
  401. package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js +0 -110
  402. package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js.map +0 -1
  403. package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js +0 -86
  404. package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js.map +0 -1
  405. package/dist/node_modules/date-fns/locale/es/index.js +0 -28
  406. package/dist/node_modules/date-fns/locale/es/index.js.map +0 -1
  407. package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js +0 -110
  408. package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js.map +0 -1
  409. package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js +0 -135
  410. package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js.map +0 -1
  411. package/dist/node_modules/date-fns/locale/fr/index.js +0 -27
  412. package/dist/node_modules/date-fns/locale/fr/index.js.map +0 -1
  413. package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js +0 -110
  414. package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js.map +0 -1
  415. package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js +0 -86
  416. package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js.map +0 -1
  417. package/dist/node_modules/date-fns/locale/it/index.js +0 -26
  418. package/dist/node_modules/date-fns/locale/it/index.js.map +0 -1
  419. package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js +0 -110
  420. package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js.map +0 -1
  421. package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js +0 -86
  422. package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js.map +0 -1
  423. package/dist/node_modules/date-fns/locale/nl/index.js +0 -27
  424. package/dist/node_modules/date-fns/locale/nl/index.js.map +0 -1
  425. package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js +0 -114
  426. package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js.map +0 -1
  427. package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js +0 -74
  428. package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js.map +0 -1
  429. package/dist/node_modules/date-fns/locale/th/index.js +0 -26
  430. package/dist/node_modules/date-fns/locale/th/index.js.map +0 -1
  431. package/dist/node_modules/date-fns/parse/index.js +0 -346
  432. package/dist/node_modules/date-fns/parse/index.js.map +0 -1
  433. package/dist/node_modules/date-fns/start_of_iso_week/index.js +0 -38
  434. package/dist/node_modules/date-fns/start_of_iso_week/index.js.map +0 -1
  435. package/dist/node_modules/date-fns/start_of_iso_year/index.js +0 -46
  436. package/dist/node_modules/date-fns/start_of_iso_year/index.js.map +0 -1
  437. package/dist/node_modules/date-fns/start_of_week/index.js +0 -51
  438. package/dist/node_modules/date-fns/start_of_week/index.js.map +0 -1
  439. package/dist/rules/src/factories/scatter-dimension.js +0 -35
  440. package/dist/rules/src/factories/scatter-dimension.js.map +0 -1
  441. package/dist/rules/src/factories/stacked-dimension.js +0 -32
  442. package/dist/rules/src/factories/stacked-dimension.js.map +0 -1
  443. package/dist/rules/src/factories/symbol-dimension.js +0 -32
  444. package/dist/rules/src/factories/symbol-dimension.js.map +0 -1
  445. package/dist/rules/src/header/getDefaultSubtitle.js +0 -44
  446. package/dist/rules/src/header/getDefaultSubtitle.js.map +0 -1
  447. package/dist/rules/src/header/getHeaderUnits.js +0 -21
  448. package/dist/rules/src/header/getHeaderUnits.js.map +0 -1
  449. package/dist/rules/src/header/getSubtitleFlags.js +0 -47
  450. package/dist/rules/src/header/getSubtitleFlags.js.map +0 -1
  451. package/dist/rules/src/header/getTitleFlags.js +0 -12
  452. package/dist/rules/src/header/getTitleFlags.js.map +0 -1
  453. package/dist/rules/src/properties/errors.js +0 -22
  454. package/dist/rules/src/properties/errors.js.map +0 -1
  455. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +0 -50
  456. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +0 -1
  457. package/dist/rules/src/v8-transformer.js +0 -174
  458. package/dist/rules/src/v8-transformer.js.map +0 -1
  459. package/src/bridge-d3-react/src/app.js +0 -64
  460. package/src/bridge-d3-react/src/mock-choro.js +0 -394
  461. package/src/rules/src/factories/scatter-dimension.js +0 -32
  462. package/src/rules/src/factories/stacked-dimension.js +0 -29
  463. package/src/rules/src/factories/symbol-dimension.js +0 -29
  464. package/src/rules/src/header/getDefaultSubtitle.js +0 -40
  465. package/src/rules/src/header/getHeaderUnits.js +0 -17
  466. package/src/rules/src/header/getSubtitleFlags.js +0 -43
  467. package/src/rules/src/header/getTitleFlags.js +0 -8
  468. package/src/rules/src/header/index.js +0 -4
  469. package/src/rules/src/preparators/enhanceObservations.js +0 -152
  470. package/src/rules/src/properties/errors.js +0 -19
  471. package/src/rules/src/properties/getInformationsStateFromNewProps.js +0 -47
  472. package/src/rules/src/properties/information.js +0 -84
  473. package/src/rules/src/v8-transformer.js +0 -177
  474. package/src/rules2/src/getAdvAttrSeriesAtCoordinates.js +0 -29
  475. package/src/rules2/src/getMetadataStructureFromData.js +0 -17
  476. package/src/rules2/src/refineMetadataCoordinates.js +0 -28
  477. package/src/rules2/src/table/getCombinationDimensionsData.js +0 -39
@@ -1,7 +1,6 @@
1
1
  import * as R from 'ramda';
2
2
  import { VALUES, PERCENT, STACKED_BAR, STACKED_ROW } from '../constants.js';
3
- import { toState, getDimensionsWithValues, getPropertyDimension, getGroupedDimensions } from './utils.js';
4
- import { splitDimensions } from '../index.js';
3
+ import { getDimensionsWithValues, toState, getPropertyDimension, getGroupedDimensions } from './utils.js';
5
4
  import { focusStateFromNewProps } from './focus.js';
6
5
 
7
6
  const getStackedDimension = getPropertyDimension('stackedDimension');
@@ -36,8 +35,8 @@ const onChangeStackedDimension = ({ data }, state) => (value) => {
36
35
  const stackedModeOptions = [{ value: VALUES }, { value: PERCENT }];
37
36
 
38
37
  const isStackedDimActive = ({ data, type }) => {
39
- const { values } = splitDimensions(data);
40
- if (R.length(values) < 2) {
38
+ const dimensions = getDimensionsWithValues(data);
39
+ if (R.length(dimensions) < 2) {
41
40
  return false;
42
41
  }
43
42
  return isStacked(type);
@@ -62,9 +61,8 @@ const stackedStateFromNewProps = (props, state) => {
62
61
 
63
62
  let dimension = getStackedDimension(data, state);
64
63
  if (R.isNil(dimension)) {
65
- const { value, values } = splitDimensions(data);
66
- if (R.length(values) === 1) {
67
- dimension = R.head(value);
64
+ if (R.length(dimensions) === 1) {
65
+ dimension = R.find(R.prop('header'), data.dimensions);
68
66
  }
69
67
  else {
70
68
  const { area, time, other } = getGroupedDimensions(data);
@@ -1 +1 @@
1
- {"version":3,"file":"stacked.js","sources":["../../../../src/rules/src/properties/stacked.js"],"sourcesContent":["import * as R from 'ramda';\nimport { PERCENT, STACKED_BAR, STACKED_ROW, VALUES } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { splitDimensions } from '../';\nimport { focusStateFromNewProps } from './focus';\n\nconst getStackedDimension = getPropertyDimension('stackedDimension');\n\nconst stackedModes = { [PERCENT]: PERCENT, [VALUES]: VALUES };\n\nexport const isStacked = (type) => type === STACKED_BAR || type === STACKED_ROW;\n\nconst toStackedState = (dimension, mode) => ({\n stackedDimension: toState(dimension),\n stackedMode: mode,\n});\n\nexport const toStackedSingularity = (state) => ({\n id: R.prop('stackedDimension', state),\n mode: R.prop('stackedMode', state),\n limit: 5\n});\n\nexport const onChangeStackedDimension = ({ data }, state) => (value) => {\n const dimension = getStackedDimension(data, { stackedDimension: value });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n stackedDimension: toState(dimension),\n highlight: [],\n baseline: [],\n })\n};\n\nexport const stackedModeOptions = [{ value: VALUES }, { value: PERCENT }];\n\nexport const isStackedDimActive = ({ data, type }) => {\n const { values } = splitDimensions(data);\n if (R.length(values) < 2) {\n return false;\n }\n return isStacked(type);\n};\n\nexport const onChangeStackedMode = (value) => R.has(value, stackedModes)\n ? ({ stackedMode: value })\n : ({});\n\nexport const stackedStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isStacked(type)) {\n return toStackedState(undefined, undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toStackedState(undefined, undefined), baseline: [], highlight: [] };\n }\n\n let dimension = getStackedDimension(data, state);\n if (R.isNil(dimension)) {\n const { value, values } = splitDimensions(data);\n if (R.length(values) === 1) {\n dimension = R.head(value);\n }\n else {\n const { area, time, other } = getGroupedDimensions(data);\n if (!R.isNil(area) && !R.isEmpty(area)) {\n dimension = R.head(area);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n dimension = R.head(time)\n }\n else {\n dimension = R.head(other);\n }\n }\n }\n const _mode = R.prop('stackedMode', state);\n const mode = R.has(_mode, stackedModes) ? _mode : VALUES;\n const stackedState = toStackedState(dimension, mode);\n return ({\n ...stackedState,\n ...focusStateFromNewProps(\n props,\n toStackedSingularity(stackedState), \n state\n )\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stacked.js","sources":["../../../../src/rules/src/properties/stacked.js"],"sourcesContent":["import * as R from 'ramda';\nimport { PERCENT, STACKED_BAR, STACKED_ROW, VALUES } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getStackedDimension = getPropertyDimension('stackedDimension');\n\nconst stackedModes = { [PERCENT]: PERCENT, [VALUES]: VALUES };\n\nexport const isStacked = (type) => type === STACKED_BAR || type === STACKED_ROW;\n\nconst toStackedState = (dimension, mode) => ({\n stackedDimension: toState(dimension),\n stackedMode: mode,\n});\n\nexport const toStackedSingularity = (state) => ({\n id: R.prop('stackedDimension', state),\n mode: R.prop('stackedMode', state),\n limit: 5\n});\n\nexport const onChangeStackedDimension = ({ data }, state) => (value) => {\n const dimension = getStackedDimension(data, { stackedDimension: value });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n stackedDimension: toState(dimension),\n highlight: [],\n baseline: [],\n })\n};\n\nexport const stackedModeOptions = [{ value: VALUES }, { value: PERCENT }];\n\nexport const isStackedDimActive = ({ data, type }) => {\n const dimensions = getDimensionsWithValues(data);\n if (R.length(dimensions) < 2) {\n return false;\n }\n return isStacked(type);\n};\n\nexport const onChangeStackedMode = (value) => R.has(value, stackedModes)\n ? ({ stackedMode: value })\n : ({});\n\nexport const stackedStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isStacked(type)) {\n return toStackedState(undefined, undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toStackedState(undefined, undefined), baseline: [], highlight: [] };\n }\n\n let dimension = getStackedDimension(data, state);\n if (R.isNil(dimension)) {\n if (R.length(dimensions) === 1) {\n dimension = R.find(R.prop('header'), data.dimensions);\n }\n else {\n const { area, time, other } = getGroupedDimensions(data);\n if (!R.isNil(area) && !R.isEmpty(area)) {\n dimension = R.head(area);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n dimension = R.head(time)\n }\n else {\n dimension = R.head(other);\n }\n }\n }\n const _mode = R.prop('stackedMode', state);\n const mode = R.has(_mode, stackedModes) ? _mode : VALUES;\n const stackedState = toStackedState(dimension, mode);\n return ({\n ...stackedState,\n ...focusStateFromNewProps(\n props,\n toStackedSingularity(stackedState), \n state\n )\n });\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbol.js","sources":["../../../../src/rules/src/properties/symbol.js"],"sourcesContent":["import * as R from 'ramda';\nimport { extractSdmxArtefacts } from '../';\nimport { H_SYMBOL, V_SYMBOL } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getSymbolDimension = getPropertyDimension('symbolDimension');\n\nexport const isSymbol = (type) => (type === H_SYMBOL || type === V_SYMBOL);\n\nconst toSymbolState = (dimension) => ({\n symbolDimension: toState(dimension)\n});\n\nexport const toSymbolSingularity = (data, state) => {\n const symbolDimension = getSymbolDimension(data, state);\n const res = ({\n id: R.isNil(symbolDimension) ? undefined : R.prop('id', symbolDimension),\n serie: R.pipe(\n R.prop('values'),\n values => R.isNil(values) ? [] : values,\n R.take(5)\n )(symbolDimension),\n });\n return res;\n};\n\nexport const symbolStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isSymbol(type)) {\n return toSymbolState(undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toSymbolState(undefined), baseline: [], highlight: [] };\n }\n let symbolDimension = getSymbolDimension(data, state);\n if (R.isNil(symbolDimension)) {\n const { area, other, time } = getGroupedDimensions(data);\n if (!R.isNil(other) && !R.isEmpty(other)) {\n symbolDimension = R.head(other);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n symbolDimension = R.head(time);\n }\n else {\n symbolDimension = R.head(area);\n }\n }\n const symbolState = toSymbolState(symbolDimension);\n return ({\n ...symbolState,\n ...focusStateFromNewProps(\n props,\n toSymbolSingularity(data, symbolState),\n state\n )\n });\n};\n\nexport const onChangeSymbolDim = ({ data }) => (option) => {\n const dimension = getSymbolDimension(data, { symbolDimension: option });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n ...toSymbolState(dimension),\n highlight: [],\n baseline: [],\n });\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbol.js","sources":["../../../../src/rules/src/properties/symbol.js"],"sourcesContent":["import * as R from 'ramda';\nimport { H_SYMBOL, V_SYMBOL } from '../constants';\nimport {\n getDimensionsWithValues,\n getGroupedDimensions,\n getPropertyDimension,\n toState\n} from './utils';\nimport { focusStateFromNewProps } from './focus';\n\nconst getSymbolDimension = getPropertyDimension('symbolDimension');\n\nexport const isSymbol = (type) => (type === H_SYMBOL || type === V_SYMBOL);\n\nconst toSymbolState = (dimension) => ({\n symbolDimension: toState(dimension)\n});\n\nexport const toSymbolSingularity = (data, state) => {\n const symbolDimension = getSymbolDimension(data, state);\n const res = ({\n id: R.isNil(symbolDimension) ? undefined : R.prop('id', symbolDimension),\n serie: R.pipe(\n R.prop('values'),\n values => R.isNil(values) ? [] : values,\n R.take(5)\n )(symbolDimension),\n });\n return res;\n};\n\nexport const symbolStateFromNewProps = (props, state) => {\n const { data, type } = props;\n if (!isSymbol(type)) {\n return toSymbolState(undefined);\n }\n if (R.isNil(data)) {\n return {};\n }\n const dimensions = getDimensionsWithValues(data);\n if (R.isEmpty(dimensions)) {\n return { ...toSymbolState(undefined), baseline: [], highlight: [] };\n }\n let symbolDimension = getSymbolDimension(data, state);\n if (R.isNil(symbolDimension)) {\n const { area, other, time } = getGroupedDimensions(data);\n if (!R.isNil(other) && !R.isEmpty(other)) {\n symbolDimension = R.head(other);\n }\n else if (!R.isNil(time) && !R.isEmpty(time)) {\n symbolDimension = R.head(time);\n }\n else {\n symbolDimension = R.head(area);\n }\n }\n const symbolState = toSymbolState(symbolDimension);\n return ({\n ...symbolState,\n ...focusStateFromNewProps(\n props,\n toSymbolSingularity(data, symbolState),\n state\n )\n });\n};\n\nexport const onChangeSymbolDim = ({ data }) => (option) => {\n const dimension = getSymbolDimension(data, { symbolDimension: option });\n if (R.isNil(dimension)) {\n return ({});\n }\n return ({\n ...toSymbolState(dimension),\n highlight: [],\n baseline: [],\n });\n};\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { has, pipe, isNil, prop, equals, length, map, omit, head, is, find, propEq, not, groupBy } from 'ramda';
1
+ import { has, pipe, isNil, prop, equals, length, map, omit, find, propEq, propOr, reject, isEmpty, not, groupBy } from 'ramda';
2
2
  import { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';
3
- import { splitDimensions, extractSdmxArtefacts, parseDisplay } from '../index.js';
3
+ import { dimensionValueDisplay, parseDisplay } from '../dimension-utils.js';
4
4
  import { TYPES, STACKED_BAR, STACKED_ROW, CHORO } from '../constants.js';
5
- import { dimensionValueDisplay } from '../dimension-utils.js';
6
5
 
7
6
  const isNumber = (input) => {
8
7
  const value = Number(input);
@@ -15,24 +14,23 @@ const isPositiveNumber = (input) => {
15
14
 
16
15
  const isNaturalInt = value => isNil(value) || /^\d+$/.test(String(value));
17
16
 
17
+
18
18
  const isChart = (type) => has(type, TYPES);
19
19
 
20
20
  const hasFocus = (type) => has(type, omit([CHORO], TYPES));
21
21
 
22
22
  const getDimensionsWithValues = (data) => pipe(
23
- splitDimensions,
24
- prop('values'),
23
+ propOr([], 'dimensions'),
24
+ reject(d => d.header || isEmpty(d.values || []))
25
25
  )(data);
26
26
 
27
27
  const toState = (artefact) => prop('id', artefact);
28
28
 
29
29
  const getPropertyDimension = (property) => (data, state) => {
30
- const statePropertyDimensionId = prop(property, state);
31
- const { dimensions } = extractSdmxArtefacts(data);
32
- return find(
33
- propEq('id', statePropertyDimensionId),
34
- dimensions
35
- );
30
+ const dimensionId = prop(property, state);
31
+ const { dimensions = [] } = data || {};
32
+
33
+ return find(propEq(dimensionId, 'id'), dimensions);
36
34
  };
37
35
 
38
36
  const getGroupedDimensions = pipe(
@@ -56,6 +54,7 @@ const optionParser = option => pipe(
56
54
  option => is(String, option) ? option : undefined
57
55
  )(option);
58
56
 
57
+
59
58
  const artefactToOption = (display) => (artefact) => isNil(artefact)
60
59
  ? undefined
61
60
  : {
@@ -72,7 +71,7 @@ const chartDimensionOptions = ({ data, type, display }, typeValidator) => {
72
71
  if (!typeValidator(type)) {
73
72
  return [];
74
73
  }
75
- const dimensions = prop('values', splitDimensions(data));
74
+ const dimensions = getDimensionsWithValues(data);
76
75
  if ((equals(type, STACKED_BAR) || equals(type, STACKED_ROW)) && length(dimensions) === 1) {
77
76
  return [];
78
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/rules/src/properties/utils.js"],"sourcesContent":["import {\n equals,\n find,\n groupBy,\n has,\n head,\n is,\n isNil,\n length,\n map,\n not,\n omit,\n pipe,\n prop,\n propEq,\n} from 'ramda';\nimport { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { extractSdmxArtefacts, parseDisplay, splitDimensions } from '../';\nimport { CHORO, STACKED_BAR, STACKED_ROW, TYPES } from '../constants';\nimport { dimensionValueDisplay } from '../dimension-utils';\n\nexport const isNumber = (input) => {\n const value = Number(input);\n return not(isNil(value) || isNaN(value));\n};\n\nexport const isPositiveNumber = (input) => {\n return (isNumber(input) && Number(input) >= 0);\n};\n\nexport const isNaturalInt = value => isNil(value) || /^\\d+$/.test(String(value));\n\nexport const isInt = value => isNil(value) || /^-?\\d+$/.test(String(value));\n\nexport const isChart = (type) => has(type, TYPES);\n\nexport const hasFocus = (type) => has(type, omit([CHORO], TYPES));\n\nexport const getDimensionsWithValues = (data) => pipe(\n splitDimensions,\n prop('values'),\n)(data);\n\nexport const toState = (artefact) => prop('id', artefact);\n\nexport const getPropertyDimension = (property) => (data, state) => {\n const statePropertyDimensionId = prop(property, state);\n const { dimensions } = extractSdmxArtefacts(data);\n return find(\n propEq('id', statePropertyDimensionId),\n dimensions\n );\n};\n\nexport const getGroupedDimensions = pipe(\n getDimensionsWithValues,\n groupBy(\n dimension => {\n if (isRefAreaDimension(dimension)) {\n return 'area';\n }\n if (isTimePeriodDimension(dimension)) {\n return 'time';\n }\n return 'other';\n }\n )\n);\n\nexport const optionParser = option => pipe(\n option => is(Array, option) ? head(option) : option,\n option => is(Object, option) ? prop('value', option) : option,\n option => is(String, option) ? option : undefined\n)(option);\n\nexport const optionsParser = selection => pipe(\n selection => is(Array, selection) ? selection : [selection],\n selection => map(optionParser, selection)\n)(selection);\n\nexport const artefactToOption = (display) => (artefact) => isNil(artefact)\n ? undefined\n : {\n label: dimensionValueDisplay(parseDisplay(display))(artefact),\n value: prop('id', artefact)\n };\n\nexport const dimensionWithValuesToOptions = ({ data, display }) => pipe(\n getDimensionsWithValues,\n map(artefactToOption(display))\n)(data);\n\nexport const chartDimensionToOption = (property) => ({ data, display }, state) => pipe(\n getPropertyDimension(property),\n artefactToOption(display)\n)(data, state);\n\nexport const chartDimensionOptions = ({ data, type, display }, typeValidator) => {\n if (!typeValidator(type)) {\n return [];\n }\n const dimensions = prop('values', splitDimensions(data));\n if ((equals(type, STACKED_BAR) || equals(type, STACKED_ROW)) && length(dimensions) === 1) {\n return [];\n }\n return map(\n artefactToOption(display),\n dimensions\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/rules/src/properties/utils.js"],"sourcesContent":["import {\n equals,\n find,\n groupBy,\n has,\n isEmpty,\n isNil,\n length,\n map,\n not,\n omit,\n pipe,\n prop,\n propEq,\n propOr,\n reject\n} from 'ramda';\nimport { isRefAreaDimension, isTimePeriodDimension } from '@sis-cc/dotstatsuite-sdmxjs';\nimport { parseDisplay } from '../dimension-utils';\nimport { CHORO, STACKED_BAR, STACKED_ROW, TYPES } from '../constants';\nimport { dimensionValueDisplay } from '../dimension-utils';\n\nexport const isNumber = (input) => {\n const value = Number(input);\n return not(isNil(value) || isNaN(value));\n};\n\nexport const isPositiveNumber = (input) => {\n return (isNumber(input) && Number(input) >= 0);\n};\n\nexport const isNaturalInt = value => isNil(value) || /^\\d+$/.test(String(value));\n\n\nexport const isChart = (type) => has(type, TYPES);\n\nexport const hasFocus = (type) => has(type, omit([CHORO], TYPES));\n\nexport const getDimensionsWithValues = (data) => pipe(\n propOr([], 'dimensions'),\n reject(d => d.header || isEmpty(d.values || []))\n)(data);\n\nexport const toState = (artefact) => prop('id', artefact);\n\nexport const getPropertyDimension = (property) => (data, state) => {\n const dimensionId = prop(property, state);\n const { dimensions = [] } = data || {};\n\n return find(propEq(dimensionId, 'id'), dimensions);\n};\n\nexport const getGroupedDimensions = pipe(\n getDimensionsWithValues,\n groupBy(\n dimension => {\n if (isRefAreaDimension(dimension)) {\n return 'area';\n }\n if (isTimePeriodDimension(dimension)) {\n return 'time';\n }\n return 'other';\n }\n )\n);\n\nexport const optionParser = option => pipe(\n option => is(Array, option) ? head(option) : option,\n option => is(Object, option) ? prop('value', option) : option,\n option => is(String, option) ? option : undefined\n)(option);\n\n\nexport const artefactToOption = (display) => (artefact) => isNil(artefact)\n ? undefined\n : {\n label: dimensionValueDisplay(parseDisplay(display))(artefact),\n value: prop('id', artefact)\n };\n\nexport const chartDimensionToOption = (property) => ({ data, display }, state) => pipe(\n getPropertyDimension(property),\n artefactToOption(display)\n)(data, state);\n\nexport const chartDimensionOptions = ({ data, type, display }, typeValidator) => {\n if (!typeValidator(type)) {\n return [];\n }\n const dimensions = getDimensionsWithValues(data);\n if ((equals(type, STACKED_BAR) || equals(type, STACKED_ROW)) && length(dimensions) === 1) {\n return [];\n }\n return map(\n artefactToOption(display),\n dimensions\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,38 +1,13 @@
1
1
  import * as R from 'ramda';
2
2
 
3
- const LAYOUT_ROW = 'LAYOUT_ROW';
4
- const LAYOUT_COLUMN = 'LAYOUT_COLUMN';
5
- const LAYOUT_ROW_SECTION = 'LAYOUT_ROW_SECTION';
6
-
7
- const ROWS = 'rows';
8
- const HEADER = 'header';
9
- const SECTIONS = 'sections';
10
3
  const NOT_DISPLAYED = 'NOT_DISPLAYED';
11
4
 
12
- const getType = R.propOr({}, 'type');
13
- const getIds = (stringIds = '') => R.pipe(
14
- R.append(R.split(',', stringIds)),
15
- R.flatten
16
- );
17
- const getPivot = (key, stringIds) => R.over(R.lensProp(key), getIds(stringIds));
18
-
19
- const setAnnotationsLayout = (stringIds, layout) => R.reduce((acc, annotation) => {
20
- if (R.equals(getType(annotation), LAYOUT_ROW)) return getPivot(ROWS, stringIds)(acc);
21
- if (R.equals(getType(annotation), LAYOUT_COLUMN)) return getPivot(HEADER, stringIds)(acc);
22
- if (R.equals(getType(annotation), LAYOUT_ROW_SECTION)) return getPivot(SECTIONS, stringIds)(acc);
23
- return acc;
24
- }, layout);
25
-
26
- const getRelationnalAnnotations = annotationIndexes => annotations => R.map(annotationIndex =>
27
- R.propOr({}, annotationIndex)(annotations)
28
- )(annotationIndexes);
29
-
30
5
  const getIsHidden = annotations => R.pipe(
31
- R.find(R.propEq('type', NOT_DISPLAYED)),
6
+ R.find(R.propEq(NOT_DISPLAYED, 'type')),
32
7
  R.complement(R.isNil)
33
8
  )(annotations);
34
9
 
35
10
  const getFullName = R.identity;
36
11
 
37
- export { LAYOUT_COLUMN, LAYOUT_ROW, LAYOUT_ROW_SECTION, getFullName, getIsHidden, getRelationnalAnnotations, setAnnotationsLayout };
12
+ export { getFullName, getIsHidden };
38
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/rules/src/sdmx-data/index.js"],"sourcesContent":["import * as R from 'ramda';\n\nexport const LAYOUT_ROW = 'LAYOUT_ROW';\nexport const LAYOUT_COLUMN = 'LAYOUT_COLUMN';\nexport const LAYOUT_ROW_SECTION = 'LAYOUT_ROW_SECTION';\n\nconst ROWS = 'rows';\nconst HEADER = 'header';\nconst SECTIONS = 'sections';\n\nconst ORDER = 'ORDER';\nconst NOT_DISPLAYED = 'NOT_DISPLAYED';\n\nconst getType = R.propOr({}, 'type');\nconst getIds = (stringIds = '') => R.pipe(\n R.append(R.split(',', stringIds)),\n R.flatten\n);\nconst getPivot = (key, stringIds) => R.over(R.lensProp(key), getIds(stringIds));\n\nexport const setAnnotationsLayout = (stringIds, layout) => R.reduce((acc, annotation) => {\n if (R.equals(getType(annotation), LAYOUT_ROW)) return getPivot(ROWS, stringIds)(acc);\n if (R.equals(getType(annotation), LAYOUT_COLUMN)) return getPivot(HEADER, stringIds)(acc);\n if (R.equals(getType(annotation), LAYOUT_ROW_SECTION)) return getPivot(SECTIONS, stringIds)(acc);\n return acc;\n}, layout);\n\nexport const getRelationnalAnnotations = annotationIndexes => annotations => R.map(annotationIndex =>\n R.propOr({}, annotationIndex)(annotations)\n)(annotationIndexes);\n\nexport const hiddenFormat = { isHidden: true }\n\nexport const getIsHidden = annotations => R.pipe(\n R.find(R.propEq('type', NOT_DISPLAYED)),\n R.complement(R.isNil)\n)(annotations);\n\nexport const getFullName = R.identity;"],"names":[],"mappings":";;AAEY,MAAC,UAAU,GAAG;AACd,MAAC,aAAa,GAAG;AACjB,MAAC,kBAAkB,GAAG;;AAElC,MAAM,IAAI,GAAG,MAAM;AACnB,MAAM,MAAM,GAAG,QAAQ;AACvB,MAAM,QAAQ,GAAG,UAAU;AAG3B,MAAM,aAAa,GAAG,eAAe;;AAErC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;AACpC,MAAM,MAAM,GAAG,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI;AACzC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACnC,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;;AAEnE,MAAC,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK;AACzF,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC;AACtF,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC;AAC3F,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,EAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC;AAClG,EAAE,OAAO,GAAG;AACZ,CAAC,EAAE,MAAM;;AAEG,MAAC,yBAAyB,GAAG,iBAAiB,IAAI,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe;AAClG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,WAAW;AAC3C,CAAC,CAAC,iBAAiB;;AAIP,MAAC,WAAW,GAAG,WAAW,IAAI,CAAC,CAAC,IAAI;AAChD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACzC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AACtB,CAAC,CAAC,WAAW;;AAED,MAAC,WAAW,GAAG,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/rules/src/sdmx-data/index.js"],"sourcesContent":["import * as R from 'ramda';\n\nconst NOT_DISPLAYED = 'NOT_DISPLAYED';\n\nexport const getIsHidden = annotations => R.pipe(\n R.find(R.propEq(NOT_DISPLAYED, 'type')),\n R.complement(R.isNil)\n)(annotations);\n\nexport const getFullName = R.identity;\n"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,eAAe;;AAEzB,MAAC,WAAW,GAAG,WAAW,IAAI,CAAC,CAAC,IAAI;AAChD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACzC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AACtB,CAAC,CAAC,WAAW;;AAED,MAAC,WAAW,GAAG,CAAC,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as R from 'ramda';
2
- import { REJECTED_VALUE_IDS } from './constants.js';
3
2
  import { dimensionValueDisplay } from '../../rules/src/dimension-utils.js';
3
+ import { REJECTED_VALUE_IDS } from './constants.js';
4
4
 
5
5
  const getRefinedMissinParentsLabels = R.pipe(
6
6
  R.propOr([], 'missingParents'),
@@ -46,7 +46,7 @@ const _combinedValuesDisplay = (_display) => (values) =>
46
46
  if (!R.isEmpty(labels) || _display !== 'label') {
47
47
  return R.join(', ', labels);
48
48
  }
49
- const totalValue = R.find(R.propEq('id', '_T'), values);
49
+ const totalValue = R.find(R.propEq('_T', 'id'), values);
50
50
  if (!R.isNil(totalValue)) {
51
51
  return dimensionValueDisplay('label')(totalValue);
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"combinedValuesDisplay.js","sources":["../../../src/rules2/src/combinedValuesDisplay.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nconst getRefinedMissinParentsLabels = R.pipe(\n R.propOr([], 'missingParents'),\n R.reduce((acc, par) => {\n if (\n !R.propOr(true, 'display', par) ||\n R.includes(par.id, REJECTED_VALUE_IDS)\n ) {\n return acc;\n }\n return R.append(dimensionValueDisplay('label')(par), acc);\n }, []),\n);\n\nexport const singleValueDisplay = (display, value) => {\n if (display === 'label') {\n return R.converge(\n (missingParents, label) =>\n R.isEmpty(missingParents)\n ? label\n : R.join(' > ', R.append(label, missingParents)),\n [getRefinedMissinParentsLabels, dimensionValueDisplay(display)],\n )(value);\n } else if (display === 'both') {\n return `(${singleValueDisplay('code', value)}) ${singleValueDisplay(\n 'label',\n value,\n )}`;\n }\n return dimensionValueDisplay(display)(value);\n};\n\nconst _combinedValuesDisplay = (_display) => (values) =>\n R.pipe(\n R.reduce((acc, val) => {\n if (R.isNil(val)) return acc;\n const isDisplayed = R.propOr(true, 'display', val);\n const isRejected = R.includes(val.id, REJECTED_VALUE_IDS);\n if ((!isDisplayed || isRejected) && _display === 'label') return acc;\n return R.append(singleValueDisplay(_display, val), acc);\n }, []),\n (labels) => {\n if (!R.isEmpty(labels) || _display !== 'label') {\n return R.join(', ', labels);\n }\n const totalValue = R.find(R.propEq('id', '_T'), values);\n if (!R.isNil(totalValue)) {\n return dimensionValueDisplay('label')(totalValue);\n }\n if (R.isEmpty(values)) {\n return '';\n }\n const firstValue = R.head(values);\n return dimensionValueDisplay('label')(firstValue);\n },\n )(values);\n\nexport const combinedValuesDisplay = (display, values) => {\n if (display === 'both') {\n return R.converge(\n (_ids, labels) => {\n return dimensionValueDisplay('both')({\n id: _ids,\n name: labels,\n });\n },\n [_combinedValuesDisplay('code'), _combinedValuesDisplay('label')],\n )(values);\n }\n return _combinedValuesDisplay(display)(values);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combinedValuesDisplay.js","sources":["../../../src/rules2/src/combinedValuesDisplay.js"],"sourcesContent":["import * as R from 'ramda';\nimport { dimensionValueDisplay } from '../../rules/src/dimension-utils';\nimport { REJECTED_VALUE_IDS } from './constants';\n\nconst getRefinedMissinParentsLabels = R.pipe(\n R.propOr([], 'missingParents'),\n R.reduce((acc, par) => {\n if (\n !R.propOr(true, 'display', par) ||\n R.includes(par.id, REJECTED_VALUE_IDS)\n ) {\n return acc;\n }\n return R.append(dimensionValueDisplay('label')(par), acc);\n }, []),\n);\n\nexport const singleValueDisplay = (display, value) => {\n if (display === 'label') {\n return R.converge(\n (missingParents, label) =>\n R.isEmpty(missingParents)\n ? label\n : R.join(' > ', R.append(label, missingParents)),\n [getRefinedMissinParentsLabels, dimensionValueDisplay(display)],\n )(value);\n } else if (display === 'both') {\n return `(${singleValueDisplay('code', value)}) ${singleValueDisplay(\n 'label',\n value,\n )}`;\n }\n return dimensionValueDisplay(display)(value);\n};\n\nconst _combinedValuesDisplay = (_display) => (values) =>\n R.pipe(\n R.reduce((acc, val) => {\n if (R.isNil(val)) return acc;\n const isDisplayed = R.propOr(true, 'display', val);\n const isRejected = R.includes(val.id, REJECTED_VALUE_IDS);\n if ((!isDisplayed || isRejected) && _display === 'label') return acc;\n return R.append(singleValueDisplay(_display, val), acc);\n }, []),\n (labels) => {\n if (!R.isEmpty(labels) || _display !== 'label') {\n return R.join(', ', labels);\n }\n const totalValue = R.find(R.propEq('_T', 'id'), values);\n if (!R.isNil(totalValue)) {\n return dimensionValueDisplay('label')(totalValue);\n }\n if (R.isEmpty(values)) {\n return '';\n }\n const firstValue = R.head(values);\n return dimensionValueDisplay('label')(firstValue);\n },\n )(values);\n\nexport const combinedValuesDisplay = (display, values) => {\n if (display === 'both') {\n return R.converge(\n (_ids, labels) => {\n return dimensionValueDisplay('both')({\n id: _ids,\n name: labels,\n });\n },\n [_combinedValuesDisplay('code'), _combinedValuesDisplay('label')],\n )(values);\n }\n return _combinedValuesDisplay(display)(values);\n};\n"],"names":[],"mappings":"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"}
@@ -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":";;;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,IAAI,EAAE,gBAAgB,CAAC,SAAS,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,IAAI,EAAE,gBAAgB,CAAC,QAAQ,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;;;;"}
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":"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"}
@@ -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
  }),