@daffodil/category 0.39.13 → 0.42.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 (465) hide show
  1. package/daffodil-category.d.ts +1 -0
  2. package/driver/daffodil-category-driver.d.ts +1 -0
  3. package/driver/in-memory/backend/category.service.d.ts +3 -0
  4. package/driver/in-memory/daffodil-category-driver-in-memory.d.ts +1 -0
  5. package/driver/in-memory/drivers/category-driver.module.d.ts +5 -0
  6. package/driver/in-memory/drivers/category.service.d.ts +3 -0
  7. package/driver/in-memory/package.json +5 -6
  8. package/driver/magento/category-driver.module.d.ts +5 -0
  9. package/driver/magento/category.service.d.ts +3 -0
  10. package/driver/magento/daffodil-category-driver-magento.d.ts +1 -1
  11. package/driver/magento/package.json +5 -6
  12. package/driver/magento/queries/fragments/category-tree.d.ts +1 -1
  13. package/driver/magento/queries/get-category.d.ts +1 -1
  14. package/driver/magento/queries/get-filter-types.d.ts +1 -1
  15. package/driver/magento/queries/get-products.d.ts +1 -1
  16. package/driver/magento/testing/daffodil-category-driver-magento-testing.d.ts +1 -0
  17. package/driver/magento/testing/factories/aggregation/aggregation.factory.d.ts +3 -0
  18. package/driver/magento/testing/factories/aggregation/type/price.factory.d.ts +3 -0
  19. package/driver/magento/testing/factories/aggregation/type/select.factory.d.ts +3 -0
  20. package/driver/magento/testing/factories/category.factory.d.ts +3 -0
  21. package/driver/magento/testing/factories/filter-type-field.factory.d.ts +3 -0
  22. package/driver/magento/testing/factories/page-info.factory.d.ts +3 -0
  23. package/driver/magento/testing/factories/sort-fields.factory.d.ts +3 -0
  24. package/driver/magento/testing/package.json +5 -6
  25. package/driver/magento/transformers/applied-filter-transformer.service.d.ts +3 -0
  26. package/driver/magento/transformers/applied-sort-option-transformer.service.d.ts +3 -0
  27. package/driver/magento/transformers/category-page-config-transformer.service.d.ts +3 -0
  28. package/driver/magento/transformers/category-response-transform.service.d.ts +3 -0
  29. package/driver/magento/transformers/category-transformer.service.d.ts +3 -0
  30. package/driver/package.json +5 -6
  31. package/driver/testing/daffodil-category-driver-testing.d.ts +1 -0
  32. package/driver/testing/drivers/category-driver.module.d.ts +5 -0
  33. package/driver/testing/drivers/category.service.d.ts +3 -0
  34. package/driver/testing/package.json +5 -6
  35. package/{esm2015/daffodil-category.js → esm2020/daffodil-category.mjs} +0 -0
  36. package/{esm2015/driver/daffodil-category-driver.js → esm2020/driver/daffodil-category-driver.mjs} +0 -0
  37. package/{esm2015/driver/in-memory/backend/category.service.js → esm2020/driver/in-memory/backend/category.service.mjs} +9 -13
  38. package/{esm2015/driver/in-memory/backend/public_api.js → esm2020/driver/in-memory/backend/public_api.mjs} +0 -0
  39. package/{esm2015/driver/in-memory/daffodil-category-driver-in-memory.js → esm2020/driver/in-memory/daffodil-category-driver-in-memory.mjs} +0 -0
  40. package/esm2020/driver/in-memory/drivers/category-driver.module.mjs +35 -0
  41. package/esm2020/driver/in-memory/drivers/category.service.mjs +37 -0
  42. package/{esm2015/driver/in-memory/drivers/public_api.js → esm2020/driver/in-memory/drivers/public_api.mjs} +0 -0
  43. package/{esm2015/driver/in-memory/index.js → esm2020/driver/in-memory/index.mjs} +0 -0
  44. package/{esm2015/driver/in-memory/public_api.js → esm2020/driver/in-memory/public_api.mjs} +0 -0
  45. package/{esm2015/driver/index.js → esm2020/driver/index.mjs} +0 -0
  46. package/{esm2015/driver/interfaces/category-service.interface.js → esm2020/driver/interfaces/category-service.interface.mjs} +1 -1
  47. package/esm2020/driver/magento/category-driver.module.mjs +74 -0
  48. package/esm2020/driver/magento/category.service.mjs +124 -0
  49. package/{esm2015/driver/magento/config/default.js → esm2020/driver/magento/config/default.mjs} +0 -0
  50. package/esm2020/driver/magento/daffodil-category-driver-magento.mjs +5 -0
  51. package/{esm2015/driver/magento/index.js → esm2020/driver/magento/index.mjs} +0 -0
  52. package/{esm2015/driver/magento/interfaces/config.interface.js → esm2020/driver/magento/interfaces/config.interface.mjs} +0 -0
  53. package/{esm2015/driver/magento/interfaces/public_api.js → esm2020/driver/magento/interfaces/public_api.mjs} +0 -0
  54. package/{esm2015/driver/magento/models/aggregation.js → esm2020/driver/magento/models/aggregation.mjs} +1 -1
  55. package/{esm2015/driver/magento/models/category.js → esm2020/driver/magento/models/category.mjs} +1 -1
  56. package/{esm2015/driver/magento/models/complete-category-response.js → esm2020/driver/magento/models/complete-category-response.mjs} +1 -1
  57. package/{esm2015/driver/magento/models/filter-type-field.interface.js → esm2020/driver/magento/models/filter-type-field.interface.mjs} +0 -0
  58. package/{esm2015/driver/magento/models/filter-type.enum.js → esm2020/driver/magento/models/filter-type.enum.mjs} +0 -0
  59. package/{esm2015/driver/magento/models/get-category-response.js → esm2020/driver/magento/models/get-category-response.mjs} +0 -0
  60. package/{esm2015/driver/magento/models/get-filter-types-response.interface.js → esm2020/driver/magento/models/get-filter-types-response.interface.mjs} +0 -0
  61. package/{esm2015/driver/magento/models/get-products-response.js → esm2020/driver/magento/models/get-products-response.mjs} +1 -1
  62. package/{esm2015/driver/magento/models/page-info.js → esm2020/driver/magento/models/page-info.mjs} +0 -0
  63. package/{esm2015/driver/magento/models/public_api.js → esm2020/driver/magento/models/public_api.mjs} +0 -0
  64. package/{esm2015/driver/magento/models/requests/custom-metadata-attribute.js → esm2020/driver/magento/models/requests/custom-metadata-attribute.mjs} +1 -1
  65. package/{esm2015/driver/magento/models/requests/filters.js → esm2020/driver/magento/models/requests/filters.mjs} +1 -1
  66. package/{esm2015/driver/magento/models/requests/get-products-by-categories-request.js → esm2020/driver/magento/models/requests/get-products-by-categories-request.mjs} +1 -1
  67. package/{esm2015/driver/magento/models/requests/sort.js → esm2020/driver/magento/models/requests/sort.mjs} +1 -1
  68. package/{esm2015/driver/magento/models/sort-fields.js → esm2020/driver/magento/models/sort-fields.mjs} +0 -0
  69. package/{esm2015/driver/magento/public_api.js → esm2020/driver/magento/public_api.mjs} +0 -0
  70. package/{esm2015/driver/magento/queries/fragments/category-tree.js → esm2020/driver/magento/queries/fragments/category-tree.mjs} +0 -0
  71. package/{esm2015/driver/magento/queries/fragments/public_api.js → esm2020/driver/magento/queries/fragments/public_api.mjs} +0 -0
  72. package/{esm2015/driver/magento/queries/get-category.js → esm2020/driver/magento/queries/get-category.mjs} +0 -0
  73. package/{esm2015/driver/magento/queries/get-filter-types.js → esm2020/driver/magento/queries/get-filter-types.mjs} +0 -0
  74. package/{esm2015/driver/magento/queries/get-products.js → esm2020/driver/magento/queries/get-products.mjs} +0 -0
  75. package/{esm2015/driver/magento/queries/public_api.js → esm2020/driver/magento/queries/public_api.mjs} +0 -0
  76. package/{esm2015/driver/magento/testing/daffodil-category-driver-magento-testing.js → esm2020/driver/magento/testing/daffodil-category-driver-magento-testing.mjs} +0 -0
  77. package/esm2020/driver/magento/testing/factories/aggregation/aggregation.factory.mjs +24 -0
  78. package/{esm2015/driver/magento/testing/factories/aggregation/public_api.js → esm2020/driver/magento/testing/factories/aggregation/public_api.mjs} +0 -0
  79. package/esm2020/driver/magento/testing/factories/aggregation/type/price.factory.mjs +49 -0
  80. package/esm2020/driver/magento/testing/factories/aggregation/type/select.factory.mjs +44 -0
  81. package/{esm2015/driver/magento/testing/factories/category.factory.js → esm2020/driver/magento/testing/factories/category.factory.mjs} +9 -9
  82. package/esm2020/driver/magento/testing/factories/filter-type-field.factory.mjs +32 -0
  83. package/esm2020/driver/magento/testing/factories/page-info.factory.mjs +25 -0
  84. package/{esm2015/driver/magento/testing/factories/public_api.js → esm2020/driver/magento/testing/factories/public_api.mjs} +0 -0
  85. package/esm2020/driver/magento/testing/factories/sort-fields.factory.mjs +28 -0
  86. package/{esm2015/driver/magento/testing/index.js → esm2020/driver/magento/testing/index.mjs} +0 -0
  87. package/{esm2015/driver/magento/testing/public_api.js → esm2020/driver/magento/testing/public_api.mjs} +0 -0
  88. package/esm2020/driver/magento/transformers/applied-filter-transformer.service.mjs +63 -0
  89. package/esm2020/driver/magento/transformers/applied-sort-option-transformer.service.mjs +28 -0
  90. package/esm2020/driver/magento/transformers/category-page-config-transformer.service.mjs +35 -0
  91. package/esm2020/driver/magento/transformers/category-response-transform.service.mjs +32 -0
  92. package/esm2020/driver/magento/transformers/category-transformer.service.mjs +38 -0
  93. package/{esm2015/driver/magento/transformers/public_api.js → esm2020/driver/magento/transformers/public_api.mjs} +0 -0
  94. package/esm2020/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.mjs +16 -0
  95. package/{esm2015/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.js → esm2020/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.mjs} +0 -0
  96. package/{esm2015/driver/magento/transformers/pure/aggregate/transform.js → esm2020/driver/magento/transformers/pure/aggregate/transform.mjs} +0 -0
  97. package/{esm2015/driver/magento/transformers/pure/aggregate/type/equal.js → esm2020/driver/magento/transformers/pure/aggregate/type/equal.mjs} +0 -0
  98. package/{esm2015/driver/magento/transformers/pure/aggregate/type/range.js → esm2020/driver/magento/transformers/pure/aggregate/type/range.mjs} +0 -0
  99. package/esm2020/driver/magento/transformers/pure/sort-default-option-first.mjs +12 -0
  100. package/{esm2015/driver/magento/transformers/truncate-url.js → esm2020/driver/magento/transformers/truncate-url.mjs} +0 -0
  101. package/{esm2015/driver/public_api.js → esm2020/driver/public_api.mjs} +0 -0
  102. package/{esm2015/driver/testing/daffodil-category-driver-testing.js → esm2020/driver/testing/daffodil-category-driver-testing.mjs} +0 -0
  103. package/esm2020/driver/testing/drivers/category-driver.module.mjs +35 -0
  104. package/esm2020/driver/testing/drivers/category.service.mjs +42 -0
  105. package/{esm2015/driver/testing/drivers/public_api.js → esm2020/driver/testing/drivers/public_api.mjs} +0 -0
  106. package/{esm2015/driver/testing/index.js → esm2020/driver/testing/index.mjs} +0 -0
  107. package/{esm2015/driver/testing/public_api.js → esm2020/driver/testing/public_api.mjs} +0 -0
  108. package/esm2020/errors/codes.enum.mjs +12 -0
  109. package/esm2020/errors/map.mjs +8 -0
  110. package/{esm2015/errors/public_api.js → esm2020/errors/public_api.mjs} +0 -0
  111. package/{esm2015/filters/array-to-dict/array-to-dict.js → esm2020/filters/array-to-dict/array-to-dict.mjs} +0 -0
  112. package/{esm2015/filters/behaviors/apply/apply-filter.js → esm2020/filters/behaviors/apply/apply-filter.mjs} +0 -0
  113. package/esm2020/filters/behaviors/apply/apply-request-to-filters.mjs +12 -0
  114. package/{esm2015/filters/behaviors/apply/apply-requests-to-filters.js → esm2020/filters/behaviors/apply/apply-requests-to-filters.mjs} +2 -2
  115. package/{esm2015/filters/behaviors/apply/public_api.js → esm2020/filters/behaviors/apply/public_api.mjs} +0 -0
  116. package/{esm2015/filters/behaviors/clear/clear-filter.js → esm2020/filters/behaviors/clear/clear-filter.mjs} +0 -0
  117. package/{esm2015/filters/behaviors/clear/clear-filters.js → esm2020/filters/behaviors/clear/clear-filters.mjs} +0 -0
  118. package/{esm2015/filters/behaviors/clear/public_api.js → esm2020/filters/behaviors/clear/public_api.mjs} +0 -0
  119. package/{esm2015/filters/behaviors/remove/public_api.js → esm2020/filters/behaviors/remove/public_api.mjs} +0 -0
  120. package/{esm2015/filters/behaviors/remove/remove-filter.js → esm2020/filters/behaviors/remove/remove-filter.mjs} +0 -0
  121. package/esm2020/filters/behaviors/remove/remove-request-from-filters.mjs +12 -0
  122. package/{esm2015/filters/behaviors/remove/remove-requests-from-filters.js → esm2020/filters/behaviors/remove/remove-requests-from-filters.mjs} +2 -2
  123. package/{esm2015/filters/behaviors/toggle/public_api.js → esm2020/filters/behaviors/toggle/public_api.mjs} +0 -0
  124. package/esm2020/filters/behaviors/toggle/toggle-request-on-filters.mjs +10 -0
  125. package/{esm2015/filters/behaviors/toggle/toggle.js → esm2020/filters/behaviors/toggle/toggle.mjs} +0 -0
  126. package/esm2020/filters/compute-applied-filters/compute-applied-filters.mjs +21 -0
  127. package/{esm2015/filters/errors/codes.enum.js → esm2020/filters/errors/codes.enum.mjs} +0 -0
  128. package/{esm2015/filters/errors/filter-not-found.error.js → esm2020/filters/errors/filter-not-found.error.mjs} +0 -0
  129. package/{esm2015/filters/errors/map.js → esm2020/filters/errors/map.mjs} +0 -0
  130. package/{esm2015/filters/errors/public_api.js → esm2020/filters/errors/public_api.mjs} +0 -0
  131. package/{esm2015/filters/errors/request-name-mismatch.error.js → esm2020/filters/errors/request-name-mismatch.error.mjs} +0 -0
  132. package/{esm2015/filters/errors/request-type-mismatch.error.js → esm2020/filters/errors/request-type-mismatch.error.mjs} +0 -0
  133. package/{esm2015/filters/errors/unknown-filter-type.error.js → esm2020/filters/errors/unknown-filter-type.error.mjs} +0 -0
  134. package/{esm2015/filters/find-applied/find-applied-options.js → esm2020/filters/find-applied/find-applied-options.mjs} +0 -0
  135. package/{esm2015/filters/find-applied/public_api.js → esm2020/filters/find-applied/public_api.mjs} +0 -0
  136. package/{esm2015/filters/is-applied/is-filter-applied.js → esm2020/filters/is-applied/is-filter-applied.mjs} +0 -0
  137. package/{esm2015/filters/is-applied/is-toggle-request-applied-to-filter.js → esm2020/filters/is-applied/is-toggle-request-applied-to-filter.mjs} +0 -0
  138. package/{esm2015/filters/is-applied/public_api.js → esm2020/filters/is-applied/public_api.mjs} +0 -0
  139. package/{esm2015/filters/public_api.js → esm2020/filters/public_api.mjs} +0 -0
  140. package/{esm2015/filters/to-request/filter-to-request.js → esm2020/filters/to-request/filter-to-request.mjs} +0 -0
  141. package/{esm2015/filters/to-request/filters-to-requests.js → esm2020/filters/to-request/filters-to-requests.mjs} +0 -0
  142. package/{esm2015/filters/to-request/public_api.js → esm2020/filters/to-request/public_api.mjs} +0 -0
  143. package/{esm2015/filters/type/equal/array-to-dict/option.js → esm2020/filters/type/equal/array-to-dict/option.mjs} +0 -0
  144. package/esm2020/filters/type/equal/behaviors/apply/apply.mjs +20 -0
  145. package/esm2020/filters/type/equal/behaviors/clear/clear.mjs +17 -0
  146. package/esm2020/filters/type/equal/behaviors/remove/remove.mjs +23 -0
  147. package/esm2020/filters/type/equal/behaviors/toggle/toggle.mjs +24 -0
  148. package/{esm2015/filters/type/equal/is-applied/is-applied.js → esm2020/filters/type/equal/is-applied/is-applied.mjs} +0 -0
  149. package/esm2020/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.mjs +5 -0
  150. package/{esm2015/filters/type/equal/public_api.js → esm2020/filters/type/equal/public_api.mjs} +0 -0
  151. package/{esm2015/filters/type/equal/to-request/filter-to-request.js → esm2020/filters/type/equal/to-request/filter-to-request.mjs} +0 -0
  152. package/{esm2015/filters/type/range/array-to-dict/pair.js → esm2020/filters/type/range/array-to-dict/pair.mjs} +0 -0
  153. package/esm2020/filters/type/range/behaviors/apply/apply.mjs +24 -0
  154. package/esm2020/filters/type/range/behaviors/clear/clear.mjs +11 -0
  155. package/esm2020/filters/type/range/behaviors/remove/remove.mjs +17 -0
  156. package/{esm2015/filters/type/range/behaviors/toggle/toggle.js → esm2020/filters/type/range/behaviors/toggle/toggle.mjs} +1 -1
  157. package/{esm2015/filters/type/range/compute-pair-label.js → esm2020/filters/type/range/compute-pair-label.mjs} +0 -0
  158. package/{esm2015/filters/type/range/is-applied/is-applied.js → esm2020/filters/type/range/is-applied/is-applied.mjs} +0 -0
  159. package/{esm2015/filters/type/range/is-applied/is-toggle-request-applied-to-filter.js → esm2020/filters/type/range/is-applied/is-toggle-request-applied-to-filter.mjs} +1 -1
  160. package/{esm2015/filters/type/range/public_api.js → esm2020/filters/type/range/public_api.mjs} +0 -0
  161. package/{esm2015/filters/type/range/to-request/filter-to-request.js → esm2020/filters/type/range/to-request/filter-to-request.mjs} +0 -0
  162. package/{esm2015/filters/type/range-numeric/to-request/filter-to-request.js → esm2020/filters/type/range-numeric/to-request/filter-to-request.mjs} +0 -0
  163. package/{esm2015/filters/validators/public_api.js → esm2020/filters/validators/public_api.mjs} +0 -0
  164. package/{esm2015/filters/validators/request-name-match.js → esm2020/filters/validators/request-name-match.mjs} +0 -0
  165. package/{esm2015/filters/validators/request-type-match.js → esm2020/filters/validators/request-type-match.mjs} +0 -0
  166. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  167. package/{esm2015/injection-tokens/error-matcher.token.js → esm2020/injection-tokens/error-matcher.token.mjs} +0 -0
  168. package/{esm2015/injection-tokens/public_api.js → esm2020/injection-tokens/public_api.mjs} +0 -0
  169. package/{esm2015/models/category-breadcrumb.js → esm2020/models/category-breadcrumb.mjs} +1 -1
  170. package/{esm2015/models/category-page-metadata.js → esm2020/models/category-page-metadata.mjs} +0 -0
  171. package/{esm2015/models/category-request.js → esm2020/models/category-request.mjs} +0 -0
  172. package/{esm2015/models/category.js → esm2020/models/category.mjs} +0 -0
  173. package/{esm2015/models/filters/category-filter-base.js → esm2020/models/filters/category-filter-base.mjs} +1 -1
  174. package/{esm2015/models/filters/category-filter-option-base.js → esm2020/models/filters/category-filter-option-base.mjs} +1 -1
  175. package/{esm2015/models/filters/category-filter-option.js → esm2020/models/filters/category-filter-option.mjs} +0 -0
  176. package/{esm2015/models/filters/category-filter.js → esm2020/models/filters/category-filter.mjs} +0 -0
  177. package/{esm2015/models/filters/category-filterable.js → esm2020/models/filters/category-filterable.mjs} +1 -1
  178. package/{esm2015/models/filters/filter-request.js → esm2020/models/filters/filter-request.mjs} +0 -0
  179. package/{esm2015/models/filters/filter-toggle-request.js → esm2020/models/filters/filter-toggle-request.mjs} +0 -0
  180. package/{esm2015/models/filters/public_api.js → esm2020/models/filters/public_api.mjs} +0 -0
  181. package/{esm2015/models/filters/type/category-filter-type.js → esm2020/models/filters/type/category-filter-type.mjs} +1 -1
  182. package/{esm2015/models/filters/type/equal/filter.js → esm2020/models/filters/type/equal/filter.mjs} +1 -1
  183. package/{esm2015/models/filters/type/equal/option.js → esm2020/models/filters/type/equal/option.mjs} +1 -1
  184. package/{esm2015/models/filters/type/equal/public_api.js → esm2020/models/filters/type/equal/public_api.mjs} +0 -0
  185. package/{esm2015/models/filters/type/equal/request.js → esm2020/models/filters/type/equal/request.mjs} +1 -1
  186. package/{esm2015/models/filters/type/equal/toggle-request.js → esm2020/models/filters/type/equal/toggle-request.mjs} +1 -1
  187. package/{esm2015/models/filters/type/range/filter-base.js → esm2020/models/filters/type/range/filter-base.mjs} +1 -1
  188. package/{esm2015/models/filters/type/range/option.js → esm2020/models/filters/type/range/option.mjs} +1 -1
  189. package/{esm2015/models/filters/type/range/pair.js → esm2020/models/filters/type/range/pair.mjs} +1 -1
  190. package/{esm2015/models/filters/type/range/public_api.js → esm2020/models/filters/type/range/public_api.mjs} +0 -0
  191. package/{esm2015/models/filters/type/range/request-base.js → esm2020/models/filters/type/range/request-base.mjs} +1 -1
  192. package/{esm2015/models/filters/type/range/request-option.js → esm2020/models/filters/type/range/request-option.mjs} +1 -1
  193. package/{esm2015/models/filters/type/range/separator.js → esm2020/models/filters/type/range/separator.mjs} +0 -0
  194. package/{esm2015/models/filters/type/range-numeric/filter.js → esm2020/models/filters/type/range-numeric/filter.mjs} +1 -1
  195. package/{esm2015/models/filters/type/range-numeric/public_api.js → esm2020/models/filters/type/range-numeric/public_api.mjs} +0 -0
  196. package/{esm2015/models/filters/type/range-numeric/request.js → esm2020/models/filters/type/range-numeric/request.mjs} +1 -1
  197. package/{esm2015/models/filters/type/range-numeric/toggle-request.js → esm2020/models/filters/type/range-numeric/toggle-request.mjs} +1 -1
  198. package/{esm2015/models/generic-category.js → esm2020/models/generic-category.mjs} +1 -1
  199. package/{esm2015/models/get-category-response.js → esm2020/models/get-category-response.mjs} +1 -1
  200. package/{esm2015/models/public_api.js → esm2020/models/public_api.mjs} +0 -0
  201. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  202. package/{esm2015/routing/daffodil-category-routing.js → esm2020/routing/daffodil-category-routing.mjs} +0 -0
  203. package/{esm2015/routing/index.js → esm2020/routing/index.mjs} +0 -0
  204. package/{esm2015/routing/public_api.js → esm2020/routing/public_api.mjs} +0 -0
  205. package/esm2020/routing/resolvers/category-page/category-page.resolver.mjs +28 -0
  206. package/esm2020/routing/resolvers/category-page-id/category-page-id.resolver.mjs +40 -0
  207. package/esm2020/routing/resolvers/category-page-url/category-page-url.resolver.mjs +50 -0
  208. package/{esm2015/routing/resolvers/public_api.js → esm2020/routing/resolvers/public_api.mjs} +0 -0
  209. package/{esm2015/state/actions/category-page-filter.actions.js → esm2020/state/actions/category-page-filter.actions.mjs} +0 -0
  210. package/{esm2015/state/actions/category-page.actions.js → esm2020/state/actions/category-page.actions.mjs} +1 -1
  211. package/{esm2015/state/actions/category.actions.js → esm2020/state/actions/category.actions.mjs} +1 -1
  212. package/esm2020/state/category-state.module.mjs +35 -0
  213. package/esm2020/state/daffodil-category-state.mjs +5 -0
  214. package/esm2020/state/effects/category-page-filter.effects.mjs +53 -0
  215. package/esm2020/state/effects/category-page.effects.mjs +64 -0
  216. package/esm2020/state/effects/category.effects.mjs +30 -0
  217. package/{esm2015/state/facades/category-facade.interface.js → esm2020/state/facades/category-facade.interface.mjs} +1 -1
  218. package/esm2020/state/facades/category.facade.mjs +62 -0
  219. package/{esm2015/state/index.js → esm2020/state/index.mjs} +0 -0
  220. package/{esm2015/state/public_api.js → esm2020/state/public_api.mjs} +0 -0
  221. package/{esm2015/state/reducers/category/category-reducer-state.interface.js → esm2020/state/reducers/category/category-reducer-state.interface.mjs} +1 -1
  222. package/esm2020/state/reducers/category/category.reducer.mjs +157 -0
  223. package/{esm2015/state/reducers/category/pure/build-metadata-from-request.js → esm2020/state/reducers/category/pure/build-metadata-from-request.mjs} +0 -0
  224. package/{esm2015/state/reducers/category-entities/category-entities-adapter.js → esm2020/state/reducers/category-entities/category-entities-adapter.mjs} +0 -0
  225. package/esm2020/state/reducers/category-entities/category-entities.reducer.mjs +19 -0
  226. package/{esm2015/state/reducers/category-reducers.interface.js → esm2020/state/reducers/category-reducers.interface.mjs} +1 -1
  227. package/{esm2015/state/reducers/category-reducers.js → esm2020/state/reducers/category-reducers.mjs} +0 -0
  228. package/{esm2015/state/reducers/category-store-feature-key.js → esm2020/state/reducers/category-store-feature-key.mjs} +0 -0
  229. package/{esm2015/state/reducers/public_api.js → esm2020/state/reducers/public_api.mjs} +0 -0
  230. package/esm2020/state/selectors/category-entities/category-entities.selector.mjs +29 -0
  231. package/{esm2015/state/selectors/category-feature.selector.js → esm2020/state/selectors/category-feature.selector.mjs} +6 -8
  232. package/esm2020/state/selectors/category-page/category-page.selector.mjs +59 -0
  233. package/esm2020/state/selectors/category.selector.mjs +40 -0
  234. package/esm2020/state/testing/category-testing.module.mjs +23 -0
  235. package/{esm2015/state/testing/daffodil-category-state-testing.js → esm2020/state/testing/daffodil-category-state-testing.mjs} +0 -0
  236. package/{esm2015/state/testing/index.js → esm2020/state/testing/index.mjs} +0 -0
  237. package/esm2020/state/testing/mock-category-facade.mjs +52 -0
  238. package/{esm2015/state/testing/public_api.js → esm2020/state/testing/public_api.mjs} +0 -0
  239. package/{esm2015/testing/daffodil-category-testing.js → esm2020/testing/daffodil-category-testing.mjs} +0 -0
  240. package/{esm2015/testing/factories/category-page-metadata.factory.js → esm2020/testing/factories/category-page-metadata.factory.mjs} +9 -9
  241. package/{esm2015/testing/factories/category.factory.js → esm2020/testing/factories/category.factory.mjs} +9 -9
  242. package/esm2020/testing/factories/filters/filter.factory.mjs +50 -0
  243. package/{esm2015/testing/factories/filters/public_api.js → esm2020/testing/factories/filters/public_api.mjs} +0 -0
  244. package/esm2020/testing/factories/filters/request.factory.mjs +27 -0
  245. package/esm2020/testing/factories/filters/toggle-request.mjs +35 -0
  246. package/esm2020/testing/factories/filters/type/equal/option.mjs +29 -0
  247. package/{esm2015/testing/factories/filters/type/equal/public_api.js → esm2020/testing/factories/filters/type/equal/public_api.mjs} +0 -0
  248. package/esm2020/testing/factories/filters/type/equal/request.mjs +29 -0
  249. package/esm2020/testing/factories/filters/type/equal/toggle-request.mjs +29 -0
  250. package/esm2020/testing/factories/filters/type/equal.mjs +30 -0
  251. package/{esm2015/testing/factories/filters/type/public_api.js → esm2020/testing/factories/filters/type/public_api.mjs} +0 -0
  252. package/esm2020/testing/factories/filters/type/range-numeric/option.mjs +27 -0
  253. package/esm2020/testing/factories/filters/type/range-numeric/pair.mjs +37 -0
  254. package/{esm2015/testing/factories/filters/type/range-numeric/public_api.js → esm2020/testing/factories/filters/type/range-numeric/public_api.mjs} +0 -0
  255. package/esm2020/testing/factories/filters/type/range-numeric/request-option.mjs +27 -0
  256. package/esm2020/testing/factories/filters/type/range-numeric/request.mjs +38 -0
  257. package/esm2020/testing/factories/filters/type/range-numeric/toggle-request.mjs +38 -0
  258. package/esm2020/testing/factories/filters/type/range-numeric.mjs +32 -0
  259. package/{esm2015/testing/factories/public_api.js → esm2020/testing/factories/public_api.mjs} +0 -0
  260. package/{esm2015/testing/helpers/category-helper.js → esm2020/testing/helpers/category-helper.mjs} +0 -0
  261. package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
  262. package/{esm2015/testing/public_api.js → esm2020/testing/public_api.mjs} +0 -0
  263. package/fesm2015/{daffodil-category-driver-in-memory.js → daffodil-category-driver-in-memory.mjs} +36 -34
  264. package/fesm2015/daffodil-category-driver-in-memory.mjs.map +1 -0
  265. package/fesm2015/daffodil-category-driver-magento-testing.mjs +214 -0
  266. package/fesm2015/daffodil-category-driver-magento-testing.mjs.map +1 -0
  267. package/fesm2015/{daffodil-category-driver-magento.js → daffodil-category-driver-magento.mjs} +88 -73
  268. package/fesm2015/daffodil-category-driver-magento.mjs.map +1 -0
  269. package/fesm2015/daffodil-category-driver-testing.mjs +79 -0
  270. package/fesm2015/daffodil-category-driver-testing.mjs.map +1 -0
  271. package/fesm2015/{daffodil-category-driver.js → daffodil-category-driver.mjs} +1 -1
  272. package/fesm2015/daffodil-category-driver.mjs.map +1 -0
  273. package/fesm2015/daffodil-category-routing.mjs +109 -0
  274. package/fesm2015/daffodil-category-routing.mjs.map +1 -0
  275. package/fesm2015/{daffodil-category-state-testing.js → daffodil-category-state-testing.mjs} +22 -13
  276. package/fesm2015/daffodil-category-state-testing.mjs.map +1 -0
  277. package/fesm2015/{daffodil-category-state.js → daffodil-category-state.mjs} +105 -121
  278. package/fesm2015/daffodil-category-state.mjs.map +1 -0
  279. package/fesm2015/daffodil-category-testing.mjs +438 -0
  280. package/fesm2015/daffodil-category-testing.mjs.map +1 -0
  281. package/fesm2015/{daffodil-category.js → daffodil-category.mjs} +1 -1
  282. package/fesm2015/daffodil-category.mjs.map +1 -0
  283. package/fesm2020/daffodil-category-driver-in-memory.mjs +199 -0
  284. package/fesm2020/daffodil-category-driver-in-memory.mjs.map +1 -0
  285. package/fesm2020/daffodil-category-driver-magento-testing.mjs +214 -0
  286. package/fesm2020/daffodil-category-driver-magento-testing.mjs.map +1 -0
  287. package/fesm2020/daffodil-category-driver-magento.mjs +567 -0
  288. package/fesm2020/daffodil-category-driver-magento.mjs.map +1 -0
  289. package/fesm2020/daffodil-category-driver-testing.mjs +79 -0
  290. package/fesm2020/daffodil-category-driver-testing.mjs.map +1 -0
  291. package/fesm2020/daffodil-category-driver.mjs +12 -0
  292. package/fesm2020/daffodil-category-driver.mjs.map +1 -0
  293. package/fesm2020/daffodil-category-routing.mjs +109 -0
  294. package/fesm2020/daffodil-category-routing.mjs.map +1 -0
  295. package/fesm2020/daffodil-category-state-testing.mjs +79 -0
  296. package/fesm2020/daffodil-category-state-testing.mjs.map +1 -0
  297. package/fesm2020/daffodil-category-state.mjs +752 -0
  298. package/fesm2020/daffodil-category-state.mjs.map +1 -0
  299. package/fesm2020/daffodil-category-testing.mjs +457 -0
  300. package/fesm2020/daffodil-category-testing.mjs.map +1 -0
  301. package/fesm2020/daffodil-category.mjs +590 -0
  302. package/fesm2020/daffodil-category.mjs.map +1 -0
  303. package/filters/errors/map.d.ts +0 -1
  304. package/filters/type/range/array-to-dict/pair.d.ts +1 -1
  305. package/package.json +103 -19
  306. package/routing/daffodil-category-routing.d.ts +1 -0
  307. package/routing/package.json +5 -6
  308. package/routing/resolvers/category-page/category-page.resolver.d.ts +3 -0
  309. package/routing/resolvers/category-page-id/category-page-id.resolver.d.ts +3 -0
  310. package/routing/resolvers/category-page-url/category-page-url.resolver.d.ts +3 -0
  311. package/state/category-state.module.d.ts +7 -0
  312. package/state/daffodil-category-state.d.ts +1 -3
  313. package/state/effects/category-page-filter.effects.d.ts +3 -0
  314. package/state/effects/category-page.effects.d.ts +3 -0
  315. package/state/effects/category.effects.d.ts +3 -0
  316. package/state/facades/category.facade.d.ts +3 -0
  317. package/state/package.json +5 -6
  318. package/state/testing/category-testing.module.d.ts +4 -0
  319. package/state/testing/daffodil-category-state-testing.d.ts +1 -0
  320. package/state/testing/mock-category-facade.d.ts +3 -0
  321. package/state/testing/package.json +5 -6
  322. package/testing/daffodil-category-testing.d.ts +1 -0
  323. package/testing/factories/category-page-metadata.factory.d.ts +3 -0
  324. package/testing/factories/category.factory.d.ts +3 -0
  325. package/testing/factories/filters/filter.factory.d.ts +3 -0
  326. package/testing/factories/filters/request.factory.d.ts +3 -0
  327. package/testing/factories/filters/toggle-request.d.ts +3 -0
  328. package/testing/factories/filters/type/equal/option.d.ts +3 -0
  329. package/testing/factories/filters/type/equal/request.d.ts +3 -0
  330. package/testing/factories/filters/type/equal/toggle-request.d.ts +3 -0
  331. package/testing/factories/filters/type/equal.d.ts +3 -0
  332. package/testing/factories/filters/type/range-numeric/option.d.ts +3 -0
  333. package/testing/factories/filters/type/range-numeric/pair.d.ts +3 -0
  334. package/testing/factories/filters/type/range-numeric/request-option.d.ts +3 -0
  335. package/testing/factories/filters/type/range-numeric/request.d.ts +3 -0
  336. package/testing/factories/filters/type/range-numeric/toggle-request.d.ts +3 -0
  337. package/testing/factories/filters/type/range-numeric.d.ts +3 -0
  338. package/testing/package.json +5 -6
  339. package/bundles/daffodil-category-driver-in-memory.umd.js +0 -535
  340. package/bundles/daffodil-category-driver-in-memory.umd.js.map +0 -1
  341. package/bundles/daffodil-category-driver-in-memory.umd.min.js +0 -2
  342. package/bundles/daffodil-category-driver-in-memory.umd.min.js.map +0 -1
  343. package/bundles/daffodil-category-driver-magento-testing.umd.js +0 -566
  344. package/bundles/daffodil-category-driver-magento-testing.umd.js.map +0 -1
  345. package/bundles/daffodil-category-driver-magento-testing.umd.min.js +0 -16
  346. package/bundles/daffodil-category-driver-magento-testing.umd.min.js.map +0 -1
  347. package/bundles/daffodil-category-driver-magento.umd.js +0 -803
  348. package/bundles/daffodil-category-driver-magento.umd.js.map +0 -1
  349. package/bundles/daffodil-category-driver-magento.umd.min.js +0 -16
  350. package/bundles/daffodil-category-driver-magento.umd.min.js.map +0 -1
  351. package/bundles/daffodil-category-driver-testing.umd.js +0 -84
  352. package/bundles/daffodil-category-driver-testing.umd.js.map +0 -1
  353. package/bundles/daffodil-category-driver-testing.umd.min.js +0 -2
  354. package/bundles/daffodil-category-driver-testing.umd.min.js.map +0 -1
  355. package/bundles/daffodil-category-driver.umd.js +0 -20
  356. package/bundles/daffodil-category-driver.umd.js.map +0 -1
  357. package/bundles/daffodil-category-driver.umd.min.js +0 -2
  358. package/bundles/daffodil-category-driver.umd.min.js.map +0 -1
  359. package/bundles/daffodil-category-routing.umd.js +0 -115
  360. package/bundles/daffodil-category-routing.umd.js.map +0 -1
  361. package/bundles/daffodil-category-routing.umd.min.js +0 -2
  362. package/bundles/daffodil-category-routing.umd.min.js.map +0 -1
  363. package/bundles/daffodil-category-state-testing.umd.js +0 -81
  364. package/bundles/daffodil-category-state-testing.umd.js.map +0 -1
  365. package/bundles/daffodil-category-state-testing.umd.min.js +0 -2
  366. package/bundles/daffodil-category-state-testing.umd.min.js.map +0 -1
  367. package/bundles/daffodil-category-state.umd.js +0 -1038
  368. package/bundles/daffodil-category-state.umd.js.map +0 -1
  369. package/bundles/daffodil-category-state.umd.min.js +0 -2
  370. package/bundles/daffodil-category-state.umd.min.js.map +0 -1
  371. package/bundles/daffodil-category-testing.umd.js +0 -860
  372. package/bundles/daffodil-category-testing.umd.js.map +0 -1
  373. package/bundles/daffodil-category-testing.umd.min.js +0 -16
  374. package/bundles/daffodil-category-testing.umd.min.js.map +0 -1
  375. package/bundles/daffodil-category.umd.js +0 -914
  376. package/bundles/daffodil-category.umd.js.map +0 -1
  377. package/bundles/daffodil-category.umd.min.js +0 -16
  378. package/bundles/daffodil-category.umd.min.js.map +0 -1
  379. package/daffodil-category.metadata.json +0 -1
  380. package/driver/daffodil-category-driver.metadata.json +0 -1
  381. package/driver/in-memory/daffodil-category-driver-in-memory.metadata.json +0 -1
  382. package/driver/magento/daffodil-category-driver-magento.metadata.json +0 -1
  383. package/driver/magento/testing/daffodil-category-driver-magento-testing.metadata.json +0 -1
  384. package/driver/testing/daffodil-category-driver-testing.metadata.json +0 -1
  385. package/esm2015/driver/in-memory/drivers/category-driver.module.js +0 -28
  386. package/esm2015/driver/in-memory/drivers/category.service.js +0 -39
  387. package/esm2015/driver/magento/category-driver.module.js +0 -64
  388. package/esm2015/driver/magento/category.service.js +0 -122
  389. package/esm2015/driver/magento/daffodil-category-driver-magento.js +0 -6
  390. package/esm2015/driver/magento/testing/factories/aggregation/aggregation.factory.js +0 -27
  391. package/esm2015/driver/magento/testing/factories/aggregation/type/price.factory.js +0 -49
  392. package/esm2015/driver/magento/testing/factories/aggregation/type/select.factory.js +0 -44
  393. package/esm2015/driver/magento/testing/factories/filter-type-field.factory.js +0 -32
  394. package/esm2015/driver/magento/testing/factories/page-info.factory.js +0 -25
  395. package/esm2015/driver/magento/testing/factories/sort-fields.factory.js +0 -28
  396. package/esm2015/driver/magento/transformers/applied-filter-transformer.service.js +0 -54
  397. package/esm2015/driver/magento/transformers/applied-sort-option-transformer.service.js +0 -26
  398. package/esm2015/driver/magento/transformers/category-page-config-transformer.service.js +0 -33
  399. package/esm2015/driver/magento/transformers/category-response-transform.service.js +0 -31
  400. package/esm2015/driver/magento/transformers/category-transformer.service.js +0 -35
  401. package/esm2015/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.js +0 -7
  402. package/esm2015/driver/magento/transformers/pure/sort-default-option-first.js +0 -9
  403. package/esm2015/driver/testing/drivers/category-driver.module.js +0 -28
  404. package/esm2015/driver/testing/drivers/category.service.js +0 -46
  405. package/esm2015/errors/codes.enum.js +0 -10
  406. package/esm2015/errors/map.js +0 -6
  407. package/esm2015/filters/behaviors/apply/apply-request-to-filters.js +0 -9
  408. package/esm2015/filters/behaviors/remove/remove-request-from-filters.js +0 -9
  409. package/esm2015/filters/behaviors/toggle/toggle-request-on-filters.js +0 -7
  410. package/esm2015/filters/compute-applied-filters/compute-applied-filters.js +0 -18
  411. package/esm2015/filters/type/equal/behaviors/apply/apply.js +0 -14
  412. package/esm2015/filters/type/equal/behaviors/clear/clear.js +0 -11
  413. package/esm2015/filters/type/equal/behaviors/remove/remove.js +0 -17
  414. package/esm2015/filters/type/equal/behaviors/toggle/toggle.js +0 -14
  415. package/esm2015/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.js +0 -5
  416. package/esm2015/filters/type/range/behaviors/apply/apply.js +0 -21
  417. package/esm2015/filters/type/range/behaviors/clear/clear.js +0 -8
  418. package/esm2015/filters/type/range/behaviors/remove/remove.js +0 -14
  419. package/esm2015/routing/resolvers/category-page/category-page.resolver.js +0 -30
  420. package/esm2015/routing/resolvers/category-page-id/category-page-id.resolver.js +0 -41
  421. package/esm2015/routing/resolvers/category-page-url/category-page-url.resolver.js +0 -50
  422. package/esm2015/state/category-state.module.js +0 -24
  423. package/esm2015/state/daffodil-category-state.js +0 -8
  424. package/esm2015/state/effects/category-page-filter.effects.js +0 -54
  425. package/esm2015/state/effects/category-page.effects.js +0 -65
  426. package/esm2015/state/effects/category.effects.js +0 -31
  427. package/esm2015/state/facades/category.facade.js +0 -64
  428. package/esm2015/state/reducers/category/category.reducer.js +0 -59
  429. package/esm2015/state/reducers/category-entities/category-entities.reducer.js +0 -16
  430. package/esm2015/state/selectors/category-entities/category-entities.selector.js +0 -32
  431. package/esm2015/state/selectors/category-page/category-page.selector.js +0 -62
  432. package/esm2015/state/selectors/category.selector.js +0 -37
  433. package/esm2015/state/testing/category-testing.module.js +0 -16
  434. package/esm2015/state/testing/mock-category-facade.js +0 -50
  435. package/esm2015/testing/factories/filters/filter.factory.js +0 -50
  436. package/esm2015/testing/factories/filters/request.factory.js +0 -30
  437. package/esm2015/testing/factories/filters/toggle-request.js +0 -35
  438. package/esm2015/testing/factories/filters/type/equal/option.js +0 -29
  439. package/esm2015/testing/factories/filters/type/equal/request.js +0 -29
  440. package/esm2015/testing/factories/filters/type/equal/toggle-request.js +0 -29
  441. package/esm2015/testing/factories/filters/type/equal.js +0 -30
  442. package/esm2015/testing/factories/filters/type/range-numeric/option.js +0 -27
  443. package/esm2015/testing/factories/filters/type/range-numeric/pair.js +0 -34
  444. package/esm2015/testing/factories/filters/type/range-numeric/request-option.js +0 -27
  445. package/esm2015/testing/factories/filters/type/range-numeric/request.js +0 -36
  446. package/esm2015/testing/factories/filters/type/range-numeric/toggle-request.js +0 -36
  447. package/esm2015/testing/factories/filters/type/range-numeric.js +0 -32
  448. package/fesm2015/daffodil-category-driver-in-memory.js.map +0 -1
  449. package/fesm2015/daffodil-category-driver-magento-testing.js +0 -216
  450. package/fesm2015/daffodil-category-driver-magento-testing.js.map +0 -1
  451. package/fesm2015/daffodil-category-driver-magento.js.map +0 -1
  452. package/fesm2015/daffodil-category-driver-testing.js +0 -76
  453. package/fesm2015/daffodil-category-driver-testing.js.map +0 -1
  454. package/fesm2015/daffodil-category-driver.js.map +0 -1
  455. package/fesm2015/daffodil-category-routing.js +0 -110
  456. package/fesm2015/daffodil-category-routing.js.map +0 -1
  457. package/fesm2015/daffodil-category-state-testing.js.map +0 -1
  458. package/fesm2015/daffodil-category-state.js.map +0 -1
  459. package/fesm2015/daffodil-category-testing.js +0 -452
  460. package/fesm2015/daffodil-category-testing.js.map +0 -1
  461. package/fesm2015/daffodil-category.js.map +0 -1
  462. package/routing/daffodil-category-routing.metadata.json +0 -1
  463. package/state/daffodil-category-state.metadata.json +0 -1
  464. package/state/testing/daffodil-category-state-testing.metadata.json +0 -1
  465. package/testing/daffodil-category-testing.metadata.json +0 -1
