@daffodil/category 0.42.1 → 0.43.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 (333) hide show
  1. package/driver/magento/category.service.d.ts +2 -3
  2. package/driver/magento/models/complete-category-response.d.ts +3 -6
  3. package/driver/magento/models/get-products-response.d.ts +3 -5
  4. package/driver/magento/models/public_api.d.ts +0 -10
  5. package/driver/magento/models/requests/get-products-by-categories-request.d.ts +2 -3
  6. package/driver/magento/queries/public_api.d.ts +0 -1
  7. package/driver/magento/testing/factories/public_api.d.ts +0 -4
  8. package/driver/magento/transformers/applied-filter-transformer.service.d.ts +6 -13
  9. package/driver/magento/transformers/public_api.d.ts +0 -1
  10. package/driver/magento/transformers/pure/add-metadata-types-to-aggregates.d.ts +3 -0
  11. package/esm2020/driver/in-memory/backend/category.service.mjs +10 -10
  12. package/esm2020/driver/in-memory/drivers/category.service.mjs +5 -5
  13. package/esm2020/driver/magento/category-driver.module.mjs +2 -4
  14. package/esm2020/driver/magento/category.service.mjs +23 -24
  15. package/esm2020/driver/magento/models/complete-category-response.mjs +1 -1
  16. package/esm2020/driver/magento/models/get-products-response.mjs +1 -1
  17. package/esm2020/driver/magento/models/public_api.mjs +2 -4
  18. package/esm2020/driver/magento/models/requests/get-products-by-categories-request.mjs +1 -1
  19. package/esm2020/driver/magento/queries/get-products.mjs +9 -18
  20. package/esm2020/driver/magento/queries/public_api.mjs +1 -2
  21. package/esm2020/driver/magento/testing/factories/category.factory.mjs +3 -1
  22. package/esm2020/driver/magento/testing/factories/public_api.mjs +1 -5
  23. package/esm2020/driver/magento/transformers/applied-filter-transformer.service.mjs +13 -44
  24. package/esm2020/driver/magento/transformers/category-page-config-transformer.service.mjs +3 -17
  25. package/esm2020/driver/magento/transformers/public_api.mjs +1 -2
  26. package/esm2020/driver/magento/transformers/pure/add-metadata-types-to-aggregates.mjs +16 -0
  27. package/esm2020/models/category-page-metadata.mjs +1 -1
  28. package/esm2020/models/category-request.mjs +1 -1
  29. package/esm2020/models/public_api.mjs +1 -2
  30. package/esm2020/public_api.mjs +1 -3
  31. package/esm2020/routing/resolvers/category-page-url/category-page-url.resolver.mjs +2 -2
  32. package/esm2020/state/actions/category-page-filter.actions.mjs +1 -1
  33. package/esm2020/state/actions/category-page.actions.mjs +1 -1
  34. package/esm2020/state/effects/category-page-filter.effects.mjs +8 -7
  35. package/esm2020/state/effects/category-page.effects.mjs +10 -9
  36. package/esm2020/state/facades/category-facade.interface.mjs +1 -1
  37. package/esm2020/state/facades/category.facade.mjs +1 -1
  38. package/esm2020/state/reducers/category/category.reducer.mjs +22 -21
  39. package/esm2020/state/reducers/category/pure/build-metadata-from-request.mjs +5 -5
  40. package/esm2020/state/selectors/category-page/category-page.selector.mjs +11 -11
  41. package/esm2020/state/testing/mock-category-facade.mjs +1 -1
  42. package/esm2020/testing/factories/category-page-metadata.factory.mjs +11 -32
  43. package/esm2020/testing/factories/category.factory.mjs +1 -1
  44. package/esm2020/testing/factories/public_api.mjs +1 -2
  45. package/fesm2015/daffodil-category-driver-in-memory.mjs +13 -13
  46. package/fesm2015/daffodil-category-driver-in-memory.mjs.map +1 -1
  47. package/fesm2015/daffodil-category-driver-magento-testing.mjs +3 -174
  48. package/fesm2015/daffodil-category-driver-magento-testing.mjs.map +1 -1
  49. package/fesm2015/daffodil-category-driver-magento.mjs +42 -207
  50. package/fesm2015/daffodil-category-driver-magento.mjs.map +1 -1
  51. package/fesm2015/daffodil-category-routing.mjs +1 -1
  52. package/fesm2015/daffodil-category-routing.mjs.map +1 -1
  53. package/fesm2015/daffodil-category-state-testing.mjs.map +1 -1
  54. package/fesm2015/daffodil-category-state.mjs +35 -34
  55. package/fesm2015/daffodil-category-state.mjs.map +1 -1
  56. package/fesm2015/daffodil-category-testing.mjs +10 -364
  57. package/fesm2015/daffodil-category-testing.mjs.map +1 -1
  58. package/fesm2015/daffodil-category.mjs +1 -512
  59. package/fesm2015/daffodil-category.mjs.map +1 -1
  60. package/fesm2020/daffodil-category-driver-in-memory.mjs +13 -13
  61. package/fesm2020/daffodil-category-driver-in-memory.mjs.map +1 -1
  62. package/fesm2020/daffodil-category-driver-magento-testing.mjs +3 -174
  63. package/fesm2020/daffodil-category-driver-magento-testing.mjs.map +1 -1
  64. package/fesm2020/daffodil-category-driver-magento.mjs +45 -214
  65. package/fesm2020/daffodil-category-driver-magento.mjs.map +1 -1
  66. package/fesm2020/daffodil-category-routing.mjs +1 -1
  67. package/fesm2020/daffodil-category-routing.mjs.map +1 -1
  68. package/fesm2020/daffodil-category-state-testing.mjs.map +1 -1
  69. package/fesm2020/daffodil-category-state.mjs +47 -45
  70. package/fesm2020/daffodil-category-state.mjs.map +1 -1
  71. package/fesm2020/daffodil-category-testing.mjs +10 -383
  72. package/fesm2020/daffodil-category-testing.mjs.map +1 -1
  73. package/fesm2020/daffodil-category.mjs +1 -565
  74. package/fesm2020/daffodil-category.mjs.map +1 -1
  75. package/models/category-page-metadata.d.ts +3 -12
  76. package/models/category-request.d.ts +3 -30
  77. package/models/public_api.d.ts +1 -2
  78. package/package.json +4 -4
  79. package/public_api.d.ts +0 -2
  80. package/state/actions/category-page-filter.actions.d.ts +11 -11
  81. package/state/actions/category-page.actions.d.ts +4 -4
  82. package/state/facades/category-facade.interface.d.ts +6 -6
  83. package/state/facades/category.facade.d.ts +6 -6
  84. package/state/selectors/category-page/category-page.selector.d.ts +11 -11
  85. package/state/testing/mock-category-facade.d.ts +6 -6
  86. package/testing/factories/category-page-metadata.factory.d.ts +4 -18
  87. package/testing/factories/public_api.d.ts +0 -1
  88. package/driver/magento/models/aggregation.d.ts +0 -16
  89. package/driver/magento/models/filter-type-field.interface.d.ts +0 -7
  90. package/driver/magento/models/filter-type.enum.d.ts +0 -5
  91. package/driver/magento/models/get-filter-types-response.interface.d.ts +0 -6
  92. package/driver/magento/models/page-info.d.ts +0 -5
  93. package/driver/magento/models/requests/filters.d.ts +0 -13
  94. package/driver/magento/models/requests/sort.d.ts +0 -7
  95. package/driver/magento/models/sort-fields.d.ts +0 -8
  96. package/driver/magento/queries/get-filter-types.d.ts +0 -2
  97. package/driver/magento/testing/factories/aggregation/aggregation.factory.d.ts +0 -12
  98. package/driver/magento/testing/factories/aggregation/public_api.d.ts +0 -3
  99. package/driver/magento/testing/factories/aggregation/type/price.factory.d.ts +0 -8
  100. package/driver/magento/testing/factories/aggregation/type/select.factory.d.ts +0 -8
  101. package/driver/magento/testing/factories/filter-type-field.factory.d.ts +0 -8
  102. package/driver/magento/testing/factories/page-info.factory.d.ts +0 -8
  103. package/driver/magento/testing/factories/sort-fields.factory.d.ts +0 -8
  104. package/driver/magento/transformers/applied-sort-option-transformer.service.d.ts +0 -9
  105. package/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.d.ts +0 -2
  106. package/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.d.ts +0 -3
  107. package/driver/magento/transformers/pure/aggregate/transform.d.ts +0 -3
  108. package/driver/magento/transformers/pure/aggregate/type/equal.d.ts +0 -3
  109. package/driver/magento/transformers/pure/aggregate/type/range.d.ts +0 -8
  110. package/driver/magento/transformers/pure/sort-default-option-first.d.ts +0 -2
  111. package/errors/codes.enum.d.ts +0 -15
  112. package/errors/map.d.ts +0 -5
  113. package/errors/public_api.d.ts +0 -2
  114. package/esm2020/driver/magento/models/aggregation.mjs +0 -2
  115. package/esm2020/driver/magento/models/filter-type-field.interface.mjs +0 -2
  116. package/esm2020/driver/magento/models/filter-type.enum.mjs +0 -8
  117. package/esm2020/driver/magento/models/get-filter-types-response.interface.mjs +0 -2
  118. package/esm2020/driver/magento/models/page-info.mjs +0 -2
  119. package/esm2020/driver/magento/models/requests/filters.mjs +0 -9
  120. package/esm2020/driver/magento/models/requests/sort.mjs +0 -6
  121. package/esm2020/driver/magento/models/sort-fields.mjs +0 -2
  122. package/esm2020/driver/magento/queries/get-filter-types.mjs +0 -15
  123. package/esm2020/driver/magento/testing/factories/aggregation/aggregation.factory.mjs +0 -24
  124. package/esm2020/driver/magento/testing/factories/aggregation/public_api.mjs +0 -4
  125. package/esm2020/driver/magento/testing/factories/aggregation/type/price.factory.mjs +0 -49
  126. package/esm2020/driver/magento/testing/factories/aggregation/type/select.factory.mjs +0 -44
  127. package/esm2020/driver/magento/testing/factories/filter-type-field.factory.mjs +0 -32
  128. package/esm2020/driver/magento/testing/factories/page-info.factory.mjs +0 -25
  129. package/esm2020/driver/magento/testing/factories/sort-fields.factory.mjs +0 -28
  130. package/esm2020/driver/magento/transformers/applied-sort-option-transformer.service.mjs +0 -28
  131. package/esm2020/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.mjs +0 -16
  132. package/esm2020/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.mjs +0 -2
  133. package/esm2020/driver/magento/transformers/pure/aggregate/transform.mjs +0 -14
  134. package/esm2020/driver/magento/transformers/pure/aggregate/type/equal.mjs +0 -16
  135. package/esm2020/driver/magento/transformers/pure/aggregate/type/range.mjs +0 -15
  136. package/esm2020/driver/magento/transformers/pure/sort-default-option-first.mjs +0 -12
  137. package/esm2020/errors/codes.enum.mjs +0 -12
  138. package/esm2020/errors/map.mjs +0 -8
  139. package/esm2020/errors/public_api.mjs +0 -3
  140. package/esm2020/filters/array-to-dict/array-to-dict.mjs +0 -6
  141. package/esm2020/filters/behaviors/apply/apply-filter.mjs +0 -24
  142. package/esm2020/filters/behaviors/apply/apply-request-to-filters.mjs +0 -12
  143. package/esm2020/filters/behaviors/apply/apply-requests-to-filters.mjs +0 -12
  144. package/esm2020/filters/behaviors/apply/public_api.mjs +0 -4
  145. package/esm2020/filters/behaviors/clear/clear-filter.mjs +0 -21
  146. package/esm2020/filters/behaviors/clear/clear-filters.mjs +0 -12
  147. package/esm2020/filters/behaviors/clear/public_api.mjs +0 -3
  148. package/esm2020/filters/behaviors/remove/public_api.mjs +0 -4
  149. package/esm2020/filters/behaviors/remove/remove-filter.mjs +0 -25
  150. package/esm2020/filters/behaviors/remove/remove-request-from-filters.mjs +0 -12
  151. package/esm2020/filters/behaviors/remove/remove-requests-from-filters.mjs +0 -13
  152. package/esm2020/filters/behaviors/toggle/public_api.mjs +0 -3
  153. package/esm2020/filters/behaviors/toggle/toggle-request-on-filters.mjs +0 -10
  154. package/esm2020/filters/behaviors/toggle/toggle.mjs +0 -22
  155. package/esm2020/filters/compute-applied-filters/compute-applied-filters.mjs +0 -21
  156. package/esm2020/filters/errors/codes.enum.mjs +0 -13
  157. package/esm2020/filters/errors/filter-not-found.error.mjs +0 -12
  158. package/esm2020/filters/errors/map.mjs +0 -15
  159. package/esm2020/filters/errors/public_api.mjs +0 -5
  160. package/esm2020/filters/errors/request-name-mismatch.error.mjs +0 -13
  161. package/esm2020/filters/errors/request-type-mismatch.error.mjs +0 -13
  162. package/esm2020/filters/errors/unknown-filter-type.error.mjs +0 -13
  163. package/esm2020/filters/find-applied/find-applied-options.mjs +0 -5
  164. package/esm2020/filters/find-applied/public_api.mjs +0 -2
  165. package/esm2020/filters/is-applied/is-filter-applied.mjs +0 -18
  166. package/esm2020/filters/is-applied/is-toggle-request-applied-to-filter.mjs +0 -18
  167. package/esm2020/filters/is-applied/public_api.mjs +0 -3
  168. package/esm2020/filters/public_api.mjs +0 -14
  169. package/esm2020/filters/to-request/filter-to-request.mjs +0 -20
  170. package/esm2020/filters/to-request/filters-to-requests.mjs +0 -15
  171. package/esm2020/filters/to-request/public_api.mjs +0 -3
  172. package/esm2020/filters/type/equal/array-to-dict/option.mjs +0 -6
  173. package/esm2020/filters/type/equal/behaviors/apply/apply.mjs +0 -20
  174. package/esm2020/filters/type/equal/behaviors/clear/clear.mjs +0 -17
  175. package/esm2020/filters/type/equal/behaviors/remove/remove.mjs +0 -23
  176. package/esm2020/filters/type/equal/behaviors/toggle/toggle.mjs +0 -24
  177. package/esm2020/filters/type/equal/is-applied/is-applied.mjs +0 -5
  178. package/esm2020/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.mjs +0 -5
  179. package/esm2020/filters/type/equal/public_api.mjs +0 -2
  180. package/esm2020/filters/type/equal/to-request/filter-to-request.mjs +0 -17
  181. package/esm2020/filters/type/range/array-to-dict/pair.mjs +0 -7
  182. package/esm2020/filters/type/range/behaviors/apply/apply.mjs +0 -24
  183. package/esm2020/filters/type/range/behaviors/clear/clear.mjs +0 -11
  184. package/esm2020/filters/type/range/behaviors/remove/remove.mjs +0 -17
  185. package/esm2020/filters/type/range/behaviors/toggle/toggle.mjs +0 -15
  186. package/esm2020/filters/type/range/compute-pair-label.mjs +0 -3
  187. package/esm2020/filters/type/range/is-applied/is-applied.mjs +0 -5
  188. package/esm2020/filters/type/range/is-applied/is-toggle-request-applied-to-filter.mjs +0 -6
  189. package/esm2020/filters/type/range/public_api.mjs +0 -3
  190. package/esm2020/filters/type/range/to-request/filter-to-request.mjs +0 -19
  191. package/esm2020/filters/type/range-numeric/to-request/filter-to-request.mjs +0 -6
  192. package/esm2020/filters/validators/public_api.mjs +0 -3
  193. package/esm2020/filters/validators/request-name-match.mjs +0 -16
  194. package/esm2020/filters/validators/request-type-match.mjs +0 -12
  195. package/esm2020/models/filters/category-filter-base.mjs +0 -2
  196. package/esm2020/models/filters/category-filter-option-base.mjs +0 -2
  197. package/esm2020/models/filters/category-filter-option.mjs +0 -2
  198. package/esm2020/models/filters/category-filter.mjs +0 -2
  199. package/esm2020/models/filters/category-filterable.mjs +0 -2
  200. package/esm2020/models/filters/filter-request.mjs +0 -2
  201. package/esm2020/models/filters/filter-toggle-request.mjs +0 -2
  202. package/esm2020/models/filters/public_api.mjs +0 -5
  203. package/esm2020/models/filters/type/category-filter-type.mjs +0 -9
  204. package/esm2020/models/filters/type/equal/filter.mjs +0 -2
  205. package/esm2020/models/filters/type/equal/option.mjs +0 -2
  206. package/esm2020/models/filters/type/equal/public_api.mjs +0 -2
  207. package/esm2020/models/filters/type/equal/request.mjs +0 -2
  208. package/esm2020/models/filters/type/equal/toggle-request.mjs +0 -2
  209. package/esm2020/models/filters/type/range/filter-base.mjs +0 -2
  210. package/esm2020/models/filters/type/range/option.mjs +0 -2
  211. package/esm2020/models/filters/type/range/pair.mjs +0 -2
  212. package/esm2020/models/filters/type/range/public_api.mjs +0 -2
  213. package/esm2020/models/filters/type/range/request-base.mjs +0 -2
  214. package/esm2020/models/filters/type/range/request-option.mjs +0 -2
  215. package/esm2020/models/filters/type/range/separator.mjs +0 -6
  216. package/esm2020/models/filters/type/range-numeric/filter.mjs +0 -2
  217. package/esm2020/models/filters/type/range-numeric/public_api.mjs +0 -2
  218. package/esm2020/models/filters/type/range-numeric/request.mjs +0 -2
  219. package/esm2020/models/filters/type/range-numeric/toggle-request.mjs +0 -2
  220. package/esm2020/testing/factories/filters/filter.factory.mjs +0 -50
  221. package/esm2020/testing/factories/filters/public_api.mjs +0 -5
  222. package/esm2020/testing/factories/filters/request.factory.mjs +0 -27
  223. package/esm2020/testing/factories/filters/toggle-request.mjs +0 -35
  224. package/esm2020/testing/factories/filters/type/equal/option.mjs +0 -29
  225. package/esm2020/testing/factories/filters/type/equal/public_api.mjs +0 -4
  226. package/esm2020/testing/factories/filters/type/equal/request.mjs +0 -29
  227. package/esm2020/testing/factories/filters/type/equal/toggle-request.mjs +0 -29
  228. package/esm2020/testing/factories/filters/type/equal.mjs +0 -30
  229. package/esm2020/testing/factories/filters/type/public_api.mjs +0 -5
  230. package/esm2020/testing/factories/filters/type/range-numeric/option.mjs +0 -27
  231. package/esm2020/testing/factories/filters/type/range-numeric/pair.mjs +0 -37
  232. package/esm2020/testing/factories/filters/type/range-numeric/public_api.mjs +0 -6
  233. package/esm2020/testing/factories/filters/type/range-numeric/request-option.mjs +0 -27
  234. package/esm2020/testing/factories/filters/type/range-numeric/request.mjs +0 -38
  235. package/esm2020/testing/factories/filters/type/range-numeric/toggle-request.mjs +0 -38
  236. package/esm2020/testing/factories/filters/type/range-numeric.mjs +0 -32
  237. package/filters/array-to-dict/array-to-dict.d.ts +0 -6
  238. package/filters/behaviors/apply/apply-filter.d.ts +0 -8
  239. package/filters/behaviors/apply/apply-request-to-filters.d.ts +0 -9
  240. package/filters/behaviors/apply/apply-requests-to-filters.d.ts +0 -9
  241. package/filters/behaviors/apply/public_api.d.ts +0 -3
  242. package/filters/behaviors/clear/clear-filter.d.ts +0 -8
  243. package/filters/behaviors/clear/clear-filters.d.ts +0 -9
  244. package/filters/behaviors/clear/public_api.d.ts +0 -2
  245. package/filters/behaviors/remove/public_api.d.ts +0 -3
  246. package/filters/behaviors/remove/remove-filter.d.ts +0 -9
  247. package/filters/behaviors/remove/remove-request-from-filters.d.ts +0 -9
  248. package/filters/behaviors/remove/remove-requests-from-filters.d.ts +0 -10
  249. package/filters/behaviors/toggle/public_api.d.ts +0 -2
  250. package/filters/behaviors/toggle/toggle-request-on-filters.d.ts +0 -7
  251. package/filters/behaviors/toggle/toggle.d.ts +0 -6
  252. package/filters/compute-applied-filters/compute-applied-filters.d.ts +0 -7
  253. package/filters/errors/codes.enum.d.ts +0 -11
  254. package/filters/errors/filter-not-found.error.d.ts +0 -8
  255. package/filters/errors/map.d.ts +0 -13
  256. package/filters/errors/public_api.d.ts +0 -4
  257. package/filters/errors/request-name-mismatch.error.d.ts +0 -9
  258. package/filters/errors/request-type-mismatch.error.d.ts +0 -9
  259. package/filters/errors/unknown-filter-type.error.d.ts +0 -9
  260. package/filters/find-applied/find-applied-options.d.ts +0 -5
  261. package/filters/find-applied/public_api.d.ts +0 -1
  262. package/filters/is-applied/is-filter-applied.d.ts +0 -5
  263. package/filters/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
  264. package/filters/is-applied/public_api.d.ts +0 -2
  265. package/filters/public_api.d.ts +0 -13
  266. package/filters/to-request/filter-to-request.d.ts +0 -6
  267. package/filters/to-request/filters-to-requests.d.ts +0 -7
  268. package/filters/to-request/public_api.d.ts +0 -2
  269. package/filters/type/equal/array-to-dict/option.d.ts +0 -6
  270. package/filters/type/equal/behaviors/apply/apply.d.ts +0 -8
  271. package/filters/type/equal/behaviors/clear/clear.d.ts +0 -8
  272. package/filters/type/equal/behaviors/remove/remove.d.ts +0 -11
  273. package/filters/type/equal/behaviors/toggle/toggle.d.ts +0 -11
  274. package/filters/type/equal/is-applied/is-applied.d.ts +0 -5
  275. package/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
  276. package/filters/type/equal/public_api.d.ts +0 -1
  277. package/filters/type/equal/to-request/filter-to-request.d.ts +0 -5
  278. package/filters/type/range/array-to-dict/pair.d.ts +0 -6
  279. package/filters/type/range/behaviors/apply/apply.d.ts +0 -8
  280. package/filters/type/range/behaviors/clear/clear.d.ts +0 -8
  281. package/filters/type/range/behaviors/remove/remove.d.ts +0 -11
  282. package/filters/type/range/behaviors/toggle/toggle.d.ts +0 -10
  283. package/filters/type/range/compute-pair-label.d.ts +0 -1
  284. package/filters/type/range/is-applied/is-applied.d.ts +0 -5
  285. package/filters/type/range/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
  286. package/filters/type/range/public_api.d.ts +0 -2
  287. package/filters/type/range/to-request/filter-to-request.d.ts +0 -5
  288. package/filters/type/range-numeric/to-request/filter-to-request.d.ts +0 -5
  289. package/filters/validators/public_api.d.ts +0 -2
  290. package/filters/validators/request-name-match.d.ts +0 -7
  291. package/filters/validators/request-type-match.d.ts +0 -7
  292. package/models/filters/category-filter-base.d.ts +0 -25
  293. package/models/filters/category-filter-option-base.d.ts +0 -9
  294. package/models/filters/category-filter-option.d.ts +0 -6
  295. package/models/filters/category-filter.d.ts +0 -9
  296. package/models/filters/category-filterable.d.ts +0 -11
  297. package/models/filters/filter-request.d.ts +0 -7
  298. package/models/filters/filter-toggle-request.d.ts +0 -6
  299. package/models/filters/public_api.d.ts +0 -11
  300. package/models/filters/type/category-filter-type.d.ts +0 -7
  301. package/models/filters/type/equal/filter.d.ts +0 -25
  302. package/models/filters/type/equal/option.d.ts +0 -19
  303. package/models/filters/type/equal/public_api.d.ts +0 -4
  304. package/models/filters/type/equal/request.d.ts +0 -18
  305. package/models/filters/type/equal/toggle-request.d.ts +0 -18
  306. package/models/filters/type/range/filter-base.d.ts +0 -24
  307. package/models/filters/type/range/option.d.ts +0 -14
  308. package/models/filters/type/range/pair.d.ts +0 -20
  309. package/models/filters/type/range/public_api.d.ts +0 -6
  310. package/models/filters/type/range/request-base.d.ts +0 -20
  311. package/models/filters/type/range/request-option.d.ts +0 -14
  312. package/models/filters/type/range/separator.d.ts +0 -5
  313. package/models/filters/type/range-numeric/filter.d.ts +0 -11
  314. package/models/filters/type/range-numeric/public_api.d.ts +0 -3
  315. package/models/filters/type/range-numeric/request.d.ts +0 -11
  316. package/models/filters/type/range-numeric/toggle-request.d.ts +0 -12
  317. package/testing/factories/filters/filter.factory.d.ts +0 -18
  318. package/testing/factories/filters/public_api.d.ts +0 -4
  319. package/testing/factories/filters/request.factory.d.ts +0 -15
  320. package/testing/factories/filters/toggle-request.d.ts +0 -18
  321. package/testing/factories/filters/type/equal/option.d.ts +0 -17
  322. package/testing/factories/filters/type/equal/public_api.d.ts +0 -3
  323. package/testing/factories/filters/type/equal/request.d.ts +0 -16
  324. package/testing/factories/filters/type/equal/toggle-request.d.ts +0 -16
  325. package/testing/factories/filters/type/equal.d.ts +0 -17
  326. package/testing/factories/filters/type/public_api.d.ts +0 -4
  327. package/testing/factories/filters/type/range-numeric/option.d.ts +0 -15
  328. package/testing/factories/filters/type/range-numeric/pair.d.ts +0 -23
  329. package/testing/factories/filters/type/range-numeric/public_api.d.ts +0 -5
  330. package/testing/factories/filters/type/range-numeric/request-option.d.ts +0 -15
  331. package/testing/factories/filters/type/range-numeric/request.d.ts +0 -23
  332. package/testing/factories/filters/type/range-numeric/toggle-request.d.ts +0 -20
  333. package/testing/factories/filters/type/range-numeric.d.ts +0 -19
