@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,42 +1,56 @@
1
1
  import * as i0 from '@angular/core';
2
- import { PLATFORM_ID, Injectable, Inject } from '@angular/core';
2
+ import { InjectionToken, PLATFORM_ID, Injectable, Inject, inject, NgModule } from '@angular/core';
3
3
  import { isPlatformBrowser } from '@angular/common';
4
- import { ofType } from '@ngrx/effects';
4
+ import * as i1$1 from '@ngrx/effects';
5
+ import { ofType, EffectsModule } from '@ngrx/effects';
5
6
  import * as i1 from '@ngrx/store';
6
7
  import { of } from 'rxjs';
7
8
  import { mapTo, take } from 'rxjs/operators';
8
9
  import { DaffCategoryRequestKind } from '@daffodil/category';
9
- import { DaffCategoryPageLoad, DaffCategoryPageActionTypes, DaffCategoryPageLoadByUrl } from '@daffodil/category/state';
10
+ import * as i3 from '@daffodil/category/state';
11
+ import { DaffCategoryPageLoad, DaffCategoryPageActionTypes, DaffCategoryPageLoadByUrl, DaffCategoryPageProductCollectionActionTypes } from '@daffodil/category/state';
10
12
  import * as i2 from '@daffodil/core/routing';
13
+ import * as i4 from '@daffodil/product/routing';
14
+ import { DaffProductRoutingCollectionEffects, DaffProductRoutingModule, DaffProductGetCollectionRequestFromRoute } from '@daffodil/product/routing';
15
+ import * as i2$1 from '@angular/router';
16
+
17
+ /**
18
+ * An internal token to combine the {@link DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS} into a single builder.
19
+ */
20
+ const DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER = new InjectionToken('DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER', {
21
+ factory: () => () => ({}),
22
+ });
11
23
 
12
24
  /**
13
25
  * Resolves category data for category pages, and will only resolve the url after a category request succeeds or fails. This resolver expects a url
14
26
  * of the form `some/url/{id}` where `{id}` is the category id.
15
27
  */
16
28
  class DaffCategoryPageIdResolver {
17
- constructor(platformId, store, dispatcher) {
29
+ constructor(platformId, requestBuilder, store, dispatcher) {
18
30
  this.platformId = platformId;
31
+ this.requestBuilder = requestBuilder;
19
32
  this.store = store;
20
33
  this.dispatcher = dispatcher;
21
34
  }
22
35
  resolve(route) {
23
36
  this.store.dispatch(new DaffCategoryPageLoad({
37
+ ...this.requestBuilder(route),
24
38
  id: route.paramMap.get('id'),
25
39
  kind: DaffCategoryRequestKind.ID,
26
40
  }));
27
41
  return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction), mapTo(true), take(1));
28
42
  }
29
43
  }
30
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageIdResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageIdResolver, deps: [{ token: PLATFORM_ID }, { token: i1.Store }, { token: i1.ActionsSubject }], target: i0.ɵɵFactoryTarget.Injectable });
31
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageIdResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageIdResolver, providedIn: 'root' });
44
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageIdResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageIdResolver, deps: [{ token: PLATFORM_ID }, { token: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER }, { token: i1.Store }, { token: i1.ActionsSubject }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageIdResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageIdResolver });
32
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageIdResolver, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root',
36
- }]
47
+ type: Injectable
37
48
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
38
49
  type: Inject,
39
50
  args: [PLATFORM_ID]
51
+ }] }, { type: undefined, decorators: [{
52
+ type: Inject,
53
+ args: [DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER]
40
54
  }] }, { type: i1.Store }, { type: i1.ActionsSubject }]; } });
41
55
 
42
56
  /**
@@ -55,55 +69,152 @@ class DaffCategoryPageResolver {
55
69
  }
56
70
  }
57
71
  /** @nocollapse */ /** @nocollapse */ DaffCategoryPageResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageResolver, deps: [{ token: DaffCategoryPageIdResolver }], target: i0.ɵɵFactoryTarget.Injectable });
