@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,43 +1,53 @@
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 { of } from 'rxjs';
6
7
  import { mapTo, take } from 'rxjs/operators';
7
8
  import { DaffCategoryRequestKind } from '@daffodil/category';
8
- import { DaffCategoryPageLoad, DaffCategoryPageActionTypes, DaffCategoryPageLoadByUrl } from '@daffodil/category/state';
9
+ import * as i3 from '@daffodil/category/state';
10
+ import { DaffCategoryPageLoad, DaffCategoryPageActionTypes, DaffCategoryPageLoadByUrl, DaffCategoryPageProductCollectionActionTypes } from '@daffodil/category/state';
9
11
  import * as i1 from '@ngrx/store';
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
- this.store.dispatch(new DaffCategoryPageLoad({
24
- id: route.paramMap.get('id'),
25
- kind: DaffCategoryRequestKind.ID,
26
- }));
36
+ this.store.dispatch(new DaffCategoryPageLoad(Object.assign(Object.assign({}, this.requestBuilder(route)), { id: route.paramMap.get('id'), kind: DaffCategoryRequestKind.ID })));
27
37
  return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction), mapTo(true), take(1));
28
38
  }
29
39
  }
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' });
40
+ /** @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 });
41
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageIdResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageIdResolver });
32
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageIdResolver, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root',
36
- }]
43
+ type: Injectable
37
44
  }], ctorParameters: function () {
38
45
  return [{ type: undefined, decorators: [{
39
46
  type: Inject,
40
47
  args: [PLATFORM_ID]
48
+ }] }, { type: undefined, decorators: [{
49
+ type: Inject,
50
+ args: [DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER]
41
51
  }] }, { type: i1.Store }, { type: i1.ActionsSubject }];
42
52
  } });
43
53
 
@@ -57,53 +67,150 @@ class DaffCategoryPageResolver {
57
67
  }
58
68
  }
59
69
  /** @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 });
60
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageResolver, providedIn: 'root' });
70
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageResolver });
61
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageResolver, decorators: [{
62
- type: Injectable,
63
- args: [{
64
- providedIn: 'root',
65
- }]
72
+ type: Injectable
66
73
  }], ctorParameters: function () { return [{ type: DaffCategoryPageIdResolver }]; } });
67
74
 
68
- const getPage = (route) => route.queryParams.p || route.queryParams.page;
69
75
  /**
70
76
  * Resolves category data for category pages, and will only resolve the url
71
77
  * after a category request succeeds or fails. This resolver will take a full
72
78
  * a url of the form `some/url.html(secondary:outlet)?query=param#fragment` and attempt to resolve a product from it.
73
79
  * Assumes that the URL to be resolved is the primary outlet.
74
- *
75
- * Will check the `p` and `page` query params for a page number value.
76
80
  */
77
81
  class DaffCategoryPageUrlResolver {
78
- constructor(platformId, store, dispatcher, urlNormalizer) {
82
+ constructor(platformId, requestBuilder, store, dispatcher, urlNormalizer) {
79
83
  this.platformId = platformId;
84
+ this.requestBuilder = requestBuilder;
80
85
  this.store = store;
81
86
  this.dispatcher = dispatcher;
82
87
  this.urlNormalizer = urlNormalizer;
83
88
  }
84
89
  resolve(route, state) {
85
- const currentPage = getPage(route);
86
- this.store.dispatch(new DaffCategoryPageLoadByUrl(Object.assign({ url: this.urlNormalizer.normalize(state.url), kind: DaffCategoryRequestKind.URL }, (currentPage ? { current_page: Number(currentPage) } : {}))));
90
+ this.store.dispatch(new DaffCategoryPageLoadByUrl(Object.assign(Object.assign({}, this.requestBuilder(route)), { url: this.urlNormalizer.normalize(state.url), kind: DaffCategoryRequestKind.URL })));
87
91
  return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction), mapTo(true), take(1));
88
92
  }