@@ -1,22 +1,6 @@
1
- import { DaffInheritableError, daffArrayToDict } from '@daffodil/core';
2
1
  import { InjectionToken } from '@angular/core';
3
2
  import { daffTransformErrorToStateError } from '@daffodil/core/state';
4
3
 
5
- /**
6
- * The known types of filters.
7
- */
8
- var DaffCategoryFilterType;
9
- (function (DaffCategoryFilterType) {
10
- DaffCategoryFilterType["Equal"] = "equal";
11
- DaffCategoryFilterType["RangeNumeric"] = "rangeNumeric";
12
- })(DaffCategoryFilterType || (DaffCategoryFilterType = {}));
13
-
14
- /**
15
- * The separator between a range type filter's values
16
- * e.g. "price": "30-40".
17
- */
18
- const DaffCategoryFromToFilterSeparator = '-';
19
-
20
4
  /**
21
5
  * When you request a category page, there's two ways to do so, via URL or via ID.
22
6
  */
@@ -28,563 +12,15 @@ var DaffCategoryRequestKind;
28
12
  })(DaffCategoryRequestKind || (DaffCategoryRequestKind = {}));
29
13
  ;
30
14
 
31
- /**
32
- * The error codes applicable to the filter behaviors of `@daffodil/category`.
33
- *
34
- * @docs-private
35
- */
36
- var DaffCategoryFilterErrorCodes;
37
- (function (DaffCategoryFilterErrorCodes) {
38
- DaffCategoryFilterErrorCodes["FILTER_REQUEST_TYPE_MISMATCH"] = "DAFF_CATEGORY_FILTER_REQUEST_TYPE_MISMATCH";
39
- DaffCategoryFilterErrorCodes["FILTER_REQUEST_NAME_MISMATCH"] = "DAFF_CATEGORY_FILTER_REQUEST_NAME_MISMATCH";
40
- DaffCategoryFilterErrorCodes["FILTER_NOT_FOUND"] = "DAFF_CATEGORY_FILTER_NOT_FOUND";
41
- DaffCategoryFilterErrorCodes["UNKNOWN_FILTER_TYPE"] = "DAFF_CATEGORY_UNKNOWN_FILTER_TYPE";
42
- })(DaffCategoryFilterErrorCodes || (DaffCategoryFilterErrorCodes = {}));
43
-
44
- /**
45
- *
46
- * The available error codes of the @daffodil/category package.
47
- *
48
- * Note that this only contains errors in the root @daffodil/category package, not
49
- * any of its subpackages e.g. `@daffodil/category/testing`.
50
- */
51
- const DaffCategoryErrorCodes = {
52
- ...DaffCategoryFilterErrorCodes,
53
- };
54
-
55
- /**
56
- * An error thrown when a lookup for a filter.
57
- */
58
- class DaffCategoryFilterNotFound extends DaffInheritableError {
59
- constructor(message) {
60
- super(message);
61
- this.code = DaffCategoryErrorCodes.FILTER_NOT_FOUND;
62
- }
63
- }
64
-
65
- /**
66
- * An error thrown when an operation targeting a filter matching one name
67
- * matches a filter of another name.
68
- */
69
- class DaffCategoryFilterRequestNameMismatch extends DaffInheritableError {
70
- constructor(message) {
71
- super(message);
72
- this.code = DaffCategoryErrorCodes.FILTER_REQUEST_NAME_MISMATCH;
73
- }
74
- }
75
-
76
- /**
77
- * An error thrown when an operation targeting a filter matching one type
78
- * matches a filter of another type.
79
- */
80
- class DaffCategoryFilterRequestTypeMismatch extends DaffInheritableError {
81
- constructor(message) {
82
- super(message);
83
- this.code = DaffCategoryErrorCodes.FILTER_REQUEST_TYPE_MISMATCH;
84
- }
85
- }
86
-
87
- /**
88
- * An error thrown when an operation targeting a filter matches a type unknown
89
- * to Daffodil.
90
- */
91
- class DaffCategoryUnknownFilterType extends DaffInheritableError {
92
- constructor(message) {
93
- super(message);
94
- this.code = DaffCategoryErrorCodes.UNKNOWN_FILTER_TYPE;
95
- }
96
- }
97
-
98
- /**
99
- * A mapping from error codes to error class constructors.
100
- */
101
- const DaffCategoryFiltersErrorMap = {
102
- [DaffCategoryFilterErrorCodes.FILTER_REQUEST_TYPE_MISMATCH]: DaffCategoryFilterRequestTypeMismatch,
103
- [DaffCategoryFilterErrorCodes.FILTER_REQUEST_NAME_MISMATCH]: DaffCategoryFilterRequestNameMismatch,
104
- [DaffCategoryFilterErrorCodes.FILTER_NOT_FOUND]: DaffCategoryFilterNotFound,
105
- [DaffCategoryFilterErrorCodes.UNKNOWN_FILTER_TYPE]: DaffCategoryUnknownFilterType,
106
- };
107
-
108
- /**
109
- * A mapping from error codes to error class constructors.
110
- */
111
- const DaffCategoryErrorMap = {
112
- ...DaffCategoryFiltersErrorMap,
113
- };
114
-
115
15
  /**
116
16
  * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.
117
17
  * Can be used to further refine Daffodil errors into more specific app errors.
118
18
  */