58
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageResolver, providedIn: 'root' });
72
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageResolver });
59
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageResolver, decorators: [{
60
- type: Injectable,
61
- args: [{
62
- providedIn: 'root',
63
- }]
74
+ type: Injectable
64
75
  }], ctorParameters: function () { return [{ type: DaffCategoryPageIdResolver }]; } });
65
76
 
66
- const getPage = (route) => route.queryParams.p || route.queryParams.page;
67
77
  /**
68
78
  * Resolves category data for category pages, and will only resolve the url
69
79
  * after a category request succeeds or fails. This resolver will take a full
70
80
  * a url of the form `some/url.html(secondary:outlet)?query=param#fragment` and attempt to resolve a product from it.
71
81
  * Assumes that the URL to be resolved is the primary outlet.
72
- *
73
- * Will check the `p` and `page` query params for a page number value.
74
82
  */
75
83
  class DaffCategoryPageUrlResolver {
76
- constructor(platformId, store, dispatcher, urlNormalizer) {
84
+ constructor(platformId, requestBuilder, store, dispatcher, urlNormalizer) {
77
85
  this.platformId = platformId;
86
+ this.requestBuilder = requestBuilder;
78
87
  this.store = store;
79
88
  this.dispatcher = dispatcher;
80
89
  this.urlNormalizer = urlNormalizer;
81
90
  }
82
91
  resolve(route, state) {
83
- const currentPage = getPage(route);
84
92
  this.store.dispatch(new DaffCategoryPageLoadByUrl({
93
+ ...this.requestBuilder(route),
85
94
  url: this.urlNormalizer.normalize(state.url),
86
95
  kind: DaffCategoryRequestKind.URL,
87
- ...(currentPage ? { current_page: Number(currentPage) } : {}),
88
96
  }));
89
97
  return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction), mapTo(true), take(1));
90
98
  }
91
99
  }
92
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageUrlResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver, deps: [{ token: PLATFORM_ID }, { token: i1.Store }, { token: i1.ActionsSubject }, { token: i2.DaffRoutingUriNormalizer }], target: i0.ɵɵFactoryTarget.Injectable });
93
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageUrlResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver, providedIn: 'root' });
100
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageUrlResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver, deps: [{ token: PLATFORM_ID }, { token: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER }, { token: i1.Store }, { token: i1.ActionsSubject }, { token: i2.DaffRoutingUriNormalizer }], target: i0.ɵɵFactoryTarget.Injectable });
101
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageUrlResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver });
94
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver, decorators: [{
95
- type: Injectable,
96
- args: [{
97
- providedIn: 'root',
98
- }]
103
+ type: Injectable
99
104
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
100
105
  type: Inject,
101
106
  args: [PLATFORM_ID]
107
+ }] }, { type: undefined, decorators: [{
108
+ type: Inject,
109
+ args: [DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER]
102
110
  }] }, { type: i1.Store }, { type: i1.ActionsSubject }, { type: i2.DaffRoutingUriNormalizer }]; } });
103
111
 
