@k-int/stripes-kint-components 3.2.1 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/es/lib/ActionList/ActionList.js +3 -1
  3. package/es/lib/ActionList/ActionListFieldArray.js +4 -2
  4. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +5 -2
  5. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +6 -4
  6. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.test.js +1 -1
  7. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +1 -1
  8. package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +5 -3
  9. package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +1 -1
  10. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +5 -2
  11. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.test.js +1 -1
  12. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +3 -1
  13. package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +5 -3
  14. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +5 -2
  15. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +1 -1
  16. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +5 -2
  17. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +1 -1
  18. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +4 -1
  19. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +5 -3
  20. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +4 -1
  21. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +1 -1
  22. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +1 -1
  23. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +1 -1
  24. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +4 -1
  25. package/es/lib/CycleButton/CycleButton.js +5 -2
  26. package/es/lib/EditableRefdataCategoryList/EditableRefdataCategoryList.js +6 -4
  27. package/es/lib/EditableRefdataList/EditableRefdataList.js +6 -4
  28. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +4 -1
  29. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +1 -1
  30. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +1 -1
  31. package/es/lib/EditableSettingsList/SettingField/SettingField.js +4 -2
  32. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +1 -1
  33. package/es/lib/FormModal/FormModal.js +4 -1
  34. package/es/lib/FormattedKintMessage/FormattedKintMessage.js +4 -1
  35. package/es/lib/IconSelect/IconSelect.js +4 -2
  36. package/es/lib/QueryTypedown/QueryTypedown.js +4 -2
  37. package/es/lib/RefdataButtons/RefdataButtons.js +4 -1
  38. package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +4 -1
  39. package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +1 -1
  40. package/es/lib/RichSelect/RichSelect.js +5 -2
  41. package/es/lib/RichSelect/useSelectedOption.js +1 -1
  42. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +5 -2
  43. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +4 -1
  44. package/es/lib/SASQRoute/SASQRoute.js +4 -1
  45. package/es/lib/SASQViewComponent/SASQViewComponent.js +4 -1
  46. package/es/lib/SearchField/SearchField.js +4 -1
  47. package/es/lib/Typedown/Typedown.js +1 -1
  48. package/es/lib/hooks/settingsHooks/useSettings.js +4 -1
  49. package/es/lib/hooks/typedownHooks/useTypedownData.js +1 -1
  50. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +1 -1
  51. package/es/lib/hooks/useActiveElement.js +1 -1
  52. package/es/lib/hooks/useCustomProperties.js +4 -1
  53. package/es/lib/hooks/useHelperApp.js +4 -2
  54. package/es/lib/hooks/useIntlKeyStore.js +4 -4
  55. package/es/lib/hooks/useKintIntl.js +4 -1
  56. package/es/lib/hooks/useKiwtFieldArray.js +5 -2
  57. package/es/lib/hooks/useKiwtSASQuery.js +4 -2
  58. package/es/lib/hooks/useLocalStorageState.js +1 -1
  59. package/es/lib/hooks/useMutateCustomProperties.js +1 -1
  60. package/es/lib/hooks/useMutateRefdataCategory.js +4 -2
  61. package/es/lib/hooks/useMutateRefdataValue.js +1 -1
  62. package/es/lib/hooks/useQIndex.js +4 -2
  63. package/es/lib/utils/generateKiwtQueryParams.js +1 -1
  64. package/es/lib/utils/groupCustomPropertiesByCtx.js +4 -1
  65. package/es/lib/utils/highlightString.js +1 -1
  66. package/es/lib/utils/parseErrorResponse.js +23 -19
  67. package/junit.xml +146 -146
  68. package/package.json +1 -1
  69. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +1 -1
  70. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +49 -7
  71. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +7 -7
  72. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +1 -1
  73. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  74. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
  75. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  76. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  77. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +1 -1
  78. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +1 -1
  79. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/testResources.js.html +793 -0
  80. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  81. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
  82. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +6 -9
  83. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
  84. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  85. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +10 -10
  86. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +1 -1
  87. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +1 -1
  88. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
  89. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  90. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  91. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  92. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  93. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +1 -1
  94. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +1 -1
  95. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +1 -1
  96. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +1 -1
  97. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
  98. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +1 -1
  99. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  100. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
  101. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  102. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +1 -1
  103. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +1 -1
  104. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +1 -1
  105. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +1 -1
  106. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +1 -1
  107. package/src/artifacts/coverage-jest/lcov-report/CycleButton/CycleButton.js.html +1 -1
  108. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +1 -1
  109. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +1 -1
  110. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  111. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +1 -1
  112. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +1 -1
  113. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +1 -1
  114. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +1 -1
  115. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +1 -1
  116. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +1 -1
  117. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +1 -1
  118. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +1 -1
  119. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +1 -1
  120. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +1 -1
  121. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +1 -1
  122. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +1 -1
  123. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +1 -1
  124. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +1 -1
  125. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +1 -1
  126. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +1 -1
  127. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +1 -1
  128. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  129. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +1 -1
  130. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +1 -1
  131. package/src/artifacts/coverage-jest/lcov-report/IconSelect/IconSelect.js.html +28 -22
  132. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +1 -1
  133. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.js.html +1 -1
  134. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +1 -1
  135. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +1 -1
  136. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +1 -1
  137. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +1 -1
  138. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +1 -1
  139. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +1 -1
  140. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +1 -1
  141. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +1 -1
  142. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +1 -1
  143. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +48 -12
  144. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.html +9 -9
  145. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.js.html +1 -1
  146. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  147. package/src/artifacts/coverage-jest/lcov-report/RichSelect/RichSelect.js.html +5 -2
  148. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +1 -1
  149. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +1 -1
  150. package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +1 -1
  151. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +103 -25
  152. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
  153. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +1 -1
  154. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +1 -1
  155. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +9 -9
  156. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +1 -1
  157. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +1 -1
  158. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +1 -1
  159. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +1 -1
  160. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +1 -1
  161. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +1 -1
  162. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +1 -1
  163. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +1 -1
  164. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +1 -1
  165. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +1 -1
  166. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +1 -1
  167. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +1 -1
  168. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +1 -1
  169. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +1 -1
  170. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +1 -1
  171. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +1 -1
  172. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +1 -1
  173. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +1 -1
  174. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +1 -1
  175. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +1 -1
  176. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +1 -1
  177. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +1 -1
  178. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +1 -1
  179. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +1 -1
  180. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +1 -1
  181. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +1 -1
  182. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +1 -1
  183. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +1 -1
  184. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +1 -1
  185. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +1 -1
  186. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +1 -1
  187. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +1 -1
  188. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +1 -1
  189. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +1 -1
  190. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  191. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +1 -1
  192. package/src/artifacts/coverage-jest/lcov-report/hooks/useAvailableCustomProperties.js.html +205 -0
  193. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +1 -1
  194. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +1 -1
  195. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +1 -1
  196. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKeyStore.js.html +2 -2
  197. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +1 -1
  198. package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +1 -1
  199. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +1 -1
  200. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +1 -1
  201. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +1 -1
  202. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +1 -1
  203. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +1 -1
  204. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +1 -1
  205. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +1 -1
  206. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +1 -1
  207. package/src/artifacts/coverage-jest/lcov-report/hooks/useSASQQueryMeta.js.html +1 -1
  208. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +1 -1
  209. package/src/artifacts/coverage-jest/lcov-report/index.html +35 -35
  210. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +1 -1
  211. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +8 -8
  212. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +196 -46
  213. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +1 -1
  214. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +1 -1
  215. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +44 -29
  216. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +8 -2
  217. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +1 -1
  218. package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +11 -8
  219. package/src/artifacts/coverage-jest/lcov-report/utils/parseKiwtQueryGroups.js.html +280 -0
  220. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +1 -1
  221. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +1 -1
  222. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +166 -0
  223. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +1 -1
  224. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +1 -1
  225. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +1 -1
  226. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +1 -1
  227. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +1 -1
  228. package/src/artifacts/coverage-jest/lcov.info +562 -425
  229. package/src/lib/utils/parseErrorResponse.js +3 -2
  230. package/yarn-error.log +0 -147
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">28.4% </span>
26
+ <span class="strong">27.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>486/1711</span>
28
+ <span class='fraction'>488/1770</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">24.08% </span>
33
+ <span class="strong">22.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>263/1092</span>
35
+ <span class='fraction'>263/1151</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">25.35% </span>
40
+ <span class="strong">25.09% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>126/497</span>
42
+ <span class='fraction'>126/502</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">28.66% </span>
47
+ <span class="strong">27.78% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>469/1636</span>
49
+ <span class='fraction'>471/1695</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
86
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="128" class="abs low">0/128</td>
87
+ <td data-value="132" class="abs low">0/132</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
89
  <td data-value="93" class="abs low">0/93</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="35" class="abs low">0/35</td>
