@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
@@ -1,914 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@daffodil/core'), require('@angular/core'), require('@daffodil/core/state')) :
3
- typeof define === 'function' && define.amd ? define('@daffodil/category', ['exports', '@daffodil/core', '@angular/core', '@daffodil/core/state'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.daffodil = global.daffodil || {}, global.daffodil.category = {}), global.core, global.ng.core, global.state));
5
- }(this, (function (exports, core, core$1, state) { 'use strict';
6
-
7
- /**
8
- * The known types of filters.
9
- */
10
- (function (DaffCategoryFilterType) {
11
- DaffCategoryFilterType["Equal"] = "equal";
12
- DaffCategoryFilterType["RangeNumeric"] = "rangeNumeric";
13
- })(exports.DaffCategoryFilterType || (exports.DaffCategoryFilterType = {}));
14
-
15
- /**
16
- * The separator between a range type filter's values
17
- * e.g. "price": "30-40".
18
- */
19
- var DaffCategoryFromToFilterSeparator = '-';
20
-
21
- /**
22
- * When you request a category page, there's two ways to do so, via URL or via ID.
23
- */
24
- (function (DaffCategoryRequestKind) {
25
- DaffCategoryRequestKind["URL"] = "URL";
26
- // eslint-disable-next-line @typescript-eslint/no-shadow
27
- DaffCategoryRequestKind["ID"] = "ID";
28
- })(exports.DaffCategoryRequestKind || (exports.DaffCategoryRequestKind = {}));
29
- ;
30
-
31
- /**
32
- * The error codes applicable to the filter behaviors of `@daffodil/category`.
33
- *
34
- * @docs-private
35
- */
36
- var DaffCategoryFilterErrorCodes;
37
- (function (DaffCategoryFilterErrorCodes) {
38
- DaffCategoryFilterErrorCodes["FILTER_REQUEST_TYPE_MISMATCH"] = "DAFF_CATEGORY_FILTER_REQUEST_TYPE_MISMATCH";
39
- DaffCategoryFilterErrorCodes["FILTER_REQUEST_NAME_MISMATCH"] = "DAFF_CATEGORY_FILTER_REQUEST_NAME_MISMATCH";
40
- DaffCategoryFilterErrorCodes["FILTER_NOT_FOUND"] = "DAFF_CATEGORY_FILTER_NOT_FOUND";
41
- DaffCategoryFilterErrorCodes["UNKNOWN_FILTER_TYPE"] = "DAFF_CATEGORY_UNKNOWN_FILTER_TYPE";
42
- })(DaffCategoryFilterErrorCodes || (DaffCategoryFilterErrorCodes = {}));
43
-
44
- /**
45
- *
46
- * The available error codes of the @daffodil/category package.
47
- *
48
- * Note that this only contains errors in the root @daffodil/category package, not
49
- * any of its subpackages e.g. `@daffodil/category/testing`.
50
- */
51
- var DaffCategoryErrorCodes = Object.assign({}, DaffCategoryFilterErrorCodes);
52
-
53
- /*! *****************************************************************************
54
- Copyright (c) Microsoft Corporation.
55
-
56
- Permission to use, copy, modify, and/or distribute this software for any
57
- purpose with or without fee is hereby granted.
58
-
59
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
60
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
61
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
62
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
63
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
64
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
65
- PERFORMANCE OF THIS SOFTWARE.
66
- ***************************************************************************** */
67
- /* global Reflect, Promise */
68
- var extendStatics = function (d, b) {
69
- extendStatics = Object.setPrototypeOf ||
70
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
71
- function (d, b) { for (var p in b)
72
- if (Object.prototype.hasOwnProperty.call(b, p))
73
- d[p] = b[p]; };
74
- return extendStatics(d, b);
75
- };
76
- function __extends(d, b) {
77
- if (typeof b !== "function" && b !== null)
78
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
79
- extendStatics(d, b);
80
- function __() { this.constructor = d; }
81
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
82
- }
83
- var __assign = function () {
84
- __assign = Object.assign || function __assign(t) {
85
- for (var s, i = 1, n = arguments.length; i < n; i++) {
86
- s = arguments[i];
87
- for (var p in s)
88
- if (Object.prototype.hasOwnProperty.call(s, p))
89
- t[p] = s[p];
90
- }
91
- return t;
92
- };
93
- return __assign.apply(this, arguments);
94
- };
95
- function __rest(s, e) {
96
- var t = {};
97
- for (var p in s)
98
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
99
- t[p] = s[p];
100
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
101
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
102
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
103
- t[p[i]] = s[p[i]];
104
- }
105
- return t;
106
- }
107
- function __decorate(decorators, target, key, desc) {
108
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
109
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
110
- r = Reflect.decorate(decorators, target, key, desc);
111
- else
112
- for (var i = decorators.length - 1; i >= 0; i--)
113
- if (d = decorators[i])
114
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
115
- return c > 3 && r && Object.defineProperty(target, key, r), r;
116
- }
117
- function __param(paramIndex, decorator) {
118
- return function (target, key) { decorator(target, key, paramIndex); };
119
- }
120
- function __metadata(metadataKey, metadataValue) {
121
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
122
- return Reflect.metadata(metadataKey, metadataValue);
123
- }
124
- function __awaiter(thisArg, _arguments, P, generator) {
125
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
126
- return new (P || (P = Promise))(function (resolve, reject) {
127
- function fulfilled(value) { try {
128
- step(generator.next(value));
129
- }
130
- catch (e) {
131
- reject(e);
132
- } }
133
- function rejected(value) { try {
134
- step(generator["throw"](value));
135
- }
136
- catch (e) {
137
- reject(e);
138
- } }
139
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
140
- step((generator = generator.apply(thisArg, _arguments || [])).next());
141
- });
142
- }
143
- function __generator(thisArg, body) {
144
- var _ = { label: 0, sent: function () { if (t[0] & 1)
145
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
146
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
147
- function verb(n) { return function (v) { return step([n, v]); }; }
148
- function step(op) {
149
- if (f)
150
- throw new TypeError("Generator is already executing.");
151
- while (_)
152
- try {
153
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
154
- return t;
155
- if (y = 0, t)
156
- op = [op[0] & 2, t.value];
157
- switch (op[0]) {
158
- case 0:
159
- case 1:
160
- t = op;
161
- break;
162
- case 4:
163
- _.label++;
164
- return { value: op[1], done: false };
165
- case 5:
166
- _.label++;
167
- y = op[1];
168
- op = [0];
169
- continue;
170
- case 7:
171
- op = _.ops.pop();
172
- _.trys.pop();
173
- continue;
174
- default:
175
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
176
- _ = 0;
177
- continue;
178
- }
179
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
180
- _.label = op[1];
181
- break;
182
- }
183
- if (op[0] === 6 && _.label < t[1]) {
184
- _.label = t[1];
185
- t = op;
186
- break;
187
- }
188
- if (t && _.label < t[2]) {
189
- _.label = t[2];
190
- _.ops.push(op);
191
- break;
192
- }
193
- if (t[2])
194
- _.ops.pop();
195
- _.trys.pop();
196
- continue;
197
- }
198
- op = body.call(thisArg, _);
199
- }
200
- catch (e) {
201
- op = [6, e];
202
- y = 0;
203
- }
204
- finally {
205
- f = t = 0;
206
- }
207
- if (op[0] & 5)
208
- throw op[1];
209
- return { value: op[0] ? op[1] : void 0, done: true };
210
- }
211
- }
212
- var __createBinding = Object.create ? (function (o, m, k, k2) {
213
- if (k2 === undefined)
214
- k2 = k;
215
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
216
- }) : (function (o, m, k, k2) {
217
- if (k2 === undefined)
218
- k2 = k;
219
- o[k2] = m[k];
220
- });
221
- function __exportStar(m, o) {
222
- for (var p in m)
223
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
224
- __createBinding(o, m, p);
225
- }
226
- function __values(o) {
227
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
228
- if (m)
229
- return m.call(o);
230
- if (o && typeof o.length === "number")
231
- return {
232
- next: function () {
233
- if (o && i >= o.length)
234
- o = void 0;
235
- return { value: o && o[i++], done: !o };
236
- }
237
- };
238
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
239
- }
240
- function __read(o, n) {
241
- var m = typeof Symbol === "function" && o[Symbol.iterator];
242
- if (!m)
243
- return o;
244
- var i = m.call(o), r, ar = [], e;
245
- try {
246
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
247
- ar.push(r.value);
248
- }
249
- catch (error) {
250
- e = { error: error };
251
- }
252
- finally {
253
- try {
254
- if (r && !r.done && (m = i["return"]))
255
- m.call(i);
256
- }
257
- finally {
258
- if (e)
259
- throw e.error;
260
- }
261
- }
262
- return ar;
263
- }
264
- /** @deprecated */
265
- function __spread() {
266
- for (var ar = [], i = 0; i < arguments.length; i++)
267
- ar = ar.concat(__read(arguments[i]));
268
- return ar;
269
- }
270
- /** @deprecated */
271
- function __spreadArrays() {
272
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
273
- s += arguments[i].length;
274
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
275
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
276
- r[k] = a[j];
277
- return r;
278
- }
279
- function __spreadArray(to, from, pack) {
280
- if (pack || arguments.length === 2)
281
- for (var i = 0, l = from.length, ar; i < l; i++) {
282
- if (ar || !(i in from)) {
283
- if (!ar)
284
- ar = Array.prototype.slice.call(from, 0, i);
285
- ar[i] = from[i];
286
- }
287
- }
288
- return to.concat(ar || Array.prototype.slice.call(from));
289
- }
290
- function __await(v) {
291
- return this instanceof __await ? (this.v = v, this) : new __await(v);
292
- }
293
- function __asyncGenerator(thisArg, _arguments, generator) {
294
- if (!Symbol.asyncIterator)
295
- throw new TypeError("Symbol.asyncIterator is not defined.");
296
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
297
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
298
- function verb(n) { if (g[n])
299
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
300
- function resume(n, v) { try {
301
- step(g[n](v));
302
- }
303
- catch (e) {
304
- settle(q[0][3], e);
305
- } }
306
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
307
- function fulfill(value) { resume("next", value); }
308
- function reject(value) { resume("throw", value); }
309
- function settle(f, v) { if (f(v), q.shift(), q.length)
310
- resume(q[0][0], q[0][1]); }
311
- }
312
- function __asyncDelegator(o) {
313
- var i, p;
314
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
315
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
316
- }
317
- function __asyncValues(o) {
318
- if (!Symbol.asyncIterator)
319
- throw new TypeError("Symbol.asyncIterator is not defined.");
320
- var m = o[Symbol.asyncIterator], i;
321
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
322
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
323
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
324
- }
325
- function __makeTemplateObject(cooked, raw) {
326
- if (Object.defineProperty) {
327
- Object.defineProperty(cooked, "raw", { value: raw });
328
- }
329
- else {
330
- cooked.raw = raw;
331
- }
332
- return cooked;
333
- }
334
- ;
335
- var __setModuleDefault = Object.create ? (function (o, v) {
336
- Object.defineProperty(o, "default", { enumerable: true, value: v });
337
- }) : function (o, v) {
338
- o["default"] = v;
339
- };
340
- function __importStar(mod) {
341
- if (mod && mod.__esModule)
342
- return mod;
343
- var result = {};
344
- if (mod != null)
345
- for (var k in mod)
346
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
347
- __createBinding(result, mod, k);
348
- __setModuleDefault(result, mod);
349
- return result;
350
- }
351
- function __importDefault(mod) {
352
- return (mod && mod.__esModule) ? mod : { default: mod };
353
- }
354
- function __classPrivateFieldGet(receiver, state, kind, f) {
355
- if (kind === "a" && !f)
356
- throw new TypeError("Private accessor was defined without a getter");
357
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
358
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
359
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
360
- }
361
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
362
- if (kind === "m")
363
- throw new TypeError("Private method is not writable");
364
- if (kind === "a" && !f)
365
- throw new TypeError("Private accessor was defined without a setter");
366
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
367
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
368
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
369
- }
370
-
371
- /**
372
- * An error thrown when a lookup for a filter.
373
- */
374
- var DaffCategoryFilterNotFound = /** @class */ (function (_super) {
375
- __extends(DaffCategoryFilterNotFound, _super);
376
- function DaffCategoryFilterNotFound(message) {
377
- var _this = _super.call(this, message) || this;
378
- _this.code = DaffCategoryErrorCodes.FILTER_NOT_FOUND;
379
- return _this;
380
- }
381
- return DaffCategoryFilterNotFound;
382
- }(core.DaffInheritableError));
383
-
384
- /**
385
- * An error thrown when an operation targeting a filter matching one name
386
- * matches a filter of another name.
387
- */
388
- var DaffCategoryFilterRequestNameMismatch = /** @class */ (function (_super) {
389
- __extends(DaffCategoryFilterRequestNameMismatch, _super);
390
- function DaffCategoryFilterRequestNameMismatch(message) {
391
- var _this = _super.call(this, message) || this;
392
- _this.code = DaffCategoryErrorCodes.FILTER_REQUEST_NAME_MISMATCH;
393
- return _this;
394
- }
395
- return DaffCategoryFilterRequestNameMismatch;
396
- }(core.DaffInheritableError));
397
-
398
- /**
399
- * An error thrown when an operation targeting a filter matching one type
400
- * matches a filter of another type.
401
- */
402
- var DaffCategoryFilterRequestTypeMismatch = /** @class */ (function (_super) {
403
- __extends(DaffCategoryFilterRequestTypeMismatch, _super);
404
- function DaffCategoryFilterRequestTypeMismatch(message) {
405
- var _this = _super.call(this, message) || this;
406
- _this.code = DaffCategoryErrorCodes.FILTER_REQUEST_TYPE_MISMATCH;
407
- return _this;
408
- }
409
- return DaffCategoryFilterRequestTypeMismatch;
410
- }(core.DaffInheritableError));
411
-
412
- /**
413
- * An error thrown when an operation targeting a filter matches a type unknown
414
- * to Daffodil.
415
- */
416
- var DaffCategoryUnknownFilterType = /** @class */ (function (_super) {
417
- __extends(DaffCategoryUnknownFilterType, _super);
418
- function DaffCategoryUnknownFilterType(message) {
419
- var _this = _super.call(this, message) || this;
420
- _this.code = DaffCategoryErrorCodes.UNKNOWN_FILTER_TYPE;
421
- return _this;
422
- }
423
- return DaffCategoryUnknownFilterType;
424
- }(core.DaffInheritableError));
425
-
426
- var _a;
427
- /**
428
- * A mapping from error codes to error class constructors.
429
- */
430
- var DaffCategoryFiltersErrorMap = (_a = {},
431
- _a[DaffCategoryFilterErrorCodes.FILTER_REQUEST_TYPE_MISMATCH] = DaffCategoryFilterRequestTypeMismatch,
432
- _a[DaffCategoryFilterErrorCodes.FILTER_REQUEST_NAME_MISMATCH] = DaffCategoryFilterRequestNameMismatch,
433
- _a[DaffCategoryFilterErrorCodes.FILTER_NOT_FOUND] = DaffCategoryFilterNotFound,
434
- _a[DaffCategoryFilterErrorCodes.UNKNOWN_FILTER_TYPE] = DaffCategoryUnknownFilterType,
435
- _a);
436
-
437
- /**
438
- * A mapping from error codes to error class constructors.
439
- */
440
- var DaffCategoryErrorMap = Object.assign({}, DaffCategoryFiltersErrorMap);
441
-
442
- /**
443
- * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.
444
- * Can be used to further refine Daffodil errors into more specific app errors.
445
- */
446
- var DAFF_CATEGORY_ERROR_MATCHER = new core$1.InjectionToken('DAFF_CATEGORY_ERROR_MATCHER', { factory: function () { return state.daffTransformErrorToStateError; } });
447
-
448
- /**
449
- * Applies a {@link DaffCategoryFilterEqualRequest} to a {@link DaffCategoryFilterEqual}
450
- *
451
- * @idempotent {filter}
452
- * @docs-private
453
- */
454
- var daffApplyFilterEqual = function (request, filter) { return (Object.assign(Object.assign({}, filter), { options: request.value.reduce(function (acc, value) {
455
- var option = filter.options[value];
456
- if (option) {
457
- acc[value] = Object.assign(Object.assign({}, option), { applied: true });
458
- }
459
- return acc;
460
- }, Object.assign({}, filter.options)) })); };
461
-
462
- var daffCategoryComputeFilterRangePairLabel = function (min, max) { return "" + min + DaffCategoryFromToFilterSeparator + max; };
463
-
464
- /**
465
- * Applies a {@link DaffCategoryFilterRangeRequestBase} to a {@link DaffCategoryFilterRangeBase}
466
- *
467
- * @idempotent {filter}
468
- * @docs-private
469
- */
470
- var daffApplyFilterRange = function (request, filter) {
471
- var _a;
472
- return (Object.assign(Object.assign({}, filter), { options: (_a = {},
473
- _a[daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max)] = {
474
- min: {
475
- value: request.value.min,
476
- label: String(request.value.min),
477
- },
478
- max: {
479
- value: request.value.max,
480
- label: String(request.value.max),
481
- },
482
- applied: true,
483
- },
484
- _a) }));
485
- };
486
-
487
- /**
488
- * Ensures that the names of the filter and the filter request match.
489
- *
490
- * @throws {@link DaffCategoryFilterNotFound} if the names do not match.
491
- */
492
- var daffCategoryValidateFilterRequestNameMatch = function (request, filter) {
493
- if (!filter) {
494
- throw new DaffCategoryFilterNotFound('Filter does not exist');
495
- }
496
- if (request.name !== filter.name) {
497
- throw new DaffCategoryFilterRequestNameMismatch('Filter name does not match request name');
498
- }
499
- };
500
-
501
- /**
502
- * Ensures that the types of the filter and the filter request match.
503
- *
504
- * @throws {@link DaffCategoryFilterRequestTypeMismatch} if the types do not match.
505
- */
506
- var daffCategoryValidateFilterRequestTypeMatch = function (request, filter) {
507
- if (request.type !== filter.type) {
508
- throw new DaffCategoryFilterRequestTypeMismatch('Filter types don\'t match');
509
- }
510
- };
511
-
512
- /**
513
- * Applies a filter request to the matching filter.
514
- *
515
- * @idempotent {filter}
516
- * @throws {@link DaffCategoryUnknownFilterType}
517
- */
518
- var daffApplyFilter = function (request, filter) {
519
- daffCategoryValidateFilterRequestNameMatch(request, filter);
520
- daffCategoryValidateFilterRequestTypeMatch(request, filter);
521
- switch (request.type) {
522
- case exports.DaffCategoryFilterType.Equal:
523
- return daffApplyFilterEqual(request, filter);
524
- case (exports.DaffCategoryFilterType.RangeNumeric):
525
- return daffApplyFilterRange(request, filter);
526
- default:
527
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
528
- }
529
- };
530
-
531
- /**
532
- * Applies a {@link DaffCategoryFilterRequest} to a {@link Dict} of {@link DaffCategoryFilter}
533
- * returning the updated {@link Dict}.
534
- *
535
- * @idempotent {filters}
536
- */
537
- var daffApplyRequestToFilters = function (request, filters) {
538
- var _a;
539
- return (Object.assign(Object.assign({}, filters), (_a = {}, _a[request.name] = daffApplyFilter(request, filters[request.name]), _a)));
540
- };
541
-
542
- /**
543
- * Applies filters from a {@link DaffCategoryFilterRequest} to a {@link Dict}
544
- * of {@link DaffCategoryFilter}.
545
- *
546
- * @idempotent {filters}
547
- */
548
- var daffApplyRequestsToFilters = function (filtersRequests, filters) { return filtersRequests.reduce(function (acc, request) {
549
- acc[request.name] = daffApplyFilter(request, filters[request.name]);
550
- return acc;
551
- }, Object.assign({}, filters)); };
552
-
553
- /**
554
- * Unapplies the applied filter options of a {@link DaffCategoryFilterEqual}
555
- *
556
- * @idempotent {filter}
557
- * @docs-private
558
- */
559
- var daffClearFilterEqual = function (filter) { return (Object.assign(Object.assign({}, filter), { options: Object.keys(filter.options).map(function (key) { return filter.options[key]; }).reduce(function (acc, option) {
560
- acc[option.value] = Object.assign(Object.assign({}, option), { applied: false });
561
- return acc;
562
- }, Object.assign({}, filter.options)) })); };
563
-
564
- /**
565
- * Unapplies the applied filter options of a {@link DaffCategoryFilterRangeBase}
566
- *
567
- * @idempotent {filter}
568
- * @docs-private
569
- */
570
- var daffClearFilterRange = function (filter) { return (Object.assign(Object.assign({}, filter), { options: {} })); };
571
-
572
- /**
573
- * Undoes the applied state of all applied filter options of a {@link DaffCategoryFilter}
574
- * returning the filter.
575
- *
576
- * @idempotent {filter}
577
- */
578
- var daffClearFilter = function (filter) {
579
- switch (filter.type) {
580
- case exports.DaffCategoryFilterType.RangeNumeric:
581
- return daffClearFilterRange(filter);
582
- case exports.DaffCategoryFilterType.Equal:
583
- return daffClearFilterEqual(filter);
584
- default:
585
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
586
- }
587
- };
588
-
589
- /**
590
- * Undoes the applied state of all applied filter options of a {@link Dict} of {@link DaffCategoryFilter}
591
- * returning updated {@link Dict}.
592
- *
593
- * @idempotent {filters}
594
- */
595
- var daffClearFilters = function (filters) { return Object.keys(filters).map(function (key) { return filters[key]; }).reduce(function (acc, filter) {
596
- acc[filter.name] = daffClearFilter(filter);
597
- return acc;
598
- }, {}); };
599
-
600
- /**
601
- * Removes the matching filter options of a {@link DaffCategoryFilterEqual}
602
- * that match the {@link DaffCategoryFilterEqualRequest}
603
- *
604
- * If there are no matching options, returns the original {@link DaffCategoryFilterEqual}
605
- *
606
- * @idempotent {filter}
607
- * @docs-private
608
- */
609
- var daffRemoveFilterEqual = function (request, filter) { return (Object.assign(Object.assign({}, filter), { options: request.value.reduce(function (acc, value) {
610
- var option = filter.options[value];
611
- if (option) {
612
- acc[value] = Object.assign(Object.assign({}, option), { applied: false });
613
- }
614
- return acc;
615
- }, Object.assign({}, filter.options)) })); };
616
-
617
- /**
618
- * Removes the matching filter options of a {@link DaffCategoryFilterRangeBase}
619
- * that match the {@link DaffCategoryFilterRangeRequestBase}
620
- *
621
- * If there are no matching options, returns the original {@link DaffCategoryFilterRangeBase}
622
- *
623
- * @idempotent {filter}
624
- * @docs-private
625
- */
626
- var daffRemoveFilterRange = function (request, filter) { return filter.options[daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max)]
627
- ? (Object.assign(Object.assign({}, filter), { options: {} }))
628
- : filter; };
629
-
630
- /**
631
- * Undoes any applied options of a {@link DaffCategoryFilter} that match the
632
- * {@link DaffCategoryFilterRequest}, returning the {@link DaffCategoryFilter}.
633
- *
634
- * @idempotent {filter}
635
- * @pure
636
- */
637
- var daffRemoveFilter = function (request, filter) {
638
- daffCategoryValidateFilterRequestNameMatch(request, filter);
639
- daffCategoryValidateFilterRequestTypeMatch(request, filter);
640
- switch (request.type) {
641
- case exports.DaffCategoryFilterType.Equal:
642
- return daffRemoveFilterEqual(request, filter);
643
- case (exports.DaffCategoryFilterType.RangeNumeric):
644
- return daffRemoveFilterRange(request, filter);
645
- default:
646
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
647
- }
648
- };
649
-
650
- /**
651
- * Undoes any applied options of a particular filter of a {@link Dict} of {@link DaffCategoryFilter}
652
- * that match the {@link DaffCategoryFilterRequest}, returning the {@link Dict} of {@link DaffCategoryFilter}.
653
- *
654
- * @idempotent {filters}
655
- */
656
- var daffRemoveRequestFromFilters = function (request, filters) {
657
- var _a;
658
- return (Object.assign(Object.assign({}, filters), (_a = {}, _a[request.name] = daffRemoveFilter(request, filters[request.name]), _a)));
659
- };
660
-
661
- /**
662
- * Undoes all applied options of a {@link Dict} of {@link DaffCategoryFilter}
663
- * that match any of the {@link DaffCategoryFilterRequest},
664
- * returning the updated {@link Dict} of {@link DaffCategoryFilter}.
665
- *
666
- * @idempotent {filters}
667
- */
668
- var daffRemoveRequestsFromFilters = function (requests, filters) { return requests.reduce(function (acc, request) {
669
- acc[request.name] = daffRemoveFilter(request, filters[request.name]);
670
- return acc;
671
- }, Object.assign({}, filters)); };
672
-
673
- /**
674
- * Oscillates the applied state of the matching filter options of a {@link DaffCategoryFilterEqual}
675
- * that match the {@link DaffCategoryFilterEqualRequest}
676
- *
677
- * If there are no matching options, returns the original {@link DaffCategoryFilterEqual}
678
- *
679
- * @docs-private
680
- */
681
- var daffToggleFilterEqual = function (request, filter) {
682
- var _a;
683
- var option = filter.options[request.value];
684
- return option
685
- ? Object.assign(Object.assign({}, filter), { options: Object.assign(Object.assign({}, filter.options), (_a = {}, _a[option.value] = Object.assign(Object.assign({}, option), { applied: !option.applied }), _a)) }) : filter;
686
- };
687
-
688
- /**
689
- * Oscillates the applied state of the matching filter options of a {@link DaffCategoryFilterRangeBase}
690
- * that match the {@link DaffCategoryFilterRangeRequestBase}
691
- *
692
- * If there are no matching options, returns the original {@link DaffCategoryFilterRangeBase}
693
- *
694
- * @docs-private
695
- */
696
- var daffToggleFilterRange = function (request, filter) { return filter.options[daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max)]
697
- ? daffRemoveFilterRange(request, filter)
698
- : daffApplyFilterRange(request, filter); };
699
-
700
- /**
701
- * Toggles the state of the filters (and their options) in the {@link DaffCategoryFilter}
702
- * that match the {@link DaffCategoryFilterToggleRequest} .
703
- */
704
- function daffToggleFilter(request, filter) {
705
- daffCategoryValidateFilterRequestNameMatch(request, filter);
706
- daffCategoryValidateFilterRequestTypeMatch(request, filter);
707
- switch (request.type) {
708
- case exports.DaffCategoryFilterType.Equal:
709
- return daffToggleFilterEqual(request, filter);
710
- case (exports.DaffCategoryFilterType.RangeNumeric):
711
- return daffToggleFilterRange(request, filter);
712
- default:
713
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
714
- }
715
- }
716
-
717
- /**
718
- * Toggles the state of a filter option in the {@link Dict<DaffCategoryFilter>}
719
- * that matches the {@link DaffCategoryFilterToggleRequest}.
720
- */
721
- var daffToggleRequestOnFilters = function (request, filters) {
722
- var _a;
723
- return (Object.assign(Object.assign({}, filters), (_a = {}, _a[request.name] = daffToggleFilter(request, filters[request.name]), _a)));
724
- };
725
-
726
- /**
727
- * Determines whether or not the {@link DaffCategoryFilterEqual} has any applied options.
728
- */
729
- var daffIsFilterEqualApplied = function (filter) { return Object.keys(filter.options).map(function (key) { return filter.options[key]; }).findIndex(function (option) { return option.applied; }) > -1; };
730
-
731
- /**
732
- * Determines whether or not a {@link DaffCategoryFilterRangeBase} has any applied options.
733
- */
734
- var daffIsFilterRangeApplied = function (filter) { return Object.keys(filter.options).length > 0; };
735
-
736
- /**
737
- * Determines whether or not a filter has any currently applied options.
738
- */
739
- var daffIsFilterApplied = function (filter) {
740
- switch (filter.type) {
741
- case exports.DaffCategoryFilterType.RangeNumeric:
742
- return daffIsFilterRangeApplied(filter);
743
- case exports.DaffCategoryFilterType.Equal:
744
- return daffIsFilterEqualApplied(filter);
745
- default:
746
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
747
- }
748
- };
749
-
750
- /**
751
- * Determines whether or not any {@link DaffCategoryFilterEqual} options matching {@link DaffCategoryFilterEqualToggleRequest} are applied.
752
- */
753
- var daffIsEqualToggleRequestAppliedToFilter = function (request, filter) { var _a; return !!((_a = filter.options[request.value]) === null || _a === void 0 ? void 0 : _a.applied); };
754
-
755
- /**
756
- * Determines whether or not any {@link DaffCategoryFilterRangeBase} options matching {@link DaffCategoryFilterRangeRequestBase} are applied.
757
- */
758
- var daffIsRangeToggleRequestAppliedToFilter = function (request, filter) { return daffCategoryComputeFilterRangePairLabel(request.value.min, request.value.max) in filter.options; };
759
-
760
- /**
761
- * Determines whether or not a {@link DaffCategoryFilterToggleRequest} is already applied to a {@link DaffCategoryFilter}.
762
- */
763
- var daffIsToggleRequestAppliedToFilter = function (request, filter) {
764
- switch (filter.type) {
765
- case exports.DaffCategoryFilterType.RangeNumeric:
766
- return daffIsRangeToggleRequestAppliedToFilter(request, filter);
767
- case exports.DaffCategoryFilterType.Equal:
768
- return daffIsEqualToggleRequestAppliedToFilter(request, filter);
769
- default:
770
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
771
- }
772
- };
773
-
774
- /**
775
- * Finds the applied options in the filter.
776
- */
777
- var daffCategoryFindAppliedFilterOptions = function (filter) { return Object.keys(filter.options).map(function (key) { return filter.options[key]; }).filter(function (option) { return option.applied; }); };
778
-
779
- /**
780
- * Builds an {@link DaffCategoryFilterEqualRequest} from the passed filter and options.
781
- */
782
- var daffCategoryFilterEqualToRequest = function (filter) {
783
- var options = daffCategoryFindAppliedFilterOptions(filter);
784
- if (!options.length) {
785
- return null;
786
- }
787
- return {
788
- type: exports.DaffCategoryFilterType.Equal,
789
- name: filter.name,
790
- value: options.map(function (option) { return option.value; }),
791
- };
792
- };
793
-
794
- /**
795
- * Builds a {@link DaffCategoryFilterRangeRequestBase} from the passed {@link DaffCategoryFilterRangeBase} and options.
796
- */
797
- var daffCategoryFilterRangeToRequest = function (filter) {
798
- var options = daffCategoryFindAppliedFilterOptions(filter);
799
- if (!options.length) {
800
- return null;
801
- }
802
- return {
803
- type: filter.type,
804
- name: filter.name,
805
- value: {
806
- min: options[0].min.value,
807
- max: options[0].max.value,
808
- },
809
- };
810
- };
811
-
812
- /**
813
- * Transforms a {@link DaffCategoryFilterRangeNumeric} into a {@link DaffCategoryFilterRangeNumericRequest}
814
- */
815
- var daffCategoryFilterRangeNumericToRequest = function (filter) { return daffCategoryFilterRangeToRequest(filter); };
816
-
817
- /**
818
- * Builds a category filter request from a category filter.
819
- * Returns null if the category filter does not have at least one applied option.
820
- */
821
- function daffCategoryFilterToRequest(filter) {
822
- switch (filter.type) {
823
- case exports.DaffCategoryFilterType.RangeNumeric:
824
- return daffCategoryFilterRangeNumericToRequest(filter);
825
- case exports.DaffCategoryFilterType.Equal:
826
- return daffCategoryFilterEqualToRequest(filter);
827
- default:
828
- throw new DaffCategoryUnknownFilterType('Unknown filter type');
829
- }
830
- }
831
- ;
832
-
833
- /**
834
- * Builds a list of filter requests from a list of filters.
835
- * Requests are only built for the filters that have at least one applied option.
836
- */
837
- function daffCategoryFiltersToRequests(filters) {
838
- return Object.keys(filters).map(function (key) { return filters[key]; }).reduce(function (acc, filter) {
839
- var request = daffCategoryFilterToRequest(filter);
840
- if (request) {
841
- acc.push(request);
842
- }
843
- return acc;
844
- }, []);
845
- }
846
-
847
- /**
848
- * Transforms an {@link DaffCategoryFilterRangePair[]} to a {@link Dict<DaffCategoryFilterRangePair>}.
849
- */
850
- var daffCategoryFilterRangePairArrayToDict = function (pairs) { return core.daffArrayToDict(pairs, function (pair) { return daffCategoryComputeFilterRangePairLabel(pair.min.value, pair.max.value); }); };
851
-
852
- /**
853
- * Converts a list of category equal filter options to a dict of options keyed by option value.
854
- */
855
- var daffCategoryFilterEqualOptionArrayToDict = function (options) { return core.daffArrayToDict(options, function (option) { return option.value; }); };
856
-
857
- /**
858
- * Converts a list of category filters into a {@link Dict} of filters keyed by filter name.
859
- */
860
- var daffCategoryFilterArrayToDict = function (filters) { return core.daffArrayToDict(filters, function (filter) { return filter.name; }); };
861
-
862
- /**
863
- * Returns a {@link Dict<DaffCategoryFilter>} and only their applied options.
864
- * {@link DaffCategoryFilter} that have no applied options will be omitted.
865
- */
866
- var daffCategoryComputeAppliedFilters = function (filters) { return Object.keys(filters).map(function (key) { return filters[key]; }).reduce(function (acc, filter) {
867
- var appliedOptions = daffCategoryFindAppliedFilterOptions(filter);
868
- if (appliedOptions.length > 0) {
869
- acc[filter.name] = Object.assign(Object.assign({}, filter), { options: filter.type === exports.DaffCategoryFilterType.Equal
870
- ? daffCategoryFilterEqualOptionArrayToDict(appliedOptions)
871
- : daffCategoryFilterRangePairArrayToDict(appliedOptions) });
872
- }
873
- return acc;
874
- }, {}); };
875
-
876
- /**
877
- * Generated bundle index. Do not edit.
878
- */
879
-
880
- exports.DAFF_CATEGORY_ERROR_MATCHER = DAFF_CATEGORY_ERROR_MATCHER;
881
- exports.DaffCategoryErrorCodes = DaffCategoryErrorCodes;
882
- exports.DaffCategoryErrorMap = DaffCategoryErrorMap;
883
- exports.DaffCategoryFilterNotFound = DaffCategoryFilterNotFound;
884
- exports.DaffCategoryFilterRequestNameMismatch = DaffCategoryFilterRequestNameMismatch;
885
- exports.DaffCategoryFilterRequestTypeMismatch = DaffCategoryFilterRequestTypeMismatch;
886
- exports.DaffCategoryFromToFilterSeparator = DaffCategoryFromToFilterSeparator;
887
- exports.DaffCategoryUnknownFilterType = DaffCategoryUnknownFilterType;
888
- exports.daffApplyFilter = daffApplyFilter;
889
- exports.daffApplyRequestToFilters = daffApplyRequestToFilters;
890
- exports.daffApplyRequestsToFilters = daffApplyRequestsToFilters;
891
- exports.daffCategoryComputeAppliedFilters = daffCategoryComputeAppliedFilters;
892
- exports.daffCategoryComputeFilterRangePairLabel = daffCategoryComputeFilterRangePairLabel;
893
- exports.daffCategoryFilterArrayToDict = daffCategoryFilterArrayToDict;
894
- exports.daffCategoryFilterEqualOptionArrayToDict = daffCategoryFilterEqualOptionArrayToDict;
895
- exports.daffCategoryFilterRangePairArrayToDict = daffCategoryFilterRangePairArrayToDict;
896
- exports.daffCategoryFilterToRequest = daffCategoryFilterToRequest;
897
- exports.daffCategoryFiltersToRequests = daffCategoryFiltersToRequests;
898
- exports.daffCategoryFindAppliedFilterOptions = daffCategoryFindAppliedFilterOptions;
899
- exports.daffCategoryValidateFilterRequestNameMatch = daffCategoryValidateFilterRequestNameMatch;
900
- exports.daffCategoryValidateFilterRequestTypeMatch = daffCategoryValidateFilterRequestTypeMatch;
901
- exports.daffClearFilter = daffClearFilter;
902
- exports.daffClearFilters = daffClearFilters;
903
- exports.daffIsFilterApplied = daffIsFilterApplied;
904
- exports.daffIsToggleRequestAppliedToFilter = daffIsToggleRequestAppliedToFilter;
905
- exports.daffRemoveFilter = daffRemoveFilter;
906
- exports.daffRemoveRequestFromFilters = daffRemoveRequestFromFilters;
907
- exports.daffRemoveRequestsFromFilters = daffRemoveRequestsFromFilters;
908
- exports.daffToggleFilter = daffToggleFilter;
909
- exports.daffToggleRequestOnFilters = daffToggleRequestOnFilters;
910
-
911
- Object.defineProperty(exports, '__esModule', { value: true });
912
-
913
- })));
914
- //# sourceMappingURL=daffodil-category.umd.js.map