112
+ /**
113
+ * A multi-provider injection token for category request builders.
114
+ * These builders are called with the requested route during the resolve step
115
+ * and return options to pass to the category driver.
116
+ */
117
+ const DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS = new InjectionToken('DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS', { factory: () => [] });
118
+ /**
119
+ * Provides category request builders for the routing layer.
120
+ *
121
+ * See {@link DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS}.
122
+ *
123
+ * ```ts
124
+ * providers: [
125
+ * ...daffProvideCategoryRoutingRequestBuilders(
126
+ * route => ({
127
+ * currentPage: route.queryParams.page
128
+ * })
129
+ * )
130
+ * ]
131
+ * ```
132
+ */
133
+ function daffProvideCategoryRoutingRequestBuilders(...builders) {
134
+ return builders.map(builder => ({
135
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,
136
+ useValue: builder,
137
+ multi: true,
138
+ }));
139
+ }
140
+
141
+ class DaffCategoryRoutingCollectionEffects extends DaffProductRoutingCollectionEffects {
142
+ constructor(actions$, router, collectionFacade, getQueryParams, route) {
143
+ super(actions$, router, Object.values(DaffCategoryPageProductCollectionActionTypes), collectionFacade, getQueryParams, route);
144
+ }
145
+ }
146
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingCollectionEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingCollectionEffects, deps: [{ token: i1$1.Actions }, { token: i2$1.Router }, { token: i3.DaffCategoryProductCollectionFacade }, { token: i4.DaffProductGetQueryParamsFromRequest }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
147
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingCollectionEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingCollectionEffects });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingCollectionEffects, decorators: [{
149
+ type: Injectable
150
+ }], ctorParameters: function () { return [{ type: i1$1.Actions }, { type: i2$1.Router }, { type: i3.DaffCategoryProductCollectionFacade }, { type: i4.DaffProductGetQueryParamsFromRequest }, { type: i2$1.ActivatedRoute }]; } });
151
+
152
+ class DaffCategoryRoutingModule {
153
+ }
154
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
155
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, imports: [DaffProductRoutingModule, i1$1.EffectsFeatureModule] });
156
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, providers: [
157
+ DaffCategoryPageResolver,
158
+ DaffCategoryPageIdResolver,
159
+ DaffCategoryPageUrlResolver,
160
+ {
161
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,
162
+ useFactory: (() => {
163
+ const service = inject(DaffProductGetCollectionRequestFromRoute);
164
+ const builder = (route => service.getRequest(route.queryParamMap));
165
+ return builder;
166
+ }),
167
+ multi: true,
168
+ },
169
+ {
170
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER,
171
+ useFactory: (() => {
172
+ const builders = inject(DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS);
173
+ return ((route) => Object.assign({}, ...builders.map((builder => builder(route)))));
174
+ }),
175
+ },
176
+ ], imports: [[
177
+ DaffProductRoutingModule,
178
+ EffectsModule.forFeature([
179
+ DaffCategoryRoutingCollectionEffects,
180
+ ]),
181
+ ]] });
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, decorators: [{
183
+ type: NgModule,
184
+ args: [{
185
+ imports: [
186
+ DaffProductRoutingModule,
187
+ EffectsModule.forFeature([
188
+ DaffCategoryRoutingCollectionEffects,
189
+ ]),
190
+ ],
191
+ providers: [
192
+ DaffCategoryPageResolver,
193
+ DaffCategoryPageIdResolver,
194
+ DaffCategoryPageUrlResolver,
195
+ {
196
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,
197
+ useFactory: (() => {
198
+ const service = inject(DaffProductGetCollectionRequestFromRoute);
199
+ const builder = (route => service.getRequest(route.queryParamMap));
200
+ return builder;
201
+ }),
202
+ multi: true,
203
+ },
204
+ {
205
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER,
206
+ useFactory: (() => {
207
+ const builders = inject(DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS);
208
+ return ((route) => Object.assign({}, ...builders.map((builder => builder(route)))));
209
+ }),
210
+ },
211
+ ],
212
+ }]
213
+ }] });
214
+
104
215
  /**
105
216
  * Generated bundle index. Do not edit.
106
217
  */
107
218
 