91
+ <td data-value="33" class="abs low">0/33</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="119" class="abs low">0/119</td>
93
+ <td data-value="125" class="abs low">0/125</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -125,17 +125,17 @@
125
125
 
126
126
  <tr>
127
127
  <td class="file medium" data-value="CustomProperties/Edit"><a href="CustomProperties/Edit/index.html">CustomProperties/Edit</a></td>
128
- <td data-value="72.92" class="pic medium">
128
+ <td data-value="72.77" class="pic medium">
129
129
  <div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
130
130
  </td>
131
- <td data-value="72.92" class="pct medium">72.92%</td>
132
- <td data-value="181" class="abs medium">132/181</td>
131
+ <td data-value="72.77" class="pct medium">72.77%</td>
132
+ <td data-value="180" class="abs medium">131/180</td>
133
133
  <td data-value="64.86" class="pct medium">64.86%</td>
134
134
  <td data-value="111" class="abs medium">72/111</td>
135
135
  <td data-value="72.88" class="pct medium">72.88%</td>
136
136
  <td data-value="59" class="abs medium">43/59</td>
137
- <td data-value="74.41" class="pct medium">74.41%</td>
138
- <td data-value="172" class="abs medium">128/172</td>
137
+ <td data-value="74.26" class="pct medium">74.26%</td>
138
+ <td data-value="171" class="abs medium">127/171</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -339,13 +339,13 @@
339
339
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
340
340
  </td>
