@daffodil/category 0.38.9 → 0.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (298) hide show
  1. package/bundles/daffodil-category-driver-in-memory.umd.js +86 -167
  2. package/bundles/daffodil-category-driver-in-memory.umd.js.map +1 -1
  3. package/bundles/daffodil-category-driver-in-memory.umd.min.js +1 -1
  4. package/bundles/daffodil-category-driver-in-memory.umd.min.js.map +1 -1
  5. package/bundles/daffodil-category-driver-magento-testing.umd.js +9 -120
  6. package/bundles/daffodil-category-driver-magento-testing.umd.js.map +1 -1
  7. package/bundles/daffodil-category-driver-magento-testing.umd.min.js +1 -1
  8. package/bundles/daffodil-category-driver-magento-testing.umd.min.js.map +1 -1
  9. package/bundles/daffodil-category-driver-magento.umd.js +72 -504
  10. package/bundles/daffodil-category-driver-magento.umd.js.map +1 -1
  11. package/bundles/daffodil-category-driver-magento.umd.min.js +2 -2
  12. package/bundles/daffodil-category-driver-magento.umd.min.js.map +1 -1
  13. package/bundles/daffodil-category-driver-testing.umd.js +5 -68
  14. package/bundles/daffodil-category-driver-testing.umd.js.map +1 -1
  15. package/bundles/daffodil-category-driver-testing.umd.min.js +1 -1
  16. package/bundles/daffodil-category-driver-testing.umd.min.js.map +1 -1
  17. package/bundles/daffodil-category-driver.umd.js +11 -51
  18. package/bundles/daffodil-category-driver.umd.js.map +1 -1
  19. package/bundles/daffodil-category-routing.umd.js +10 -116
  20. package/bundles/daffodil-category-routing.umd.js.map +1 -1
  21. package/bundles/daffodil-category-routing.umd.min.js +1 -1
  22. package/bundles/daffodil-category-routing.umd.min.js.map +1 -1
  23. package/bundles/daffodil-category-state-testing.umd.js +5 -89
  24. package/bundles/daffodil-category-state-testing.umd.js.map +1 -1
  25. package/bundles/daffodil-category-state-testing.umd.min.js +1 -1
  26. package/bundles/daffodil-category-state-testing.umd.min.js.map +1 -1
  27. package/bundles/daffodil-category-state.umd.js +133 -1007
  28. package/bundles/daffodil-category-state.umd.js.map +1 -1
  29. package/bundles/daffodil-category-state.umd.min.js +1 -1
  30. package/bundles/daffodil-category-state.umd.min.js.map +1 -1
  31. package/bundles/daffodil-category-testing.umd.js +35 -316
  32. package/bundles/daffodil-category-testing.umd.js.map +1 -1
  33. package/bundles/daffodil-category-testing.umd.min.js +1 -1
  34. package/bundles/daffodil-category-testing.umd.min.js.map +1 -1
  35. package/bundles/daffodil-category.umd.js +184 -867
  36. package/bundles/daffodil-category.umd.js.map +1 -1
  37. package/bundles/daffodil-category.umd.min.js +15 -1
  38. package/bundles/daffodil-category.umd.min.js.map +1 -1
  39. package/driver/in-memory/backend/category.service.d.ts +16 -7
  40. package/driver/in-memory/daffodil-category-driver-in-memory.metadata.json +1 -1
  41. package/driver/in-memory/package.json +1 -1
  42. package/driver/magento/package.json +1 -1
  43. package/driver/magento/testing/package.json +1 -1
  44. package/driver/package.json +1 -1
  45. package/driver/testing/package.json +1 -1
  46. package/esm2015/daffodil-category.js +2 -7
  47. package/esm2015/driver/daffodil-category-driver.js +2 -7
  48. package/esm2015/driver/in-memory/backend/category.service.js +64 -100
  49. package/esm2015/driver/in-memory/backend/public_api.js +1 -6
  50. package/esm2015/driver/in-memory/daffodil-category-driver-in-memory.js +2 -7
  51. package/esm2015/driver/in-memory/drivers/category-driver.module.js +2 -10
  52. package/esm2015/driver/in-memory/drivers/category.service.js +6 -32
  53. package/esm2015/driver/in-memory/drivers/public_api.js +1 -6
  54. package/esm2015/driver/in-memory/index.js +2 -7
  55. package/esm2015/driver/in-memory/public_api.js +3 -8
  56. package/esm2015/driver/index.js +2 -7
  57. package/esm2015/driver/interfaces/category-service.interface.js +1 -27
  58. package/esm2015/driver/magento/category-driver.module.js +3 -12
  59. package/esm2015/driver/magento/category.service.js +11 -112
  60. package/esm2015/driver/magento/config/default.js +2 -8
  61. package/esm2015/driver/magento/daffodil-category-driver-magento.js +2 -7
  62. package/esm2015/driver/magento/index.js +2 -7
  63. package/esm2015/driver/magento/interfaces/config.interface.js +3 -32
  64. package/esm2015/driver/magento/interfaces/public_api.js +2 -7
  65. package/esm2015/driver/magento/models/aggregation.js +2 -35
  66. package/esm2015/driver/magento/models/category.js +2 -52
  67. package/esm2015/driver/magento/models/complete-category-response.js +2 -24
  68. package/esm2015/driver/magento/models/filter-type-field.interface.js +2 -16
  69. package/esm2015/driver/magento/models/filter-type.enum.js +8 -13
  70. package/esm2015/driver/magento/models/get-category-response.js +2 -14
  71. package/esm2015/driver/magento/models/get-filter-types-response.interface.js +2 -14
  72. package/esm2015/driver/magento/models/get-products-response.js +2 -14
  73. package/esm2015/driver/magento/models/page-info.js +2 -18
  74. package/esm2015/driver/magento/models/public_api.js +1 -6
  75. package/esm2015/driver/magento/models/requests/custom-metadata-attribute.js +2 -16
  76. package/esm2015/driver/magento/models/requests/filters.js +9 -19
  77. package/esm2015/driver/magento/models/requests/get-products-by-categories-request.js +2 -22
  78. package/esm2015/driver/magento/models/requests/sort.js +6 -16
  79. package/esm2015/driver/magento/models/sort-fields.js +2 -26
  80. package/esm2015/driver/magento/public_api.js +5 -10
  81. package/esm2015/driver/magento/queries/get-category.js +1 -8
  82. package/esm2015/driver/magento/queries/get-filter-types.js +1 -8
  83. package/esm2015/driver/magento/queries/get-products.js +3 -14
  84. package/esm2015/driver/magento/queries/public_api.js +4 -9
  85. package/esm2015/driver/magento/testing/daffodil-category-driver-magento-testing.js +2 -7
  86. package/esm2015/driver/magento/testing/factories/aggregation/aggregation.factory.js +2 -23
  87. package/esm2015/driver/magento/testing/factories/aggregation/public_api.js +1 -6
  88. package/esm2015/driver/magento/testing/factories/aggregation/type/price.factory.js +2 -19
  89. package/esm2015/driver/magento/testing/factories/aggregation/type/select.factory.js +2 -19
  90. package/esm2015/driver/magento/testing/factories/category.factory.js +2 -31
  91. package/esm2015/driver/magento/testing/factories/filter-type-field.factory.js +2 -14
  92. package/esm2015/driver/magento/testing/factories/page-info.factory.js +2 -15
  93. package/esm2015/driver/magento/testing/factories/public_api.js +2 -7
  94. package/esm2015/driver/magento/testing/factories/sort-fields.factory.js +2 -13
  95. package/esm2015/driver/magento/testing/index.js +2 -7
  96. package/esm2015/driver/magento/testing/public_api.js +2 -7
  97. package/esm2015/driver/magento/transformers/applied-filter-transformer.service.js +4 -36
  98. package/esm2015/driver/magento/transformers/applied-sort-option-transformer.service.js +2 -17
  99. package/esm2015/driver/magento/transformers/category-page-config-transformer.service.js +4 -22
  100. package/esm2015/driver/magento/transformers/category-response-transform.service.js +2 -34
  101. package/esm2015/driver/magento/transformers/category-transformer.service.js +4 -32
  102. package/esm2015/driver/magento/transformers/public_api.js +1 -6
  103. package/esm2015/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.js +2 -16
  104. package/esm2015/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.js +2 -17
  105. package/esm2015/driver/magento/transformers/pure/aggregate/transform.js +3 -13
  106. package/esm2015/driver/magento/transformers/pure/aggregate/type/equal.js +5 -20
  107. package/esm2015/driver/magento/transformers/pure/aggregate/type/range.js +3 -14
  108. package/esm2015/driver/magento/transformers/pure/sort-default-option-first.js +2 -16
  109. package/esm2015/driver/magento/transformers/truncate-url.js +2 -12
  110. package/esm2015/driver/public_api.js +1 -6
  111. package/esm2015/driver/testing/daffodil-category-driver-testing.js +2 -7
  112. package/esm2015/driver/testing/drivers/category-driver.module.js +2 -10
  113. package/esm2015/driver/testing/drivers/category.service.js +4 -39
  114. package/esm2015/driver/testing/drivers/public_api.js +1 -6
  115. package/esm2015/driver/testing/index.js +2 -7
  116. package/esm2015/driver/testing/public_api.js +2 -7
  117. package/esm2015/errors/codes.enum.js +4 -10
  118. package/esm2015/errors/map.js +1 -7
  119. package/esm2015/errors/public_api.js +1 -6
  120. package/esm2015/filters/array-to-dict/array-to-dict.js +3 -17
  121. package/esm2015/filters/behaviors/apply/apply-filter.js +7 -18
  122. package/esm2015/filters/behaviors/apply/apply-request-to-filters.js +5 -16
  123. package/esm2015/filters/behaviors/apply/apply-requests-to-filters.js +6 -22
  124. package/esm2015/filters/behaviors/apply/public_api.js +1 -6
  125. package/esm2015/filters/behaviors/clear/clear-filter.js +5 -15
  126. package/esm2015/filters/behaviors/clear/clear-filters.js +6 -25
  127. package/esm2015/filters/behaviors/clear/public_api.js +1 -6
  128. package/esm2015/filters/behaviors/remove/public_api.js +1 -6
  129. package/esm2015/filters/behaviors/remove/remove-filter.js +9 -20
  130. package/esm2015/filters/behaviors/remove/remove-request-from-filters.js +5 -16
  131. package/esm2015/filters/behaviors/remove/remove-requests-from-filters.js +7 -23
  132. package/esm2015/filters/behaviors/toggle/public_api.js +1 -6
  133. package/esm2015/filters/behaviors/toggle/toggle-request-on-filters.js +4 -15
  134. package/esm2015/filters/behaviors/toggle/toggle.js +5 -13
  135. package/esm2015/filters/compute-applied-filters/compute-applied-filters.js +7 -27
  136. package/esm2015/filters/errors/codes.enum.js +11 -12
  137. package/esm2015/filters/errors/filter-not-found.error.js +1 -13
  138. package/esm2015/filters/errors/map.js +1 -7
  139. package/esm2015/filters/errors/public_api.js +1 -6
  140. package/esm2015/filters/errors/request-name-mismatch.error.js +1 -13
  141. package/esm2015/filters/errors/request-type-mismatch.error.js +1 -13
  142. package/esm2015/filters/errors/unknown-filter-type.error.js +1 -13
  143. package/esm2015/filters/find-applied/find-applied-options.js +2 -21
  144. package/esm2015/filters/find-applied/public_api.js +1 -6
  145. package/esm2015/filters/is-applied/is-filter-applied.js +3 -13
  146. package/esm2015/filters/is-applied/is-toggle-request-applied-to-filter.js +6 -17
  147. package/esm2015/filters/is-applied/public_api.js +1 -6
  148. package/esm2015/filters/public_api.js +12 -17
  149. package/esm2015/filters/to-request/filter-to-request.js +1 -8
  150. package/esm2015/filters/to-request/filters-to-requests.js +3 -20
  151. package/esm2015/filters/to-request/public_api.js +1 -6
  152. package/esm2015/filters/type/equal/array-to-dict/option.js +2 -16
  153. package/esm2015/filters/type/equal/behaviors/apply/apply.js +6 -23
  154. package/esm2015/filters/type/equal/behaviors/clear/clear.js +6 -25
  155. package/esm2015/filters/type/equal/behaviors/remove/remove.js +8 -25
  156. package/esm2015/filters/type/equal/behaviors/toggle/toggle.js +7 -19
  157. package/esm2015/filters/type/equal/is-applied/is-applied.js +3 -21
  158. package/esm2015/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.js +3 -14
  159. package/esm2015/filters/type/equal/public_api.js +1 -6
  160. package/esm2015/filters/type/equal/to-request/filter-to-request.js +5 -20
  161. package/esm2015/filters/type/range/array-to-dict/pair.js +3 -18
  162. package/esm2015/filters/type/range/behaviors/apply/apply.js +6 -18
  163. package/esm2015/filters/type/range/behaviors/clear/clear.js +5 -16
  164. package/esm2015/filters/type/range/behaviors/remove/remove.js +8 -20
  165. package/esm2015/filters/type/range/behaviors/toggle/toggle.js +7 -19
  166. package/esm2015/filters/type/range/compute-pair-label.js +2 -13
  167. package/esm2015/filters/type/range/is-applied/is-applied.js +3 -14
  168. package/esm2015/filters/type/range/is-applied/is-toggle-request-applied-to-filter.js +3 -15
  169. package/esm2015/filters/type/range/public_api.js +1 -6
  170. package/esm2015/filters/type/range/to-request/filter-to-request.js +4 -16
  171. package/esm2015/filters/type/range-numeric/to-request/filter-to-request.js +3 -13
  172. package/esm2015/filters/validators/public_api.js +1 -6
  173. package/esm2015/filters/validators/request-name-match.js +4 -15
  174. package/esm2015/filters/validators/request-type-match.js +4 -15
  175. package/esm2015/index.js +2 -7
  176. package/esm2015/injection-tokens/error-matcher.token.js +2 -11
  177. package/esm2015/injection-tokens/public_api.js +1 -6
  178. package/esm2015/models/category-breadcrumb.js +2 -30
  179. package/esm2015/models/category-page-metadata.js +2 -23
  180. package/esm2015/models/category-request.js +7 -65
  181. package/esm2015/models/category.js +2 -6
  182. package/esm2015/models/filters/category-filter-base.js +2 -34
  183. package/esm2015/models/filters/category-filter-option-base.js +2 -18
  184. package/esm2015/models/filters/category-filter-option.js +2 -6
  185. package/esm2015/models/filters/category-filter.js +2 -6
  186. package/esm2015/models/filters/category-filterable.js +2 -18
  187. package/esm2015/models/filters/filter-request.js +2 -6
  188. package/esm2015/models/filters/filter-toggle-request.js +2 -6
  189. package/esm2015/models/filters/public_api.js +4 -9
  190. package/esm2015/models/filters/type/category-filter-type.js +7 -10
  191. package/esm2015/models/filters/type/equal/filter.js +2 -31
  192. package/esm2015/models/filters/type/equal/option.js +2 -26
  193. package/esm2015/models/filters/type/equal/public_api.js +2 -6
  194. package/esm2015/models/filters/type/equal/request.js +2 -28
  195. package/esm2015/models/filters/type/equal/toggle-request.js +2 -28
  196. package/esm2015/models/filters/type/range/filter-base.js +2 -33
  197. package/esm2015/models/filters/type/range/option.js +2 -25
  198. package/esm2015/models/filters/type/range/pair.js +2 -30
  199. package/esm2015/models/filters/type/range/public_api.js +1 -6
  200. package/esm2015/models/filters/type/range/request-base.js +2 -30
  201. package/esm2015/models/filters/type/range/request-option.js +2 -25
  202. package/esm2015/models/filters/type/range/separator.js +1 -7
  203. package/esm2015/models/filters/type/range-numeric/filter.js +2 -18
  204. package/esm2015/models/filters/type/range-numeric/public_api.js +2 -6
  205. package/esm2015/models/filters/type/range-numeric/request.js +2 -18
  206. package/esm2015/models/filters/type/range-numeric/toggle-request.js +2 -19
  207. package/esm2015/models/generic-category.js +2 -61
  208. package/esm2015/models/get-category-response.js +2 -29
  209. package/esm2015/models/public_api.js +2 -7
  210. package/esm2015/public_api.js +5 -10
  211. package/esm2015/routing/daffodil-category-routing.js +2 -7
  212. package/esm2015/routing/index.js +2 -7
  213. package/esm2015/routing/public_api.js +2 -7
  214. package/esm2015/routing/resolvers/category-page/category-page.resolver.js +2 -21
  215. package/esm2015/routing/resolvers/category-page-id/category-page-id.resolver.js +2 -33
  216. package/esm2015/routing/resolvers/category-page-url/category-page-url.resolver.js +9 -44
  217. package/esm2015/routing/resolvers/public_api.js +1 -6
  218. package/esm2015/state/actions/category-page-filter.actions.js +12 -64
  219. package/esm2015/state/actions/category-page.actions.js +12 -79
  220. package/esm2015/state/actions/category.actions.js +8 -39
  221. package/esm2015/state/category-state.module.js +1 -6
  222. package/esm2015/state/daffodil-category-state.js +2 -7
  223. package/esm2015/state/effects/category-page-filter.effects.js +4 -71
  224. package/esm2015/state/effects/category-page.effects.js +9 -101
  225. package/esm2015/state/effects/category.effects.js +2 -46
  226. package/esm2015/state/facades/category-facade.interface.js +2 -135
  227. package/esm2015/state/facades/category.facade.js +4 -76
  228. package/esm2015/state/index.js +2 -7
  229. package/esm2015/state/public_api.js +6 -11
  230. package/esm2015/state/reducers/category/category-reducer-state.interface.js +2 -32
  231. package/esm2015/state/reducers/category/category.reducer.js +1 -11
  232. package/esm2015/state/reducers/category/pure/build-metadata-from-request.js +3 -20
  233. package/esm2015/state/reducers/category-entities/category-entities-adapter.js +1 -10
  234. package/esm2015/state/reducers/category-entities/category-entities.reducer.js +1 -10
  235. package/esm2015/state/reducers/category-reducers.interface.js +1 -33
  236. package/esm2015/state/reducers/category-reducers.js +1 -7
  237. package/esm2015/state/reducers/category-store-feature-key.js +1 -7
  238. package/esm2015/state/reducers/public_api.js +1 -6
  239. package/esm2015/state/selectors/category-entities/category-entities.selector.js +8 -71
  240. package/esm2015/state/selectors/category-feature.selector.js +5 -29
  241. package/esm2015/state/selectors/category-page/category-page.selector.js +28 -257
  242. package/esm2015/state/selectors/category.selector.js +13 -123
  243. package/esm2015/state/testing/category-testing.module.js +2 -7
  244. package/esm2015/state/testing/daffodil-category-state-testing.js +2 -7
  245. package/esm2015/state/testing/index.js +2 -7
  246. package/esm2015/state/testing/mock-category-facade.js +4 -69
  247. package/esm2015/state/testing/public_api.js +1 -6
  248. package/esm2015/testing/daffodil-category-testing.js +2 -7
  249. package/esm2015/testing/factories/category-page-metadata.factory.js +3 -30
  250. package/esm2015/testing/factories/category.factory.js +3 -32
  251. package/esm2015/testing/factories/filters/filter.factory.js +4 -30
  252. package/esm2015/testing/factories/filters/public_api.js +2 -7
  253. package/esm2015/testing/factories/filters/request.factory.js +3 -24
  254. package/esm2015/testing/factories/filters/toggle-request.js +4 -29
  255. package/esm2015/testing/factories/filters/type/equal/option.js +3 -18
  256. package/esm2015/testing/factories/filters/type/equal/public_api.js +1 -6
  257. package/esm2015/testing/factories/filters/type/equal/request.js +3 -16
  258. package/esm2015/testing/factories/filters/type/equal/toggle-request.js +3 -16
  259. package/esm2015/testing/factories/filters/type/equal.js +3 -18
  260. package/esm2015/testing/factories/filters/type/public_api.js +3 -8
  261. package/esm2015/testing/factories/filters/type/range-numeric/option.js +3 -14
  262. package/esm2015/testing/factories/filters/type/range-numeric/pair.js +3 -30
  263. package/esm2015/testing/factories/filters/type/range-numeric/public_api.js +1 -6
  264. package/esm2015/testing/factories/filters/type/range-numeric/request-option.js +3 -14
  265. package/esm2015/testing/factories/filters/type/range-numeric/request.js +3 -30
  266. package/esm2015/testing/factories/filters/type/range-numeric/toggle-request.js +3 -30
  267. package/esm2015/testing/factories/filters/type/range-numeric.js +3 -22
  268. package/esm2015/testing/factories/public_api.js +2 -7
  269. package/esm2015/testing/helpers/category-helper.js +2 -8
  270. package/esm2015/testing/index.js +2 -7
  271. package/esm2015/testing/public_api.js +2 -7
  272. package/fesm2015/daffodil-category-driver-in-memory.js +71 -167
  273. package/fesm2015/daffodil-category-driver-in-memory.js.map +1 -1
  274. package/fesm2015/daffodil-category-driver-magento-testing.js +9 -155
  275. package/fesm2015/daffodil-category-driver-magento-testing.js.map +1 -1
  276. package/fesm2015/daffodil-category-driver-magento.js +62 -506
  277. package/fesm2015/daffodil-category-driver-magento.js.map +1 -1
  278. package/fesm2015/daffodil-category-driver-testing.js +7 -70
  279. package/fesm2015/daffodil-category-driver-testing.js.map +1 -1
  280. package/fesm2015/daffodil-category-driver.js +1 -41
  281. package/fesm2015/daffodil-category-driver.js.map +1 -1
  282. package/fesm2015/daffodil-category-routing.js +11 -117
  283. package/fesm2015/daffodil-category-routing.js.map +1 -1
  284. package/fesm2015/daffodil-category-state-testing.js +6 -90
  285. package/fesm2015/daffodil-category-state-testing.js.map +1 -1
  286. package/fesm2015/daffodil-category-state.js +99 -1029
  287. package/fesm2015/daffodil-category-state.js.map +1 -1
  288. package/fesm2015/daffodil-category-testing.js +35 -391
  289. package/fesm2015/daffodil-category-testing.js.map +1 -1
  290. package/fesm2015/daffodil-category.js +166 -919
  291. package/fesm2015/daffodil-category.js.map +1 -1
  292. package/package.json +4 -4
  293. package/routing/daffodil-category-routing.metadata.json +1 -1
  294. package/routing/package.json +1 -1
  295. package/routing/resolvers/category-page-url/category-page-url.resolver.d.ts +2 -0
  296. package/state/package.json +1 -1
  297. package/state/testing/package.json +1 -1
  298. package/testing/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/get-filter-types.ts","../../../libs/category/driver/magento/src/queries/get-category.ts","../../../libs/category/driver/magento/src/queries/get-products.ts","../../../libs/category/driver/magento/src/models/requests/filters.ts","../../../libs/category/driver/magento/src/models/requests/sort.ts","../../../libs/category/driver/magento/src/models/filter-type.enum.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/applied-sort-option-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/transform.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/range.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/equal.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/pure/sort-default-option-first.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/get-matched-attribute-type.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category-driver.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","__makeTemplateObject","cooked","raw","defineProperty","magentoCategoryTruncateUrl","url","daffUriTruncateLeadingSlash","daffUriTruncateFileExtension","daffUriTruncateQueryFragment","MAGENTO_CATEGORY_CONFIG_DEFAULT","truncateUrl","uriTruncationStrategy","MAGENTO_CATEGORY_CONFIG_TOKEN","InjectionToken","factory","DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME","MagentoGetCategoryFilterTypes","gql","templateObject_1","DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME","MagentoGetCategoryQuery","templateObject_1$1","DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME","MagentoGetProductsQuery","extraProductFragments","templateObject_1$2","daffBuildFragmentNameSpread","apply","magentoProductFragment","daffBuildFragmentDefinition","MagentoCategoryFilterActionEnum","Equal","To","From","In","Match","MagentoSortDirectionEnum","Ascending","Decending","MagentoCategoryFilterType","Range","DaffMagentoAppliedFiltersTransformService","prototype","transform","categoryId","daffFilters","_this","this","magentoFilters","category_uid","_a","forEach","filter","type","DaffCategoryFilterType","RangeNumeric","name","assign","getRangeFromValue","min","toString","getRangeToValue","max","getFilterAction","getFilterValue","fromValue","toValue","Injectable","args","providedIn","DaffMagentoAppliedSortOptionTransformService","appliedOption","appliedDirection","transformDirection","direction","DaffSortDirectionEnum","Descending","transformAggregate","aggregate","label","attribute_code","parseInt","options","split","transformAggregateRange","reduce","acc","option","applied","count","transformAggregateEqual","DaffMagentoCategoryPageConfigTransformerService","categoryResponse","sort_fields","index","aggregatesWithoutCategories","aggregates","id","category","uid","page_size","page_info","current_page","total_pages","total_products","total_count","filters","daffCategoryFilterArrayToDict","map","sort_options","default","findIndex","slice","product_ids","products","product","sku","applied_sort_direction","applied_sort_option","DaffMagentoCategoryTransformerService","url_path","url_suffix","canonicalUrl","canonical_url","description","meta_title","meta_description","children_count","breadcrumbs","breadcrumb","transformBreadcrumb","sort","a","b","level","items","category_name","category_level","category_url_path","DaffMagentoCategoryResponseTransformService","magentoCategoryTransformerService","magentoCategoryPageConfigurationTransformerService","magentoProductsTransformService","completeCategory","mediaUrl","magentoCompleteCategoryResponse","categoryPageMetadata","transformManyMagentoProducts","DaffMagentoProductsTransformer","getMatchedAttributeType","attributes","__type","inputFields","item","applyFiltersOnResponse","requests","response","daffApplyRequestsToFilters","DaffMagentoCategoryService","apollo","magentoCategoryResponseTransformer","magentoAppliedFiltersTransformer","magentoAppliedSortTransformer","config","productConfig","extraPreviewFragments","get","categoryRequest","combineLatest","query","variables","eq","getProductsQueryVariables","pipe","_b","_c","filterTypes","transformCategory","data","baseMediaUrl","result","filter_requests","getByUrl","switchMap","categoryList","kind","DaffCategoryRequestKind","ID","request","queryVariables","filterTypesResponse","productsResponse","attributeResponse","aggregationResponse","aggregations","Apollo","Inject","MAGENTO_PRODUCT_CONFIG_TOKEN","DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS","DaffCategoryMagentoDriverModule","forRoot","ngModule","providers","provide","DaffCategoryDriver","useExisting","DAFF_MAGENTO_CACHEABLE_OPERATIONS","useValue","multi","NgModule","imports","CommonModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\n/**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\nexport const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken<DaffCategoryMagentoDriverConfig>('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME = 'MagentoGetFilterFieldTypesForCategory';\n\nexport const MagentoGetCategoryFilterTypes = gql`\nquery ${DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME} {\n __type (name: \"ProductAttributeFilterInput\") {\n inputFields {\n name\n type {\n name\n }\n }\n }\n}\n`;\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME = 'MagentoGetCategoryQuery';\n\nexport const MagentoGetCategoryQuery = gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){\n\tcategoryList(filters: $filters) {\n\t\tuid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tproducts {\n\t\t\titems {\n\t\t\t\tsku\n\t\t\t}\n\t\t}\n\t\tchildren_count\n\t}\n}`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoProductFragment } from '@daffodil/product/driver/magento';\n\nexport const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';\n/**\n * This query only exists because products and their associated aggregations/filter cannot\n * be retrieved through a category call.\n */\nexport const MagentoGetProductsQuery = (extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME}($filter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n\tproducts(filter: $filter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\tpage_size\n\t\t\tcurrent_page\n\t\t\ttotal_pages\n\t\t}\n\t\taggregations {\n\t\t\tlabel\n\t\t\tcount\n\t\t\tattribute_code\n options {\n count\n label\n value\n\t\t\t}\n\t\t}\n\t\tsort_fields {\n\t\t\tdefault\n\t\t\toptions {\n\t\t\t\tlabel\n\t\t\t\tvalue\n\t\t\t}\n\t\t}\n\t}\n}\n${magentoProductFragment}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","export enum MagentoCategoryFilterActionEnum {\n\tEqual = 'eq',\n\tTo = 'to',\n\tFrom = 'from',\n\tIn = 'in',\n\tMatch = 'match'\n}\n\nexport interface MagentoCategoryFilters {\n\t[x: string]: MagentoFilterAction;\n}\n\nexport type MagentoFilterAction = {\n\t[key in MagentoCategoryFilterActionEnum]?: string | string[];\n};\n","export enum MagentoSortDirectionEnum {\n\tAscending = 'ASC',\n\tDecending = 'DESC'\n}\n\nexport interface MagentoSortFieldAction {\n\t[x: string]: MagentoSortDirectionEnum;\n}\n","// maybe this shoould be in @daffodil/product/driver/magento?\nexport enum MagentoCategoryFilterType {\n Equal = 'FilterEqualTypeInput',\n Match = 'FilterEqualTypeInput',\n Range = 'FilterRangeTypeInput'\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryFilterRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\n\nimport {\n MagentoCategoryFilters,\n MagentoCategoryFilterActionEnum,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffCategoryFilterRequest[]): MagentoCategoryFilters {\n const magentoFilters: MagentoCategoryFilters = {\n category_uid: {\n [MagentoCategoryFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n daffFilters.forEach(filter => {\n // The FromTo filter needs special treatment, because Magento accepts the \"from\" and \"to\" filters\n // separately (it also outputs FromTo filter pairs together)\n if(filter.type === DaffCategoryFilterType.RangeNumeric) {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n ...this.getRangeFromValue(filter.value.min.toString()),\n ...this.getRangeToValue(filter.value.max.toString()),\n };\n } else {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n [this.getFilterAction(filter.type)]: this.getFilterValue(filter.type, filter.value),\n };\n }\n });\n\n return magentoFilters;\n }\n\n /**\n * Returns an In action for Equal type and a Match action for Match type.\n */\n private getFilterAction(type: DaffCategoryFilterType): MagentoCategoryFilterActionEnum {\n return type === DaffCategoryFilterType.Equal\n ? MagentoCategoryFilterActionEnum.In\n : MagentoCategoryFilterActionEnum.Match;\n }\n\n /**\n * Returns an array for Equal type and a string for Match type.\n */\n private getFilterValue(type: DaffCategoryFilterType, value: DaffCategoryFilterRequest['value']): string | string[] {\n return type === DaffCategoryFilterType.Equal ? value : value[0];\n }\n\n private getRangeFromValue(fromValue: string) {\n return fromValue !== '*' ? { [MagentoCategoryFilterActionEnum.From]: fromValue } : null;\n }\n\n private getRangeToValue(toValue: string) {\n return toValue !== '*' ? { [MagentoCategoryFilterActionEnum.To]: toValue } : null;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffSortDirectionEnum } from '@daffodil/core/state';\n\nimport {\n MagentoSortFieldAction,\n MagentoSortDirectionEnum,\n} from '../models/public_api';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedSortOptionTransformService {\n\n transform(appliedOption: string, appliedDirection: DaffSortDirectionEnum): MagentoSortFieldAction {\n return {\n [appliedOption]: this.transformDirection(appliedDirection),\n };\n }\n\n private transformDirection(direction: DaffSortDirectionEnum): MagentoSortDirectionEnum {\n if(direction === DaffSortDirectionEnum.Ascending) {\n return MagentoSortDirectionEnum.Ascending;\n } else if(direction === DaffSortDirectionEnum.Descending) {\n return MagentoSortDirectionEnum.Decending;\n }\n }\n}\n","import { DaffCategoryFilter } from '@daffodil/category';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\nimport { transformAggregateEqual } from './type/equal';\nimport { transformAggregateRange } from './type/range';\n\nexport const transformAggregate = (aggregate: MagentoAggregation): DaffCategoryFilter => {\n switch (aggregate.type) {\n case MagentoCategoryFilterType.Range:\n return transformAggregateRange(aggregate);\n case MagentoCategoryFilterType.Equal:\n case MagentoCategoryFilterType.Match:\n default:\n return transformAggregateEqual(aggregate);\n }\n};\n","import {\n DaffCategoryFilterType,\n DaffCategoryFilterRangeNumeric,\n} from '@daffodil/category';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\n/**\n * The char that Magento uses to separate individual elements of the buckets\n * they return for range elements\n */\nexport const magentoBucketSeparator = '-';\n\nexport const transformAggregateRange = (aggregate: MagentoAggregation): DaffCategoryFilterRangeNumeric => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.RangeNumeric,\n name: aggregate.attribute_code,\n min: parseInt(aggregate.options[0].value.split('-')[0], 10),\n max: parseInt(aggregate.options[aggregate.options.length - 1].value.split(magentoBucketSeparator)[1], 10),\n options: {},\n});\n","import { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { Dict } from '@daffodil/core';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\nexport const transformAggregateEqual = (aggregate: MagentoAggregation): DaffCategoryFilterEqual => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.Equal,\n name: aggregate.attribute_code,\n options: aggregate.options.reduce((acc, option) => {\n acc[option.value] = {\n applied: false,\n label: option.label,\n count: option.count,\n value: option.value,\n };\n return acc;\n }, <Dict<DaffCategoryFilterEqualOption>>{}),\n});\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategoryPageMetadata,\n daffCategoryFilterArrayToDict,\n} from '@daffodil/category';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { transformAggregate } from './pure/aggregate/transform';\nimport { coerceDefaultSortOptionFirst } from './pure/sort-default-option-first';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n id: categoryResponse.category.uid,\n page_size: categoryResponse.page_info.page_size,\n current_page: categoryResponse.page_info.current_page,\n total_pages: categoryResponse.page_info.total_pages,\n total_products: categoryResponse.total_count,\n filters: daffCategoryFilterArrayToDict(aggregatesWithoutCategories.map(transformAggregate)),\n sort_options: {\n default: categoryResponse.sort_fields.default,\n options: coerceDefaultSortOptionFirst(categoryResponse.sort_fields).options,\n },\n product_ids: categoryResponse.products.map(product => product.sku),\n // TODO: implement?\n applied_sort_direction: null,\n applied_sort_option: null,\n };\n }\n}\n","import { MagentoSortFields } from '../../models/sort-fields';\n\nexport function coerceDefaultSortOptionFirst(sort_fields: MagentoSortFields): MagentoSortFields {\n const index = sort_fields.options.findIndex(option => sort_fields.default === option.value);\n\n return {\n ...sort_fields,\n options: [\n sort_fields.options[index],\n ...sort_fields.options.slice(0, index),\n ...sort_fields.options.slice(index + 1),\n ],\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n\n transform(category: MagentoCategory): DaffCategory {\n return {\n id: category.uid,\n url: `${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: category.products.items.map(product => product.sku),\n total_products: category.products.items.length,\n };\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport { DaffMagentoProductsTransformer } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n\t\tprivate magentoProductsTransformService: DaffMagentoProductsTransformer,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl),\n };\n }\n}\n","import { MagentoGetCategoryFilterTypesResponse } from '../../../models/get-filter-types-response.interface';\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\n\nexport const getMatchedAttributeType = (aggregate: MagentoAggregation, attributes: MagentoGetCategoryFilterTypesResponse): MagentoCategoryFilterType =>\n attributes.__type.inputFields.filter(item => item.name === aggregate.attribute_code)[0].type.name;\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n daffApplyRequestsToFilters,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryFilterRequest,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n} from '@daffodil/product/driver/magento';\n\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport { MagentoGetCategoryFilterTypesResponse } from './models/get-filter-types-response.interface';\nimport {\n MagentoGetACategoryResponse,\n MagentoGetProductsResponse,\n MagentoGetProductsByCategoriesRequest,\n} from './models/public_api';\nimport { MagentoGetCategoryFilterTypes } from './queries/get-filter-types';\nimport {\n MagentoGetProductsQuery,\n MagentoGetCategoryQuery,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToAggregates } from './transformers/pure/aggregate/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffCategoryFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n\t\tprivate magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n\t\tprivate magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n\t\tprivate magentoAppliedSortTransformer: DaffMagentoAppliedSortOptionTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraPreviewFragments: DocumentNode[],\n ) {}\n\n //todo the MagentoGetCategoryQuery needs to get its own product ids.\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { category_uid: { eq: categoryRequest.id }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n category,\n filterTypes,\n products,\n ]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { url_path: {\n eq: this.config.truncateUrl\n ? this.config.uriTruncationStrategy(categoryRequest.url)\n : categoryRequest.url,\n }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables({\n ...categoryRequest,\n id: category.data.categoryList[0]?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n )),\n );\n }\n\n private getProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetProductsByCategoriesRequest {\n const queryVariables = {\n filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filter_requests),\n };\n if(request.page_size) {\n queryVariables['pageSize'] = request.page_size;\n }\n if(request.current_page) {\n queryVariables['currentPage'] = request.current_page;\n }\n if(request.applied_sort_option && request.applied_sort_direction) {\n queryVariables['sort'] = this.magentoAppliedSortTransformer.transform(request.applied_sort_option, request.applied_sort_direction);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetACategoryResponse,\n filterTypesResponse: MagentoGetCategoryFilterTypesResponse,\n productsResponse: MagentoGetProductsResponse,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToAggregates(filterTypesResponse, productsResponse);\n const completeCategory = {\n category: categoryResponse.categoryList[0],\n products: productsResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: productsResponse.products.total_count,\n page_info: productsResponse.products.page_info,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import {\n MagentoGetCategoryFilterTypesResponse,\n MagentoGetProductsResponse,\n} from '../../../models/public_api';\nimport { getMatchedAttributeType } from './get-matched-attribute-type';\n\nexport function addMetadataTypesToAggregates(\n attributeResponse: MagentoGetCategoryFilterTypesResponse,\n aggregationResponse: MagentoGetProductsResponse,\n): MagentoGetProductsResponse {\n\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: getMatchedAttributeType(aggregate, attributeResponse),\n })),\n ],\n },\n };\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\nimport { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n} from './interfaces/public_api';\nimport { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME } from './queries/get-category';\nimport { DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME } from './queries/get-products';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoAppliedSortOptionTransformService } from './transformers/applied-sort-option-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffMagentoCategoryService,\n },\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME,\n multi: true,\n },\n {\n provide: MAGENTO_CATEGORY_CONFIG_TOKEN,\n useValue: {\n ...MAGENTO_CATEGORY_CONFIG_DEFAULT,\n ...config,\n },\n },\n ],\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../libs/category/driver/magento/src/models/requests/filters.ts","../../../libs/category/driver/magento/src/models/requests/sort.ts","../../../libs/category/driver/magento/src/models/filter-type.enum.ts","../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/get-filter-types.ts","../../../libs/category/driver/magento/src/queries/get-category.ts","../../../libs/category/driver/magento/src/queries/get-products.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/applied-sort-option-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/equal.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/transform.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/range.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/pure/sort-default-option-first.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/get-matched-attribute-type.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category-driver.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","__makeTemplateObject","cooked","raw","defineProperty","MagentoCategoryFilterActionEnum","MagentoSortDirectionEnum","MagentoCategoryFilterType","magentoCategoryTruncateUrl","url","daffUriTruncateLeadingSlash","daffUriTruncateFileExtension","daffUriTruncateQueryFragment","MAGENTO_CATEGORY_CONFIG_DEFAULT","truncateUrl","uriTruncationStrategy","MAGENTO_CATEGORY_CONFIG_TOKEN","InjectionToken","factory","DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME","MagentoGetCategoryFilterTypes","gql","templateObject_1","DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME","MagentoGetCategoryQuery","templateObject_1$1","DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME","MagentoGetProductsQuery","extraProductFragments","templateObject_1$2","daffBuildFragmentNameSpread","apply","magentoProductFragment","daffBuildFragmentDefinition","DaffMagentoAppliedFiltersTransformService","prototype","transform","categoryId","daffFilters","_this","this","magentoFilters","category_uid","_a","Equal","forEach","filter","type","DaffCategoryFilterType","RangeNumeric","name","assign","getRangeFromValue","min","toString","getRangeToValue","max","getFilterAction","getFilterValue","In","Match","fromValue","From","toValue","To","Injectable","args","providedIn","DaffMagentoAppliedSortOptionTransformService","appliedOption","appliedDirection","transformDirection","direction","DaffSortDirectionEnum","Ascending","Descending","Decending","transformAggregate","aggregate","Range","label","attribute_code","parseInt","options","split","transformAggregateRange","reduce","acc","option","applied","count","transformAggregateEqual","DaffMagentoCategoryPageConfigTransformerService","categoryResponse","sort_fields","index","aggregatesWithoutCategories","aggregates","id","category","uid","page_size","page_info","current_page","total_pages","total_products","total_count","filters","daffCategoryFilterArrayToDict","map","sort_options","default","findIndex","slice","product_ids","products","product","sku","applied_sort_direction","applied_sort_option","DaffMagentoCategoryTransformerService","url_path","url_suffix","canonicalUrl","canonical_url","description","meta_title","meta_description","children_count","breadcrumbs","breadcrumb","transformBreadcrumb","sort","a","b","level","items","category_name","category_level","category_url_path","DaffMagentoCategoryResponseTransformService","magentoCategoryTransformerService","magentoCategoryPageConfigurationTransformerService","magentoProductsTransformService","completeCategory","mediaUrl","magentoCompleteCategoryResponse","categoryPageMetadata","transformManyMagentoProducts","DaffMagentoProductsTransformer","getMatchedAttributeType","attributes","__type","inputFields","item","applyFiltersOnResponse","requests","response","daffApplyRequestsToFilters","DaffMagentoCategoryService","apollo","magentoCategoryResponseTransformer","magentoAppliedFiltersTransformer","magentoAppliedSortTransformer","config","productConfig","extraPreviewFragments","get","categoryRequest","combineLatest","query","variables","eq","getProductsQueryVariables","pipe","_b","_c","filterTypes","transformCategory","data","baseMediaUrl","result","filter_requests","getByUrl","switchMap","categoryList","kind","DaffCategoryRequestKind","ID","request","queryVariables","filterTypesResponse","productsResponse","attributeResponse","aggregationResponse","aggregations","Apollo","Inject","MAGENTO_PRODUCT_CONFIG_TOKEN","DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS","DaffCategoryMagentoDriverModule","forRoot","ngModule","providers","provide","DaffCategoryDriver","useExisting","DAFF_MAGENTO_CACHEABLE_OPERATIONS","useValue","multi","NgModule","imports","CommonModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export enum MagentoCategoryFilterActionEnum {\n\tEqual = 'eq',\n\tTo = 'to',\n\tFrom = 'from',\n\tIn = 'in',\n\tMatch = 'match'\n}\n\nexport interface MagentoCategoryFilters {\n\t[x: string]: MagentoFilterAction;\n}\n\nexport type MagentoFilterAction = {\n\t[key in MagentoCategoryFilterActionEnum]?: string | string[];\n};\n","export enum MagentoSortDirectionEnum {\n\tAscending = 'ASC',\n\tDecending = 'DESC'\n}\n\nexport interface MagentoSortFieldAction {\n\t[x: string]: MagentoSortDirectionEnum;\n}\n","// maybe this shoould be in @daffodil/product/driver/magento?\nexport enum MagentoCategoryFilterType {\n Equal = 'FilterEqualTypeInput',\n Match = 'FilterEqualTypeInput',\n Range = 'FilterRangeTypeInput'\n}\n","import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\n/**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\nexport const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken<DaffCategoryMagentoDriverConfig>('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME = 'MagentoGetFilterFieldTypesForCategory';\n\nexport const MagentoGetCategoryFilterTypes = gql`\nquery ${DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME} {\n __type (name: \"ProductAttributeFilterInput\") {\n inputFields {\n name\n type {\n name\n }\n }\n }\n}\n`;\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME = 'MagentoGetCategoryQuery';\n\nexport const MagentoGetCategoryQuery = gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){\n\tcategoryList(filters: $filters) {\n\t\tuid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tproducts {\n\t\t\titems {\n\t\t\t\tsku\n\t\t\t}\n\t\t}\n\t\tchildren_count\n\t}\n}`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoProductFragment } from '@daffodil/product/driver/magento';\n\nexport const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';\n/**\n * This query only exists because products and their associated aggregations/filter cannot\n * be retrieved through a category call.\n */\nexport const MagentoGetProductsQuery = (extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME}($filter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n\tproducts(filter: $filter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\tpage_size\n\t\t\tcurrent_page\n\t\t\ttotal_pages\n\t\t}\n\t\taggregations {\n\t\t\tlabel\n\t\t\tcount\n\t\t\tattribute_code\n options {\n count\n label\n value\n\t\t\t}\n\t\t}\n\t\tsort_fields {\n\t\t\tdefault\n\t\t\toptions {\n\t\t\t\tlabel\n\t\t\t\tvalue\n\t\t\t}\n\t\t}\n\t}\n}\n${magentoProductFragment}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryFilterRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\n\nimport {\n MagentoCategoryFilters,\n MagentoCategoryFilterActionEnum,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffCategoryFilterRequest[]): MagentoCategoryFilters {\n const magentoFilters: MagentoCategoryFilters = {\n category_uid: {\n [MagentoCategoryFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n daffFilters.forEach(filter => {\n // The FromTo filter needs special treatment, because Magento accepts the \"from\" and \"to\" filters\n // separately (it also outputs FromTo filter pairs together)\n if(filter.type === DaffCategoryFilterType.RangeNumeric) {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n ...this.getRangeFromValue(filter.value.min.toString()),\n ...this.getRangeToValue(filter.value.max.toString()),\n };\n } else {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n [this.getFilterAction(filter.type)]: this.getFilterValue(filter.type, filter.value),\n };\n }\n });\n\n return magentoFilters;\n }\n\n /**\n * Returns an In action for Equal type and a Match action for Match type.\n */\n private getFilterAction(type: DaffCategoryFilterType): MagentoCategoryFilterActionEnum {\n return type === DaffCategoryFilterType.Equal\n ? MagentoCategoryFilterActionEnum.In\n : MagentoCategoryFilterActionEnum.Match;\n }\n\n /**\n * Returns an array for Equal type and a string for Match type.\n */\n private getFilterValue(type: DaffCategoryFilterType, value: DaffCategoryFilterRequest['value']): string | string[] {\n return type === DaffCategoryFilterType.Equal ? value : value[0];\n }\n\n private getRangeFromValue(fromValue: string) {\n return fromValue !== '*' ? { [MagentoCategoryFilterActionEnum.From]: fromValue } : null;\n }\n\n private getRangeToValue(toValue: string) {\n return toValue !== '*' ? { [MagentoCategoryFilterActionEnum.To]: toValue } : null;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffSortDirectionEnum } from '@daffodil/core/state';\n\nimport {\n MagentoSortFieldAction,\n MagentoSortDirectionEnum,\n} from '../models/public_api';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedSortOptionTransformService {\n\n transform(appliedOption: string, appliedDirection: DaffSortDirectionEnum): MagentoSortFieldAction {\n return {\n [appliedOption]: this.transformDirection(appliedDirection),\n };\n }\n\n private transformDirection(direction: DaffSortDirectionEnum): MagentoSortDirectionEnum {\n if(direction === DaffSortDirectionEnum.Ascending) {\n return MagentoSortDirectionEnum.Ascending;\n } else if(direction === DaffSortDirectionEnum.Descending) {\n return MagentoSortDirectionEnum.Decending;\n }\n }\n}\n","import { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { Dict } from '@daffodil/core';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\nexport const transformAggregateEqual = (aggregate: MagentoAggregation): DaffCategoryFilterEqual => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.Equal,\n name: aggregate.attribute_code,\n options: aggregate.options.reduce((acc, option) => {\n acc[option.value] = {\n applied: false,\n label: option.label,\n count: option.count,\n value: option.value,\n };\n return acc;\n }, <Dict<DaffCategoryFilterEqualOption>>{}),\n});\n","import { DaffCategoryFilter } from '@daffodil/category';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\nimport { transformAggregateEqual } from './type/equal';\nimport { transformAggregateRange } from './type/range';\n\nexport const transformAggregate = (aggregate: MagentoAggregation): DaffCategoryFilter => {\n switch (aggregate.type) {\n case MagentoCategoryFilterType.Range:\n return transformAggregateRange(aggregate);\n case MagentoCategoryFilterType.Equal:\n case MagentoCategoryFilterType.Match:\n default:\n return transformAggregateEqual(aggregate);\n }\n};\n","import {\n DaffCategoryFilterType,\n DaffCategoryFilterRangeNumeric,\n} from '@daffodil/category';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\n/**\n * The char that Magento uses to separate individual elements of the buckets\n * they return for range elements\n */\nexport const magentoBucketSeparator = '-';\n\nexport const transformAggregateRange = (aggregate: MagentoAggregation): DaffCategoryFilterRangeNumeric => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.RangeNumeric,\n name: aggregate.attribute_code,\n min: parseInt(aggregate.options[0].value.split('-')[0], 10),\n max: parseInt(aggregate.options[aggregate.options.length - 1].value.split(magentoBucketSeparator)[1], 10),\n options: {},\n});\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategoryPageMetadata,\n daffCategoryFilterArrayToDict,\n} from '@daffodil/category';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { transformAggregate } from './pure/aggregate/transform';\nimport { coerceDefaultSortOptionFirst } from './pure/sort-default-option-first';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n id: categoryResponse.category.uid,\n page_size: categoryResponse.page_info.page_size,\n current_page: categoryResponse.page_info.current_page,\n total_pages: categoryResponse.page_info.total_pages,\n total_products: categoryResponse.total_count,\n filters: daffCategoryFilterArrayToDict(aggregatesWithoutCategories.map(transformAggregate)),\n sort_options: {\n default: categoryResponse.sort_fields.default,\n options: coerceDefaultSortOptionFirst(categoryResponse.sort_fields).options,\n },\n product_ids: categoryResponse.products.map(product => product.sku),\n // TODO: implement?\n applied_sort_direction: null,\n applied_sort_option: null,\n };\n }\n}\n","import { MagentoSortFields } from '../../models/sort-fields';\n\nexport function coerceDefaultSortOptionFirst(sort_fields: MagentoSortFields): MagentoSortFields {\n const index = sort_fields.options.findIndex(option => sort_fields.default === option.value);\n\n return {\n ...sort_fields,\n options: [\n sort_fields.options[index],\n ...sort_fields.options.slice(0, index),\n ...sort_fields.options.slice(index + 1),\n ],\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n\n transform(category: MagentoCategory): DaffCategory {\n return {\n id: category.uid,\n url: `${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: category.products.items.map(product => product.sku),\n total_products: category.products.items.length,\n };\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport { DaffMagentoProductsTransformer } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n\t\tprivate magentoProductsTransformService: DaffMagentoProductsTransformer,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl),\n };\n }\n}\n","import { MagentoGetCategoryFilterTypesResponse } from '../../../models/get-filter-types-response.interface';\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\n\nexport const getMatchedAttributeType = (aggregate: MagentoAggregation, attributes: MagentoGetCategoryFilterTypesResponse): MagentoCategoryFilterType =>\n attributes.__type.inputFields.filter(item => item.name === aggregate.attribute_code)[0].type.name;\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n daffApplyRequestsToFilters,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryFilterRequest,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n} from '@daffodil/product/driver/magento';\n\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport { MagentoGetCategoryFilterTypesResponse } from './models/get-filter-types-response.interface';\nimport {\n MagentoGetACategoryResponse,\n MagentoGetProductsResponse,\n MagentoGetProductsByCategoriesRequest,\n} from './models/public_api';\nimport { MagentoGetCategoryFilterTypes } from './queries/get-filter-types';\nimport {\n MagentoGetProductsQuery,\n MagentoGetCategoryQuery,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToAggregates } from './transformers/pure/aggregate/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffCategoryFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n\t\tprivate magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n\t\tprivate magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n\t\tprivate magentoAppliedSortTransformer: DaffMagentoAppliedSortOptionTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraPreviewFragments: DocumentNode[],\n ) {}\n\n //todo the MagentoGetCategoryQuery needs to get its own product ids.\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { category_uid: { eq: categoryRequest.id }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n category,\n filterTypes,\n products,\n ]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { url_path: {\n eq: this.config.truncateUrl\n ? this.config.uriTruncationStrategy(categoryRequest.url)\n : categoryRequest.url,\n }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables({\n ...categoryRequest,\n id: category.data.categoryList[0]?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n )),\n );\n }\n\n private getProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetProductsByCategoriesRequest {\n const queryVariables = {\n filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filter_requests),\n };\n if(request.page_size) {\n queryVariables['pageSize'] = request.page_size;\n }\n if(request.current_page) {\n queryVariables['currentPage'] = request.current_page;\n }\n if(request.applied_sort_option && request.applied_sort_direction) {\n queryVariables['sort'] = this.magentoAppliedSortTransformer.transform(request.applied_sort_option, request.applied_sort_direction);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetACategoryResponse,\n filterTypesResponse: MagentoGetCategoryFilterTypesResponse,\n productsResponse: MagentoGetProductsResponse,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToAggregates(filterTypesResponse, productsResponse);\n const completeCategory = {\n category: categoryResponse.categoryList[0],\n products: productsResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: productsResponse.products.total_count,\n page_info: productsResponse.products.page_info,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import {\n MagentoGetCategoryFilterTypesResponse,\n MagentoGetProductsResponse,\n} from '../../../models/public_api';\nimport { getMatchedAttributeType } from './get-matched-attribute-type';\n\nexport function addMetadataTypesToAggregates(\n attributeResponse: MagentoGetCategoryFilterTypesResponse,\n aggregationResponse: MagentoGetProductsResponse,\n): MagentoGetProductsResponse {\n\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: getMatchedAttributeType(aggregate, attributeResponse),\n })),\n ],\n },\n };\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\nimport { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n} from './interfaces/public_api';\nimport { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME } from './queries/get-category';\nimport { DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME } from './queries/get-products';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoAppliedSortOptionTransformService } from './transformers/applied-sort-option-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffMagentoCategoryService,\n },\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME,\n multi: true,\n },\n {\n provide: MAGENTO_CATEGORY_CONFIG_TOKEN,\n useValue: {\n ...MAGENTO_CATEGORY_CONFIG_DEFAULT,\n ...config,\n },\n },\n ],\n };\n }\n}\n"]}