@@ -0,0 +1,457 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+ import * as faker from '@faker-js/faker/locale/en_US';
4
+ import { DaffModelFactory } from '@daffodil/core/testing';
5
+ import { DaffCategoryFilterType } from '@daffodil/category';
6
+
7
+ class MockCategory {
8
+ constructor() {
9
+ this.id = faker.datatype.uuid();
10
+ this.url = `/${faker.internet.domainWord()}.html`;
11
+ this.canonicalUrl = faker.internet.url();
12
+ this.name = faker.commerce.productMaterial();
13
+ this.description = faker.random.words(Math.floor(Math.random() * 20));
14
+ this.meta_title = faker.commerce.productMaterial();
15
+ this.meta_description = faker.random.words(Math.floor(Math.random() * 20));
16
+ this.breadcrumbs = [{
17
+ id: faker.datatype.uuid(),
18
+ name: faker.commerce.productMaterial(),
19
+ level: faker.datatype.number({ min: 1, max: 5 }),
20
+ url: faker.commerce.productMaterial(),
21
+ }];
22
+ this.children_count = faker.datatype.number({ min: 1, max: 10 });
23
+ this.total_products = 1;
24
+ this.product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];
25
+ }
26
+ }
27
+ /**
28
+ * A factory for creating a {@link DaffCategory}.
29
+ */
30
+ class DaffCategoryFactory extends DaffModelFactory {
31
+ constructor() {
32
+ super(MockCategory);
33
+ }
34
+ }
35
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
36
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFactory, providedIn: 'root' });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFactory, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root',
41
+ }]
42
+ }], ctorParameters: function () { return []; } });
43
+
44
+ /**
45
+ * A helper function to verify that a model is a Category.
46
+ *
47
+ * @param category
48
+ */
49
+ function isCategory(category) {
50
+ return !!category.id
51
+ && !!category.name;
52
+ }
53
+
54
+ class MockCategoryPageMetadata {
55
+ constructor() {
56
+ this.id = faker.datatype.uuid();
57
+ this.total_products = faker.datatype.number({ min: 1, max: 3 });
58
+ this.product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];
59
+ this.sort_options = {
60
+ default: 'position',
61
+ options: [
62
+ {
63
+ label: 'Position',
64
+ value: 'position',
65
+ },
66
+ {
67
+ label: 'Name',
68
+ value: 'name',
69
+ },
70
+ {
71
+ label: 'Price',
72
+ value: 'price',
73
+ },
74
+ ],
75
+ };
76
+ this.applied_sort_option = 'position';
77
+ this.applied_sort_direction = null;
78
+ this.current_page = 1;
79
+ this.total_pages = faker.datatype.number({ min: 1, max: 4 });
80
+ this.page_size = 20;
81
+ this.filters = {};
82
+ }
83
+ }
84
+ /**
85
+ * A factory for creating {@link DaffCategoryPageMetadata}.
86
+ */
87
+ class DaffCategoryPageMetadataFactory extends DaffModelFactory {
88
+ constructor() {
89
+ super(MockCategoryPageMetadata);
90
+ }
91
+ }
92
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageMetadataFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageMetadataFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
93
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryPageMetadataFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageMetadataFactory, providedIn: 'root' });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageMetadataFactory, decorators: [{
95
+ type: Injectable,
96
+ args: [{
97
+ providedIn: 'root',
98
+ }]
99
+ }], ctorParameters: function () { return []; } });
100
+
101
+ class MockCategoryEqualFilter {
102
+ constructor() {
103
+ this.type = DaffCategoryFilterType.Equal;
104
+ this.label = faker.commerce.productMaterial();
105
+ this.name = faker.datatype.uuid();
106
+ this.options = {};
107
+ }
108
+ }
109
+ /**
110
+ * A factory for creating a {@link DaffCategoryFilterEqual}.
111
+ */
112
+ class DaffCategoryFilterEqualFactory extends DaffModelFactory {
113
+ constructor() {
114
+ super(MockCategoryEqualFilter);
115
+ }
116
+ }
117
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterEqualFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterEqualFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
118
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterEqualFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterEqualFactory, providedIn: 'root' });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterEqualFactory, decorators: [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root',
123
+ }]
124
+ }], ctorParameters: function () { return []; } });
125
+
126
+ class MockCategoryFilterRangeNumeric {
127
+ constructor() {
128
+ this.type = DaffCategoryFilterType.RangeNumeric;
129
+ this.label = faker.commerce.productMaterial();
130
+ this.name = faker.datatype.uuid();
131
+ this.min = faker.datatype.number({ min: 1, max: 10 });
132
+ this.max = faker.datatype.number({ min: 10, max: 200 });
133
+ this.options = {};
134
+ }
135
+ }
136
+ /**
137
+ * A factory for creating a {@link DaffCategoryFilterRangeNumeric}.
138
+ */
139
+ class DaffCategoryFilterRangeNumericFactory extends DaffModelFactory {
140
+ constructor() {
141
+ super(MockCategoryFilterRangeNumeric);
142
+ }
143
+ }
144
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
145
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericFactory, providedIn: 'root' });
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericFactory, decorators: [{
147
+ type: Injectable,
148
+ args: [{
149
+ providedIn: 'root',
150
+ }]
151
+ }], ctorParameters: function () { return []; } });
152
+
153
+ class MockDaffCategoryFilter {
154
+ }
155
+ /**
156
+ * A factory for creating a {@link DaffCategoryFilter}.
157
+ */
158
+ class DaffCategoryFilterFactory extends DaffModelFactory {
159
+ constructor(equalFactory, rangeFactory) {
160
+ super(MockDaffCategoryFilter);
161
+ this.equalFactory = equalFactory;
162
+ this.rangeFactory = rangeFactory;
163
+ }
164
+ create(partial = {}) {
165
+ let factory;
166
+ switch (partial.type) {
167
+ case DaffCategoryFilterType.Equal:
168
+ factory = this.equalFactory;
169
+ break;
170
+ case DaffCategoryFilterType.RangeNumeric:
171
+ factory = this.rangeFactory;
172
+ break;
173
+ default:
174
+ factory = faker.datatype.number({ min: 1, max: 2 }) === 2
175
+ ? this.equalFactory
176
+ : this.rangeFactory;
177
+ break;
178
+ }
179
+ return {
180
+ ...new this.type(),
181
+ ...factory.create(partial),
182
+ };
183
+ }
184
+ }
185
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterFactory, deps: [{ token: DaffCategoryFilterEqualFactory }, { token: DaffCategoryFilterRangeNumericFactory }], target: i0.ɵɵFactoryTarget.Injectable });
186
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterFactory, providedIn: 'root' });
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterFactory, decorators: [{
188
+ type: Injectable,
189
+ args: [{
190
+ providedIn: 'root',
191
+ }]
192
+ }], ctorParameters: function () { return [{ type: DaffCategoryFilterEqualFactory }, { type: DaffCategoryFilterRangeNumericFactory }]; } });
193
+
194
+ class MockDaffCategoryFilterEqualRequest {
195
+ constructor() {
196
+ this.type = DaffCategoryFilterType.Equal;
197
+ this.name = faker.random.word();
198
+ this.value = [faker.datatype.uuid()];
199
+ }
200
+ }
201
+ /**
202
+ * A factory for creating a {@link DaffCategoryFilterEqualRequest}.
203
+ */
204
+ class DaffCategoryFilterRequestEqualFactory extends DaffModelFactory {
205
+ constructor() {
206
+ super(MockDaffCategoryFilterEqualRequest);
207
+ }
208
+ }
209
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRequestEqualFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestEqualFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
210
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRequestEqualFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestEqualFactory, providedIn: 'root' });
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestEqualFactory, decorators: [{
212
+ type: Injectable,
213
+ args: [{
214
+ providedIn: 'root',
215
+ }]
216
+ }], ctorParameters: function () { return []; } });
217
+
218
+ class MockDaffCategoryFilterRangeNumericRequestOption {
219
+ constructor() {
220
+ this.min = faker.datatype.number({ min: 0, max: 100 });
221
+ this.max = faker.datatype.number({ min: 100, max: 1000 });
222
+ }
223
+ }
224
+ /**
225
+ * A factory for creating a {@link DaffCategoryFilterRangeRequestOption}.
226
+ */
227
+ class DaffCategoryFilterRangeNumericRequestOptionFactory extends DaffModelFactory {
228
+ constructor() {
229
+ super(MockDaffCategoryFilterRangeNumericRequestOption);
230
+ }
231
+ }
232
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericRequestOptionFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericRequestOptionFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
233
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericRequestOptionFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericRequestOptionFactory, providedIn: 'root' });
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericRequestOptionFactory, decorators: [{
235
+ type: Injectable,
236
+ args: [{
237
+ providedIn: 'root',
238
+ }]
239
+ }], ctorParameters: function () { return []; } });
240
+
241
+ class MockDaffCategoryFilterRangeNumericRequest {
242
+ constructor() {
243
+ this.type = DaffCategoryFilterType.RangeNumeric;
244
+ this.name = faker.random.word();
245
+ }
246
+ }
247
+ /**
248
+ * A factory for creating a {@link DaffCategoryFilterRangeNumericRequest}.
249
+ */
250
+ class DaffCategoryFilterRequestRangeNumericFactory extends DaffModelFactory {
251
+ constructor(option = new DaffCategoryFilterRangeNumericRequestOptionFactory()) {
252
+ super(MockDaffCategoryFilterRangeNumericRequest);
253
+ this.option = option;
254
+ }
255
+ create(partial = {}) {
256
+ return {
257
+ ...new this.type(),
258
+ value: this.option.create(),
259
+ ...partial,
260
+ };
261
+ }
262
+ }
263
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRequestRangeNumericFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestRangeNumericFactory, deps: [{ token: DaffCategoryFilterRangeNumericRequestOptionFactory }], target: i0.ɵɵFactoryTarget.Injectable });
264
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRequestRangeNumericFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestRangeNumericFactory, providedIn: 'root' });
265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestRangeNumericFactory, decorators: [{
266
+ type: Injectable,
267
+ args: [{
268
+ providedIn: 'root',
269
+ }]
270
+ }], ctorParameters: function () { return [{ type: DaffCategoryFilterRangeNumericRequestOptionFactory }]; } });
271
+
272
+ /**
273
+ * A factory for creating a {@link DaffCategoryFilterRequest}.
274
+ */
275
+ class DaffCategoryFilterRequestFactory extends DaffModelFactory {
276
+ constructor(equalFactory, rangeFactory) {
277
+ super(faker.datatype.number({ min: 1, max: 2 }) === 2 ? equalFactory.type : rangeFactory.type);
278
+ this.equalFactory = equalFactory;
279
+ this.rangeFactory = rangeFactory;
280
+ }
281
+ }
282
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRequestFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestFactory, deps: [{ token: DaffCategoryFilterRequestEqualFactory }, { token: DaffCategoryFilterRequestRangeNumericFactory }], target: i0.ɵɵFactoryTarget.Injectable });
283
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRequestFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestFactory, providedIn: 'root' });
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRequestFactory, decorators: [{
285
+ type: Injectable,
286
+ args: [{
287
+ providedIn: 'root',
288
+ }]
289
+ }], ctorParameters: function () { return [{ type: DaffCategoryFilterRequestEqualFactory }, { type: DaffCategoryFilterRequestRangeNumericFactory }]; } });
290
+
291
+ class MockDaffToggleCategoryFilterEqualRequest {
292
+ constructor() {
293
+ this.type = DaffCategoryFilterType.Equal;
294
+ this.name = faker.random.word();
295
+ this.value = faker.datatype.uuid();
296
+ }
297
+ }
298
+ /**
299
+ * A factory for creating a {@link DaffCategoryFilterEqualToggleRequest}.
300
+ */
301
+ class DaffCategoryFilterToggleRequestEqualFactory extends DaffModelFactory {
302
+ constructor() {
303
+ super(MockDaffToggleCategoryFilterEqualRequest);
304
+ }
305
+ }
306
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterToggleRequestEqualFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestEqualFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
307
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterToggleRequestEqualFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestEqualFactory, providedIn: 'root' });
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestEqualFactory, decorators: [{
309
+ type: Injectable,
310
+ args: [{
311
+ providedIn: 'root',
312
+ }]
313
+ }], ctorParameters: function () { return []; } });
314
+
315
+ class MockDaffToggleCategoryFilterRangeNumericRequest {
316
+ constructor() {
317
+ this.type = DaffCategoryFilterType.RangeNumeric;
318
+ this.name = faker.random.word();
319
+ }
320
+ }
321
+ /**
322
+ * A factory for creating a {@link DaffCategoryFilterRangeNumericToggleRequest}.
323
+ */
324
+ class DaffCategoryFilterToggleRequestRangeNumericFactory extends DaffModelFactory {
325
+ constructor(option) {
326
+ super(MockDaffToggleCategoryFilterRangeNumericRequest);
327
+ this.option = option;
328
+ }
329
+ create(partial = {}) {
330
+ return {
331
+ ...new this.type(),
332
+ value: this.option.create(),
333
+ ...partial,
334
+ };
335
+ }
336
+ }
337
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterToggleRequestRangeNumericFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestRangeNumericFactory, deps: [{ token: DaffCategoryFilterRangeNumericRequestOptionFactory }], target: i0.ɵɵFactoryTarget.Injectable });
338
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterToggleRequestRangeNumericFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestRangeNumericFactory, providedIn: 'root' });
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestRangeNumericFactory, decorators: [{
340
+ type: Injectable,
341
+ args: [{
342
+ providedIn: 'root',
343
+ }]
344
+ }], ctorParameters: function () { return [{ type: DaffCategoryFilterRangeNumericRequestOptionFactory }]; } });
345
+
346
+ class MockDaffToggleCategoryFilterRequest {
347
+ }
348
+ /**
349
+ * A factory for creating a {@link DaffCategoryFilterToggleRequest}.
350
+ */
351
+ class DaffCategoryFilterToggleRequestFactory extends DaffModelFactory {
352
+ constructor(equalFactory, rangeFactory) {
353
+ super(MockDaffToggleCategoryFilterRequest);
354
+ this.equalFactory = equalFactory;
355
+ this.rangeFactory = rangeFactory;
356
+ }
357
+ create(partial) {
358
+ return {
359
+ ...new this.type(),
360
+ ...faker.datatype.number({ min: 1, max: 2 }) === 2 ? this.equalFactory.create() : this.rangeFactory.create(),
361
+ };
362
+ }
363
+ }
364
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterToggleRequestFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestFactory, deps: [{ token: DaffCategoryFilterToggleRequestEqualFactory }, { token: DaffCategoryFilterToggleRequestRangeNumericFactory }], target: i0.ɵɵFactoryTarget.Injectable });
365
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterToggleRequestFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestFactory, providedIn: 'root' });
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterToggleRequestFactory, decorators: [{
367
+ type: Injectable,
368
+ args: [{
369
+ providedIn: 'root',
370
+ }]
371
+ }], ctorParameters: function () { return [{ type: DaffCategoryFilterToggleRequestEqualFactory }, { type: DaffCategoryFilterToggleRequestRangeNumericFactory }]; } });
372
+
373
+ class MockDaffCategoryFilterEqualOption {
374
+ constructor() {
375
+ this.applied = false;
376
+ this.value = faker.datatype.uuid();
377
+ this.label = faker.random.word();
378
+ this.count = faker.datatype.number({ min: 1, max: 1000 });
379
+ }
380
+ }
381
+ /**
382
+ * A factory for creating a {@link DaffCategoryFilterEqualOption}.
383
+ */
384
+ class DaffCategoryFilterEqualOptionFactory extends DaffModelFactory {
385
+ constructor() {
386
+ super(MockDaffCategoryFilterEqualOption);
387
+ }
388
+ }
389
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterEqualOptionFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterEqualOptionFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
390
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterEqualOptionFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterEqualOptionFactory, providedIn: 'root' });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterEqualOptionFactory, decorators: [{
392
+ type: Injectable,
393
+ args: [{
394
+ providedIn: 'root',
395
+ }]
396
+ }], ctorParameters: function () { return []; } });
397
+
398
+ class MockCategoryFilterRangeNumericOption {
399
+ constructor() {
400
+ this.value = faker.datatype.number({ min: 0, max: 10 });
401
+ this.label = faker.random.alpha({ count: 3 });
402
+ }
403
+ }
404
+ /**
405
+ * A factory for creating a {@link DaffCategoryFilterRangeOption}.
406
+ */
407
+ class DaffCategoryFilterRangeNumericOptionFactory extends DaffModelFactory {
408
+ constructor() {
409
+ super(MockCategoryFilterRangeNumericOption);
410
+ }
411
+ }
412
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericOptionFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericOptionFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
413
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericOptionFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericOptionFactory, providedIn: 'root' });
414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericOptionFactory, decorators: [{
415
+ type: Injectable,
416
+ args: [{
417
+ providedIn: 'root',
418
+ }]
419
+ }], ctorParameters: function () { return []; } });
420
+
421
+ class MockDaffCategoryFilterRangeNumericPair {
422
+ constructor() {
423
+ this.applied = true;
424
+ }
425
+ }
426
+ /**
427
+ * A factory for creating a {@link DaffCategoryFilterRangePair}.
428
+ */
429
+ class DaffCategoryFilterRangeNumericPairFactory extends DaffModelFactory {
430
+ constructor(option) {
431
+ super(MockDaffCategoryFilterRangeNumericPair);
432
+ this.option = option;
433
+ }
434
+ create(partial = {}) {
435
+ return {
436
+ ...new this.type(),
437
+ min: this.option.create({ value: faker.datatype.number({ min: 0, max: 100 }) }),
438
+ max: this.option.create({ value: faker.datatype.number({ min: 100, max: 1000 }) }),
439
+ ...partial,
440
+ };
441
+ }
442
+ }
443
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericPairFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericPairFactory, deps: [{ token: DaffCategoryFilterRangeNumericOptionFactory }], target: i0.ɵɵFactoryTarget.Injectable });
444
+ /** @nocollapse */ /** @nocollapse */ DaffCategoryFilterRangeNumericPairFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericPairFactory, providedIn: 'root' });
445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFilterRangeNumericPairFactory, decorators: [{
446
+ type: Injectable,
447
+ args: [{
448
+ providedIn: 'root',
449
+ }]
450
+ }], ctorParameters: function () { return [{ type: DaffCategoryFilterRangeNumericOptionFactory }]; } });
451
+
452
+ /**
453
+ * Generated bundle index. Do not edit.
454
+ */
455
+
456
+ export { DaffCategoryFactory, DaffCategoryFilterEqualFactory, DaffCategoryFilterEqualOptionFactory, DaffCategoryFilterFactory, DaffCategoryFilterRangeNumericFactory, DaffCategoryFilterRangeNumericOptionFactory, DaffCategoryFilterRangeNumericPairFactory, DaffCategoryFilterRangeNumericRequestOptionFactory, DaffCategoryFilterRequestEqualFactory, DaffCategoryFilterRequestFactory, DaffCategoryFilterRequestRangeNumericFactory, DaffCategoryFilterToggleRequestEqualFactory, DaffCategoryFilterToggleRequestFactory, DaffCategoryFilterToggleRequestRangeNumericFactory, DaffCategoryPageMetadataFactory, MockCategoryEqualFilter, MockCategoryFilterRangeNumeric, MockCategoryFilterRangeNumericOption, MockCategoryPageMetadata, MockDaffCategoryFilterEqualOption, MockDaffCategoryFilterEqualRequest, MockDaffCategoryFilterRangeNumericPair, MockDaffCategoryFilterRangeNumericRequest, MockDaffCategoryFilterRangeNumericRequestOption, MockDaffToggleCategoryFilterEqualRequest, MockDaffToggleCategoryFilterRangeNumericRequest, isCategory };
457
+ //# sourceMappingURL=daffodil-category-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daffodil-category-testing.mjs","sources":["../../../libs/category/testing/src/factories/category.factory.ts","../../../libs/category/testing/src/helpers/category-helper.ts","../../../libs/category/testing/src/factories/category-page-metadata.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric.ts","../../../libs/category/testing/src/factories/filters/filter.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal/request.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/request-option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/request.ts","../../../libs/category/testing/src/factories/filters/request.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal/toggle-request.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/toggle-request.ts","../../../libs/category/testing/src/factories/filters/toggle-request.ts","../../../libs/category/testing/src/factories/filters/type/equal/option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/pair.ts","../../../libs/category/testing/src/daffodil-category-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategory implements DaffCategory {\n id = faker.datatype.uuid();\n url = `/${faker.internet.domainWord()}.html`;\n canonicalUrl = faker.internet.url();\n name = faker.commerce.productMaterial();\n description = faker.random.words(Math.floor(Math.random() * 20));\n meta_title = faker.commerce.productMaterial();\n meta_description = faker.random.words(Math.floor(Math.random() * 20));\n breadcrumbs = [{\n id: faker.datatype.uuid(),\n name: faker.commerce.productMaterial(),\n level: faker.datatype.number({ min: 1, max: 5 }),\n url: faker.commerce.productMaterial(),\n }];\n children_count = faker.datatype.number({ min: 1, max: 10 });\n total_products = 1;\n product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];\n}\n\n/**\n * A factory for creating a {@link DaffCategory}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFactory extends DaffModelFactory<DaffCategory>{\n constructor(){\n super(MockCategory);\n }\n}\n","import { DaffCategory } from '@daffodil/category';\n\n/**\n * A helper function to verify that a model is a Category.\n *\n * @param category\n */\nexport function isCategory(category: DaffCategory): boolean {\n return !!category.id\n && !!category.name;\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryPageMetadata implements DaffCategoryPageMetadata {\n id = faker.datatype.uuid();\n total_products = faker.datatype.number({ min: 1, max: 3 });\n product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];\n\n sort_options = {\n default: 'position',\n options: [\n {\n label: 'Position',\n value: 'position',\n },\n {\n label: 'Name',\n value: 'name',\n },\n {\n label: 'Price',\n value: 'price',\n },\n \t],\n };\n applied_sort_option = 'position';\n applied_sort_direction = null;\n\n current_page = 1;\n total_pages = faker.datatype.number({ min: 1, max: 4 });\n page_size = 20;\n\n filters = {};\n}\n\n/**\n * A factory for creating {@link DaffCategoryPageMetadata}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryPageMetadataFactory extends DaffModelFactory<DaffCategoryPageMetadata>{\n constructor(){\n super(MockCategoryPageMetadata);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryEqualFilter implements DaffCategoryFilterEqual {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n label = faker.commerce.productMaterial();\n name = faker.datatype.uuid();\n options = {};\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqual}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterEqualFactory extends DaffModelFactory<DaffCategoryFilterEqual>{\n constructor(){\n super(MockCategoryEqualFilter);\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumeric,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryFilterRangeNumeric implements DaffCategoryFilterRangeNumeric {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n label = faker.commerce.productMaterial();\n name = faker.datatype.uuid();\n min = faker.datatype.number({ min: 1, max: 10 });\n max = faker.datatype.number({ min: 10, max: 200 });\n options = {};\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumeric}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumeric>{\n constructor(){\n super(MockCategoryFilterRangeNumeric);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilter,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterEqualFactory } from './type/equal';\nimport { DaffCategoryFilterRangeNumericFactory } from './type/range-numeric';\n\nexport class MockDaffCategoryFilter {\n\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilter}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterFactory extends DaffModelFactory<DaffCategoryFilter>{\n\n constructor(private equalFactory: DaffCategoryFilterEqualFactory, private rangeFactory: DaffCategoryFilterRangeNumericFactory){\n super(<any>MockDaffCategoryFilter);\n }\n\n create(partial: Partial<DaffCategoryFilter> = {}): DaffCategoryFilter {\n let factory;\n\n switch (partial.type) {\n case DaffCategoryFilterType.Equal:\n factory = this.equalFactory;\n break;\n case DaffCategoryFilterType.RangeNumeric:\n factory = this.rangeFactory;\n break;\n default:\n factory = faker.datatype.number({ min: 1, max: 2 }) === 2\n ? this.equalFactory\n : this.rangeFactory;\n break;\n }\n return {\n ...new this.type(),\n ...factory.create(partial),\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqualRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterEqualRequest implements DaffCategoryFilterEqualRequest {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n name = faker.random.word();\n value = [faker.datatype.uuid()];\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestEqualFactory extends DaffModelFactory<DaffCategoryFilterEqualRequest>{\n constructor(){\n super(MockDaffCategoryFilterEqualRequest);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterRangeRequestOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterRangeNumericRequestOption implements DaffCategoryFilterRangeRequestOption<number> {\n min = faker.datatype.number({ min: 0, max: 100 });\n max = faker.datatype.number({ min: 100, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeRequestOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericRequestOptionFactory extends DaffModelFactory<DaffCategoryFilterRangeRequestOption<number>>{\n constructor(){\n super(MockDaffCategoryFilterRangeNumericRequestOption);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumericRequest,\n DaffCategoryFilterType,\n DaffCategoryFilterRangeRequestOption,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericRequestOptionFactory } from './request-option';\n\n\nexport class MockDaffCategoryFilterRangeNumericRequest implements DaffCategoryFilterRangeNumericRequest {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n name = faker.random.word();\n value: DaffCategoryFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumericRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumericRequest>{\n constructor(private option: DaffCategoryFilterRangeNumericRequestOptionFactory = new DaffCategoryFilterRangeNumericRequestOptionFactory()){\n super(MockDaffCategoryFilterRangeNumericRequest);\n }\n\n create(partial: Partial<DaffCategoryFilterRangeNumericRequest> = {}) {\n return {\n ...new this.type(),\n value: this.option.create(),\n ...partial,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterRequest } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRequestEqualFactory } from './type/equal/request';\nimport { DaffCategoryFilterRequestRangeNumericFactory } from './type/range-numeric/request';\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestFactory extends DaffModelFactory<DaffCategoryFilterRequest>{\n constructor(private equalFactory: DaffCategoryFilterRequestEqualFactory, private rangeFactory: DaffCategoryFilterRequestRangeNumericFactory){\n super(faker.datatype.number({ min: 1, max: 2 }) === 2 ? equalFactory.type : rangeFactory.type);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqualToggleRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffToggleCategoryFilterEqualRequest implements DaffCategoryFilterEqualToggleRequest {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n name = faker.random.word();\n value = faker.datatype.uuid();\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestEqualFactory extends DaffModelFactory<DaffCategoryFilterEqualToggleRequest>{\n constructor(){\n super(MockDaffToggleCategoryFilterEqualRequest);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumericToggleRequest,\n DaffCategoryFilterRangeRequestOption,\n} from '@daffodil/category';\nimport { DaffCategoryFilterType } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericRequestOptionFactory } from './request-option';\n\nexport class MockDaffToggleCategoryFilterRangeNumericRequest implements DaffCategoryFilterRangeNumericToggleRequest {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n name = faker.random.word();\n value: DaffCategoryFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumericToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumericToggleRequest>{\n constructor(private option: DaffCategoryFilterRangeNumericRequestOptionFactory) {\n super(MockDaffToggleCategoryFilterRangeNumericRequest);\n }\n\n create(partial: Partial<DaffCategoryFilterRangeNumericToggleRequest> = {}): DaffCategoryFilterRangeNumericToggleRequest {\n return {\n ...new this.type(),\n value: this.option.create(),\n ...partial,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterToggleRequest } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterToggleRequestEqualFactory } from './type/equal/toggle-request';\nimport { DaffCategoryFilterToggleRequestRangeNumericFactory } from './type/range-numeric/toggle-request';\n\nexport class MockDaffToggleCategoryFilterRequest {\n\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestFactory extends DaffModelFactory<DaffCategoryFilterToggleRequest>{\n constructor(private equalFactory: DaffCategoryFilterToggleRequestEqualFactory, private rangeFactory: DaffCategoryFilterToggleRequestRangeNumericFactory){\n super(<any>MockDaffToggleCategoryFilterRequest);\n }\n\n create(partial?: Partial<DaffCategoryFilterToggleRequest>): DaffCategoryFilterToggleRequest {\n return {\n ...new this.type(),\n ...faker.datatype.number({ min: 1, max: 2 }) === 2 ? this.equalFactory.create() : this.rangeFactory.create(),\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterEqualOption implements DaffCategoryFilterEqualOption {\n applied = false;\n value = faker.datatype.uuid();\n label = faker.random.word();\n count = faker.datatype.number({ min: 1, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterEqualOptionFactory extends DaffModelFactory<DaffCategoryFilterEqualOption> {\n constructor(){\n super(MockDaffCategoryFilterEqualOption);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterRangeOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryFilterRangeNumericOption implements DaffCategoryFilterRangeOption<number> {\n value = faker.datatype.number({ min: 0, max: 10 });\n label = faker.random.alpha({ count: 3 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericOptionFactory extends DaffModelFactory<DaffCategoryFilterRangeOption<number>>{\n constructor(){\n super(MockCategoryFilterRangeNumericOption);\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangePair,\n DaffCategoryFilterRangeOption,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericOptionFactory } from './option';\n\nexport class MockDaffCategoryFilterRangeNumericPair implements DaffCategoryFilterRangePair<number> {\n applied: true = true;\n max: DaffCategoryFilterRangeOption<number>;\n min: DaffCategoryFilterRangeOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangePair}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericPairFactory extends DaffModelFactory<DaffCategoryFilterRangePair<number>>{\n constructor(private option: DaffCategoryFilterRangeNumericOptionFactory){\n super(MockDaffCategoryFilterRangeNumericPair);\n }\n\n create(partial: Partial<DaffCategoryFilterRangePair<number>> = {}) {\n return {\n ...new this.type(),\n min: this.option.create({ value: faker.datatype.number({ min: 0, max: 100 }) }),\n max: this.option.create({ value: faker.datatype.number({ min: 100, max: 1000 }) }),\n ...partial,\n };\n }\n}\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffCategoryFilterEqualFactory","i2.DaffCategoryFilterRangeNumericFactory","i1.DaffCategoryFilterRangeNumericRequestOptionFactory","i1.DaffCategoryFilterRequestEqualFactory","i2.DaffCategoryFilterRequestRangeNumericFactory","i1.DaffCategoryFilterToggleRequestEqualFactory","i2.DaffCategoryFilterToggleRequestRangeNumericFactory","i1.DaffCategoryFilterRangeNumericOptionFactory"],"mappings":"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"}