341
341
  <td data-value="0" class="pct low">0%</td>
342
- <td data-value="51" class="abs low">0/51</td>
342
+ <td data-value="52" class="abs low">0/52</td>
343
343
  <td data-value="0" class="pct low">0%</td>
344
- <td data-value="41" class="abs low">0/41</td>
344
+ <td data-value="44" class="abs low">0/44</td>
345
345
  <td data-value="0" class="pct low">0%</td>
346
- <td data-value="16" class="abs low">0/16</td>
346
+ <td data-value="17" class="abs low">0/17</td>
347
347
  <td data-value="0" class="pct low">0%</td>
348
- <td data-value="50" class="abs low">0/50</td>
348
+ <td data-value="51" class="abs low">0/51</td>
349
349
  </tr>
350
350
 
351
351
  <tr>
@@ -369,13 +369,13 @@
369
369
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
370
370
  </td>
371
371
  <td data-value="0" class="pct low">0%</td>
372
- <td data-value="46" class="abs low">0/46</td>
372
+ <td data-value="47" class="abs low">0/47</td>
373
373
  <td data-value="0" class="pct low">0%</td>
374
- <td data-value="35" class="abs low">0/35</td>
374
+ <td data-value="43" class="abs low">0/43</td>
375
375
  <td data-value="0" class="pct low">0%</td>
376
- <td data-value="11" class="abs low">0/11</td>
376
+ <td data-value="9" class="abs low">0/9</td>
377
377
  <td data-value="0" class="pct low">0%</td>
378
- <td data-value="45" class="abs low">0/45</td>
378
+ <td data-value="46" class="abs low">0/46</td>
379
379
  </tr>
380
380
 
381
381
  <tr>
@@ -545,17 +545,17 @@
545
545
 
546
546
  <tr>
547
547
  <td class="file low" data-value="utils"><a href="utils/index.html">utils</a></td>
548
- <td data-value="19.87" class="pic low">
549
- <div class="chart"><div class="cover-fill" style="width: 19%"></div><div class="cover-empty" style="width: 81%"></div></div>
548
+ <td data-value="16.36" class="pic low">
549
+ <div class="chart"><div class="cover-fill" style="width: 16%"></div><div class="cover-empty" style="width: 84%"></div></div>
550
550
  </td>