119
19
  const DAFF_CATEGORY_ERROR_MATCHER = new InjectionToken('DAFF_CATEGORY_ERROR_MATCHER', { factory: () => daffTransformErrorToStateError });
120
20
 
121
- /**
122
- * Applies a {@link DaffCategoryFilterEqualRequest} to a {@link DaffCategoryFilterEqual}
123
- *
124
- * @idempotent {filter}
125
- * @docs-private
126
- */
127
- const daffApplyFilterEqual = (request, filter) => ({
128
- ...filter,
129
- options: request.value.reduce((acc, value) => {
130
- const option = filter.options[value];
131
- if (option) {
132
- acc[value] = {
133
- ...option,
134
- applied: true,
135
- };
136
- }
137
- return acc;
138
- }, { ...filter.options }),
139
- });
140
-
141
- const daffCategoryComputeFilterRangePairLabel = (min, max) => `${min}${DaffCategoryFromToFilterSeparator}${max}`;
142
-
143
- /**
144
- * Applies a {@link DaffCategoryFilterRangeRequestBase} to a {@link DaffCategoryFilterRangeBase}
145
- *
146
- * @idempotent {filter}
147
- * @docs-private
148
- */
149
- const daffApplyFilterRange = (request, filter) => ({
150
- ...filter,
151
- options: {
152
- [daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max)]: {
153
- min: {
154
- value: request.value.min,
155
- label: String(request.value.min),
156
- },
157
- max: {
158
- value: request.value.max,
159
- label: String(request.value.max),
160
- },
161
- applied: true,
162
- },
163
- },
164
- });
165
-
166
- /**
167
- * Ensures that the names of the filter and the filter request match.
168
- *
169
- * @throws {@link DaffCategoryFilterNotFound} if the names do not match.
170
- */
171
- const daffCategoryValidateFilterRequestNameMatch = (request, filter) => {
172
- if (!filter) {
173
- throw new DaffCategoryFilterNotFound('Filter does not exist');
174
- }
175
- if (request.name !== filter.name) {
176
- throw new DaffCategoryFilterRequestNameMismatch('Filter name does not match request name');
177
- }
178
- };
179
-
180
- /**
181
- * Ensures that the types of the filter and the filter request match.
182
- *
183
- * @throws {@link DaffCategoryFilterRequestTypeMismatch} if the types do not match.
184
- */
185
- const daffCategoryValidateFilterRequestTypeMatch = (request, filter) => {
186
- if (request.type !== filter.type) {
187
- throw new DaffCategoryFilterRequestTypeMismatch('Filter types don\'t match');
188
- }
189
- };
190
-
191
- /**
192
- * Applies a filter request to the matching filter.
193
- *
194
- * @idempotent {filter}
195
- * @throws {@link DaffCategoryUnknownFilterType}
196
- */
197
- const daffApplyFilter = (request, filter) => {
198
- daffCategoryValidateFilterRequestNameMatch(request, filter);
199
- daffCategoryValidateFilterRequestTypeMatch(request, filter);
200
- switch (request.type) {
201
- case DaffCategoryFilterType.Equal:
202
- return daffApplyFilterEqual(request, filter);
203
- case (DaffCategoryFilterType.RangeNumeric):
204
- return daffApplyFilterRange(request, filter);
205
- default:
206
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
207
- }
208
- };
209
-
210
- /**
211
- * Applies a {@link DaffCategoryFilterRequest} to a {@link Dict} of {@link DaffCategoryFilter}
212
- * returning the updated {@link Dict}.
213
- *
214
- * @idempotent {filters}
215
- */
216
- const daffApplyRequestToFilters = (request, filters) => ({
217
- ...filters,
218
- [request.name]: daffApplyFilter(request, filters[request.name]),
219
- });
220
-
221
- /**
222
- * Applies filters from a {@link DaffCategoryFilterRequest} to a {@link Dict}
223
- * of {@link DaffCategoryFilter}.
224
- *
225
- * @idempotent {filters}
226
- */
227
- const daffApplyRequestsToFilters = (filtersRequests, filters) => filtersRequests.reduce((acc, request) => {
228
- acc[request.name] = daffApplyFilter(request, filters[request.name]);
229
- return acc;
230
- }, { ...filters });
231
-
232
- /**
233
- * Unapplies the applied filter options of a {@link DaffCategoryFilterEqual}
234
- *
235
- * @idempotent {filter}
236
- * @docs-private
237
- */
238
- const daffClearFilterEqual = (filter) => ({
239
- ...filter,
240
- options: Object.keys(filter.options).map((key) => filter.options[key]).reduce((acc, option) => {
241
- acc[option.value] = {
242
- ...option,
243
- applied: false,
244
- };
245
- return acc;
246
- }, { ...filter.options }),
247
- });
248
-
249
- /**
250
- * Unapplies the applied filter options of a {@link DaffCategoryFilterRangeBase}
251
- *
252
- * @idempotent {filter}
253
- * @docs-private
254
- */
255
- const daffClearFilterRange = (filter) => ({
256
- ...filter,
257
- options: {},
258
- });
259
-
260
- /**
261
- * Undoes the applied state of all applied filter options of a {@link DaffCategoryFilter}
262
- * returning the filter.
263
- *
264
- * @idempotent {filter}
265
- */
266
- const daffClearFilter = (filter) => {
267
- switch (filter.type) {
268
- case DaffCategoryFilterType.RangeNumeric:
269
- return daffClearFilterRange(filter);
270
- case DaffCategoryFilterType.Equal:
271
- return daffClearFilterEqual(filter);
272
- default:
273
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
274
- }
275
- };
276
-
277
- /**
278
- * Undoes the applied state of all applied filter options of a {@link Dict} of {@link DaffCategoryFilter}
279
- * returning updated {@link Dict}.
280
- *
281
- * @idempotent {filters}
282
- */
283
- const daffClearFilters = (filters) => Object.keys(filters).map((key) => filters[key]).reduce((acc, filter) => {
284
- acc[filter.name] = daffClearFilter(filter);
285
- return acc;
286
- }, {});
287
-
288
- /**
289
- * Removes the matching filter options of a {@link DaffCategoryFilterEqual}
290
- * that match the {@link DaffCategoryFilterEqualRequest}
291
- *
292
- * If there are no matching options, returns the original {@link DaffCategoryFilterEqual}
293
- *
294
- * @idempotent {filter}
295
- * @docs-private
296
- */
297
- const daffRemoveFilterEqual = (request, filter) => ({
298
- ...filter,
299
- options: request.value.reduce((acc, value) => {
300
- const option = filter.options[value];
301
- if (option) {
302
- acc[value] = {
303
- ...option,
304
- applied: false,
305
- };
306
- }
307
- return acc;
308
- }, { ...filter.options }),
309
- });
310
-
311
- /**
312
- * Removes the matching filter options of a {@link DaffCategoryFilterRangeBase}
313
- * that match the {@link DaffCategoryFilterRangeRequestBase}
314
- *
315
- * If there are no matching options, returns the original {@link DaffCategoryFilterRangeBase}
316
- *
317
- * @idempotent {filter}
318
- * @docs-private
319
- */
320
- const daffRemoveFilterRange = (request, filter) => filter.options[daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max)]
321
- ? ({
322
- ...filter,
323
- options: {},
324
- })
325
- : filter;
326
-
327
- /**
328
- * Undoes any applied options of a {@link DaffCategoryFilter} that match the
329
- * {@link DaffCategoryFilterRequest}, returning the {@link DaffCategoryFilter}.
330
- *
331
- * @idempotent {filter}
332
- * @pure
333
- */
334
- const daffRemoveFilter = (request, filter) => {
335
- daffCategoryValidateFilterRequestNameMatch(request, filter);
336
- daffCategoryValidateFilterRequestTypeMatch(request, filter);
337
- switch (request.type) {
338
- case DaffCategoryFilterType.Equal:
339
- return daffRemoveFilterEqual(request, filter);
340
- case (DaffCategoryFilterType.RangeNumeric):
341
- return daffRemoveFilterRange(request, filter);
342
- default:
343
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
344
- }
345
- };
346
-
347
- /**
348
- * Undoes any applied options of a particular filter of a {@link Dict} of {@link DaffCategoryFilter}
349
- * that match the {@link DaffCategoryFilterRequest}, returning the {@link Dict} of {@link DaffCategoryFilter}.
350
- *
351
- * @idempotent {filters}
352
- */
353
- const daffRemoveRequestFromFilters = (request, filters) => ({
354
- ...filters,
355
- [request.name]: daffRemoveFilter(request, filters[request.name]),
356
- });
357
-
358
- /**
359
- * Undoes all applied options of a {@link Dict} of {@link DaffCategoryFilter}
360
- * that match any of the {@link DaffCategoryFilterRequest},
361
- * returning the updated {@link Dict} of {@link DaffCategoryFilter}.
362
- *
363
- * @idempotent {filters}
364
- */
365
- const daffRemoveRequestsFromFilters = (requests, filters) => requests.reduce((acc, request) => {
366
- acc[request.name] = daffRemoveFilter(request, filters[request.name]);
367
- return acc;
368
- }, { ...filters });
369
-
370
- /**
371
- * Oscillates the applied state of the matching filter options of a {@link DaffCategoryFilterEqual}
372
- * that match the {@link DaffCategoryFilterEqualRequest}
373
- *
374
- * If there are no matching options, returns the original {@link DaffCategoryFilterEqual}
375
- *
376
- * @docs-private
377
- */
378
- const daffToggleFilterEqual = (request, filter) => {
379
- const option = filter.options[request.value];
380
- return option
381
- ? {
382
- ...filter,
383
- options: {
384
- ...filter.options,
385
- [option.value]: {
386
- ...option,
387
- applied: !option.applied,
388
- },
389
- },
390
- }
391
- : filter;
392
- };
393
-
394
- /**
395
- * Oscillates the applied state of the matching filter options of a {@link DaffCategoryFilterRangeBase}
396
- * that match the {@link DaffCategoryFilterRangeRequestBase}
397
- *
398
- * If there are no matching options, returns the original {@link DaffCategoryFilterRangeBase}
399
- *
400
- * @docs-private
401
- */
402
- const daffToggleFilterRange = (request, filter) => filter.options[daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max)]
403
- ? daffRemoveFilterRange(request, filter)
404
- : daffApplyFilterRange(request, filter);
405
-
406
- /**
407
- * Toggles the state of the filters (and their options) in the {@link DaffCategoryFilter}
408
- * that match the {@link DaffCategoryFilterToggleRequest} .
409
- */
410
- function daffToggleFilter(request, filter) {
411
- daffCategoryValidateFilterRequestNameMatch(request, filter);
412
- daffCategoryValidateFilterRequestTypeMatch(request, filter);
413
- switch (request.type) {
414
- case DaffCategoryFilterType.Equal:
415
- return daffToggleFilterEqual(request, filter);
416
- case (DaffCategoryFilterType.RangeNumeric):
417
- return daffToggleFilterRange(request, filter);
418
- default:
419
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
420
- }
421
- }
422
-
423
- /**
424
- * Toggles the state of a filter option in the {@link Dict<DaffCategoryFilter>}
425
- * that matches the {@link DaffCategoryFilterToggleRequest}.
426
- */
427
- const daffToggleRequestOnFilters = (request, filters) => ({
428
- ...filters,
429
- [request.name]: daffToggleFilter(request, filters[request.name]),
430
- });
431
-
432
- /**
433
- * Determines whether or not the {@link DaffCategoryFilterEqual} has any applied options.
434
- */
435
- const daffIsFilterEqualApplied = (filter) => Object.keys(filter.options).map((key) => filter.options[key]).findIndex(option => option.applied) > -1;
436
-
437
- /**
438
- * Determines whether or not a {@link DaffCategoryFilterRangeBase} has any applied options.
439
- */
440
- const daffIsFilterRangeApplied = (filter) => Object.keys(filter.options).length > 0;
441
-
442
- /**
443
- * Determines whether or not a filter has any currently applied options.
444
- */
445
- const daffIsFilterApplied = (filter) => {
446
- switch (filter.type) {
447
- case DaffCategoryFilterType.RangeNumeric:
448
- return daffIsFilterRangeApplied(filter);
449
- case DaffCategoryFilterType.Equal:
450
- return daffIsFilterEqualApplied(filter);
451
- default:
452
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
453
- }
454
- };
455
-
456
- /**
457
- * Determines whether or not any {@link DaffCategoryFilterEqual} options matching {@link DaffCategoryFilterEqualToggleRequest} are applied.
458
- */
459
- const daffIsEqualToggleRequestAppliedToFilter = (request, filter) => !!filter.options[request.value]?.applied;
460
-
461
- /**
462
- * Determines whether or not any {@link DaffCategoryFilterRangeBase} options matching {@link DaffCategoryFilterRangeRequestBase} are applied.
463
- */
464
- const daffIsRangeToggleRequestAppliedToFilter = (request, filter) => daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max) in filter.options;
465
-
466
- /**
467
- * Determines whether or not a {@link DaffCategoryFilterToggleRequest} is already applied to a {@link DaffCategoryFilter}.
468
- */
469
- const daffIsToggleRequestAppliedToFilter = (request, filter) => {
470
- switch (filter.type) {
471
- case DaffCategoryFilterType.RangeNumeric:
472
- return daffIsRangeToggleRequestAppliedToFilter(request, filter);
473
- case DaffCategoryFilterType.Equal:
474
- return daffIsEqualToggleRequestAppliedToFilter(request, filter);
475
- default:
476
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
477
- }
478
- };
479
-
480
- /**
481
- * Finds the applied options in the filter.
482
- */
483
- const daffCategoryFindAppliedFilterOptions = (filter) => Object.keys(filter.options).map((key) => filter.options[key]).filter((option) => option.applied);
484
-
485
- /**
486
- * Builds an {@link DaffCategoryFilterEqualRequest} from the passed filter and options.
487
- */
488
- const daffCategoryFilterEqualToRequest = (filter) => {
489
- const options = daffCategoryFindAppliedFilterOptions(filter);
490
- if (!options.length) {
491
- return null;
492
- }
493
- return {
494
- type: DaffCategoryFilterType.Equal,
495
- name: filter.name,
496
- value: options.map(option => option.value),
497
- };
498
- };
499
-
500
- /**
501
- * Builds a {@link DaffCategoryFilterRangeRequestBase} from the passed {@link DaffCategoryFilterRangeBase} and options.
502
- */
503
- const daffCategoryFilterRangeToRequest = (filter) => {
504
- const options = daffCategoryFindAppliedFilterOptions(filter);
505
- if (!options.length) {
506
- return null;
507
- }
508
- return {
509
- type: filter.type,
510
- name: filter.name,
511
- value: {
512
- min: options[0].min.value,
513
- max: options[0].max.value,
514
- },
515
- };
516
- };
517
-
518
- /**
519
- * Transforms a {@link DaffCategoryFilterRangeNumeric} into a {@link DaffCategoryFilterRangeNumericRequest}
520
- */
521
- const daffCategoryFilterRangeNumericToRequest = (filter) => daffCategoryFilterRangeToRequest(filter);
522
-
523
- /**
524
- * Builds a category filter request from a category filter.
525
- * Returns null if the category filter does not have at least one applied option.
526
- */
527
- function daffCategoryFilterToRequest(filter) {
528
- switch (filter.type) {
529
- case DaffCategoryFilterType.RangeNumeric:
530
- return daffCategoryFilterRangeNumericToRequest(filter);
531
- case DaffCategoryFilterType.Equal:
532
- return daffCategoryFilterEqualToRequest(filter);
533
- default:
534
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
535
- }
536
- }
537
- ;
538
-
539
- /**
540
- * Builds a list of filter requests from a list of filters.
541
- * Requests are only built for the filters that have at least one applied option.
542
- */
543
- function daffCategoryFiltersToRequests(filters) {
544
- return Object.keys(filters).map((key) => filters[key]).reduce((acc, filter) => {
545
- const request = daffCategoryFilterToRequest(filter);
546
- if (request) {
547
- acc.push(request);
548
- }
549
- return acc;
550
- }, []);
551
- }
552
-
553
- /**
554
- * Transforms an {@link DaffCategoryFilterRangePair[]} to a {@link Dict<DaffCategoryFilterRangePair>}.
555
- */
556
- const daffCategoryFilterRangePairArrayToDict = (pairs) => daffArrayToDict(pairs, pair => daffCategoryComputeFilterRangePairLabel(pair.min.value, pair.max.value));
557
-
558
- /**
559
- * Converts a list of category equal filter options to a dict of options keyed by option value.
560
- */
561
- const daffCategoryFilterEqualOptionArrayToDict = (options) => daffArrayToDict(options, option => option.value);
562
-
563
- /**
564
- * Converts a list of category filters into a {@link Dict} of filters keyed by filter name.
565
- */
566
- const daffCategoryFilterArrayToDict = (filters) => daffArrayToDict(filters, filter => filter.name);
567
-
568
- /**
569
- * Returns a {@link Dict<DaffCategoryFilter>} and only their applied options.
570
- * {@link DaffCategoryFilter} that have no applied options will be omitted.
571
- */
572
- const daffCategoryComputeAppliedFilters = (filters) => Object.keys(filters).map(key => filters[key]).reduce((acc, filter) => {
573
- const appliedOptions = daffCategoryFindAppliedFilterOptions(filter);
574
- if (appliedOptions.length > 0) {
575
- acc[filter.name] = {
576
- ...filter,
577
- options: filter.type === DaffCategoryFilterType.Equal
578
- ? daffCategoryFilterEqualOptionArrayToDict(appliedOptions)
579
- : daffCategoryFilterRangePairArrayToDict(appliedOptions),
580
- };
581
- }
582
- return acc;
583
- }, {});
584
-
585
21
  /**
586
22
  * Generated bundle index. Do not edit.
587
23
  */