108
- export { DaffCategoryPageIdResolver, DaffCategoryPageResolver, DaffCategoryPageUrlResolver };
219
+ export { DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS, DaffCategoryPageIdResolver, DaffCategoryPageResolver, DaffCategoryPageUrlResolver, DaffCategoryRoutingModule, daffProvideCategoryRoutingRequestBuilders };
109
220
  //# sourceMappingURL=daffodil-category-routing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-routing.mjs","sources":["../../../libs/category/routing/src/resolvers/category-page-id/category-page-id.resolver.ts","../../../libs/category/routing/src/resolvers/category-page/category-page.resolver.ts","../../../libs/category/routing/src/resolvers/category-page-url/category-page-url.resolver.ts","../../../libs/category/routing/src/daffodil-category-routing.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport {\n Inject,\n Injectable,\n PLATFORM_ID,\n} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { ofType } from '@ngrx/effects';\nimport {\n ActionsSubject,\n Store,\n} from '@ngrx/store';\nimport {\n Observable,\n of,\n} from 'rxjs';\nimport {\n mapTo,\n take,\n} from 'rxjs/operators';\n\nimport { DaffCategoryRequestKind } from '@daffodil/category';\nimport {\n DaffCategoryReducersState,\n DaffCategoryPageLoad,\n DaffCategoryPageActionTypes,\n} from '@daffodil/category/state';\n\n/**\n * Resolves category data for category pages, and will only resolve the url after a category request succeeds or fails. This resolver expects a url\n * of the form `some/url/{id}` where `{id}` is the category id.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryPageIdResolver implements Resolve<Observable<boolean>> {\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n private store: Store<DaffCategoryReducersState>,\n private dispatcher: ActionsSubject,\n ) { }\n\n resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n this.store.dispatch(new DaffCategoryPageLoad({\n id: route.paramMap.get('id'),\n kind: DaffCategoryRequestKind.ID,\n }));\n\n return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction),\n mapTo(true),\n take(1),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { DaffCategoryPageIdResolver } from '../category-page-id/category-page-id.resolver';\n\n/**\n * Resolves category data for category pages, and will only resolve the url after a category request succeeds or fails. This resolver expects a url\n * of the form `some/url/{id}` where `{id}` is the category id.\n *\n * @deprecated\n * @see DaffCategoryPageIdResolver\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryPageResolver implements Resolve<Observable<boolean>> {\n constructor(\n private categoryPageIdResolver: DaffCategoryPageIdResolver,\n ) { }\n\n resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n return this.categoryPageIdResolver.resolve(route);\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Inject,\n Injectable,\n PLATFORM_ID,\n} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n Resolve,\n RouterStateSnapshot,\n} from '@angular/router';\nimport { ofType } from '@ngrx/effects';\nimport {\n ActionsSubject,\n Store,\n} from '@ngrx/store';\nimport {\n Observable,\n of,\n} from 'rxjs';\nimport {\n mapTo,\n take,\n} from 'rxjs/operators';\n\nimport { DaffCategoryRequestKind } from '@daffodil/category';\nimport {\n DaffCategoryReducersState,\n DaffCategoryPageActionTypes,\n DaffCategoryPageLoadByUrl,\n} from '@daffodil/category/state';\nimport { DaffRoutingUriNormalizer } from '@daffodil/core/routing';\n\nconst getPage = (route: ActivatedRouteSnapshot): string => route.queryParams.p || route.queryParams.page;\n\n/**\n * Resolves category data for category pages, and will only resolve the url\n * after a category request succeeds or fails. This resolver will take a full\n * a url of the form `some/url.html(secondary:outlet)?query=param#fragment` and attempt to resolve a product from it.\n * Assumes that the URL to be resolved is the primary outlet.\n *\n * Will check the `p` and `page` query params for a page number value.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryPageUrlResolver implements Resolve<Observable<boolean>> {\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n private store: Store<DaffCategoryReducersState>,\n private dispatcher: ActionsSubject,\n private urlNormalizer: DaffRoutingUriNormalizer,\n ) { }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n const currentPage = getPage(route);\n\n this.store.dispatch(new DaffCategoryPageLoadByUrl({\n url: this.urlNormalizer.normalize(state.url),\n kind: DaffCategoryRequestKind.URL,\n ...(currentPage ? { current_page: Number(currentPage) } : {}),\n }));\n\n return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction),\n mapTo(true),\n take(1),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffCategoryPageIdResolver"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-category-routing.mjs","sources":["../../../libs/category/routing/src/injection-tokens/request/builder.token.ts","../../../libs/category/routing/src/resolvers/category-page-id/category-page-id.resolver.ts","../../../libs/category/routing/src/resolvers/category-page/category-page.resolver.ts","../../../libs/category/routing/src/resolvers/category-page-url/category-page-url.resolver.ts","../../../libs/category/routing/src/injection-tokens/request/builders.token.ts","../../../libs/category/routing/src/effects/collection-route.effects.ts","../../../libs/category/routing/src/module.ts","../../../libs/category/routing/src/daffodil-category-routing.ts"],"sourcesContent":["import {\n inject,\n InjectionToken,\n} from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport {\n DaffCategoryRoutingRequestBuilder,\n DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,\n} from './builders.token';\n\n/**\n * An internal token to combine the {@link DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS} into a single builder.\n */\nexport const DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER = new InjectionToken<DaffCategoryRoutingRequestBuilder>(\n 'DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER',\n {\n factory: () => () => ({}),\n },\n);\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Inject,\n Injectable,\n PLATFORM_ID,\n} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { ofType } from '@ngrx/effects';\nimport {\n ActionsSubject,\n Store,\n} from '@ngrx/store';\nimport {\n Observable,\n of,\n} from 'rxjs';\nimport {\n mapTo,\n take,\n} from 'rxjs/operators';\n\nimport { DaffCategoryRequestKind } from '@daffodil/category';\nimport {\n DaffCategoryReducersState,\n DaffCategoryPageLoad,\n DaffCategoryPageActionTypes,\n} from '@daffodil/category/state';\n\nimport { DaffCategoryRoutingRequestBuilder } from '../../injection-tokens/public_api';\nimport { DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER } from '../../injection-tokens/request/builder.token';\n\n/**\n * Resolves category data for category pages, and will only resolve the url after a category request succeeds or fails. This resolver expects a url\n * of the form `some/url/{id}` where `{id}` is the category id.\n */\n@Injectable()\nexport class DaffCategoryPageIdResolver implements Resolve<Observable<boolean>> {\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n @Inject(DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER) private requestBuilder: DaffCategoryRoutingRequestBuilder,\n private store: Store<DaffCategoryReducersState>,\n private dispatcher: ActionsSubject,\n ) { }\n\n resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n this.store.dispatch(new DaffCategoryPageLoad({\n ...this.requestBuilder(route),\n id: route.paramMap.get('id'),\n kind: DaffCategoryRequestKind.ID,\n }));\n\n return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction),\n mapTo(true),\n take(1),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { DaffCategoryPageIdResolver } from '../category-page-id/category-page-id.resolver';\n\n/**\n * Resolves category data for category pages, and will only resolve the url after a category request succeeds or fails. This resolver expects a url\n * of the form `some/url/{id}` where `{id}` is the category id.\n *\n * @deprecated\n * @see DaffCategoryPageIdResolver\n */\n@Injectable()\nexport class DaffCategoryPageResolver implements Resolve<Observable<boolean>> {\n constructor(\n private categoryPageIdResolver: DaffCategoryPageIdResolver,\n ) { }\n\n resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n return this.categoryPageIdResolver.resolve(route);\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Inject,\n Injectable,\n PLATFORM_ID,\n} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n Resolve,\n RouterStateSnapshot,\n} from '@angular/router';\nimport { ofType } from '@ngrx/effects';\nimport {\n ActionsSubject,\n Store,\n} from '@ngrx/store';\nimport {\n Observable,\n of,\n} from 'rxjs';\nimport {\n mapTo,\n take,\n} from 'rxjs/operators';\n\nimport { DaffCategoryRequestKind } from '@daffodil/category';\nimport {\n DaffCategoryReducersState,\n DaffCategoryPageActionTypes,\n DaffCategoryPageLoadByUrl,\n} from '@daffodil/category/state';\nimport { DaffRoutingUriNormalizer } from '@daffodil/core/routing';\n\nimport { DaffCategoryRoutingRequestBuilder } from '../../injection-tokens/public_api';\nimport { DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER } from '../../injection-tokens/request/builder.token';\n\n/**\n * Resolves category data for category pages, and will only resolve the url\n * after a category request succeeds or fails. This resolver will take a full\n * a url of the form `some/url.html(secondary:outlet)?query=param#fragment` and attempt to resolve a product from it.\n * Assumes that the URL to be resolved is the primary outlet.\n */\n@Injectable()\nexport class DaffCategoryPageUrlResolver implements Resolve<Observable<boolean>> {\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n @Inject(DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER) private requestBuilder: DaffCategoryRoutingRequestBuilder,\n private store: Store<DaffCategoryReducersState>,\n private dispatcher: ActionsSubject,\n private urlNormalizer: DaffRoutingUriNormalizer,\n ) { }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n this.store.dispatch(new DaffCategoryPageLoadByUrl({\n ...this.requestBuilder(route),\n url: this.urlNormalizer.normalize(state.url),\n kind: DaffCategoryRequestKind.URL,\n }));\n\n return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction),\n mapTo(true),\n take(1),\n );\n }\n}\n","import {\n InjectionToken,\n ValueProvider,\n} from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { DaffProductCollectionRequest } from '@daffodil/product';\n\n\nexport type DaffCategoryRoutingRequestBuilder<T extends DaffProductCollectionRequest = DaffProductCollectionRequest> = (route: ActivatedRouteSnapshot) => T;\n\n/**\n * A multi-provider injection token for category request builders.\n * These builders are called with the requested route during the resolve step\n * and return options to pass to the category driver.\n */\nexport const DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS = new InjectionToken<DaffCategoryRoutingRequestBuilder[]>(\n 'DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS',\n { factory: () => []},\n);\n\n/**\n * Provides category request builders for the routing layer.\n *\n * See {@link DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS}.\n *\n * ```ts\n * providers: [\n * ...daffProvideCategoryRoutingRequestBuilders(\n * route => ({\n * currentPage: route.queryParams.page\n * })\n * )\n * ]\n * ```\n */\nexport function daffProvideCategoryRoutingRequestBuilders(...builders: DaffCategoryRoutingRequestBuilder[]): ValueProvider[] {\n return builders.map(builder => ({\n provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,\n useValue: builder,\n multi: true,\n }));\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\nimport { Actions } from '@ngrx/effects';\n\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryProductCollectionFacade,\n} from '@daffodil/category/state';\nimport {\n DaffProductGetQueryParamsFromRequest,\n DaffProductRoutingCollectionEffects,\n} from '@daffodil/product/routing';\n\n@Injectable()\nexport class DaffCategoryRoutingCollectionEffects extends DaffProductRoutingCollectionEffects {\n constructor(\n actions$: Actions,\n router: Router,\n collectionFacade: DaffCategoryProductCollectionFacade,\n getQueryParams: DaffProductGetQueryParamsFromRequest,\n route: ActivatedRoute,\n ) {\n super(\n actions$,\n router,\n Object.values(DaffCategoryPageProductCollectionActionTypes),\n collectionFacade,\n getQueryParams,\n route,\n );\n }\n}\n","import {\n inject,\n NgModule,\n} from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport {\n DaffProductGetCollectionRequestFromRoute,\n DaffProductRoutingModule,\n} from '@daffodil/product/routing';\n\nimport { DaffCategoryRoutingCollectionEffects } from './effects/collection-route.effects';\nimport {\n DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,\n DaffCategoryRoutingRequestBuilder,\n} from './injection-tokens/public_api';\nimport { DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER } from './injection-tokens/request/builder.token';\nimport {\n DaffCategoryPageIdResolver,\n DaffCategoryPageResolver,\n DaffCategoryPageUrlResolver,\n} from './resolvers/public_api';\n\n@NgModule({\n imports: [\n DaffProductRoutingModule,\n EffectsModule.forFeature([\n DaffCategoryRoutingCollectionEffects,\n ]),\n ],\n providers: [\n DaffCategoryPageResolver,\n DaffCategoryPageIdResolver,\n DaffCategoryPageUrlResolver,\n {\n provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,\n useFactory: () => {\n const service = inject(DaffProductGetCollectionRequestFromRoute);\n const builder: DaffCategoryRoutingRequestBuilder = route => service.getRequest(route.queryParamMap);\n return builder;\n },\n multi: true,\n },\n {\n provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER,\n useFactory: () => {\n const builders = inject(DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS);\n return (route: ActivatedRouteSnapshot) =>\n Object.assign({}, ...builders.map(builder => builder(route)));\n },\n },\n ],\n})\nexport class DaffCategoryRoutingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffCategoryPageIdResolver","i1","i2"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, NgModule } from '@angular/core';
