@daffodil/category 0.42.4 → 0.44.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 (378) hide show
  1. package/driver/magento/category.service.d.ts +2 -3
  2. package/driver/magento/models/complete-category-response.d.ts +6 -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 +26 -25
  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/effects/collection-route.effects.mjs +21 -0
  32. package/esm2020/routing/injection-tokens/public_api.mjs +2 -0
  33. package/esm2020/routing/injection-tokens/request/builder.token.mjs +8 -0
  34. package/esm2020/routing/injection-tokens/request/builders.token.mjs +30 -0
  35. package/esm2020/routing/module.mjs +72 -0
  36. package/esm2020/routing/public_api.mjs +3 -1
  37. package/esm2020/routing/resolvers/category-page/category-page.resolver.mjs +3 -6
  38. package/esm2020/routing/resolvers/category-page-id/category-page-id.resolver.mjs +11 -8
  39. package/esm2020/routing/resolvers/category-page-url/category-page-url.resolver.mjs +11 -13
  40. package/esm2020/state/actions/category-page-filter.actions.mjs +52 -16
  41. package/esm2020/state/actions/category-page.actions.mjs +1 -37
  42. package/esm2020/state/effects/category-page-filter.effects.mjs +14 -13
  43. package/esm2020/state/effects/category-page.effects.mjs +14 -12
  44. package/esm2020/state/facades/collection/facade.mjs +20 -0
  45. package/esm2020/state/facades/page/category-facade.interface.mjs +2 -0
  46. package/esm2020/state/facades/page/category.facade.mjs +52 -0
  47. package/esm2020/state/facades/public_api.mjs +3 -0
  48. package/esm2020/state/public_api.mjs +2 -2
  49. package/esm2020/state/reducers/category/category-reducer-state.interface.mjs +1 -1
  50. package/esm2020/state/reducers/category/category.reducer.mjs +14 -113
  51. package/esm2020/state/reducers/category-reducers.interface.mjs +1 -1
  52. package/esm2020/state/reducers/category-reducers.mjs +3 -1
  53. package/esm2020/state/reducers/page-metadata/reducer.mjs +57 -0
  54. package/esm2020/state/reducers/page-metadata/state.interface.mjs +2 -0
  55. package/esm2020/state/reducers/public_api.mjs +2 -1
  56. package/esm2020/state/selectors/category-page/category-page.selector.mjs +4 -24
  57. package/esm2020/state/selectors/category.selector.mjs +3 -1
  58. package/esm2020/state/selectors/collection/selectors.mjs +10 -0
  59. package/esm2020/state/testing/category-testing.module.mjs +5 -2
  60. package/esm2020/state/testing/mock-category-facade.mjs +1 -1
  61. package/esm2020/testing/factories/category-page-metadata.factory.mjs +11 -32
  62. package/esm2020/testing/factories/category.factory.mjs +1 -1
  63. package/esm2020/testing/factories/public_api.mjs +1 -2
  64. package/fesm2015/daffodil-category-driver-in-memory.mjs +13 -13
  65. package/fesm2015/daffodil-category-driver-in-memory.mjs.map +1 -1
  66. package/fesm2015/daffodil-category-driver-magento-testing.mjs +3 -174
  67. package/fesm2015/daffodil-category-driver-magento-testing.mjs.map +1 -1
  68. package/fesm2015/daffodil-category-driver-magento.mjs +45 -208
  69. package/fesm2015/daffodil-category-driver-magento.mjs.map +1 -1
  70. package/fesm2015/daffodil-category-routing.mjs +139 -32
  71. package/fesm2015/daffodil-category-routing.mjs.map +1 -1
  72. package/fesm2015/daffodil-category-state-testing.mjs +4 -1
  73. package/fesm2015/daffodil-category-state-testing.mjs.map +1 -1
  74. package/fesm2015/daffodil-category-state.mjs +218 -214
  75. package/fesm2015/daffodil-category-state.mjs.map +1 -1
  76. package/fesm2015/daffodil-category-testing.mjs +10 -364
  77. package/fesm2015/daffodil-category-testing.mjs.map +1 -1
  78. package/fesm2015/daffodil-category.mjs +1 -512
  79. package/fesm2015/daffodil-category.mjs.map +1 -1
  80. package/fesm2020/daffodil-category-driver-in-memory.mjs +13 -13
  81. package/fesm2020/daffodil-category-driver-in-memory.mjs.map +1 -1
  82. package/fesm2020/daffodil-category-driver-magento-testing.mjs +3 -174
  83. package/fesm2020/daffodil-category-driver-magento-testing.mjs.map +1 -1
  84. package/fesm2020/daffodil-category-driver-magento.mjs +48 -215
  85. package/fesm2020/daffodil-category-driver-magento.mjs.map +1 -1
  86. package/fesm2020/daffodil-category-routing.mjs +139 -28
  87. package/fesm2020/daffodil-category-routing.mjs.map +1 -1
  88. package/fesm2020/daffodil-category-state-testing.mjs +4 -1
  89. package/fesm2020/daffodil-category-state-testing.mjs.map +1 -1
  90. package/fesm2020/daffodil-category-state.mjs +233 -295
  91. package/fesm2020/daffodil-category-state.mjs.map +1 -1
  92. package/fesm2020/daffodil-category-testing.mjs +10 -383
  93. package/fesm2020/daffodil-category-testing.mjs.map +1 -1
  94. package/fesm2020/daffodil-category.mjs +1 -565
  95. package/fesm2020/daffodil-category.mjs.map +1 -1
  96. package/models/category-page-metadata.d.ts +3 -12
  97. package/models/category-request.d.ts +3 -30
  98. package/models/public_api.d.ts +1 -2
  99. package/package.json +4 -4
  100. package/public_api.d.ts +0 -2
  101. package/routing/effects/collection-route.effects.d.ts +10 -0
  102. package/routing/injection-tokens/public_api.d.ts +1 -0
  103. package/routing/injection-tokens/request/builder.token.d.ts +6 -0
  104. package/routing/injection-tokens/request/builders.token.d.ts +26 -0
  105. package/routing/module.d.ts +8 -0
  106. package/routing/public_api.d.ts +2 -0
  107. package/routing/resolvers/category-page-id/category-page-id.resolver.d.ts +3 -1
  108. package/routing/resolvers/category-page-url/category-page-url.resolver.d.ts +3 -3
  109. package/state/actions/category-page-filter.actions.d.ts +60 -20
  110. package/state/actions/category-page.actions.d.ts +3 -42
  111. package/state/effects/category-page-filter.effects.d.ts +2 -2
  112. package/state/facades/collection/facade.d.ts +9 -0
  113. package/state/facades/{category-facade.interface.d.ts → page/category-facade.interface.d.ts} +3 -44
  114. package/state/facades/{category.facade.d.ts → page/category.facade.d.ts} +3 -14
  115. package/state/facades/public_api.d.ts +3 -0
  116. package/state/public_api.d.ts +1 -2
  117. package/state/reducers/category/category-reducer-state.interface.d.ts +5 -5
  118. package/state/reducers/category/category.reducer.d.ts +2 -2
  119. package/state/reducers/category-reducers.interface.d.ts +5 -0
  120. package/state/reducers/page-metadata/reducer.d.ts +11 -0
  121. package/state/reducers/page-metadata/state.interface.d.ts +2 -0
  122. package/state/reducers/public_api.d.ts +2 -0
  123. package/state/selectors/category-page/category-page.selector.d.ts +2 -44
  124. package/state/selectors/category.selector.d.ts +2 -1
  125. package/state/selectors/collection/selectors.d.ts +5 -0
  126. package/state/testing/mock-category-facade.d.ts +6 -6
  127. package/testing/factories/category-page-metadata.factory.d.ts +4 -18
  128. package/testing/factories/public_api.d.ts +0 -1
  129. package/driver/magento/models/aggregation.d.ts +0 -16
  130. package/driver/magento/models/filter-type-field.interface.d.ts +0 -7
  131. package/driver/magento/models/filter-type.enum.d.ts +0 -5
  132. package/driver/magento/models/get-filter-types-response.interface.d.ts +0 -6
  133. package/driver/magento/models/page-info.d.ts +0 -5
  134. package/driver/magento/models/requests/filters.d.ts +0 -13
  135. package/driver/magento/models/requests/sort.d.ts +0 -7
  136. package/driver/magento/models/sort-fields.d.ts +0 -8
  137. package/driver/magento/queries/get-filter-types.d.ts +0 -2
  138. package/driver/magento/testing/factories/aggregation/aggregation.factory.d.ts +0 -12
  139. package/driver/magento/testing/factories/aggregation/public_api.d.ts +0 -3
  140. package/driver/magento/testing/factories/aggregation/type/price.factory.d.ts +0 -8
  141. package/driver/magento/testing/factories/aggregation/type/select.factory.d.ts +0 -8
  142. package/driver/magento/testing/factories/filter-type-field.factory.d.ts +0 -8
  143. package/driver/magento/testing/factories/page-info.factory.d.ts +0 -8
  144. package/driver/magento/testing/factories/sort-fields.factory.d.ts +0 -8
  145. package/driver/magento/transformers/applied-sort-option-transformer.service.d.ts +0 -9
  146. package/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.d.ts +0 -2
  147. package/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.d.ts +0 -3
  148. package/driver/magento/transformers/pure/aggregate/transform.d.ts +0 -3
  149. package/driver/magento/transformers/pure/aggregate/type/equal.d.ts +0 -3
  150. package/driver/magento/transformers/pure/aggregate/type/range.d.ts +0 -8
  151. package/driver/magento/transformers/pure/sort-default-option-first.d.ts +0 -2
  152. package/errors/codes.enum.d.ts +0 -15
  153. package/errors/map.d.ts +0 -5
  154. package/errors/public_api.d.ts +0 -2
  155. package/esm2020/driver/magento/models/aggregation.mjs +0 -2
  156. package/esm2020/driver/magento/models/filter-type-field.interface.mjs +0 -2
  157. package/esm2020/driver/magento/models/filter-type.enum.mjs +0 -8
  158. package/esm2020/driver/magento/models/get-filter-types-response.interface.mjs +0 -2
  159. package/esm2020/driver/magento/models/page-info.mjs +0 -2
  160. package/esm2020/driver/magento/models/requests/filters.mjs +0 -9
  161. package/esm2020/driver/magento/models/requests/sort.mjs +0 -6
  162. package/esm2020/driver/magento/models/sort-fields.mjs +0 -2
  163. package/esm2020/driver/magento/queries/get-filter-types.mjs +0 -15
  164. package/esm2020/driver/magento/testing/factories/aggregation/aggregation.factory.mjs +0 -24
  165. package/esm2020/driver/magento/testing/factories/aggregation/public_api.mjs +0 -4
  166. package/esm2020/driver/magento/testing/factories/aggregation/type/price.factory.mjs +0 -49
  167. package/esm2020/driver/magento/testing/factories/aggregation/type/select.factory.mjs +0 -44
  168. package/esm2020/driver/magento/testing/factories/filter-type-field.factory.mjs +0 -32
  169. package/esm2020/driver/magento/testing/factories/page-info.factory.mjs +0 -25
  170. package/esm2020/driver/magento/testing/factories/sort-fields.factory.mjs +0 -28
  171. package/esm2020/driver/magento/transformers/applied-sort-option-transformer.service.mjs +0 -28
  172. package/esm2020/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.mjs +0 -16
  173. package/esm2020/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.mjs +0 -2
  174. package/esm2020/driver/magento/transformers/pure/aggregate/transform.mjs +0 -14
  175. package/esm2020/driver/magento/transformers/pure/aggregate/type/equal.mjs +0 -16
  176. package/esm2020/driver/magento/transformers/pure/aggregate/type/range.mjs +0 -15
  177. package/esm2020/driver/magento/transformers/pure/sort-default-option-first.mjs +0 -12
  178. package/esm2020/errors/codes.enum.mjs +0 -12
  179. package/esm2020/errors/map.mjs +0 -8
  180. package/esm2020/errors/public_api.mjs +0 -3
  181. package/esm2020/filters/array-to-dict/array-to-dict.mjs +0 -6
  182. package/esm2020/filters/behaviors/apply/apply-filter.mjs +0 -24
  183. package/esm2020/filters/behaviors/apply/apply-request-to-filters.mjs +0 -12
  184. package/esm2020/filters/behaviors/apply/apply-requests-to-filters.mjs +0 -12
  185. package/esm2020/filters/behaviors/apply/public_api.mjs +0 -4
  186. package/esm2020/filters/behaviors/clear/clear-filter.mjs +0 -21
  187. package/esm2020/filters/behaviors/clear/clear-filters.mjs +0 -12
  188. package/esm2020/filters/behaviors/clear/public_api.mjs +0 -3
  189. package/esm2020/filters/behaviors/remove/public_api.mjs +0 -4
  190. package/esm2020/filters/behaviors/remove/remove-filter.mjs +0 -25
  191. package/esm2020/filters/behaviors/remove/remove-request-from-filters.mjs +0 -12
  192. package/esm2020/filters/behaviors/remove/remove-requests-from-filters.mjs +0 -13
  193. package/esm2020/filters/behaviors/toggle/public_api.mjs +0 -3
  194. package/esm2020/filters/behaviors/toggle/toggle-request-on-filters.mjs +0 -10
  195. package/esm2020/filters/behaviors/toggle/toggle.mjs +0 -22
  196. package/esm2020/filters/compute-applied-filters/compute-applied-filters.mjs +0 -21
  197. package/esm2020/filters/errors/codes.enum.mjs +0 -13
  198. package/esm2020/filters/errors/filter-not-found.error.mjs +0 -12
  199. package/esm2020/filters/errors/map.mjs +0 -15
  200. package/esm2020/filters/errors/public_api.mjs +0 -5
  201. package/esm2020/filters/errors/request-name-mismatch.error.mjs +0 -13
  202. package/esm2020/filters/errors/request-type-mismatch.error.mjs +0 -13
  203. package/esm2020/filters/errors/unknown-filter-type.error.mjs +0 -13
  204. package/esm2020/filters/find-applied/find-applied-options.mjs +0 -5
  205. package/esm2020/filters/find-applied/public_api.mjs +0 -2
  206. package/esm2020/filters/is-applied/is-filter-applied.mjs +0 -18
  207. package/esm2020/filters/is-applied/is-toggle-request-applied-to-filter.mjs +0 -18
  208. package/esm2020/filters/is-applied/public_api.mjs +0 -3
  209. package/esm2020/filters/public_api.mjs +0 -14
  210. package/esm2020/filters/to-request/filter-to-request.mjs +0 -20
  211. package/esm2020/filters/to-request/filters-to-requests.mjs +0 -15
  212. package/esm2020/filters/to-request/public_api.mjs +0 -3
  213. package/esm2020/filters/type/equal/array-to-dict/option.mjs +0 -6
  214. package/esm2020/filters/type/equal/behaviors/apply/apply.mjs +0 -20
  215. package/esm2020/filters/type/equal/behaviors/clear/clear.mjs +0 -17
  216. package/esm2020/filters/type/equal/behaviors/remove/remove.mjs +0 -23
  217. package/esm2020/filters/type/equal/behaviors/toggle/toggle.mjs +0 -24
  218. package/esm2020/filters/type/equal/is-applied/is-applied.mjs +0 -5
  219. package/esm2020/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.mjs +0 -5
  220. package/esm2020/filters/type/equal/public_api.mjs +0 -2
  221. package/esm2020/filters/type/equal/to-request/filter-to-request.mjs +0 -17
  222. package/esm2020/filters/type/range/array-to-dict/pair.mjs +0 -7
  223. package/esm2020/filters/type/range/behaviors/apply/apply.mjs +0 -24
  224. package/esm2020/filters/type/range/behaviors/clear/clear.mjs +0 -11
  225. package/esm2020/filters/type/range/behaviors/remove/remove.mjs +0 -17
  226. package/esm2020/filters/type/range/behaviors/toggle/toggle.mjs +0 -15
  227. package/esm2020/filters/type/range/compute-pair-label.mjs +0 -3
  228. package/esm2020/filters/type/range/is-applied/is-applied.mjs +0 -5
  229. package/esm2020/filters/type/range/is-applied/is-toggle-request-applied-to-filter.mjs +0 -6
  230. package/esm2020/filters/type/range/public_api.mjs +0 -3
  231. package/esm2020/filters/type/range/to-request/filter-to-request.mjs +0 -19
  232. package/esm2020/filters/type/range-numeric/to-request/filter-to-request.mjs +0 -6
  233. package/esm2020/filters/validators/public_api.mjs +0 -3
  234. package/esm2020/filters/validators/request-name-match.mjs +0 -16
  235. package/esm2020/filters/validators/request-type-match.mjs +0 -12
  236. package/esm2020/models/filters/category-filter-base.mjs +0 -2
  237. package/esm2020/models/filters/category-filter-option-base.mjs +0 -2
  238. package/esm2020/models/filters/category-filter-option.mjs +0 -2
  239. package/esm2020/models/filters/category-filter.mjs +0 -2
  240. package/esm2020/models/filters/category-filterable.mjs +0 -2
  241. package/esm2020/models/filters/filter-request.mjs +0 -2
  242. package/esm2020/models/filters/filter-toggle-request.mjs +0 -2
  243. package/esm2020/models/filters/public_api.mjs +0 -5
  244. package/esm2020/models/filters/type/category-filter-type.mjs +0 -9
  245. package/esm2020/models/filters/type/equal/filter.mjs +0 -2
  246. package/esm2020/models/filters/type/equal/option.mjs +0 -2
  247. package/esm2020/models/filters/type/equal/public_api.mjs +0 -2
  248. package/esm2020/models/filters/type/equal/request.mjs +0 -2
  249. package/esm2020/models/filters/type/equal/toggle-request.mjs +0 -2
  250. package/esm2020/models/filters/type/range/filter-base.mjs +0 -2
  251. package/esm2020/models/filters/type/range/option.mjs +0 -2
  252. package/esm2020/models/filters/type/range/pair.mjs +0 -2
  253. package/esm2020/models/filters/type/range/public_api.mjs +0 -2
  254. package/esm2020/models/filters/type/range/request-base.mjs +0 -2
  255. package/esm2020/models/filters/type/range/request-option.mjs +0 -2
  256. package/esm2020/models/filters/type/range/separator.mjs +0 -6
  257. package/esm2020/models/filters/type/range-numeric/filter.mjs +0 -2
  258. package/esm2020/models/filters/type/range-numeric/public_api.mjs +0 -2
  259. package/esm2020/models/filters/type/range-numeric/request.mjs +0 -2
  260. package/esm2020/models/filters/type/range-numeric/toggle-request.mjs +0 -2
  261. package/esm2020/state/facades/category-facade.interface.mjs +0 -2
  262. package/esm2020/state/facades/category.facade.mjs +0 -62
  263. package/esm2020/state/reducers/category/pure/build-metadata-from-request.mjs +0 -13
  264. package/esm2020/testing/factories/filters/filter.factory.mjs +0 -50
  265. package/esm2020/testing/factories/filters/public_api.mjs +0 -5
  266. package/esm2020/testing/factories/filters/request.factory.mjs +0 -27
  267. package/esm2020/testing/factories/filters/toggle-request.mjs +0 -35
  268. package/esm2020/testing/factories/filters/type/equal/option.mjs +0 -29
  269. package/esm2020/testing/factories/filters/type/equal/public_api.mjs +0 -4
  270. package/esm2020/testing/factories/filters/type/equal/request.mjs +0 -29
  271. package/esm2020/testing/factories/filters/type/equal/toggle-request.mjs +0 -29
  272. package/esm2020/testing/factories/filters/type/equal.mjs +0 -30
  273. package/esm2020/testing/factories/filters/type/public_api.mjs +0 -5
  274. package/esm2020/testing/factories/filters/type/range-numeric/option.mjs +0 -27
  275. package/esm2020/testing/factories/filters/type/range-numeric/pair.mjs +0 -37
  276. package/esm2020/testing/factories/filters/type/range-numeric/public_api.mjs +0 -6
  277. package/esm2020/testing/factories/filters/type/range-numeric/request-option.mjs +0 -27
  278. package/esm2020/testing/factories/filters/type/range-numeric/request.mjs +0 -38
  279. package/esm2020/testing/factories/filters/type/range-numeric/toggle-request.mjs +0 -38
  280. package/esm2020/testing/factories/filters/type/range-numeric.mjs +0 -32
  281. package/filters/array-to-dict/array-to-dict.d.ts +0 -6
  282. package/filters/behaviors/apply/apply-filter.d.ts +0 -8
  283. package/filters/behaviors/apply/apply-request-to-filters.d.ts +0 -9
  284. package/filters/behaviors/apply/apply-requests-to-filters.d.ts +0 -9
  285. package/filters/behaviors/apply/public_api.d.ts +0 -3
  286. package/filters/behaviors/clear/clear-filter.d.ts +0 -8
  287. package/filters/behaviors/clear/clear-filters.d.ts +0 -9
  288. package/filters/behaviors/clear/public_api.d.ts +0 -2
  289. package/filters/behaviors/remove/public_api.d.ts +0 -3
  290. package/filters/behaviors/remove/remove-filter.d.ts +0 -9
  291. package/filters/behaviors/remove/remove-request-from-filters.d.ts +0 -9
  292. package/filters/behaviors/remove/remove-requests-from-filters.d.ts +0 -10
  293. package/filters/behaviors/toggle/public_api.d.ts +0 -2
  294. package/filters/behaviors/toggle/toggle-request-on-filters.d.ts +0 -7
  295. package/filters/behaviors/toggle/toggle.d.ts +0 -6
  296. package/filters/compute-applied-filters/compute-applied-filters.d.ts +0 -7
  297. package/filters/errors/codes.enum.d.ts +0 -11
  298. package/filters/errors/filter-not-found.error.d.ts +0 -8
  299. package/filters/errors/map.d.ts +0 -13
  300. package/filters/errors/public_api.d.ts +0 -4
  301. package/filters/errors/request-name-mismatch.error.d.ts +0 -9
  302. package/filters/errors/request-type-mismatch.error.d.ts +0 -9
  303. package/filters/errors/unknown-filter-type.error.d.ts +0 -9
  304. package/filters/find-applied/find-applied-options.d.ts +0 -5
  305. package/filters/find-applied/public_api.d.ts +0 -1
  306. package/filters/is-applied/is-filter-applied.d.ts +0 -5
  307. package/filters/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
  308. package/filters/is-applied/public_api.d.ts +0 -2
  309. package/filters/public_api.d.ts +0 -13
  310. package/filters/to-request/filter-to-request.d.ts +0 -6
  311. package/filters/to-request/filters-to-requests.d.ts +0 -7
  312. package/filters/to-request/public_api.d.ts +0 -2
  313. package/filters/type/equal/array-to-dict/option.d.ts +0 -6
  314. package/filters/type/equal/behaviors/apply/apply.d.ts +0 -8
  315. package/filters/type/equal/behaviors/clear/clear.d.ts +0 -8
  316. package/filters/type/equal/behaviors/remove/remove.d.ts +0 -11
  317. package/filters/type/equal/behaviors/toggle/toggle.d.ts +0 -11
  318. package/filters/type/equal/is-applied/is-applied.d.ts +0 -5
  319. package/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
  320. package/filters/type/equal/public_api.d.ts +0 -1
  321. package/filters/type/equal/to-request/filter-to-request.d.ts +0 -5
  322. package/filters/type/range/array-to-dict/pair.d.ts +0 -6
  323. package/filters/type/range/behaviors/apply/apply.d.ts +0 -8
  324. package/filters/type/range/behaviors/clear/clear.d.ts +0 -8
  325. package/filters/type/range/behaviors/remove/remove.d.ts +0 -11
  326. package/filters/type/range/behaviors/toggle/toggle.d.ts +0 -10
  327. package/filters/type/range/compute-pair-label.d.ts +0 -1
  328. package/filters/type/range/is-applied/is-applied.d.ts +0 -5
  329. package/filters/type/range/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
  330. package/filters/type/range/public_api.d.ts +0 -2
  331. package/filters/type/range/to-request/filter-to-request.d.ts +0 -5
  332. package/filters/type/range-numeric/to-request/filter-to-request.d.ts +0 -5
  333. package/filters/validators/public_api.d.ts +0 -2
  334. package/filters/validators/request-name-match.d.ts +0 -7
  335. package/filters/validators/request-type-match.d.ts +0 -7
  336. package/models/filters/category-filter-base.d.ts +0 -25
  337. package/models/filters/category-filter-option-base.d.ts +0 -9
  338. package/models/filters/category-filter-option.d.ts +0 -6
  339. package/models/filters/category-filter.d.ts +0 -9
  340. package/models/filters/category-filterable.d.ts +0 -11
  341. package/models/filters/filter-request.d.ts +0 -7
  342. package/models/filters/filter-toggle-request.d.ts +0 -6
  343. package/models/filters/public_api.d.ts +0 -11
  344. package/models/filters/type/category-filter-type.d.ts +0 -7
  345. package/models/filters/type/equal/filter.d.ts +0 -25
  346. package/models/filters/type/equal/option.d.ts +0 -19
  347. package/models/filters/type/equal/public_api.d.ts +0 -4
  348. package/models/filters/type/equal/request.d.ts +0 -18
  349. package/models/filters/type/equal/toggle-request.d.ts +0 -18
  350. package/models/filters/type/range/filter-base.d.ts +0 -24
  351. package/models/filters/type/range/option.d.ts +0 -14
  352. package/models/filters/type/range/pair.d.ts +0 -20
  353. package/models/filters/type/range/public_api.d.ts +0 -6
  354. package/models/filters/type/range/request-base.d.ts +0 -20
  355. package/models/filters/type/range/request-option.d.ts +0 -14
  356. package/models/filters/type/range/separator.d.ts +0 -5
  357. package/models/filters/type/range-numeric/filter.d.ts +0 -11
  358. package/models/filters/type/range-numeric/public_api.d.ts +0 -3
  359. package/models/filters/type/range-numeric/request.d.ts +0 -11
  360. package/models/filters/type/range-numeric/toggle-request.d.ts +0 -12
  361. package/state/reducers/category/pure/build-metadata-from-request.d.ts +0 -2
  362. package/testing/factories/filters/filter.factory.d.ts +0 -18
  363. package/testing/factories/filters/public_api.d.ts +0 -4
  364. package/testing/factories/filters/request.factory.d.ts +0 -15
  365. package/testing/factories/filters/toggle-request.d.ts +0 -18
  366. package/testing/factories/filters/type/equal/option.d.ts +0 -17
  367. package/testing/factories/filters/type/equal/public_api.d.ts +0 -3
  368. package/testing/factories/filters/type/equal/request.d.ts +0 -16
  369. package/testing/factories/filters/type/equal/toggle-request.d.ts +0 -16
  370. package/testing/factories/filters/type/equal.d.ts +0 -17
  371. package/testing/factories/filters/type/public_api.d.ts +0 -4
  372. package/testing/factories/filters/type/range-numeric/option.d.ts +0 -15
  373. package/testing/factories/filters/type/range-numeric/pair.d.ts +0 -23
  374. package/testing/factories/filters/type/range-numeric/public_api.d.ts +0 -5
  375. package/testing/factories/filters/type/range-numeric/request-option.d.ts +0 -15
  376. package/testing/factories/filters/type/range-numeric/request.d.ts +0 -23
  377. package/testing/factories/filters/type/range-numeric/toggle-request.d.ts +0 -20
  378. package/testing/factories/filters/type/range-numeric.d.ts +0 -19