551
- <td data-value="19.87" class="pct low">19.87%</td>
552
- <td data-value="166" class="abs low">33/166</td>
553
- <td data-value="11.29" class="pct low">11.29%</td>
554
- <td data-value="124" class="abs low">14/124</td>
555
- <td data-value="16.32" class="pct low">16.32%</td>
556
- <td data-value="49" class="abs low">8/49</td>
557
- <td data-value="21.29" class="pct low">21.29%</td>
558
- <td data-value="155" class="abs low">33/155</td>
551
+ <td data-value="16.36" class="pct low">16.36%</td>
552
+ <td data-value="220" class="abs low">36/220</td>
553
+ <td data-value="8.13" class="pct low">8.13%</td>
554
+ <td data-value="172" class="abs low">14/172</td>
555
+ <td data-value="14.03" class="pct low">14.03%</td>
556
+ <td data-value="57" class="abs low">8/57</td>
557
+ <td data-value="17.39" class="pct low">17.39%</td>
558
+ <td data-value="207" class="abs low">36/207</td>
559
559
  </tr>
560
560
 
561
561
  </tbody>
@@ -566,7 +566,7 @@
566
566
  <div class='footer quiet pad2 space-top1 center small'>
567
567
  Code coverage generated by
568
568
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
569
- at 2022-11-03T13:44:33.087Z
569
+ at 2023-01-18T10:53:27.335Z
570
570
  </div>
571
571
  <script src="prettify.js"></script>
572
572
  <script>
@@ -178,7 +178,7 @@ export default function <span class="fstat-no" title="function not covered" >bui
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at 2022-11-03T13:44:33.087Z
181
+ at 2023-01-18T10:53:27.335Z
182
182
  </div>
183
183
  <script src="../prettify.js"></script>
184
184
  <script>
@@ -23,23 +23,23 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">25% </span>
26
+ <span class="strong">33.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1/4</span>
28
+ <span class='fraction'>1/3</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/2</span>
35
+ <span class='fraction'>0/3</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
42
+ <span class='fraction'>0/1</span>
43
43
  </div>
44
44
 
45
45
 
@@ -81,9 +81,9 @@
81
81
  <span class="cline-any cline-neutral">&nbsp;</span>
82
82
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import generateKiwtQueryParams from './generateKiwtQueryParams';
83
83
  &nbsp;