3
- import { DaffCategoryFacade } from '@daffodil/category/state';
3
+ import { DaffCategoryFacade, DaffCategoryProductCollectionFacade } from '@daffodil/category/state';
4
+ import { MockDaffProductCollectionFacade } from '@daffodil/product/state/testing';
4
5
  import { BehaviorSubject } from 'rxjs';
5
6
 
6
7
  /**
@@ -61,12 +62,14 @@ class DaffCategoryTestingModule {
61
62
  /** @nocollapse */ /** @nocollapse */ DaffCategoryTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryTestingModule });
62
63
  /** @nocollapse */ /** @nocollapse */ DaffCategoryTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryTestingModule, providers: [
63
64
  { provide: DaffCategoryFacade, useExisting: MockDaffCategoryFacade },
65
+ { provide: DaffCategoryProductCollectionFacade, useExisting: MockDaffProductCollectionFacade },
64
66
  ] });
65
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryTestingModule, decorators: [{
66
68
  type: NgModule,
67
69
  args: [{
68
70
  providers: [
69
71
  { provide: DaffCategoryFacade, useExisting: MockDaffCategoryFacade },
72
+ { provide: DaffCategoryProductCollectionFacade, useExisting: MockDaffProductCollectionFacade },
70
73
  ],
71
74
  }]
72
75
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-state-testing.mjs","sources":["../../../libs/category/state/testing/src/mock-category-facade.ts","../../../libs/category/state/testing/src/category-testing.module.ts","../../../libs/category/state/testing/src/daffodil-category-state-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Action } from '@ngrx/store';\nimport { BehaviorSubject } from 'rxjs';\n\nimport {\n DaffCategory,\n DaffCategoryFilter,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport { DaffCategoryFacadeInterface } from '@daffodil/category/state';\nimport { DaffCategoryReducerState } from '@daffodil/category/state';\nimport { Dict } from '@daffodil/core';\nimport {\n DaffSortDirectionEnum,\n DaffSortOption,\n DaffStateError,\n} from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * Can be used to mock out the {@link DaffCategoryFacade} in testing environments.\n *\n * @inheritdoc\n */\n@Injectable({ providedIn: 'root' })\nexport class MockDaffCategoryFacade implements DaffCategoryFacadeInterface {\n\n category$: BehaviorSubject<DaffCategory> = new BehaviorSubject(null);\n metadata$: BehaviorSubject<DaffCategoryPageMetadata> = new BehaviorSubject(null);\n pageLoadingState$: BehaviorSubject<DaffCategoryReducerState['daffState']> = new BehaviorSubject(null);\n isPageMutating$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n isPageResolving$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n currentPage$: BehaviorSubject<number> = new BehaviorSubject(null);\n totalPages$: BehaviorSubject<number> = new BehaviorSubject(null);\n totalProducts$: BehaviorSubject<number> = new BehaviorSubject(null);\n pageSize$: BehaviorSubject<number> = new BehaviorSubject(null);\n filters$: BehaviorSubject<Dict<DaffCategoryFilter>> = new BehaviorSubject({});\n sortOptions$: BehaviorSubject<DaffSortOption[]> = new BehaviorSubject([]);\n appliedFilters$: BehaviorSubject<Dict<DaffCategoryFilter>> = new BehaviorSubject({});\n appliedSortOption$: BehaviorSubject<string> = new BehaviorSubject(null);\n appliedSortDirection$: BehaviorSubject<DaffSortDirectionEnum> = new BehaviorSubject(null);\n products$: BehaviorSubject<DaffProduct[]> = new BehaviorSubject([]);\n categoryLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n productsLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n errors$: BehaviorSubject<DaffStateError[]> = new BehaviorSubject([]);\n isCategoryEmpty$: BehaviorSubject<boolean> = new BehaviorSubject(true);\n\n getCategoryById(id: DaffCategory['id']): BehaviorSubject<DaffCategory> {\n\t return new BehaviorSubject(null);\n };\n getProductsByCategory(categoryId: DaffCategory['id']): BehaviorSubject<DaffProduct[]> {\n\t return new BehaviorSubject([]);\n };\n getTotalProductsByCategory(categoryId: DaffCategory['id']): BehaviorSubject<number> {\n\t return new BehaviorSubject(null);\n };\n dispatch(action: Action) {};\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffCategoryFacade } from '@daffodil/category/state';\n\nimport { MockDaffCategoryFacade } from './mock-category-facade';\n\n/**\n * A module that mocks out the {@link DaffCategoryFacade} with {@link MockDaffCategoryFacade} for testing environments.\n */\n@NgModule({\n providers: [\n { provide: DaffCategoryFacade, useExisting: MockDaffCategoryFacade },\n ],\n})\nexport class DaffCategoryTestingModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-category-state-testing.mjs","sources":["../../../libs/category/state/testing/src/mock-category-facade.ts","../../../libs/category/state/testing/src/category-testing.module.ts","../../../libs/category/state/testing/src/daffodil-category-state-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Action } from '@ngrx/store';\nimport { BehaviorSubject } from 'rxjs';\n\nimport {\n DaffCategory,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport { DaffCategoryFacadeInterface } from '@daffodil/category/state';\nimport { DaffCategoryReducerState } from '@daffodil/category/state';\nimport {\n DaffSortDirectionEnum,\n DaffSortOption,\n\n} from '@daffodil/core';\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffProduct,\n DaffProductFilter,\n} from '@daffodil/product';\n\n/**\n * Can be used to mock out the {@link DaffCategoryFacade} in testing environments.\n *\n * @inheritdoc\n */\n@Injectable({ providedIn: 'root' })\nexport class MockDaffCategoryFacade implements DaffCategoryFacadeInterface {\n\n category$: BehaviorSubject<DaffCategory> = new BehaviorSubject(null);\n metadata$: BehaviorSubject<DaffCategoryPageMetadata> = new BehaviorSubject(null);\n pageLoadingState$: BehaviorSubject<DaffCategoryReducerState['daffState']> = new BehaviorSubject(null);\n isPageMutating$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n isPageResolving$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n currentPage$: BehaviorSubject<number> = new BehaviorSubject(null);\n totalPages$: BehaviorSubject<number> = new BehaviorSubject(null);\n totalProducts$: BehaviorSubject<number> = new BehaviorSubject(null);\n pageSize$: BehaviorSubject<number> = new BehaviorSubject(null);\n filters$: BehaviorSubject<Record<DaffProductFilter['name'], DaffProductFilter>> = new BehaviorSubject({});\n sortOptions$: BehaviorSubject<DaffSortOption[]> = new BehaviorSubject([]);\n appliedFilters$: BehaviorSubject<Record<DaffProductFilter['name'], DaffProductFilter>> = new BehaviorSubject({});\n appliedSortOption$: BehaviorSubject<string> = new BehaviorSubject(null);\n appliedSortDirection$: BehaviorSubject<DaffSortDirectionEnum> = new BehaviorSubject(null);\n products$: BehaviorSubject<DaffProduct[]> = new BehaviorSubject([]);\n categoryLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n productsLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n errors$: BehaviorSubject<DaffStateError[]> = new BehaviorSubject([]);\n isCategoryEmpty$: BehaviorSubject<boolean> = new BehaviorSubject(true);\n\n getCategoryById(id: DaffCategory['id']): BehaviorSubject<DaffCategory> {\n\t return new BehaviorSubject(null);\n };\n getProductsByCategory(categoryId: DaffCategory['id']): BehaviorSubject<DaffProduct[]> {\n\t return new BehaviorSubject([]);\n };\n getTotalProductsByCategory(categoryId: DaffCategory['id']): BehaviorSubject<number> {\n\t return new BehaviorSubject(null);\n };\n dispatch(action: Action) {};\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n DaffCategoryFacade,\n DaffCategoryProductCollectionFacade,\n} from '@daffodil/category/state';\nimport { MockDaffProductCollectionFacade } from '@daffodil/product/state/testing';\n\nimport { MockDaffCategoryFacade } from './mock-category-facade';\n\n/**\n * A module that mocks out the {@link DaffCategoryFacade} with {@link MockDaffCategoryFacade} for testing environments.\n */\n@NgModule({\n providers: [\n { provide: DaffCategoryFacade, useExisting: MockDaffCategoryFacade },\n { provide: DaffCategoryProductCollectionFacade, useExisting: MockDaffProductCollectionFacade },\n ],\n})\nexport class DaffCategoryTestingModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}