@@ -1,10 +1,9 @@
1
1
  import { Action } from '@ngrx/store';
2
2
  import { Observable } from 'rxjs';
3
- import { DaffGenericCategory, DaffCategory, DaffCategoryFilter, DaffCategoryPageMetadata } from '@daffodil/category';
4
- import { Dict } from '@daffodil/core';
5
- import { DaffStoreFacade, DaffSortDirectionEnum, DaffSortOption, DaffStateError } from '@daffodil/core/state';
3
+ import { DaffGenericCategory, DaffCategory } from '@daffodil/category';
4
+ import { DaffStoreFacade, DaffStateError } from '@daffodil/core/state';
6
5
  import { DaffProduct } from '@daffodil/product';
7
- import { DaffCategoryReducerState } from '../reducers/category/category-reducer-state.interface';
6
+ import { DaffCategoryReducerState } from '../../reducers/category/category-reducer-state.interface';
8
7
  /**
9
8
  * A facade for interacting with the category state.
10
9
  * This facade exposes many parts of the state for easy access and allows dispatching of actions.
@@ -14,10 +13,6 @@ export interface DaffCategoryFacadeInterface<V extends DaffGenericCategory<V> =
14
13
  * The currently selected category.
15
14
  */
16
15
  category$: Observable<V>;