@@ -5,30 +5,16 @@
5
5
  }(this, (function (exports, i0, rxjs, i1, i2, common, driver) { 'use strict';
6
6
 
7
7
  /**
8
- * @fileoverview added by tsickle
9
- * Generated from: drivers/category.service.ts
10
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11
- */
12
- /**
13
- * The category testing driver to mock {\@link DaffCategoryServiceInterface}.
8
+ * The category testing driver to mock {@link DaffCategoryServiceInterface}.
14
9
  *
15
- * \@inheritdoc
10
+ * @inheritdoc
16
11
  */
17
12
  var DaffTestingCategoryService = /** @class */ (function () {
18
- /**
19
- * @param {?} categoryFactory
20
- * @param {?} categoryPageMetadataFactory
21
- * @param {?} productFactory
22
- */
23
13
  function DaffTestingCategoryService(categoryFactory, categoryPageMetadataFactory, productFactory) {
24
14
  this.categoryFactory = categoryFactory;
25
15
  this.categoryPageMetadataFactory = categoryPageMetadataFactory;
26
16
  this.productFactory = productFactory;
27
17
  }
28
- /**
29
- * @param {?} categoryRequest
30
- * @return {?}
31
- */
32
18
  DaffTestingCategoryService.prototype.get = function (categoryRequest) {
33
19
  return rxjs.of({
34
20
  category: this.categoryFactory.create(),
@@ -36,10 +22,6 @@
36
22
  products: this.productFactory.createMany(3),
37
23
  });
38
24
  };
39
- /**
40
- * @param {?} categoryRequest
41
- * @return {?}
42
- */
43
25
  DaffTestingCategoryService.prototype.getByUrl = function (categoryRequest) {
44
26
  return rxjs.of({
45
27
  category: this.categoryFactory.create(),
@@ -49,6 +31,7 @@
49
31
  };
50
32
  return DaffTestingCategoryService;
51
33
  }());
34
+ /** @nocollapse */ DaffTestingCategoryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DaffTestingCategoryService_Factory() { return new DaffTestingCategoryService(i0.ɵɵinject(i1.DaffCategoryFactory), i0.ɵɵinject(i1.DaffCategoryPageMetadataFactory), i0.ɵɵinject(i2.DaffDefaultProductFactory)); }, token: DaffTestingCategoryService, providedIn: "root" });
52
35
  DaffTestingCategoryService.decorators = [
53
36
  { type: i0.Injectable, args: [{
54
37
  providedIn: 'root',
@@ -60,39 +43,13 @@
60
43
  { type: i1.DaffCategoryPageMetadataFactory },
61
44
  { type: i2.DaffProductFactory }
62
45
  ]; };
63
- /** @nocollapse */ DaffTestingCategoryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DaffTestingCategoryService_Factory() { return new DaffTestingCategoryService(i0.ɵɵinject(i1.DaffCategoryFactory), i0.ɵɵinject(i1.DaffCategoryPageMetadataFactory), i0.ɵɵinject(i2.DaffDefaultProductFactory)); }, token: DaffTestingCategoryService, providedIn: "root" });
64
- if (false) {
65
- /**
66
- * @type {?}
67
- * @private
68
- */
69
- DaffTestingCategoryService.prototype.categoryFactory;
70
- /**
71
- * @type {?}
72
- * @private
73
- */
74
- DaffTestingCategoryService.prototype.categoryPageMetadataFactory;
75
- /**
76
- * @type {?}
77
- * @private
78
- */
79
- DaffTestingCategoryService.prototype.productFactory;
80
- }
81
46
 
82
47
  /**
83
- * @fileoverview added by tsickle
84
- * Generated from: drivers/category-driver.module.ts
85
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
86
- */
87
- /**
88
- * A module for providing the {\@link DaffTestingCategoryService} for the {\@link DaffCategoryDriver} token.
48
+ * A module for providing the {@link DaffTestingCategoryService} for the {@link DaffCategoryDriver} token.
89
49
  */
90
50
  var DaffCategoryTestingDriverModule = /** @class */ (function () {
91
51
  function DaffCategoryTestingDriverModule() {
92
52
  }
93
- /**
94
- * @return {?}
95
- */
96
53
  DaffCategoryTestingDriverModule.forRoot = function () {
97
54
  return {
98
55
  ngModule: DaffCategoryTestingDriverModule,
@@ -115,27 +72,7 @@
115
72
  ];
116
73
 
117
74
  /**
118
- * @fileoverview added by tsickle
119
- * Generated from: drivers/public_api.ts
120
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
121
- */
122
-
123
- /**
124
- * @fileoverview added by tsickle
125
- * Generated from: public_api.ts
126
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
127
- */
128
-
129
- /**
130
- * @fileoverview added by tsickle
131
- * Generated from: index.ts
132
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
133
- */
134
-
135
- /**
136
- * @fileoverview added by tsickle
137
- * Generated from: daffodil-category-driver-testing.ts
138
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
75
+ * Generated bundle index. Do not edit.
139
76
  */
140
77
 
141
78
  exports.DaffCategoryTestingDriverModule = DaffCategoryTestingDriverModule;
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-driver-testing.umd.js","sources":["../../../libs/category/driver/testing/src/drivers/category.service.ts","../../../libs/category/driver/testing/src/drivers/category-driver.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { DaffProductFactory } from '@daffodil/product/testing';\n\n/**\n * The category testing driver to mock {@link DaffCategoryServiceInterface}.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffTestingCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private categoryPageMetadataFactory: DaffCategoryPageMetadataFactory,\n private productFactory: DaffProductFactory,\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\n\nimport { DaffTestingCategoryService } from './category.service';\n\n/**\n * A module for providing the {@link DaffTestingCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryTestingDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryTestingDriverModule> {\n return {\n ngModule: DaffCategoryTestingDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffTestingCategoryService,\n },\n ],\n };\n }\n}\n"],"names":["of","Injectable","DaffCategoryFactory","DaffCategoryPageMetadataFactory","DaffProductFactory","DaffCategoryDriver","NgModule","CommonModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;QA4BE,oCACU,eAAoC,EACpC,2BAA4D,EAC5D,cAAkC;YAFlC,oBAAe,GAAf,eAAe,CAAqB;YACpC,gCAA2B,GAA3B,2BAA2B,CAAiC;YAC5D,mBAAc,GAAd,cAAc,CAAoB;SACxC;;;;;QAEJ,wCAAG,GAAH,UAAI,eAAsC;YACxC,OAAOA,OAAE,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBACvC,oBAAoB,EAAE,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE;gBAC/D,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;aAC5C,CAAC,CAAC;SACJ;;;;;QAED,6CAAQ,GAAR,UAAS,eAAuC;YAC9C,OAAOA,OAAE,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBACvC,oBAAoB,EAAE,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE;gBAC/D,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;aAC5C,CAAC,CAAC;SACJ;;;;gBAzBFC,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBAZCC,sBAAmB;gBACnBC,kCAA+B;gBAExBC,qBAAkB;;;;;;;;QAavB,qDAA4C;;;;;QAC5C,iEAAoE;;;;;QACpE,oDAA0C;;;;;;;;;;;;QCb9C;;;;;QACS,uCAAO,GAAd;YACE,OAAO;gBACL,QAAQ,EAAE,+BAA+B;gBACzC,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEC,yBAAkB;wBAC3B,WAAW,EAAE,0BAA0B;qBACxC;iBACF;aACF,CAAC;SACH;;;;gBAhBFC,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;qBACb;iBACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"daffodil-category-driver-testing.umd.js","sources":["../../../libs/category/driver/testing/src/drivers/category.service.ts","../../../libs/category/driver/testing/src/drivers/category-driver.module.ts","../../../libs/category/driver/testing/src/daffodil-category-driver-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { DaffProductFactory } from '@daffodil/product/testing';\n\n/**\n * The category testing driver to mock {@link DaffCategoryServiceInterface}.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffTestingCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private categoryPageMetadataFactory: DaffCategoryPageMetadataFactory,\n private productFactory: DaffProductFactory,\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\n\nimport { DaffTestingCategoryService } from './category.service';\n\n/**\n * A module for providing the {@link DaffTestingCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryTestingDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryTestingDriverModule> {\n return {\n ngModule: DaffCategoryTestingDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffTestingCategoryService,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["of","Injectable","DaffCategoryFactory","DaffCategoryPageMetadataFactory","DaffProductFactory","DaffCategoryDriver","NgModule","CommonModule"],"mappings":";;;;;;IAkBA;;;;;;QAUE,oCACU,eAAoC,EACpC,2BAA4D,EAC5D,cAAkC;YAFlC,oBAAe,GAAf,eAAe,CAAqB;YACpC,gCAA2B,GAA3B,2BAA2B,CAAiC;YAC5D,mBAAc,GAAd,cAAc,CAAoB;SACxC;QAEJ,wCAAG,GAAH,UAAI,eAAsC;YACxC,OAAOA,OAAE,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBACvC,oBAAoB,EAAE,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE;gBAC/D,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;aAC5C,CAAC,CAAC;SACJ;QAED,6CAAQ,GAAR,UAAS,eAAuC;YAC9C,OAAOA,OAAE,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBACvC,oBAAoB,EAAE,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE;gBAC/D,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;aAC5C,CAAC,CAAC;SACJ;;;;;gBAzBFC,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBAZCC,sBAAmB;gBACnBC,kCAA+B;gBAExBC,qBAAkB;;;ICN3B;;;;QAQA;;QACS,uCAAO,GAAd;YACE,OAAO;gBACL,QAAQ,EAAE,+BAA+B;gBACzC,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEC,yBAAkB;wBAC3B,WAAW,EAAE,0BAA0B;qBACxC;iBACF;aACF,CAAC;SACH;;;;gBAhBFC,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;qBACb;iBACF;;;ICjBD;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@daffodil/category/testing"),require("@daffodil/product/testing"),require("@angular/common"),require("@daffodil/category/driver")):"function"==typeof define&&define.amd?define("@daffodil/category/driver/testing",["exports","@angular/core","rxjs","@daffodil/category/testing","@daffodil/product/testing","@angular/common","@daffodil/category/driver"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).daffodil=e.daffodil||{},e.daffodil.category=e.daffodil.category||{},e.daffodil.category.driver=e.daffodil.category.driver||{},e.daffodil.category.driver.testing={}),e.ng.core,e.rxjs,e.daffodil.category.testing,e.i2,e.ng.common,e.daffodil.category.driver)}(this,(function(e,t,r,o,a,i,c){"use strict";var d=function(){function e(e,t,r){this.categoryFactory=e,this.categoryPageMetadataFactory=t,this.productFactory=r}return e.prototype.get=function(e){return r.of({category:this.categoryFactory.create(),categoryPageMetadata:this.categoryPageMetadataFactory.create(),products:this.productFactory.createMany(3)})},e.prototype.getByUrl=function(e){return r.of({category:this.categoryFactory.create(),categoryPageMetadata:this.categoryPageMetadataFactory.create(),products:this.productFactory.createMany(3)})},e}();d.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],d.ctorParameters=function(){return[{type:o.DaffCategoryFactory},{type:o.DaffCategoryPageMetadataFactory},{type:a.DaffProductFactory}]},d.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new d(t.ɵɵinject(o.DaffCategoryFactory),t.ɵɵinject(o.DaffCategoryPageMetadataFactory),t.ɵɵinject(a.DaffDefaultProductFactory))},token:d,providedIn:"root"});var f=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:c.DaffCategoryDriver,useExisting:d}]}},e}();f.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule]}]}],e.DaffCategoryTestingDriverModule=f,e.DaffTestingCategoryService=d,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@daffodil/category/testing"),require("@daffodil/product/testing"),require("@angular/common"),require("@daffodil/category/driver")):"function"==typeof define&&define.amd?define("@daffodil/category/driver/testing",["exports","@angular/core","rxjs","@daffodil/category/testing","@daffodil/product/testing","@angular/common","@daffodil/category/driver"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).daffodil=e.daffodil||{},e.daffodil.category=e.daffodil.category||{},e.daffodil.category.driver=e.daffodil.category.driver||{},e.daffodil.category.driver.testing={}),e.ng.core,e.rxjs,e.daffodil.category.testing,e.i2,e.ng.common,e.daffodil.category.driver)}(this,(function(e,t,r,o,a,i,c){"use strict";var d=function(){function e(e,t,r){this.categoryFactory=e,this.categoryPageMetadataFactory=t,this.productFactory=r}return e.prototype.get=function(e){return r.of({category:this.categoryFactory.create(),categoryPageMetadata:this.categoryPageMetadataFactory.create(),products:this.productFactory.createMany(3)})},e.prototype.getByUrl=function(e){return r.of({category:this.categoryFactory.create(),categoryPageMetadata:this.categoryPageMetadataFactory.create(),products:this.productFactory.createMany(3)})},e}();d.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new d(t.ɵɵinject(o.DaffCategoryFactory),t.ɵɵinject(o.DaffCategoryPageMetadataFactory),t.ɵɵinject(a.DaffDefaultProductFactory))},token:d,providedIn:"root"}),d.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],d.ctorParameters=function(){return[{type:o.DaffCategoryFactory},{type:o.DaffCategoryPageMetadataFactory},{type:a.DaffProductFactory}]};var f=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[{provide:c.DaffCategoryDriver,useExisting:d}]}},e}();f.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule]}]}],e.DaffCategoryTestingDriverModule=f,e.DaffTestingCategoryService=d,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=daffodil-category-driver-testing.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../libs/category/driver/testing/src/drivers/category.service.ts","../../../libs/category/driver/testing/src/drivers/category-driver.module.ts"],"names":["DaffTestingCategoryService","categoryFactory","categoryPageMetadataFactory","productFactory","this","prototype","get","categoryRequest","of","category","create","categoryPageMetadata","products","createMany","getByUrl","Injectable","args","providedIn","DaffCategoryFactory","DaffCategoryPageMetadataFactory","DaffProductFactory","DaffCategoryTestingDriverModule","forRoot","ngModule","providers","provide","DaffCategoryDriver","useExisting","NgModule","imports","CommonModule"],"mappings":"s1BA4BE,SAAAA,EACUC,EACAC,EACAC,GAFAC,KAAAH,gBAAAA,EACAG,KAAAF,4BAAAA,EACAE,KAAAD,eAAAA,SAGVH,EAAAK,UAAAC,IAAA,SAAIC,GACF,OAAOC,EAAAA,GAAG,CACRC,SAAUL,KAAKH,gBAAgBS,SAC/BC,qBAAsBP,KAAKF,4BAA4BQ,SACvDE,SAAUR,KAAKD,eAAeU,WAAW,MAI7Cb,EAAAK,UAAAS,SAAA,SAASP,GACP,OAAOC,EAAAA,GAAG,CACRC,SAAUL,KAAKH,gBAAgBS,SAC/BC,qBAAsBP,KAAKF,4BAA4BQ,SACvDE,SAAUR,KAAKD,eAAeU,WAAW,+BAvB9CE,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAXZC,EAAAA,2BACAC,EAAAA,uCAEOC,EAAAA,2PCET,SAAAC,YACSA,EAAAC,QAAP,WACE,MAAO,CACLC,SAAUF,EACVG,UAAW,CACT,CACEC,QAASC,EAAAA,mBACTC,YAAa3B,+BAZtB4B,EAAAA,SAAQZ,KAAA,CAAC,CACRa,QAAS,CACPC,EAAAA","sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { DaffProductFactory } from '@daffodil/product/testing';\n\n/**\n * The category testing driver to mock {@link DaffCategoryServiceInterface}.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffTestingCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private categoryPageMetadataFactory: DaffCategoryPageMetadataFactory,\n private productFactory: DaffProductFactory,\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\n\nimport { DaffTestingCategoryService } from './category.service';\n\n/**\n * A module for providing the {@link DaffTestingCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryTestingDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryTestingDriverModule> {\n return {\n ngModule: DaffCategoryTestingDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffTestingCategoryService,\n },\n ],\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../libs/category/driver/testing/src/drivers/category.service.ts","../../../libs/category/driver/testing/src/drivers/category-driver.module.ts"],"names":["DaffTestingCategoryService","categoryFactory","categoryPageMetadataFactory","productFactory","this","prototype","get","categoryRequest","of","category","create","categoryPageMetadata","products","createMany","getByUrl","Injectable","args","providedIn","DaffCategoryFactory","DaffCategoryPageMetadataFactory","DaffProductFactory","DaffCategoryTestingDriverModule","forRoot","ngModule","providers","provide","DaffCategoryDriver","useExisting","NgModule","imports","CommonModule"],"mappings":"s1BA4BE,SAAAA,EACUC,EACAC,EACAC,GAFAC,KAAAH,gBAAAA,EACAG,KAAAF,4BAAAA,EACAE,KAAAD,eAAAA,SAGVH,EAAAK,UAAAC,IAAA,SAAIC,GACF,OAAOC,EAAAA,GAAG,CACRC,SAAUL,KAAKH,gBAAgBS,SAC/BC,qBAAsBP,KAAKF,4BAA4BQ,SACvDE,SAAUR,KAAKD,eAAeU,WAAW,MAI7Cb,EAAAK,UAAAS,SAAA,SAASP,GACP,OAAOC,EAAAA,GAAG,CACRC,SAAUL,KAAKH,gBAAgBS,SAC/BC,qBAAsBP,KAAKF,4BAA4BQ,SACvDE,SAAUR,KAAKD,eAAeU,WAAW,mPAvB9CE,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAXZC,EAAAA,2BACAC,EAAAA,uCAEOC,EAAAA,uCCET,SAAAC,YACSA,EAAAC,QAAP,WACE,MAAO,CACLC,SAAUF,EACVG,UAAW,CACT,CACEC,QAASC,EAAAA,mBACTC,YAAa3B,+BAZtB4B,EAAAA,SAAQZ,KAAA,CAAC,CACRa,QAAS,CACPC,EAAAA","sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { DaffProductFactory } from '@daffodil/product/testing';\n\n/**\n * The category testing driver to mock {@link DaffCategoryServiceInterface}.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffTestingCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private categoryPageMetadataFactory: DaffCategoryPageMetadataFactory,\n private productFactory: DaffProductFactory,\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return of({\n category: this.categoryFactory.create(),\n categoryPageMetadata: this.categoryPageMetadataFactory.create(),\n products: this.productFactory.createMany(3),\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\n\nimport { DaffTestingCategoryService } from './category.service';\n\n/**\n * A module for providing the {@link DaffTestingCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryTestingDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryTestingDriverModule> {\n return {\n ngModule: DaffCategoryTestingDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffTestingCategoryService,\n },\n ],\n };\n }\n}\n"]}
@@ -1,60 +1,20 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :
3
- typeof define === 'function' && define.amd ? define('@daffodil/category/driver', ['exports', '@angular/core'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.daffodil = global.daffodil || {}, global.daffodil.category = global.daffodil.category || {}, global.daffodil.category.driver = {}), global.ng.core));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :
3
+ typeof define === 'function' && define.amd ? define('@daffodil/category/driver', ['exports', '@angular/core'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.daffodil = global.daffodil || {}, global.daffodil.category = global.daffodil.category || {}, global.daffodil.category.driver = {}), global.ng.core));
5
5
  }(this, (function (exports, core) { 'use strict';
6
6
 
7
- /**
8
- * @fileoverview added by tsickle
9
- * Generated from: interfaces/category-service.interface.ts
10
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11
- */
12
- /**
13
- * An interface for category service drivers.
14
- * @record
15
- * @template V, W
16
- */
17
- function DaffCategoryServiceInterface() { }
18
- if (false) {
19
- /**
20
- * Fetch a category by its ID.
21
- * @param {?} categoryRequest
22
- * @return {?}
23
- */
24
- DaffCategoryServiceInterface.prototype.get = function (categoryRequest) { };
25
- /**
26
- * Fetch a category by its associated URL.
27
- * @param {?} categoryRequest
28
- * @return {?}
29
- */
30
- DaffCategoryServiceInterface.prototype.getByUrl = function (categoryRequest) { };
31
- }
32
- //TODO(damienwebdev): This any generic is necessary until we ship Ivy packages, do not change it.
33
- //See: https://github.com/ng-packagr/ng-packagr/issues/1844
34
- /** @type {?} */
35
- var DaffCategoryDriver = new core.InjectionToken('DaffCategoryDriver');
7
+ //TODO(damienwebdev): This any generic is necessary until we ship Ivy packages, do not change it.
8
+ //See: https://github.com/ng-packagr/ng-packagr/issues/1844
9
+ var DaffCategoryDriver = new core.InjectionToken('DaffCategoryDriver');
36
10
 
37
- /**
38
- * @fileoverview added by tsickle
39
- * Generated from: public_api.ts
40
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
41
- */
11
+ /**
12
+ * Generated bundle index. Do not edit.
13
+ */
42
14
 
43
- /**
44
- * @fileoverview added by tsickle
45
- * Generated from: index.ts
46
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
47
- */
15
+ exports.DaffCategoryDriver = DaffCategoryDriver;
48
16
 
49
- /**
50
- * @fileoverview added by tsickle
51
- * Generated from: daffodil-category-driver.ts
52
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
53
- */
54
-
55
- exports.DaffCategoryDriver = DaffCategoryDriver;
56
-
57
- Object.defineProperty(exports, '__esModule', { value: true });
17
+ Object.defineProperty(exports, '__esModule', { value: true });
58
18
 
59
19
  })));
60
20
  //# sourceMappingURL=daffodil-category-driver.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-driver.umd.js","sources":["../../../libs/category/driver/src/interfaces/category-service.interface.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * An interface for category service drivers.\n */\nexport interface DaffCategoryServiceInterface<\n\tV extends DaffGenericCategory<V> = DaffCategory,\n\tW extends DaffProduct = DaffProduct\n> {\n /**\n * Fetch a category by its ID.\n */\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse<V, W>>;\n /**\n * Fetch a category by its associated URL.\n */\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse<V, W>>;\n}\n\n//TODO(damienwebdev): This any generic is necessary until we ship Ivy packages, do not change it.\n//See: https://github.com/ng-packagr/ng-packagr/issues/1844\nexport const DaffCategoryDriver = new InjectionToken<any>('DaffCategoryDriver');\n"],"names":["InjectionToken"],"mappings":";;;;;;;;;;;;;;;;+CA2BC;;;;;;;QALC,4EAAuF;;;;;;QAIvF,iFAA6F;;;;;QAKlF,kBAAkB,GAAG,IAAIA,mBAAc,CAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"daffodil-category-driver.umd.js","sources":["../../../libs/category/driver/src/interfaces/category-service.interface.ts","../../../libs/category/driver/src/daffodil-category-driver.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * An interface for category service drivers.\n */\nexport interface DaffCategoryServiceInterface<\n\tV extends DaffGenericCategory<V> = DaffCategory,\n\tW extends DaffProduct = DaffProduct\n> {\n /**\n * Fetch a category by its ID.\n */\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse<V, W>>;\n /**\n * Fetch a category by its associated URL.\n */\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse<V, W>>;\n}\n\n//TODO(damienwebdev): This any generic is necessary until we ship Ivy packages, do not change it.\n//See: https://github.com/ng-packagr/ng-packagr/issues/1844\nexport const DaffCategoryDriver = new InjectionToken<any>('DaffCategoryDriver');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken"],"mappings":";;;;;;CA6BA;CACA;KACa,kBAAkB,GAAG,IAAIA,mBAAc,CAAM,oBAAoB;;CC/B9E;;;;;;;;;;;;"}