89
93
  }
90
- /** @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 });
91
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageUrlResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver, providedIn: 'root' });
94
+ /** @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 });
95
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageUrlResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver });
92
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageUrlResolver, decorators: [{
93
- type: Injectable,
94
- args: [{
95
- providedIn: 'root',
96
- }]
97
+ type: Injectable
97
98
  }], ctorParameters: function () {
98
99
  return [{ type: undefined, decorators: [{
99
100
  type: Inject,
100
101
  args: [PLATFORM_ID]
102
+ }] }, { type: undefined, decorators: [{
103
+ type: Inject,
104
+ args: [DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER]
101
105
  }] }, { type: i1.Store }, { type: i1.ActionsSubject }, { type: i2.DaffRoutingUriNormalizer }];
102
106
  } });
103
107
 
108
+ /**
109
+ * A multi-provider injection token for category request builders.
110
+ * These builders are called with the requested route during the resolve step
111
+ * and return options to pass to the category driver.
112
+ */
113
+ const DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS = new InjectionToken('DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS', { factory: () => [] });
114
+ /**
115
+ * Provides category request builders for the routing layer.
116
+ *
117
+ * See {@link DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS}.
118
+ *
119
+ * ```ts
120
+ * providers: [
121
+ * ...daffProvideCategoryRoutingRequestBuilders(
122
+ * route => ({
123
+ * currentPage: route.queryParams.page
124
+ * })
125
+ * )
126
+ * ]
127
+ * ```
128
+ */
129
+ function daffProvideCategoryRoutingRequestBuilders(...builders) {
130
+ return builders.map(builder => ({
131
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,
132
+ useValue: builder,
133
+ multi: true,
134
+ }));
135
+ }
136
+
137
+ class DaffCategoryRoutingCollectionEffects extends DaffProductRoutingCollectionEffects {
138
+ constructor(actions$, router, collectionFacade, getQueryParams, route) {
139
+ super(actions$, router, Object.values(DaffCategoryPageProductCollectionActionTypes), collectionFacade, getQueryParams, route);
140
+ }
141
+ }
142
+ /** @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 });
143
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingCollectionEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingCollectionEffects });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingCollectionEffects, decorators: [{
145
+ type: Injectable
146
+ }], ctorParameters: function () { return [{ type: i1$1.Actions }, { type: i2$1.Router }, { type: i3.DaffCategoryProductCollectionFacade }, { type: i4.DaffProductGetQueryParamsFromRequest }, { type: i2$1.ActivatedRoute }]; } });
147
+
148
+ class DaffCategoryRoutingModule {
149
+ }
150
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
151
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, imports: [DaffProductRoutingModule, i1$1.EffectsFeatureModule] });
152
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, providers: [
153
+ DaffCategoryPageResolver,
154
+ DaffCategoryPageIdResolver,
155
+ DaffCategoryPageUrlResolver,
156
+ {
157
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,
158
+ useFactory: (() => {
159
+ const service = inject(DaffProductGetCollectionRequestFromRoute);
160
+ const builder = (route => service.getRequest(route.queryParamMap));
161
+ return builder;
162
+ }),
163
+ multi: true,
164
+ },
165
+ {
166
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER,
167
+ useFactory: (() => {
168
+ const builders = inject(DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS);
169
+ return ((route) => Object.assign({}, ...builders.map((builder => builder(route)))));
170
+ }),
171
+ },
172
+ ], imports: [[
173
+ DaffProductRoutingModule,
174
+ EffectsModule.forFeature([
175
+ DaffCategoryRoutingCollectionEffects,
176
+ ]),
177
+ ]] });
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryRoutingModule, decorators: [{
179
+ type: NgModule,
180
+ args: [{
181
+ imports: [
182
+ DaffProductRoutingModule,
183
+ EffectsModule.forFeature([
184
+ DaffCategoryRoutingCollectionEffects,
185
+ ]),
186
+ ],
187
+ providers: [
188
+ DaffCategoryPageResolver,
189
+ DaffCategoryPageIdResolver,
190
+ DaffCategoryPageUrlResolver,
191
+ {
192
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS,
193
+ useFactory: (() => {
194
+ const service = inject(DaffProductGetCollectionRequestFromRoute);
195
+ const builder = (route => service.getRequest(route.queryParamMap));
196
+ return builder;
197
+ }),
198
+ multi: true,
199
+ },
200
+ {
201
+ provide: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER,
202
+ useFactory: (() => {
203
+ const builders = inject(DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS);
204
+ return ((route) => Object.assign({}, ...builders.map((builder => builder(route)))));
205
+ }),
206
+ },
207
+ ],
208
+ }]
209
+ }] });
210
+
104
211
  /**
105
212
  * Generated bundle index. Do not edit.
106
213
  */