17
- /**
18
- * The page metadata for the current category.
19
- */
20
- metadata$: Observable<DaffCategoryPageMetadata>;
21
16
  /**
22
17
  * The loading state of the current category page.
23
18
  */
@@ -30,42 +25,6 @@ export interface DaffCategoryFacadeInterface<V extends DaffGenericCategory<V> =
30
25
  * Whether the current category is in a resolving state.
31
26
  */
32
27
  isPageResolving$: Observable<boolean>;
33
- /**
34
- * The current page of products for the current category.
35
- */
36
- currentPage$: Observable<number>;
37
- /**
38
- * The number of pages of products available in the current category.
39
- */
40
- totalPages$: Observable<number>;
41
- /**
42
- * The total number of products for the filters applied.
43
- */
44
- totalProducts$: Observable<number>;
45
- /**
46
- * The number of products per page for the current category.
47
- */
48
- pageSize$: Observable<number>;
49
- /**
50
- * The filters available for the products of the current category.
51
- */
52
- filters$: Observable<Dict<DaffCategoryFilter>>;
53
- /**
54
- * The sort options available for the products of the current category.
55
- */
56
- sortOptions$: Observable<DaffSortOption[]>;
57
- /**
58
- * The sort options available for the products of the current category.
59
- */
60
- appliedFilters$: Observable<Dict<DaffCategoryFilter>>;
61
- /**
62
- * The sort options available for the products of the current category.
63
- */
64
- appliedSortOption$: Observable<string>;
65
- /**
66
- * The sort options available for the products of the current category.
67
- */
68
- appliedSortDirection$: Observable<DaffSortDirectionEnum>;
69
28
  /**
70
29
  * Products of the current category.
71
30
  */