588
24
 
589
- export { DAFF_CATEGORY_ERROR_MATCHER, DaffCategoryErrorCodes, DaffCategoryErrorMap, DaffCategoryFilterNotFound, DaffCategoryFilterRequestNameMismatch, DaffCategoryFilterRequestTypeMismatch, DaffCategoryFilterType, DaffCategoryFromToFilterSeparator, DaffCategoryRequestKind, DaffCategoryUnknownFilterType, daffApplyFilter, daffApplyRequestToFilters, daffApplyRequestsToFilters, daffCategoryComputeAppliedFilters, daffCategoryComputeFilterRangePairLabel, daffCategoryFilterArrayToDict, daffCategoryFilterEqualOptionArrayToDict, daffCategoryFilterRangePairArrayToDict, daffCategoryFilterToRequest, daffCategoryFiltersToRequests, daffCategoryFindAppliedFilterOptions, daffCategoryValidateFilterRequestNameMatch, daffCategoryValidateFilterRequestTypeMatch, daffClearFilter, daffClearFilters, daffIsFilterApplied, daffIsToggleRequestAppliedToFilter, daffRemoveFilter, daffRemoveRequestFromFilters, daffRemoveRequestsFromFilters, daffToggleFilter, daffToggleRequestOnFilters };
25
+ export { DAFF_CATEGORY_ERROR_MATCHER, DaffCategoryRequestKind };
590
26
  //# sourceMappingURL=daffodil-category.mjs.map