84
- const generateKiwtQuery = <span class="fstat-no" title="function not covered" >(o</span>ptions, nsValues) =&gt; {
85
- const paramsArray = <span class="cstat-no" title="statement not covered" >generateKiwtQueryParams(options, nsValues);</span>
86
- <span class="cstat-no" title="statement not covered" > return paramsArray.length ? '?' + paramsArray.map(<span class="fstat-no" title="function not covered" >p </span>=&gt; <span class="cstat-no" title="statement not covered" >encodeURI(p))</span>.join('&amp;') : '';</span>
84
+ const generateKiwtQuery = <span class="fstat-no" title="function not covered" >(o</span>ptions, nsValues, encode = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> =&gt; {
85
+ const paramsArray = <span class="cstat-no" title="statement not covered" >generateKiwtQueryParams(options, nsValues, encode);</span>
86
+ <span class="cstat-no" title="statement not covered" > return paramsArray.length ? '?' + paramsArray.join('&amp;') : '';</span>
87
87
  };
88
88
  &nbsp;
89
89
  export default generateKiwtQuery;
@@ -94,7 +94,7 @@ export default generateKiwtQuery;
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
97
- at 2022-11-03T13:44:33.087Z
97
+ at 2023-01-18T10:53:27.335Z
98
98
  </div>
99
99
  <script src="../prettify.js"></script>
100
100
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">1.58% </span>
26
+ <span class="strong">3.52% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1/63</span>
28
+ <span class='fraction'>3/85</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/51</span>
35
+ <span class='fraction'>0/79</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/13</span>
42
+ <span class='fraction'>0/18</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">1.75% </span>
47
+ <span class="strong">3.94% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1/57</span>
49
+ <span class='fraction'>3/76</span>
50
50
  </div>
51
51
 
52
52
 
@@ -195,10 +195,116 @@
195
195
  <a name='L130'></a><a href='#L130'>130</a>
196
196
  <a name='L131'></a><a href='#L131'>131</a>
197
197
  <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
249
+ <span class="cline-any cline-no">&nbsp;</span>
250
+ <span class="cline-any cline-no">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-no">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-yes">3x</span>
257
+ <span class="cline-any cline-no">&nbsp;</span>
258
+ <span class="cline-any cline-no">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-no">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-no">&nbsp;</span>
270
+ <span class="cline-any cline-no">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
199
272
  <span class="cline-any cline-no">&nbsp;</span>
200
273
  <span class="cline-any cline-neutral">&nbsp;</span>
201
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-no">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-no">&nbsp;</span>
278
+ <span class="cline-any cline-no">&nbsp;</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-no">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-no">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-no">&nbsp;</span>
287
+ <span class="cline-any cline-no">&nbsp;</span>
288
+ <span class="cline-any cline-no">&nbsp;</span>
289
+ <span class="cline-any cline-no">&nbsp;</span>
290
+ <span class="cline-any cline-no">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-no">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-no">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-yes">3x</span>
300
+ <span class="cline-any cline-no">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
202
308
  <span class="cline-any cline-neutral">&nbsp;</span>
203
309
  <span class="cline-any cline-neutral">&nbsp;</span>
204
310
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -228,38 +334,29 @@
228
334
  <span class="cline-any cline-neutral">&nbsp;</span>
229
335
  <span class="cline-any cline-neutral">&nbsp;</span>
230
336
  <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-no">&nbsp;</span>
232
337
  <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-no">&nbsp;</span>
234
338
  <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-no">&nbsp;</span>
236
- <span class="cline-any cline-no">&nbsp;</span>
237
- <span class="cline-any cline-no">&nbsp;</span>
238
339
  <span class="cline-any cline-neutral">&nbsp;</span>
239
340
  <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-no">&nbsp;</span>
241
- <span class="cline-any cline-no">&nbsp;</span>
242
341
  <span class="cline-any cline-no">&nbsp;</span>
243
342
  <span class="cline-any cline-neutral">&nbsp;</span>
244
343
  <span class="cline-any cline-no">&nbsp;</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
345
  <span class="cline-any cline-no">&nbsp;</span>
246
346
  <span class="cline-any cline-no">&nbsp;</span>
247
347
  <span class="cline-any cline-no">&nbsp;</span>
248
348
  <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-no">&nbsp;</span>
250
349
  <span class="cline-any cline-neutral">&nbsp;</span>
251
350
  <span class="cline-any cline-neutral">&nbsp;</span>
252
351
  <span class="cline-any cline-no">&nbsp;</span>
253
352
  <span class="cline-any cline-no">&nbsp;</span>
254
353
  <span class="cline-any cline-no">&nbsp;</span>
255
354
  <span class="cline-any cline-no">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
355
  <span class="cline-any cline-no">&nbsp;</span>
258
356
  <span class="cline-any cline-neutral">&nbsp;</span>
259
357
  <span class="cline-any cline-neutral">&nbsp;</span>
260
358
  <span class="cline-any cline-neutral">&nbsp;</span>
261
359
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
360
  <span class="cline-any cline-no">&nbsp;</span>
264
361
  <span class="cline-any cline-no">&nbsp;</span>
265
362
  <span class="cline-any cline-no">&nbsp;</span>
@@ -298,6 +395,7 @@
298
395
  <span class="cline-any cline-no">&nbsp;</span>
299
396
  <span class="cline-any cline-no">&nbsp;</span>
300
397
  <span class="cline-any cline-no">&nbsp;</span>
398
+ <span class="cline-any cline-no">&nbsp;</span>
301
399
  <span class="cline-any cline-neutral">&nbsp;</span>
302
400
  <span class="cline-any cline-neutral">&nbsp;</span>
303
401
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -313,6 +411,8 @@
313
411
  <span class="cline-any cline-neutral">&nbsp;</span>
314
412
  <span class="cline-any cline-no">&nbsp;</span>
315
413
  <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-no">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
416
  <span class="cline-any cline-neutral">&nbsp;</span>
317
417
  <span class="cline-any cline-neutral">&nbsp;</span>
318
418
  <span class="cline-any cline-no">&nbsp;</span>
@@ -327,7 +427,58 @@
327
427
  <span class="cline-any cline-neutral">&nbsp;</span>
328
428
  <span class="cline-any cline-neutral">&nbsp;</span>
329
429
  <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const generateKiwtQueryParams = <span class="fstat-no" title="function not covered" >(o</span>ptions, nsValues) =&gt; {
430
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const conditionalEncodeURIComponent = <span class="fstat-no" title="function not covered" >(s</span>tr, encode = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> =&gt; {
431
+ <span class="cstat-no" title="statement not covered" > if (encode) {</span>
432
+ <span class="cstat-no" title="statement not covered" > return encodeURIComponent(str);</span>
433
+ }
434
+ &nbsp;
435
+ <span class="cstat-no" title="statement not covered" > return str;</span>
436
+ };
437
+ &nbsp;
438
+ const buildFilterOptionBlock = <span class="fstat-no" title="function not covered" >(o</span>pf, isNested = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span> encode = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> =&gt; {
439
+ <span class="cstat-no" title="statement not covered" > if (opf?.groupValues) {</span>
440
+ const groupValues = <span class="cstat-no" title="statement not covered" >opf.groupValues;</span>
441
+ &nbsp;
442
+ // Small utility function to add negation and brackets to the options block where necessary
443
+ const negationAndNesting = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(s</span>tr) =&gt; <span class="cstat-no" title="statement not covered" >`${groupValues?.NOT ? '!' : ''}${(isNested || groupValues?.NOT) ? '(' : ''}${str}${(isNested || groupValues?.NOT) ? ')' : ''}`;</span></span>
444
+ &nbsp;
445
+ // First check whether groupValues is ANDed or ORed together
446
+ <span class="cstat-no" title="statement not covered" > if (</span>
447
+ (groupValues?.AND &amp;&amp; Array.isArray(groupValues.AND)) ||
448
+ (groupValues?.OR &amp;&amp; Array.isArray(groupValues.OR))
449
+ ) {
450
+ // AND takes precedence
451
+ <span class="cstat-no" title="statement not covered" > if (groupValues.AND) {</span>
452
+ <span class="cstat-no" title="statement not covered" > return negationAndNesting(groupValues?.AND?.map(<span class="fstat-no" title="function not covered" >gv</span>o =&gt; <span class="cstat-no" title="statement not covered" >buildFilterOptionBlock(gvo, true, encode))</span>?.join('&amp;&amp;'));</span>
453
+ }
454
+ <span class="cstat-no" title="statement not covered" > return negationAndNesting(groupValues?.OR?.map(<span class="fstat-no" title="function not covered" >gv</span>o =&gt; <span class="cstat-no" title="statement not covered" >buildFilterOptionBlock(gvo, true, encode))</span>?.join('||'));</span>
455
+ }
456
+ // If neither valid OR nor AND exist, ignore the block
457
+ } else <span class="cstat-no" title="statement not covered" >if (opf?.values) {</span>
458
+ // Build the values filter block
459
+ const innerFilters = <span class="cstat-no" title="statement not covered" >[];</span>
460
+ <span class="cstat-no" title="statement not covered" > opf.values.forEach(<span class="fstat-no" title="function not covered" >op</span>fv =&gt; {</span>
461
+ <span class="cstat-no" title="statement not covered" > if (opf.path) {</span>
462
+ <span class="cstat-no" title="statement not covered" > innerFilters.push(`${opf.path}${opf.comparator ?? '=='}${opfv}`);</span>
463
+ } else {
464
+ <span class="cstat-no" title="statement not covered" > innerFilters.push(opfv);</span>
465
+ }
466
+ });
467
+ &nbsp;
468
+ <span class="cstat-no" title="statement not covered" > return conditionalEncodeURIComponent(innerFilters.join('||'), encode);</span>
469
+ } else <span class="cstat-no" title="statement not covered" >if (opf?.value) { // If no value OR values, then ignore</span>
470
+ <span class="cstat-no" title="statement not covered" > if (opf.path) {</span>
471
+ const filterString = <span class="cstat-no" title="statement not covered" >`${opf.path}${opf.comparator ?? '=='}${opf.value}`;</span>
472
+ <span class="cstat-no" title="statement not covered" > return conditionalEncodeURIComponent(filterString, encode);</span>
473
+ }
474
+ &nbsp;
475
+ <span class="cstat-no" title="statement not covered" > return conditionalEncodeURIComponent(opf.value, encode);</span>
476
+ }
477
+ &nbsp;
478
+ <span class="cstat-no" title="statement not covered" > return null;</span>
479
+ };
480
+ &nbsp;
481
+ const generateKiwtQueryParams = <span class="fstat-no" title="function not covered" >(o</span>ptions, nsValues, encode = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> =&gt; {
331
482
  const { qindex, query, filters, sort } = <span class="cstat-no" title="statement not covered" >nsValues;</span>
332
483
  const {
333
484
  searchKey = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span>
@@ -347,7 +498,13 @@
347
498
  path: 'this.is.some.path'
348
499
  comparator: '=='
349
500
  value: 'this is a value' //OR
350
- values: ['value1', 'value2']
501
+ values: ['value1', 'value2'] //OR
502
+ groupValues: { // This is an object containing objects either in groups of AND or OR. AND takes precedence
503
+ AND: [
504
+ // Objects of the same shape as an individual filters object, recursively.
505
+ ],
506
+ NOT: true // When this is set to true, the entire group is negated
507
+ }
351
508
  },
352
509
  ...
353
510
  ]
@@ -356,6 +513,9 @@
356
513
  * If no comparator is passed, it assumes '=='
357
514
  * Values overwrites value and will construct "filters=this.is.some.path==value1||this.is.some.path==value2"
358
515
  * Values WITHOUT path will construct "filters=value1||value2"
516
+ *
517
+ * GroupValues will override everything above, and group into brackets.
518
+ *
359
519
  * If more complex query building is desired, this should be done externally and passed in as a standalone 'value'
360
520
  */
361
521
  filters: optionsFilters,
@@ -365,29 +525,16 @@
365
525
  const paramsArray = <span class="cstat-no" title="statement not covered" >[];</span>
366
526
  &nbsp;
367
527
  <span class="cstat-no" title="statement not covered" > if (query) {</span>
368
- <span class="cstat-no" title="statement not covered" > paramsArray.push(...(qindex || searchKey).split(',')?.map(<span class="fstat-no" title="function not covered" >m </span>=&gt; <span class="cstat-no" title="statement not covered" >`match=${m}`)</span>);</span>
369
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`term=${query}`);</span>
528
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(...(qindex || searchKey).split(',')?.map(<span class="fstat-no" title="function not covered" >m </span>=&gt; <span class="cstat-no" title="statement not covered" >`match=${conditionalEncodeURIComponent(m, encode)}`)</span>);</span>
529
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(`term=${conditionalEncodeURIComponent(query, encode)}`);</span>
370
530
  }
371
531
  &nbsp;
532
+ // Actually build the optionsFilters block (Moved logic to its own function to allow recursion)
372
533
  <span class="cstat-no" title="statement not covered" > if (optionsFilters) {</span>
373
534
  <span class="cstat-no" title="statement not covered" > optionsFilters.forEach(<span class="fstat-no" title="function not covered" >op</span>f =&gt; {</span>
374
- <span class="cstat-no" title="statement not covered" > if (opf?.values) {</span>
375
- // Build the values filter block
376
- const innerFilters = <span class="cstat-no" title="statement not covered" >[];</span>
377
- <span class="cstat-no" title="statement not covered" > opf.values.forEach(<span class="fstat-no" title="function not covered" >op</span>fv =&gt; {</span>
378
- <span class="cstat-no" title="statement not covered" > if (opf.path) {</span>
379
- <span class="cstat-no" title="statement not covered" > innerFilters.push(`${opf.path}${opf.comparator ?? '=='}${opfv}`);</span>
380
- } else {
381
- <span class="cstat-no" title="statement not covered" > innerFilters.push(opfv);</span>
382
- }
383
- });
384
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${innerFilters.join('||')}`);</span>
385
- } else <span class="cstat-no" title="statement not covered" >if (opf?.value) { // If no value OR values, then ignore</span>
386
- <span class="cstat-no" title="statement not covered" > if (opf.path) {</span>
387
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${opf.path}${opf.comparator ?? '=='}${opf.value}`);</span>
388
- } else {
389
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${opf.value}`);</span>
390
- }
535
+ const optionsBlock = <span class="cstat-no" title="statement not covered" >buildFilterOptionBlock(opf, false, encode);</span>
536
+ <span class="cstat-no" title="statement not covered" > if (optionsBlock) {</span>
537
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${optionsBlock}`);</span>
391
538
  }
392
539
  });
393
540
  }
@@ -413,13 +560,13 @@
413
560
  <span class="cstat-no" title="statement not covered" > return `${filterName}==${fceValue ?? v}`;</span>
414
561
  }).join('||');
415
562
  &nbsp;
416
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${filterString}`);</span>
563
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${conditionalEncodeURIComponent(filterString, encode)}`);</span>
417
564
  } else <span class="cstat-no" title="statement not covered" >if (!filterKey) {</span>
418
565
  // These filters have no key mapping so we just pass the values to the backend as-is.
419
- <span class="cstat-no" title="statement not covered" > paramsArray.push(...filterValues?.map(<span class="fstat-no" title="function not covered" >f </span>=&gt; <span class="cstat-no" title="statement not covered" >`filters=${f}`)</span>);</span>
566
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(...filterValues?.map(<span class="fstat-no" title="function not covered" >f </span>=&gt; <span class="cstat-no" title="statement not covered" >`filters=${conditionalEncodeURIComponent(f, encode)}`)</span>);</span>
420
567
  } else {
421
568
  const filterString = <span class="cstat-no" title="statement not covered" >filterValues.map(<span class="fstat-no" title="function not covered" >v </span>=&gt; <span class="cstat-no" title="statement not covered" >`${filterKey}==${v}`)</span>.join('||');</span>
422
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${filterString}`);</span>
569
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(`filters=${conditionalEncodeURIComponent(filterString, encode)}`);</span>
423
570
  }
424
571
  });
425
572
  }
@@ -427,9 +574,10 @@
427
574
  <span class="cstat-no" title="statement not covered" > if (optionsSort &amp;&amp; optionsSort.length &gt; 0) {</span>
428
575
  <span class="cstat-no" title="statement not covered" > optionsSort.forEach(<span class="fstat-no" title="function not covered" >os</span> =&gt; {</span>
429
576
  <span class="cstat-no" title="statement not covered" > if (os.value) {</span>
430
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`sort=${os.value}`);</span>
577
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(`sort=${conditionalEncodeURIComponent(os.value, encode)}`);</span>
431
578
  } else <span class="cstat-no" title="statement not covered" >if (os.path) { // If no path then ignore</span>
432
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`sort=${os.path};${os.direction ?? 'asc'}`);</span>
579
+ const sortString = <span class="cstat-no" title="statement not covered" >`${os.path};${os.direction ?? 'asc'}`;</span>
580
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(`sort=${conditionalEncodeURIComponent(sortString, encode)}`);</span>
433
581
  }
434
582
  });
435
583
  }
@@ -443,7 +591,9 @@
443
591
  <span class="cstat-no" title="statement not covered" > term = term.replace(term, sortKeys[term]);</span>
444
592
  }
445
593
  &nbsp;
446
- <span class="cstat-no" title="statement not covered" > return `sort=${term};${descending ? 'desc' : 'asc'}`;</span>
594
+ const sortString = <span class="cstat-no" title="statement not covered" >`${term};${descending ? 'desc' : 'asc'}`;</span>
595
+ &nbsp;
596
+ <span class="cstat-no" title="statement not covered" > return `sort=${conditionalEncodeURIComponent(sortString, encode)}`;</span>
447
597
  }));
448
598
  }
449
599
  &nbsp;
@@ -452,7 +602,7 @@
452
602
  }
453
603
  &nbsp;
454
604
  <span class="cstat-no" title="statement not covered" > for (const [key, value] of Object.entries(rest)) {</span>
455
- <span class="cstat-no" title="statement not covered" > paramsArray.push(`${key}=${value}`);</span>
605
+ <span class="cstat-no" title="statement not covered" > paramsArray.push(`${key}=${conditionalEncodeURIComponent(value, encode)}`);</span>
456
606
  }
457
607
  &nbsp;
458
608
  <span class="cstat-no" title="statement not covered" > return paramsArray;</span>
@@ -466,7 +616,7 @@ export default generateKiwtQueryParams;
466
616
  <div class='footer quiet pad2 space-top1 center small'>
467
617
  Code coverage generated by
468
618
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
469
- at 2022-11-03T13:44:33.087Z
619
+ at 2023-01-18T10:53:27.335Z
470
620
  </div>
471
621
  <script src="../prettify.js"></script>
472
622
  <script>
@@ -109,7 +109,7 @@ export default groupCustomPropertiesByCtx;
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2022-11-03T13:44:33.087Z
112
+ at 2023-01-18T10:53:27.335Z
113
113
  </div>
114
114
  <script src="../prettify.js"></script>
115
115
  <script>