@@ -1,10 +1,9 @@
1
1
  import { Store, Action } from '@ngrx/store';
2
2
  import { Observable } from 'rxjs';
3
- import { DaffGenericCategory, DaffCategory, DaffCategoryFilter, DaffCategoryPageMetadata } from '@daffodil/category';
4
- import { Dict } from '@daffodil/core';
5
- import { DaffSortDirectionEnum, DaffSortOption, DaffStateError } from '@daffodil/core/state';
3
+ import { DaffGenericCategory, DaffCategory } from '@daffodil/category';
4
+ import { DaffStateError } from '@daffodil/core/state';
6
5
  import { DaffProduct } from '@daffodil/product';
7
- import { DaffCategoryStateRootSlice, DaffCategoryReducerState } from '../reducers/public_api';
6
+ import { DaffCategoryStateRootSlice, DaffCategoryReducerState } from '../../reducers/public_api';
8
7
  import { DaffCategoryFacadeInterface } from './category-facade.interface';
9
8
  import * as i0 from "@angular/core";
10
9
  /**
@@ -17,19 +16,9 @@ export declare class DaffCategoryFacade<V extends DaffGenericCategory<V> = DaffC
17
16
  private store;
18
17
  private categorySelectors;
19
18
  category$: Observable<V>;
20
- metadata$: Observable<DaffCategoryPageMetadata>;
21
19
  pageLoadingState$: Observable<DaffCategoryReducerState['daffState']>;
22
20
  isPageMutating$: Observable<boolean>;
23
21
  isPageResolving$: Observable<boolean>;
24
- currentPage$: Observable<number>;
25
- totalPages$: Observable<number>;
26
- totalProducts$: Observable<number>;
27
- pageSize$: Observable<number>;
28
- filters$: Observable<Dict<DaffCategoryFilter>>;
29
- sortOptions$: Observable<DaffSortOption[]>;
30
- appliedFilters$: Observable<Dict<DaffCategoryFilter>>;
31
- appliedSortOption$: Observable<string>;
32
- appliedSortDirection$: Observable<DaffSortDirectionEnum>;
33
22
  products$: Observable<W[]>;
34
23
  categoryLoading$: Observable<boolean>;
35
24
  productsLoading$: Observable<boolean>;
@@ -0,0 +1,3 @@
1
+ export { DaffCategoryFacade } from './page/category.facade';
2
+ export { DaffCategoryFacadeInterface } from './page/category-facade.interface';
3
+ export { DaffCategoryProductCollectionFacade } from './collection/facade';
@@ -1,8 +1,7 @@
1
- export { DaffCategoryFacade } from './facades/category.facade';
2
- export { DaffCategoryFacadeInterface } from './facades/category-facade.interface';
3
1
  export { DaffCategoryStateModule } from './category-state.module';
4
2
  export * from './selectors/category.selector';
5
3
  export * from './reducers/public_api';
4
+ export * from './facades/public_api';
6
5
  export * from './actions/category.actions';
7
6
  export * from './actions/category-page.actions';
8
7
  export * from './actions/category-page-filter.actions';
@@ -1,10 +1,6 @@
1
- import { DaffCategoryPageMetadata } from '@daffodil/category';
1
+ import { DaffCategory } from '@daffodil/category';
2
2
  import { DaffStateError, DaffMutableLoadingState, DaffStateable } from '@daffodil/core/state';
3
3
  export interface DaffCategoryReducerState extends DaffStateable<DaffMutableLoadingState> {
4
- /**
5
- * The metadata for the current category page.
6
- */
7
- categoryPageMetadata: DaffCategoryPageMetadata;
8
4
  /**
9
5
  * @deprecated
10
6
  */