107
214
 
108
- export { DaffCategoryPageIdResolver, DaffCategoryPageResolver, DaffCategoryPageUrlResolver };
215
+ export { DAFF_CATEGORY_ROUTING_OPTIONS_BUILDERS, DaffCategoryPageIdResolver, DaffCategoryPageResolver, DaffCategoryPageUrlResolver, DaffCategoryRoutingModule, daffProvideCategoryRoutingRequestBuilders };
109
216
  //# 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":";;;;;;AAqBA;;;;AAIG;MAEU,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;QAGE,IAAA,CAAA,SAAS,GAAkC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACrE,IAAA,CAAA,SAAS,GAA8C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACjF,IAAA,CAAA,iBAAiB,GAA2D,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACtG,IAAA,CAAA,eAAe,GAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACvE,IAAA,CAAA,gBAAgB,GAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACxE,IAAA,CAAA,YAAY,GAA4B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAClE,IAAA,CAAA,WAAW,GAA4B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACjE,IAAA,CAAA,cAAc,GAA4B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACpE,IAAA,CAAA,SAAS,GAA4B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAA,CAAA,QAAQ,GAA0E,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1G,IAAA,CAAA,YAAY,GAAsC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAA,CAAA,eAAe,GAA0E,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QACjH,IAAA,CAAA,kBAAkB,GAA4B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACxE,IAAA,CAAA,qBAAqB,GAA2C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1F,IAAA,CAAA,SAAS,GAAmC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QACpE,IAAA,CAAA,gBAAgB,GAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACxE,IAAA,CAAA,gBAAgB,GAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACxE,IAAA,CAAA,OAAO,GAAsC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QACrE,IAAA,CAAA,gBAAgB,GAA6B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;KAYxE;AAVC,IAAA,eAAe,CAAC,EAAsB,EAAA;AACrC,QAAA,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;KACjC;;AACD,IAAA,qBAAqB,CAAC,UAA8B,EAAA;AACnD,QAAA,OAAO,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;KAC/B;;AACD,IAAA,0BAA0B,CAAC,UAA8B,EAAA;AACxD,QAAA,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;KACjC;;IACD,QAAQ,CAAC,MAAc,EAAA,GAAI;;;yJA/BhB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,sCAAA,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA,CAAA;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;AChBlC;;AAEG;MAOU,yBAAyB,CAAA;;4JAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6JAAzB,yBAAyB,EAAA,CAAA,CAAA;AAAzB,sCAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EALzB,SAAA,EAAA;AACT,QAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,sBAAsB,EAAE;AACpE,QAAA,EAAE,OAAO,EAAE,mCAAmC,EAAE,WAAW,EAAE,+BAA+B,EAAE;AAC/F,KAAA,EAAA,CAAA,CAAA;2FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,sBAAsB,EAAE;AACpE,wBAAA,EAAE,OAAO,EAAE,mCAAmC,EAAE,WAAW,EAAE,+BAA+B,EAAE;AAC/F,qBAAA;iBACF,CAAA;;;AClBD;;AAEG;;;;"}