@@ -17,4 +13,8 @@ export interface DaffCategoryReducerState extends DaffStateable<DaffMutableLoadi
17
13
  * Errors associated with loading categories.
18
14
  */
19
15
  errors: DaffStateError[];
16
+ /**
17
+ * The ID of the currently loaded category.
18
+ */
19
+ id: DaffCategory['id'];
20
20
  }
@@ -1,6 +1,6 @@
1
1
  import { DaffGenericCategory } from '@daffodil/category';
2
2
  import { DaffProduct } from '@daffodil/product';
3
- import { DaffCategoryPageFilterActions } from '../../actions/category-page-filter.actions';
3
+ import { DaffCategoryPageProductCollectionActions } from '../../actions/category-page-filter.actions';
4
4
  import { DaffCategoryPageActions } from '../../actions/category-page.actions';
5
5
  import { DaffCategoryActions } from '../../actions/category.actions';
6
6
  import { DaffCategoryReducerState } from './category-reducer-state.interface';
@@ -8,4 +8,4 @@ export declare const initialState: DaffCategoryReducerState;
8
8
  /**
9
9
  * Returns the state for category data except for category entities.
10
10
  */
11
- export declare function daffCategoryReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(state: DaffCategoryReducerState, action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageFilterActions): DaffCategoryReducerState;
11
+ export declare function daffCategoryReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(state: DaffCategoryReducerState, action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions): DaffCategoryReducerState;
@@ -4,6 +4,7 @@ import { DaffProduct } from '@daffodil/product';
4
4
  import { DaffProductStateRootSlice } from '@daffodil/product/state';
5
5
  import { DAFF_CATEGORY_STORE_FEATURE_KEY } from './category-store-feature-key';
6
6
  import { DaffCategoryReducerState } from './category/category-reducer-state.interface';
7
+ import { DaffCategoryPageMetadataReducerState } from './page-metadata/state.interface';
7
8
  /**
8
9
  * An interface to describe all of category state.
9
10
  */
@@ -16,6 +17,10 @@ export interface DaffCategoryReducersState<V extends DaffGenericCategory<V> = Da
16
17
  * Redux state for category entities.
17
18
  */
18
19
  categoryEntities: EntityState<V>;
20
+ /**
21
+ * The product collection metadata for the category page.
22
+ */
23
+ pageMetadata: DaffCategoryPageMetadataReducerState;
19
24
  }
20
25
  export interface DaffCategoryStateRootSlice<V extends DaffGenericCategory<V> = DaffCategory, W extends DaffProduct = DaffProduct> extends DaffProductStateRootSlice<W> {
21
26
  [DAFF_CATEGORY_STORE_FEATURE_KEY]: DaffCategoryReducersState<V>;
@@ -0,0 +1,11 @@
1
+ import { DaffGenericCategory } from '@daffodil/category';
2
+ import { DaffProduct } from '@daffodil/product';
3
+ import { DaffCategoryPageProductCollectionActions } from '../../actions/category-page-filter.actions';
4
+ import { DaffCategoryPageActions } from '../../actions/category-page.actions';
5
+ import { DaffCategoryActions } from '../../actions/category.actions';
6
+ import { DaffCategoryPageMetadataReducerState } from './state.interface';
7
+ export declare const initialState: DaffCategoryPageMetadataReducerState;
8
+ /**
9
+ * Returns the state for category data except for category entities.
10
+ */
11
+ export declare function daffCategoryPageMetadataReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(state: import("@daffodil/category").DaffCategoryPageMetadata, action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions): DaffCategoryPageMetadataReducerState;
@@ -0,0 +1,2 @@
1
+ import { DaffCategoryPageMetadata } from '@daffodil/category';
2
+ export declare type DaffCategoryPageMetadataReducerState = DaffCategoryPageMetadata;
@@ -2,5 +2,7 @@ export { daffCategoryReducers } from './category-reducers';
2
2
  export { DaffCategoryReducersState, DaffCategoryStateRootSlice, } from './category-reducers.interface';
3
3
  export { DaffCategoryReducerState } from './category/category-reducer-state.interface';
4
4
  export { daffCategoryReducer } from './category/category.reducer';
5
+ export { DaffCategoryPageMetadataReducerState } from './page-metadata/state.interface';
6
+ export { daffCategoryPageMetadataReducer } from './page-metadata/reducer';
5
7
  export { daffCategoryEntitiesReducer } from './category-entities/category-entities.reducer';
6
8
  export { DAFF_CATEGORY_STORE_FEATURE_KEY } from './category-store-feature-key';
@@ -1,6 +1,5 @@
1
1
  import { MemoizedSelector } from '@ngrx/store';
2
- import { DaffGenericCategory, DaffCategory, DaffCategoryFilter, DaffCategoryPageMetadata } from '@daffodil/category';
3
- import { Dict } from '@daffodil/core';
2
+ import { DaffGenericCategory, DaffCategory, DaffCategoryPageMetadata } from '@daffodil/category';
4
3
  import { DaffStateError } from '@daffodil/core/state';
5
4
  import { DaffCategoryReducerState, DaffCategoryStateRootSlice } from '../../reducers/public_api';
6
5
  /**
@@ -11,55 +10,14 @@ export interface DaffCategoryPageMemoizedSelectors<V extends DaffGenericCategory
11
10
  * Selects all state related to the category page metadata, category loading, and errors.
12
11
  */
13
12
  selectCategoryState: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryReducerState>;
14
- /**
15
- * Selects the metadata for the current category page.
16
- */
17
- selectCategoryPageMetadata: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata>;
18
- /**
19
- * Selects the current page of products of the current category.
20
- */
21
- selectCategoryCurrentPage: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['current_page']>;
22
- /**
23
- * Selects the total number of pages of products that exist in the current category.
24
- */
25
- selectCategoryTotalPages: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['total_pages']>;
26
- /**
27
- * Selects the number of products on each category page.
28
- */
29
- selectCategoryPageSize: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['page_size']>;
30
- /**
31
- * Selects the filters that may be applied to the current category.
32
- */
33
- selectCategoryFilters: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['filters']>;
34
- /**
35
- * Selects the sort options that may be applied to the current category.
36
- */
37
- selectCategorySortOptions: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['sort_options']['options']>;
38
13
  /**
39
14
  * Selects the ids of all products in the current category page.
40
15
  */
41
- selectCategoryPageProductIds: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['product_ids']>;
16
+ selectCategoryPageProductIds: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['ids']>;
42
17
  /**
43
18
  * Selects whether the category page has no products.
44
19
  */
45
20
  selectIsCategoryPageEmpty: MemoizedSelector<DaffCategoryStateRootSlice<V>, boolean>;
46
- /**
47
- * Selects the total number of products for the current category.
48
- */
49
- selectCategoryPageTotalProducts: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['total_products']>;
50
- /**
51
- * Returns a dict of filters and only their applied options.
52
- * Filters with no applied options will be omitted.
53
- */
54
- selectCategoryPageAppliedFilters: MemoizedSelector<DaffCategoryStateRootSlice<V>, Dict<DaffCategoryFilter>>;
55
- /**
56
- * Selects the applied sorting option if one is applied.
57
- */
58
- selectCategoryPageAppliedSortOption: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['applied_sort_option']>;
59
- /**
60
- * Selects the applied sorting direction if a sorting option is applied.
61
- */
62
- selectCategoryPageAppliedSortDirection: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['applied_sort_direction']>;
63
21
  /**
64
22
  * Selects the loading state of the current category; e.g. mutating, resolving, stable.
65
23
  */
@@ -5,10 +5,11 @@ import { DaffCategoryStateRootSlice } from '../reducers/public_api';
5
5
  import { DaffCategoryEntitiesMemoizedSelectors } from './category-entities/category-entities.selector';
6
6
  import { DaffCategoryFeatureMemoizedSelectors } from './category-feature.selector';
7
7
  import { DaffCategoryPageMemoizedSelectors } from './category-page/category-page.selector';
8
+ import { DaffCategoryPageProductCollectionSelectors } from './collection/selectors';
8
9
  /**
9
10
  * An interface for selectors that combine category metadata and category entities selectors.
10
11
  */
11
- export interface DaffCategoryMemoizedSelectors<V extends DaffGenericCategory<V> = DaffCategory, W extends DaffProduct = DaffProduct> extends DaffCategoryFeatureMemoizedSelectors<V>, DaffCategoryPageMemoizedSelectors<V>, DaffCategoryEntitiesMemoizedSelectors<V> {
12
+ export interface DaffCategoryMemoizedSelectors<V extends DaffGenericCategory<V> = DaffCategory, W extends DaffProduct = DaffProduct> extends DaffCategoryFeatureMemoizedSelectors<V>, DaffCategoryPageMemoizedSelectors<V>, DaffCategoryPageProductCollectionSelectors, DaffCategoryEntitiesMemoizedSelectors<V> {
12
13
  /**
13
14
  * Selects the current category
14
15
  */
@@ -0,0 +1,5 @@
1
+ import { DaffCategoryPageMetadata } from '@daffodil/category';
2
+ import { DaffProductCollectionMemoizedSelectors } from '@daffodil/product/state';
3
+ import { DaffCategoryStateRootSlice } from '../../reducers/public_api';
4
+ export declare type DaffCategoryPageProductCollectionSelectors = DaffProductCollectionMemoizedSelectors<DaffCategoryStateRootSlice, DaffCategoryPageMetadata>;
5
+ export declare const getCategoryProductCollectionSelectors: () => DaffCategoryPageProductCollectionSelectors;
@@ -1,11 +1,11 @@
1
1
  import { Action } from '@ngrx/store';
2
2
  import { BehaviorSubject } from 'rxjs';
3
- import { DaffCategory, DaffCategoryFilter, DaffCategoryPageMetadata } from '@daffodil/category';
3
+ import { DaffCategory, DaffCategoryPageMetadata } from '@daffodil/category';
4
4
  import { DaffCategoryFacadeInterface } from '@daffodil/category/state';
5
5
  import { DaffCategoryReducerState } from '@daffodil/category/state';
6
- import { Dict } from '@daffodil/core';
7
- import { DaffSortDirectionEnum, DaffSortOption, DaffStateError } from '@daffodil/core/state';
8
- import { DaffProduct } from '@daffodil/product';
6
+ import { DaffSortDirectionEnum, DaffSortOption } from '@daffodil/core';
7
+ import { DaffStateError } from '@daffodil/core/state';
8
+ import { DaffProduct, DaffProductFilter } from '@daffodil/product';
9
9
  import * as i0 from "@angular/core";
10
10
  /**
11
11
  * Can be used to mock out the {@link DaffCategoryFacade} in testing environments.
@@ -22,9 +22,9 @@ export declare class MockDaffCategoryFacade implements DaffCategoryFacadeInterfa
22
22
  totalPages$: BehaviorSubject<number>;
23
23
  totalProducts$: BehaviorSubject<number>;
24
24
  pageSize$: BehaviorSubject<number>;
25
- filters$: BehaviorSubject<Dict<DaffCategoryFilter>>;
25
+ filters$: BehaviorSubject<Record<DaffProductFilter['name'], DaffProductFilter>>;
26
26
  sortOptions$: BehaviorSubject<DaffSortOption[]>;
27
- appliedFilters$: BehaviorSubject<Dict<DaffCategoryFilter>>;
27
+ appliedFilters$: BehaviorSubject<Record<DaffProductFilter['name'], DaffProductFilter>>;
28
28
  appliedSortOption$: BehaviorSubject<string>;
29
29
  appliedSortDirection$: BehaviorSubject<DaffSortDirectionEnum>;
30
30
  products$: BehaviorSubject<DaffProduct[]>;
@@ -1,29 +1,15 @@
1
1
  import { DaffCategoryPageMetadata } from '@daffodil/category';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
2
+ import { DaffModelFactory, DaffNumericallyPaginableFactory, DaffSortableFactory } from '@daffodil/core/testing';
3
+ import { DaffProductFilterFactory, MockProductCollectionMetadata } from '@daffodil/product/testing';
3
4
  import * as i0 from "@angular/core";
4
- export declare class MockCategoryPageMetadata implements DaffCategoryPageMetadata {
5
+ export declare class MockCategoryPageMetadata extends MockProductCollectionMetadata implements DaffCategoryPageMetadata {
5
6
  id: any;
6
- total_products: any;
7
- product_ids: any[];
8
- sort_options: {
9
- default: string;
10
- options: {
11
- label: string;
12
- value: string;
13
- }[];
14
- };
15
- applied_sort_option: string;
16
- applied_sort_direction: any;
17
- current_page: number;
18
- total_pages: any;
19
- page_size: number;
20
- filters: {};
21
7
  }
22
8
  /**
23
9
  * A factory for creating {@link DaffCategoryPageMetadata}.
24
10
  */
25
11
  export declare class DaffCategoryPageMetadataFactory extends DaffModelFactory<DaffCategoryPageMetadata> {
26
- constructor();
12
+ constructor(pageInfoFactory: DaffNumericallyPaginableFactory, sortFieldsFactory: DaffSortableFactory, filterFactory: DaffProductFilterFactory);
27
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryPageMetadataFactory, never>;
28
14
  static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryPageMetadataFactory>;
29
15
  }
@@ -1,3 +1,2 @@
1
1
  export { DaffCategoryFactory } from './category.factory';
2
2
  export { DaffCategoryPageMetadataFactory, MockCategoryPageMetadata, } from './category-page-metadata.factory';
3
- export * from './filters/public_api';
@@ -1,16 +0,0 @@
1
- import { MagentoCategoryFilterType } from './filter-type.enum';
2
- /**
3
- * Filterable options for products.
4
- */
5
- export interface MagentoAggregation {
6
- attribute_code: string;
7
- type?: MagentoCategoryFilterType;
8
- count?: number;
9
- label?: string;
10
- options?: MagentoAggregationOption[];
11
- }
12
- export interface MagentoAggregationOption {
13
- value: string;
14
- count?: number;
15
- label?: string;
16
- }
@@ -1,7 +0,0 @@
1
- import { MagentoCategoryFilterType } from './filter-type.enum';
2
- export interface MagentoCategoryFilterTypeField {
3
- name: string;
4
- type: {
5
- name: MagentoCategoryFilterType;
6
- };
7
- }
@@ -1,5 +0,0 @@
1
- export declare enum MagentoCategoryFilterType {
2
- Equal = "FilterEqualTypeInput",
3
- Match = "FilterEqualTypeInput",
4
- Range = "FilterRangeTypeInput"
5
- }
@@ -1,6 +0,0 @@
1
- import { MagentoCategoryFilterTypeField } from './filter-type-field.interface';
2
- export interface MagentoGetCategoryFilterTypesResponse {
3
- __type: {
4
- inputFields: MagentoCategoryFilterTypeField[];
5
- };
6
- }
@@ -1,5 +0,0 @@
1
- export interface MagentoPageInfo {
2
- current_page: number;
3
- page_size: number;
4
- total_pages: number;
5
- }
@@ -1,13 +0,0 @@
1
- export declare enum MagentoCategoryFilterActionEnum {
2
- Equal = "eq",
3
- To = "to",
4
- From = "from",
5
- In = "in",
6
- Match = "match"
7
- }
8
- export interface MagentoCategoryFilters {
9
- [x: string]: MagentoFilterAction;
10
- }
11
- export declare type MagentoFilterAction = {
12
- [key in MagentoCategoryFilterActionEnum]?: string | string[];
13
- };
@@ -1,7 +0,0 @@
1
- export declare enum MagentoSortDirectionEnum {
2
- Ascending = "ASC",
3
- Decending = "DESC"
4
- }
5
- export interface MagentoSortFieldAction {
6
- [x: string]: MagentoSortDirectionEnum;
7
- }
@@ -1,8 +0,0 @@
1
- export interface MagentoSortFields {
2
- default: string;
3
- options: MagentoSortOption[];
4
- }
5
- export interface MagentoSortOption {
6
- label: string;
7
- value: string;
8
- }
@@ -1,2 +0,0 @@
1
- export declare const DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME = "MagentoGetFilterFieldTypesForCategory";
2
- export declare const MagentoGetCategoryFilterTypes: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
@@ -1,12 +0,0 @@
1
- import { MagentoAggregation } from '@daffodil/category/driver/magento';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
3
- import { DaffCategoryDriverMagentoAggregationPriceFactory } from './type/price.factory';
4
- import { DaffCategoryDriverMagentoAggregationSelectFactory } from './type/select.factory';
5
- import * as i0 from "@angular/core";
6
- export declare class DaffCategoryDriverMagentoAggregationFactory extends DaffModelFactory<MagentoAggregation> {
7
- private selectFactory;
8
- private priceFactory;
9
- constructor(selectFactory: DaffCategoryDriverMagentoAggregationSelectFactory, priceFactory: DaffCategoryDriverMagentoAggregationPriceFactory);
10
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryDriverMagentoAggregationFactory, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryDriverMagentoAggregationFactory>;
12
- }
@@ -1,3 +0,0 @@
1
- export { DaffCategoryDriverMagentoAggregationFactory } from './aggregation.factory';
2
- export { DaffCategoryDriverMagentoAggregationPriceFactory } from './type/price.factory';
3
- export { DaffCategoryDriverMagentoAggregationSelectFactory } from './type/select.factory';
@@ -1,8 +0,0 @@
1
- import { MagentoAggregation } from '@daffodil/category/driver/magento';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
3
- import * as i0 from "@angular/core";
4
- export declare class DaffCategoryDriverMagentoAggregationPriceFactory extends DaffModelFactory<MagentoAggregation> {
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryDriverMagentoAggregationPriceFactory, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryDriverMagentoAggregationPriceFactory>;
8
- }
@@ -1,8 +0,0 @@
1
- import { MagentoAggregation } from '@daffodil/category/driver/magento';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
3
- import * as i0 from "@angular/core";
4
- export declare class DaffCategoryDriverMagentoAggregationSelectFactory extends DaffModelFactory<MagentoAggregation> {
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryDriverMagentoAggregationSelectFactory, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryDriverMagentoAggregationSelectFactory>;
8
- }
@@ -1,8 +0,0 @@
1
- import { MagentoCategoryFilterTypeField } from '@daffodil/category/driver/magento';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
3
- import * as i0 from "@angular/core";
4
- export declare class DaffCategoryDriverMagentoCategoryFilterTypeFieldFactory extends DaffModelFactory<MagentoCategoryFilterTypeField> {
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryDriverMagentoCategoryFilterTypeFieldFactory, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryDriverMagentoCategoryFilterTypeFieldFactory>;
8
- }
@@ -1,8 +0,0 @@
1
- import { MagentoPageInfo } from '@daffodil/category/driver/magento';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
3
- import * as i0 from "@angular/core";
4
- export declare class DaffCategoryDriverMagentoPageInfoFactory extends DaffModelFactory<MagentoPageInfo> {
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryDriverMagentoPageInfoFactory, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryDriverMagentoPageInfoFactory>;
8
- }
@@ -1,8 +0,0 @@
1
- import { MagentoSortFields } from '@daffodil/category/driver/magento';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
3
- import * as i0 from "@angular/core";
4
- export declare class DaffCategoryDriverMagentoSortFieldsFactory extends DaffModelFactory<MagentoSortFields> {
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryDriverMagentoSortFieldsFactory, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryDriverMagentoSortFieldsFactory>;
8
- }
@@ -1,9 +0,0 @@
1
- import { DaffSortDirectionEnum } from '@daffodil/core/state';
2
- import { MagentoSortFieldAction } from '../models/public_api';
3
- import * as i0 from "@angular/core";
4
- export declare class DaffMagentoAppliedSortOptionTransformService {
5
- transform(appliedOption: string, appliedDirection: DaffSortDirectionEnum): MagentoSortFieldAction;
6
- private transformDirection;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffMagentoAppliedSortOptionTransformService, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<DaffMagentoAppliedSortOptionTransformService>;
9
- }
@@ -1,2 +0,0 @@
1
- import { MagentoGetCategoryFilterTypesResponse, MagentoGetProductsResponse } from '../../../models/public_api';
2
- export declare function addMetadataTypesToAggregates(attributeResponse: MagentoGetCategoryFilterTypesResponse, aggregationResponse: MagentoGetProductsResponse): MagentoGetProductsResponse;
@@ -1,3 +0,0 @@
1
- import { MagentoGetCategoryFilterTypesResponse } from '../../../models/get-filter-types-response.interface';
2
- import { MagentoAggregation, MagentoCategoryFilterType } from '../../../models/public_api';
3
- export declare const getMatchedAttributeType: (aggregate: MagentoAggregation, attributes: MagentoGetCategoryFilterTypesResponse) => MagentoCategoryFilterType;
@@ -1,3 +0,0 @@
1
- import { DaffCategoryFilter } from '@daffodil/category';
2
- import { MagentoAggregation } from '../../../models/public_api';
3
- export declare const transformAggregate: (aggregate: MagentoAggregation) => DaffCategoryFilter;
@@ -1,3 +0,0 @@
1
- import { DaffCategoryFilterEqual } from '@daffodil/category';
2
- import { MagentoAggregation } from '../../../../models/public_api';
3
- export declare const transformAggregateEqual: (aggregate: MagentoAggregation) => DaffCategoryFilterEqual;
@@ -1,8 +0,0 @@
1
- import { DaffCategoryFilterRangeNumeric } from '@daffodil/category';
2
- import { MagentoAggregation } from '../../../../models/public_api';
3
- /**
4
- * The char that Magento uses to separate individual elements of the buckets
5
- * they return for range elements
6
- */
7
- export declare const magentoBucketSeparator = "-";
8
- export declare const transformAggregateRange: (aggregate: MagentoAggregation) => DaffCategoryFilterRangeNumeric;
@@ -1,2 +0,0 @@
1
- import { MagentoSortFields } from '../../models/sort-fields';
2
- export declare function coerceDefaultSortOptionFirst(sort_fields: MagentoSortFields): MagentoSortFields;
@@ -1,15 +0,0 @@
1
- import { DaffCategoryFilterErrorCodes } from '../filters/errors/codes.enum';
2
- /**
3
- *
4
- * The available error codes of the @daffodil/category package.
5
- *
6
- * Note that this only contains errors in the root @daffodil/category package, not
7
- * any of its subpackages e.g. `@daffodil/category/testing`.
8
- */
9
- export declare const DaffCategoryErrorCodes: {
10
- FILTER_REQUEST_TYPE_MISMATCH: DaffCategoryFilterErrorCodes.FILTER_REQUEST_TYPE_MISMATCH;
11
- FILTER_REQUEST_NAME_MISMATCH: DaffCategoryFilterErrorCodes.FILTER_REQUEST_NAME_MISMATCH;
12
- FILTER_NOT_FOUND: DaffCategoryFilterErrorCodes.FILTER_NOT_FOUND;
13
- UNKNOWN_FILTER_TYPE: DaffCategoryFilterErrorCodes.UNKNOWN_FILTER_TYPE;
14
- };
15
- export declare type DaffCategoryErrorCodes = DaffCategoryFilterErrorCodes;
package/errors/map.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { DaffCategoryFiltersErrorMap } from '../filters/errors/map';
2
- /**
3
- * A mapping from error codes to error class constructors.
4
- */
5
- export declare const DaffCategoryErrorMap: typeof DaffCategoryFiltersErrorMap;
@@ -1,2 +0,0 @@
1
- export { DaffCategoryErrorCodes } from './codes.enum';
2
- export { DaffCategoryErrorMap } from './map';
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NhdGVnb3J5L2RyaXZlci9tYWdlbnRvL3NyYy9tb2RlbHMvYWdncmVnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9DYXRlZ29yeUZpbHRlclR5cGUgfSBmcm9tICcuL2ZpbHRlci10eXBlLmVudW0nO1xuXG4vKipcbiAqIEZpbHRlcmFibGUgb3B0aW9ucyBmb3IgcHJvZHVjdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFnZW50b0FnZ3JlZ2F0aW9uIHtcbiAgYXR0cmlidXRlX2NvZGU6IHN0cmluZztcbiAgdHlwZT86IE1hZ2VudG9DYXRlZ29yeUZpbHRlclR5cGU7XG4gIGNvdW50PzogbnVtYmVyO1xuICBsYWJlbD86IHN0cmluZztcbiAgb3B0aW9ucz86IE1hZ2VudG9BZ2dyZWdhdGlvbk9wdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hZ2VudG9BZ2dyZWdhdGlvbk9wdGlvbiB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNvdW50PzogbnVtYmVyO1xuICBsYWJlbD86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXR5cGUtZmllbGQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jYXRlZ29yeS9kcml2ZXIvbWFnZW50by9zcmMvbW9kZWxzL2ZpbHRlci10eXBlLWZpZWxkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFnZW50b0NhdGVnb3J5RmlsdGVyVHlwZSB9IGZyb20gJy4vZmlsdGVyLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFnZW50b0NhdGVnb3J5RmlsdGVyVHlwZUZpZWxkIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiB7XG4gICAgbmFtZTogTWFnZW50b0NhdGVnb3J5RmlsdGVyVHlwZTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,8 +0,0 @@
1
- // maybe this shoould be in @daffodil/product/driver/magento?
2
- export var MagentoCategoryFilterType;
3
- (function (MagentoCategoryFilterType) {
4
- MagentoCategoryFilterType["Equal"] = "FilterEqualTypeInput";
5
- MagentoCategoryFilterType["Match"] = "FilterEqualTypeInput";
6
- MagentoCategoryFilterType["Range"] = "FilterRangeTypeInput";
7
- })(MagentoCategoryFilterType || (MagentoCategoryFilterType = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvZHJpdmVyL21hZ2VudG8vc3JjL21vZGVscy9maWx0ZXItdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCxNQUFNLENBQU4sSUFBWSx5QkFJWDtBQUpELFdBQVkseUJBQXlCO0lBQ25DLDJEQUE4QixDQUFBO0lBQzlCLDJEQUE4QixDQUFBO0lBQzlCLDJEQUE4QixDQUFBO0FBQ2hDLENBQUMsRUFKVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBSXBDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbWF5YmUgdGhpcyBzaG9vdWxkIGJlIGluIEBkYWZmb2RpbC9wcm9kdWN0L2RyaXZlci9tYWdlbnRvP1xuZXhwb3J0IGVudW0gTWFnZW50b0NhdGVnb3J5RmlsdGVyVHlwZSB7XG4gIEVxdWFsID0gJ0ZpbHRlckVxdWFsVHlwZUlucHV0JyxcbiAgTWF0Y2ggPSAnRmlsdGVyRXF1YWxUeXBlSW5wdXQnLFxuICBSYW5nZSA9ICdGaWx0ZXJSYW5nZVR5cGVJbnB1dCdcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpbHRlci10eXBlcy1yZXNwb25zZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NhdGVnb3J5L2RyaXZlci9tYWdlbnRvL3NyYy9tb2RlbHMvZ2V0LWZpbHRlci10eXBlcy1yZXNwb25zZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9DYXRlZ29yeUZpbHRlclR5cGVGaWVsZCB9IGZyb20gJy4vZmlsdGVyLXR5cGUtZmllbGQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBNYWdlbnRvR2V0Q2F0ZWdvcnlGaWx0ZXJUeXBlc1Jlc3BvbnNlIHtcbiAgX190eXBlOiB7XG4gICAgaW5wdXRGaWVsZHM6IE1hZ2VudG9DYXRlZ29yeUZpbHRlclR5cGVGaWVsZFtdO1xuICB9O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jYXRlZ29yeS9kcml2ZXIvbWFnZW50by9zcmMvbW9kZWxzL3BhZ2UtaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNYWdlbnRvUGFnZUluZm8ge1xuICBjdXJyZW50X3BhZ2U6IG51bWJlcjtcbiAgcGFnZV9zaXplOiBudW1iZXI7XG4gIHRvdGFsX3BhZ2VzOiBudW1iZXI7XG59XG4iXX0=