@faststore/api 2.2.42 → 2.2.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/dist/cjs/package.json +79 -0
  2. package/dist/{__generated__ → cjs/src/__generated__}/schema.d.ts +1045 -1045
  3. package/dist/cjs/src/__generated__/schema.js +7 -0
  4. package/dist/cjs/src/__generated__/schema.js.map +1 -0
  5. package/dist/{directives → cjs/src/directives}/cacheControl.d.ts +9 -9
  6. package/dist/cjs/src/directives/cacheControl.js +45 -0
  7. package/dist/cjs/src/directives/cacheControl.js.map +1 -0
  8. package/dist/{directives → cjs/src/directives}/index.d.ts +5 -5
  9. package/dist/cjs/src/directives/index.js +3 -0
  10. package/dist/cjs/src/directives/index.js.map +1 -0
  11. package/dist/{index.d.ts → cjs/src/index.d.ts} +163 -163
  12. package/dist/cjs/src/index.js +38 -0
  13. package/dist/cjs/src/index.js.map +1 -0
  14. package/dist/{platforms → cjs/src/platforms}/errors.d.ts +19 -19
  15. package/dist/cjs/src/platforms/errors.js +30 -0
  16. package/dist/cjs/src/platforms/errors.js.map +1 -0
  17. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/index.d.ts +75 -75
  18. package/dist/cjs/src/platforms/vtex/clients/commerce/index.js +165 -0
  19. package/dist/cjs/src/platforms/vtex/clients/commerce/index.js.map +1 -0
  20. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Address.d.ts +16 -16
  21. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Address.js +3 -0
  22. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Address.js.map +1 -0
  23. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Brand.d.ts +8 -8
  24. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Brand.js +3 -0
  25. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Brand.js.map +1 -0
  26. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/CategoryTree.d.ts +9 -9
  27. package/dist/cjs/src/platforms/vtex/clients/commerce/types/CategoryTree.js +3 -0
  28. package/dist/cjs/src/platforms/vtex/clients/commerce/types/CategoryTree.js.map +1 -0
  29. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Newsletter.d.ts +4 -4
  30. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Newsletter.js +3 -0
  31. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Newsletter.js.map +1 -0
  32. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/OrderForm.d.ts +371 -371
  33. package/dist/cjs/src/platforms/vtex/clients/commerce/types/OrderForm.js +3 -0
  34. package/dist/cjs/src/platforms/vtex/clients/commerce/types/OrderForm.js.map +1 -0
  35. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Portal.d.ts +17 -17
  36. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Portal.js +3 -0
  37. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Portal.js.map +1 -0
  38. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Product.d.ts +174 -174
  39. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Product.js +53 -0
  40. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Product.js.map +1 -0
  41. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Region.d.ts +19 -19
  42. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Region.js +3 -0
  43. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Region.js.map +1 -0
  44. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/SalesChannel.d.ts +24 -24
  45. package/dist/cjs/src/platforms/vtex/clients/commerce/types/SalesChannel.js +3 -0
  46. package/dist/cjs/src/platforms/vtex/clients/commerce/types/SalesChannel.js.map +1 -0
  47. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Session.d.ts +33 -33
  48. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Session.js +3 -0
  49. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Session.js.map +1 -0
  50. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/ShippingData.d.ts +38 -38
  51. package/dist/cjs/src/platforms/vtex/clients/commerce/types/ShippingData.js +3 -0
  52. package/dist/cjs/src/platforms/vtex/clients/commerce/types/ShippingData.js.map +1 -0
  53. package/dist/{platforms → cjs/src/platforms}/vtex/clients/commerce/types/Simulation.d.ts +154 -154
  54. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Simulation.js +3 -0
  55. package/dist/cjs/src/platforms/vtex/clients/commerce/types/Simulation.js.map +1 -0
  56. package/dist/{platforms → cjs/src/platforms}/vtex/clients/fetch.d.ts +1 -1
  57. package/dist/cjs/src/platforms/vtex/clients/fetch.js +24 -0
  58. package/dist/cjs/src/platforms/vtex/clients/fetch.js.map +1 -0
  59. package/dist/{platforms → cjs/src/platforms}/vtex/clients/index.d.ts +71 -71
  60. package/dist/cjs/src/platforms/vtex/clients/index.js +18 -0
  61. package/dist/cjs/src/platforms/vtex/clients/index.js.map +1 -0
  62. package/dist/{platforms → cjs/src/platforms}/vtex/clients/search/index.d.ts +26 -26
  63. package/dist/cjs/src/platforms/vtex/clients/search/index.js +88 -0
  64. package/dist/cjs/src/platforms/vtex/clients/search/index.js.map +1 -0
  65. package/dist/{platforms → cjs/src/platforms}/vtex/clients/search/types/AttributeSearchResult.d.ts +30 -30
  66. package/dist/cjs/src/platforms/vtex/clients/search/types/AttributeSearchResult.js +3 -0
  67. package/dist/cjs/src/platforms/vtex/clients/search/types/AttributeSearchResult.js.map +1 -0
  68. package/dist/{platforms → cjs/src/platforms}/vtex/clients/search/types/FacetSearchResult.d.ts +31 -31
  69. package/dist/cjs/src/platforms/vtex/clients/search/types/FacetSearchResult.js +3 -0
  70. package/dist/cjs/src/platforms/vtex/clients/search/types/FacetSearchResult.js.map +1 -0
  71. package/dist/{platforms → cjs/src/platforms}/vtex/clients/search/types/ProductSearchResult.d.ts +206 -206
  72. package/dist/cjs/src/platforms/vtex/clients/search/types/ProductSearchResult.js +3 -0
  73. package/dist/cjs/src/platforms/vtex/clients/search/types/ProductSearchResult.js.map +1 -0
  74. package/dist/{platforms → cjs/src/platforms}/vtex/clients/sp/index.d.ts +14 -14
  75. package/dist/cjs/src/platforms/vtex/clients/sp/index.js +49 -0
  76. package/dist/cjs/src/platforms/vtex/clients/sp/index.js.map +1 -0
  77. package/dist/{platforms → cjs/src/platforms}/vtex/index.d.ts +188 -188
  78. package/dist/cjs/src/platforms/vtex/index.js +59 -0
  79. package/dist/cjs/src/platforms/vtex/index.js.map +1 -0
  80. package/dist/{platforms → cjs/src/platforms}/vtex/loaders/collection.d.ts +6 -6
  81. package/dist/cjs/src/platforms/vtex/loaders/collection.js +38 -0
  82. package/dist/cjs/src/platforms/vtex/loaders/collection.js.map +1 -0
  83. package/dist/{platforms → cjs/src/platforms}/vtex/loaders/index.d.ts +8 -8
  84. package/dist/cjs/src/platforms/vtex/loaders/index.js +21 -0
  85. package/dist/cjs/src/platforms/vtex/loaders/index.js.map +1 -0
  86. package/dist/{platforms → cjs/src/platforms}/vtex/loaders/salesChannel.d.ts +5 -5
  87. package/dist/cjs/src/platforms/vtex/loaders/salesChannel.js +11 -0
  88. package/dist/cjs/src/platforms/vtex/loaders/salesChannel.js.map +1 -0
  89. package/dist/{platforms → cjs/src/platforms}/vtex/loaders/simulation.d.ts +5 -5
  90. package/dist/cjs/src/platforms/vtex/loaders/simulation.js +44 -0
  91. package/dist/cjs/src/platforms/vtex/loaders/simulation.js.map +1 -0
  92. package/dist/{platforms → cjs/src/platforms}/vtex/loaders/sku.d.ts +5 -5
  93. package/dist/cjs/src/platforms/vtex/loaders/sku.js +33 -0
  94. package/dist/cjs/src/platforms/vtex/loaders/sku.js.map +1 -0
  95. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/aggregateOffer.d.ts +7 -7
  96. package/dist/cjs/src/platforms/vtex/resolvers/aggregateOffer.js +23 -0
  97. package/dist/cjs/src/platforms/vtex/resolvers/aggregateOffer.js.map +1 -0
  98. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/aggregateRating.d.ts +2 -2
  99. package/dist/cjs/src/platforms/vtex/resolvers/aggregateRating.js +9 -0
  100. package/dist/cjs/src/platforms/vtex/resolvers/aggregateRating.js.map +1 -0
  101. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/collection.d.ts +8 -8
  102. package/dist/cjs/src/platforms/vtex/resolvers/collection.js +81 -0
  103. package/dist/cjs/src/platforms/vtex/resolvers/collection.js.map +1 -0
  104. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/faceValue.d.ts +3 -3
  105. package/dist/cjs/src/platforms/vtex/resolvers/faceValue.js +10 -0
  106. package/dist/cjs/src/platforms/vtex/resolvers/faceValue.js.map +1 -0
  107. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/facet.d.ts +6 -6
  108. package/dist/cjs/src/platforms/vtex/resolvers/facet.js +50 -0
  109. package/dist/cjs/src/platforms/vtex/resolvers/facet.js.map +1 -0
  110. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/mutation.d.ts +59 -59
  111. package/dist/cjs/src/platforms/vtex/resolvers/mutation.js +12 -0
  112. package/dist/cjs/src/platforms/vtex/resolvers/mutation.js.map +1 -0
  113. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/objectOrString.d.ts +2 -2
  114. package/dist/cjs/src/platforms/vtex/resolvers/objectOrString.js +41 -0
  115. package/dist/cjs/src/platforms/vtex/resolvers/objectOrString.js.map +1 -0
  116. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/offer.d.ts +12 -12
  117. package/dist/cjs/src/platforms/vtex/resolvers/offer.js +94 -0
  118. package/dist/cjs/src/platforms/vtex/resolvers/offer.js.map +1 -0
  119. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/organization.d.ts +5 -5
  120. package/dist/cjs/src/platforms/vtex/resolvers/organization.js +7 -0
  121. package/dist/cjs/src/platforms/vtex/resolvers/organization.js.map +1 -0
  122. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/product.d.ts +14 -14
  123. package/dist/cjs/src/platforms/vtex/resolvers/product.js +78 -0
  124. package/dist/cjs/src/platforms/vtex/resolvers/product.js.map +1 -0
  125. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/productGroup.d.ts +5 -5
  126. package/dist/cjs/src/platforms/vtex/resolvers/productGroup.js +22 -0
  127. package/dist/cjs/src/platforms/vtex/resolvers/productGroup.js.map +1 -0
  128. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/propertyValue.d.ts +4 -4
  129. package/dist/cjs/src/platforms/vtex/resolvers/propertyValue.js +11 -0
  130. package/dist/cjs/src/platforms/vtex/resolvers/propertyValue.js.map +1 -0
  131. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/query.d.ts +72 -72
  132. package/dist/cjs/src/platforms/vtex/resolvers/query.js +223 -0
  133. package/dist/cjs/src/platforms/vtex/resolvers/query.js.map +1 -0
  134. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/review.d.ts +2 -2
  135. package/dist/cjs/src/platforms/vtex/resolvers/review.js +13 -0
  136. package/dist/cjs/src/platforms/vtex/resolvers/review.js.map +1 -0
  137. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/root.d.ts +12 -12
  138. package/dist/cjs/src/platforms/vtex/resolvers/root.js +3 -0
  139. package/dist/cjs/src/platforms/vtex/resolvers/root.js.map +1 -0
  140. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/searchResult.d.ts +8 -8
  141. package/dist/cjs/src/platforms/vtex/resolvers/searchResult.js +97 -0
  142. package/dist/cjs/src/platforms/vtex/resolvers/searchResult.js.map +1 -0
  143. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/seo.d.ts +7 -7
  144. package/dist/cjs/src/platforms/vtex/resolvers/seo.js +10 -0
  145. package/dist/cjs/src/platforms/vtex/resolvers/seo.js.map +1 -0
  146. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/shippingSLA.d.ts +13 -13
  147. package/dist/cjs/src/platforms/vtex/resolvers/shippingSLA.js +48 -0
  148. package/dist/cjs/src/platforms/vtex/resolvers/shippingSLA.js.map +1 -0
  149. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/skuVariations.d.ts +5 -5
  150. package/dist/cjs/src/platforms/vtex/resolvers/skuVariations.js +17 -0
  151. package/dist/cjs/src/platforms/vtex/resolvers/skuVariations.js.map +1 -0
  152. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/subscribeToNewsletter.d.ts +3 -3
  153. package/dist/cjs/src/platforms/vtex/resolvers/subscribeToNewsletter.js +9 -0
  154. package/dist/cjs/src/platforms/vtex/resolvers/subscribeToNewsletter.js.map +1 -0
  155. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/validateCart.d.ts +70 -70
  156. package/dist/cjs/src/platforms/vtex/resolvers/validateCart.js +282 -0
  157. package/dist/cjs/src/platforms/vtex/resolvers/validateCart.js.map +1 -0
  158. package/dist/{platforms → cjs/src/platforms}/vtex/resolvers/validateSession.d.ts +3 -3
  159. package/dist/cjs/src/platforms/vtex/resolvers/validateSession.js +58 -0
  160. package/dist/cjs/src/platforms/vtex/resolvers/validateSession.js.map +1 -0
  161. package/dist/{platforms → cjs/src/platforms}/vtex/utils/canonical.d.ts +2 -2
  162. package/dist/cjs/src/platforms/vtex/utils/canonical.js +6 -0
  163. package/dist/cjs/src/platforms/vtex/utils/canonical.js.map +1 -0
  164. package/dist/{platforms → cjs/src/platforms}/vtex/utils/channel.d.ts +9 -9
  165. package/dist/cjs/src/platforms/vtex/utils/channel.js +23 -0
  166. package/dist/cjs/src/platforms/vtex/utils/channel.js.map +1 -0
  167. package/dist/{platforms → cjs/src/platforms}/vtex/utils/contex.d.ts +3 -3
  168. package/dist/cjs/src/platforms/vtex/utils/contex.js +14 -0
  169. package/dist/cjs/src/platforms/vtex/utils/contex.js.map +1 -0
  170. package/dist/{platforms → cjs/src/platforms}/vtex/utils/createNewAddress.d.ts +3 -3
  171. package/dist/cjs/src/platforms/vtex/utils/createNewAddress.js +34 -0
  172. package/dist/cjs/src/platforms/vtex/utils/createNewAddress.js.map +1 -0
  173. package/dist/{platforms → cjs/src/platforms}/vtex/utils/enhanceCommercialOffer.d.ts +10 -10
  174. package/dist/cjs/src/platforms/vtex/utils/enhanceCommercialOffer.js +10 -0
  175. package/dist/cjs/src/platforms/vtex/utils/enhanceCommercialOffer.js.map +1 -0
  176. package/dist/{platforms → cjs/src/platforms}/vtex/utils/enhanceSku.d.ts +5 -5
  177. package/dist/cjs/src/platforms/vtex/utils/enhanceSku.js +18 -0
  178. package/dist/cjs/src/platforms/vtex/utils/enhanceSku.js.map +1 -0
  179. package/dist/{platforms → cjs/src/platforms}/vtex/utils/facets.d.ts +32 -31
  180. package/dist/cjs/src/platforms/vtex/utils/facets.js +65 -0
  181. package/dist/cjs/src/platforms/vtex/utils/facets.js.map +1 -0
  182. package/dist/{platforms → cjs/src/platforms}/vtex/utils/getAddressOrderForm.d.ts +3 -3
  183. package/dist/cjs/src/platforms/vtex/utils/getAddressOrderForm.js +42 -0
  184. package/dist/cjs/src/platforms/vtex/utils/getAddressOrderForm.js.map +1 -0
  185. package/dist/{platforms → cjs/src/platforms}/vtex/utils/md5.d.ts +1 -1
  186. package/dist/cjs/src/platforms/vtex/utils/md5.js +8 -0
  187. package/dist/cjs/src/platforms/vtex/utils/md5.js.map +1 -0
  188. package/dist/{platforms → cjs/src/platforms}/vtex/utils/orderStatistics.d.ts +4 -4
  189. package/dist/cjs/src/platforms/vtex/utils/orderStatistics.js +18 -0
  190. package/dist/cjs/src/platforms/vtex/utils/orderStatistics.js.map +1 -0
  191. package/dist/{platforms → cjs/src/platforms}/vtex/utils/productStock.d.ts +7 -7
  192. package/dist/cjs/src/platforms/vtex/utils/productStock.js +25 -0
  193. package/dist/cjs/src/platforms/vtex/utils/productStock.js.map +1 -0
  194. package/dist/{platforms → cjs/src/platforms}/vtex/utils/propertyValue.d.ts +12 -12
  195. package/dist/cjs/src/platforms/vtex/utils/propertyValue.js +21 -0
  196. package/dist/cjs/src/platforms/vtex/utils/propertyValue.js.map +1 -0
  197. package/dist/{platforms → cjs/src/platforms}/vtex/utils/sanitizeHtml.d.ts +17 -17
  198. package/dist/cjs/src/platforms/vtex/utils/sanitizeHtml.js +23 -0
  199. package/dist/cjs/src/platforms/vtex/utils/sanitizeHtml.js.map +1 -0
  200. package/dist/{platforms → cjs/src/platforms}/vtex/utils/shouldUpdateShippingData.d.ts +6 -6
  201. package/dist/cjs/src/platforms/vtex/utils/shouldUpdateShippingData.js +72 -0
  202. package/dist/cjs/src/platforms/vtex/utils/shouldUpdateShippingData.js.map +1 -0
  203. package/dist/{platforms → cjs/src/platforms}/vtex/utils/sku.d.ts +8 -8
  204. package/dist/cjs/src/platforms/vtex/utils/sku.js +22 -0
  205. package/dist/cjs/src/platforms/vtex/utils/sku.js.map +1 -0
  206. package/dist/{platforms → cjs/src/platforms}/vtex/utils/skuVariants.d.ts +15 -15
  207. package/dist/cjs/src/platforms/vtex/utils/skuVariants.js +139 -0
  208. package/dist/cjs/src/platforms/vtex/utils/skuVariants.js.map +1 -0
  209. package/dist/{platforms → cjs/src/platforms}/vtex/utils/slugify.d.ts +1 -1
  210. package/dist/cjs/src/platforms/vtex/utils/slugify.js +43 -0
  211. package/dist/cjs/src/platforms/vtex/utils/slugify.js.map +1 -0
  212. package/dist/{platforms → cjs/src/platforms}/vtex/utils/sort.d.ts +10 -10
  213. package/dist/cjs/src/platforms/vtex/utils/sort.js +14 -0
  214. package/dist/cjs/src/platforms/vtex/utils/sort.js.map +1 -0
  215. package/dist/{telemetry → cjs/src/telemetry}/index.d.ts +8 -8
  216. package/dist/cjs/src/telemetry/index.js +77 -0
  217. package/dist/cjs/src/telemetry/index.js.map +1 -0
  218. package/dist/{telemetry → cjs/src/telemetry}/useFaststoreTelemetry.d.ts +24 -24
  219. package/dist/cjs/src/telemetry/useFaststoreTelemetry.js +174 -0
  220. package/dist/cjs/src/telemetry/useFaststoreTelemetry.js.map +1 -0
  221. package/dist/cjs/src/typeDefs/address.graphql +45 -0
  222. package/dist/cjs/src/typeDefs/aggregateOffer.graphql +25 -0
  223. package/dist/cjs/src/typeDefs/aggregateRating.graphql +13 -0
  224. package/dist/cjs/src/typeDefs/author.graphql +9 -0
  225. package/dist/cjs/src/typeDefs/brand.graphql +9 -0
  226. package/dist/cjs/src/typeDefs/breadcrumb.graphql +31 -0
  227. package/dist/cjs/src/typeDefs/cart.graphql +37 -0
  228. package/dist/cjs/src/typeDefs/collection.graphql +83 -0
  229. package/dist/cjs/src/typeDefs/facet.graphql +77 -0
  230. package/dist/cjs/src/typeDefs/image.graphql +27 -0
  231. package/dist/{typeDefs → cjs/src/typeDefs}/index.d.ts +1 -1
  232. package/dist/cjs/src/typeDefs/index.js +10 -0
  233. package/dist/cjs/src/typeDefs/index.js.map +1 -0
  234. package/dist/cjs/src/typeDefs/mutation.graphql +14 -0
  235. package/dist/cjs/src/typeDefs/newsletter.graphql +24 -0
  236. package/dist/cjs/src/typeDefs/objectOrString.graphql +1 -0
  237. package/dist/cjs/src/typeDefs/offer.graphql +71 -0
  238. package/dist/cjs/src/typeDefs/order.graphql +31 -0
  239. package/dist/cjs/src/typeDefs/organization.graphql +19 -0
  240. package/dist/cjs/src/typeDefs/pageInfo.graphql +25 -0
  241. package/dist/cjs/src/typeDefs/person.graphql +43 -0
  242. package/dist/cjs/src/typeDefs/product.graphql +91 -0
  243. package/dist/cjs/src/typeDefs/productGroup.graphql +27 -0
  244. package/dist/cjs/src/typeDefs/propertyValue.graphql +40 -0
  245. package/dist/cjs/src/typeDefs/query.graphql +377 -0
  246. package/dist/cjs/src/typeDefs/review.graphql +27 -0
  247. package/dist/cjs/src/typeDefs/seo.graphql +21 -0
  248. package/dist/cjs/src/typeDefs/session.graphql +194 -0
  249. package/dist/cjs/src/typeDefs/shipping.graphql +331 -0
  250. package/dist/cjs/src/typeDefs/skuVariants.graphql +90 -0
  251. package/dist/cjs/src/typeDefs/status.graphql +8 -0
  252. package/dist/cjs/src/typings/index.d.ts +3 -0
  253. package/dist/cjs/src/typings/index.js +3 -0
  254. package/dist/cjs/src/typings/index.js.map +1 -0
  255. package/dist/esm/package.json +79 -0
  256. package/dist/esm/src/__generated__/schema.d.ts +1045 -0
  257. package/dist/esm/src/__generated__/schema.js +6 -0
  258. package/dist/esm/src/__generated__/schema.js.map +1 -0
  259. package/dist/esm/src/directives/cacheControl.d.ts +9 -0
  260. package/dist/esm/src/directives/cacheControl.js +41 -0
  261. package/dist/esm/src/directives/cacheControl.js.map +1 -0
  262. package/dist/esm/src/directives/index.d.ts +5 -0
  263. package/dist/esm/src/directives/index.js +2 -0
  264. package/dist/esm/src/directives/index.js.map +1 -0
  265. package/dist/esm/src/index.d.ts +163 -0
  266. package/dist/esm/src/index.js +29 -0
  267. package/dist/esm/src/index.js.map +1 -0
  268. package/dist/esm/src/platforms/errors.d.ts +19 -0
  269. package/dist/esm/src/platforms/errors.js +22 -0
  270. package/dist/esm/src/platforms/errors.js.map +1 -0
  271. package/dist/esm/src/platforms/vtex/clients/commerce/index.d.ts +75 -0
  272. package/dist/esm/src/platforms/vtex/clients/commerce/index.js +161 -0
  273. package/dist/esm/src/platforms/vtex/clients/commerce/index.js.map +1 -0
  274. package/dist/esm/src/platforms/vtex/clients/commerce/types/Address.d.ts +16 -0
  275. package/dist/esm/src/platforms/vtex/clients/commerce/types/Address.js +2 -0
  276. package/dist/esm/src/platforms/vtex/clients/commerce/types/Address.js.map +1 -0
  277. package/dist/esm/src/platforms/vtex/clients/commerce/types/Brand.d.ts +8 -0
  278. package/dist/esm/src/platforms/vtex/clients/commerce/types/Brand.js +2 -0
  279. package/dist/esm/src/platforms/vtex/clients/commerce/types/Brand.js.map +1 -0
  280. package/dist/esm/src/platforms/vtex/clients/commerce/types/CategoryTree.d.ts +9 -0
  281. package/dist/esm/src/platforms/vtex/clients/commerce/types/CategoryTree.js +2 -0
  282. package/dist/esm/src/platforms/vtex/clients/commerce/types/CategoryTree.js.map +1 -0
  283. package/dist/esm/src/platforms/vtex/clients/commerce/types/Newsletter.d.ts +4 -0
  284. package/dist/esm/src/platforms/vtex/clients/commerce/types/Newsletter.js +2 -0
  285. package/dist/esm/src/platforms/vtex/clients/commerce/types/Newsletter.js.map +1 -0
  286. package/dist/esm/src/platforms/vtex/clients/commerce/types/OrderForm.d.ts +371 -0
  287. package/dist/esm/src/platforms/vtex/clients/commerce/types/OrderForm.js +2 -0
  288. package/dist/esm/src/platforms/vtex/clients/commerce/types/OrderForm.js.map +1 -0
  289. package/dist/esm/src/platforms/vtex/clients/commerce/types/Portal.d.ts +17 -0
  290. package/dist/esm/src/platforms/vtex/clients/commerce/types/Portal.js +2 -0
  291. package/dist/esm/src/platforms/vtex/clients/commerce/types/Portal.js.map +1 -0
  292. package/dist/esm/src/platforms/vtex/clients/commerce/types/Product.d.ts +174 -0
  293. package/dist/esm/src/platforms/vtex/clients/commerce/types/Product.js +52 -0
  294. package/dist/esm/src/platforms/vtex/clients/commerce/types/Product.js.map +1 -0
  295. package/dist/esm/src/platforms/vtex/clients/commerce/types/Region.d.ts +19 -0
  296. package/dist/esm/src/platforms/vtex/clients/commerce/types/Region.js +2 -0
  297. package/dist/esm/src/platforms/vtex/clients/commerce/types/Region.js.map +1 -0
  298. package/dist/esm/src/platforms/vtex/clients/commerce/types/SalesChannel.d.ts +24 -0
  299. package/dist/esm/src/platforms/vtex/clients/commerce/types/SalesChannel.js +2 -0
  300. package/dist/esm/src/platforms/vtex/clients/commerce/types/SalesChannel.js.map +1 -0
  301. package/dist/esm/src/platforms/vtex/clients/commerce/types/Session.d.ts +33 -0
  302. package/dist/esm/src/platforms/vtex/clients/commerce/types/Session.js +2 -0
  303. package/dist/esm/src/platforms/vtex/clients/commerce/types/Session.js.map +1 -0
  304. package/dist/esm/src/platforms/vtex/clients/commerce/types/ShippingData.d.ts +38 -0
  305. package/dist/esm/src/platforms/vtex/clients/commerce/types/ShippingData.js +2 -0
  306. package/dist/esm/src/platforms/vtex/clients/commerce/types/ShippingData.js.map +1 -0
  307. package/dist/esm/src/platforms/vtex/clients/commerce/types/Simulation.d.ts +154 -0
  308. package/dist/esm/src/platforms/vtex/clients/commerce/types/Simulation.js +2 -0
  309. package/dist/esm/src/platforms/vtex/clients/commerce/types/Simulation.js.map +1 -0
  310. package/dist/esm/src/platforms/vtex/clients/fetch.d.ts +1 -0
  311. package/dist/esm/src/platforms/vtex/clients/fetch.js +19 -0
  312. package/dist/esm/src/platforms/vtex/clients/fetch.js.map +1 -0
  313. package/dist/esm/src/platforms/vtex/clients/index.d.ts +71 -0
  314. package/dist/esm/src/platforms/vtex/clients/index.js +14 -0
  315. package/dist/esm/src/platforms/vtex/clients/index.js.map +1 -0
  316. package/dist/esm/src/platforms/vtex/clients/search/index.d.ts +26 -0
  317. package/dist/esm/src/platforms/vtex/clients/search/index.js +83 -0
  318. package/dist/esm/src/platforms/vtex/clients/search/index.js.map +1 -0
  319. package/dist/esm/src/platforms/vtex/clients/search/types/AttributeSearchResult.d.ts +30 -0
  320. package/dist/esm/src/platforms/vtex/clients/search/types/AttributeSearchResult.js +2 -0
  321. package/dist/esm/src/platforms/vtex/clients/search/types/AttributeSearchResult.js.map +1 -0
  322. package/dist/esm/src/platforms/vtex/clients/search/types/FacetSearchResult.d.ts +31 -0
  323. package/dist/esm/src/platforms/vtex/clients/search/types/FacetSearchResult.js +2 -0
  324. package/dist/esm/src/platforms/vtex/clients/search/types/FacetSearchResult.js.map +1 -0
  325. package/dist/esm/src/platforms/vtex/clients/search/types/ProductSearchResult.d.ts +206 -0
  326. package/dist/esm/src/platforms/vtex/clients/search/types/ProductSearchResult.js +2 -0
  327. package/dist/esm/src/platforms/vtex/clients/search/types/ProductSearchResult.js.map +1 -0
  328. package/dist/esm/src/platforms/vtex/clients/sp/index.d.ts +14 -0
  329. package/dist/esm/src/platforms/vtex/clients/sp/index.js +45 -0
  330. package/dist/esm/src/platforms/vtex/clients/sp/index.js.map +1 -0
  331. package/dist/esm/src/platforms/vtex/index.d.ts +188 -0
  332. package/dist/esm/src/platforms/vtex/index.js +53 -0
  333. package/dist/esm/src/platforms/vtex/index.js.map +1 -0
  334. package/dist/esm/src/platforms/vtex/loaders/collection.d.ts +6 -0
  335. package/dist/esm/src/platforms/vtex/loaders/collection.js +32 -0
  336. package/dist/esm/src/platforms/vtex/loaders/collection.js.map +1 -0
  337. package/dist/esm/src/platforms/vtex/loaders/index.d.ts +8 -0
  338. package/dist/esm/src/platforms/vtex/loaders/index.js +17 -0
  339. package/dist/esm/src/platforms/vtex/loaders/index.js.map +1 -0
  340. package/dist/esm/src/platforms/vtex/loaders/salesChannel.d.ts +5 -0
  341. package/dist/esm/src/platforms/vtex/loaders/salesChannel.js +6 -0
  342. package/dist/esm/src/platforms/vtex/loaders/salesChannel.js.map +1 -0
  343. package/dist/esm/src/platforms/vtex/loaders/simulation.d.ts +5 -0
  344. package/dist/esm/src/platforms/vtex/loaders/simulation.js +39 -0
  345. package/dist/esm/src/platforms/vtex/loaders/simulation.js.map +1 -0
  346. package/dist/esm/src/platforms/vtex/loaders/sku.d.ts +5 -0
  347. package/dist/esm/src/platforms/vtex/loaders/sku.js +28 -0
  348. package/dist/esm/src/platforms/vtex/loaders/sku.js.map +1 -0
  349. package/dist/esm/src/platforms/vtex/resolvers/aggregateOffer.d.ts +7 -0
  350. package/dist/esm/src/platforms/vtex/resolvers/aggregateOffer.js +20 -0
  351. package/dist/esm/src/platforms/vtex/resolvers/aggregateOffer.js.map +1 -0
  352. package/dist/esm/src/platforms/vtex/resolvers/aggregateRating.d.ts +2 -0
  353. package/dist/esm/src/platforms/vtex/resolvers/aggregateRating.js +6 -0
  354. package/dist/esm/src/platforms/vtex/resolvers/aggregateRating.js.map +1 -0
  355. package/dist/esm/src/platforms/vtex/resolvers/collection.d.ts +8 -0
  356. package/dist/esm/src/platforms/vtex/resolvers/collection.js +78 -0
  357. package/dist/esm/src/platforms/vtex/resolvers/collection.js.map +1 -0
  358. package/dist/esm/src/platforms/vtex/resolvers/faceValue.d.ts +3 -0
  359. package/dist/esm/src/platforms/vtex/resolvers/faceValue.js +7 -0
  360. package/dist/esm/src/platforms/vtex/resolvers/faceValue.js.map +1 -0
  361. package/dist/esm/src/platforms/vtex/resolvers/facet.d.ts +6 -0
  362. package/dist/esm/src/platforms/vtex/resolvers/facet.js +47 -0
  363. package/dist/esm/src/platforms/vtex/resolvers/facet.js.map +1 -0
  364. package/dist/esm/src/platforms/vtex/resolvers/mutation.d.ts +59 -0
  365. package/dist/esm/src/platforms/vtex/resolvers/mutation.js +9 -0
  366. package/dist/esm/src/platforms/vtex/resolvers/mutation.js.map +1 -0
  367. package/dist/esm/src/platforms/vtex/resolvers/objectOrString.d.ts +2 -0
  368. package/dist/esm/src/platforms/vtex/resolvers/objectOrString.js +38 -0
  369. package/dist/esm/src/platforms/vtex/resolvers/objectOrString.js.map +1 -0
  370. package/dist/esm/src/platforms/vtex/resolvers/offer.d.ts +12 -0
  371. package/dist/esm/src/platforms/vtex/resolvers/offer.js +91 -0
  372. package/dist/esm/src/platforms/vtex/resolvers/offer.js.map +1 -0
  373. package/dist/esm/src/platforms/vtex/resolvers/organization.d.ts +5 -0
  374. package/dist/esm/src/platforms/vtex/resolvers/organization.js +4 -0
  375. package/dist/esm/src/platforms/vtex/resolvers/organization.js.map +1 -0
  376. package/dist/esm/src/platforms/vtex/resolvers/product.d.ts +14 -0
  377. package/dist/esm/src/platforms/vtex/resolvers/product.js +75 -0
  378. package/dist/esm/src/platforms/vtex/resolvers/product.js.map +1 -0
  379. package/dist/esm/src/platforms/vtex/resolvers/productGroup.d.ts +5 -0
  380. package/dist/esm/src/platforms/vtex/resolvers/productGroup.js +19 -0
  381. package/dist/esm/src/platforms/vtex/resolvers/productGroup.js.map +1 -0
  382. package/dist/esm/src/platforms/vtex/resolvers/propertyValue.d.ts +4 -0
  383. package/dist/esm/src/platforms/vtex/resolvers/propertyValue.js +8 -0
  384. package/dist/esm/src/platforms/vtex/resolvers/propertyValue.js.map +1 -0
  385. package/dist/esm/src/platforms/vtex/resolvers/query.d.ts +72 -0
  386. package/dist/esm/src/platforms/vtex/resolvers/query.js +220 -0
  387. package/dist/esm/src/platforms/vtex/resolvers/query.js.map +1 -0
  388. package/dist/esm/src/platforms/vtex/resolvers/review.d.ts +2 -0
  389. package/dist/esm/src/platforms/vtex/resolvers/review.js +10 -0
  390. package/dist/esm/src/platforms/vtex/resolvers/review.js.map +1 -0
  391. package/dist/esm/src/platforms/vtex/resolvers/root.d.ts +12 -0
  392. package/dist/esm/src/platforms/vtex/resolvers/root.js +2 -0
  393. package/dist/esm/src/platforms/vtex/resolvers/root.js.map +1 -0
  394. package/dist/esm/src/platforms/vtex/resolvers/searchResult.d.ts +8 -0
  395. package/dist/esm/src/platforms/vtex/resolvers/searchResult.js +94 -0
  396. package/dist/esm/src/platforms/vtex/resolvers/searchResult.js.map +1 -0
  397. package/dist/esm/src/platforms/vtex/resolvers/seo.d.ts +7 -0
  398. package/dist/esm/src/platforms/vtex/resolvers/seo.js +7 -0
  399. package/dist/esm/src/platforms/vtex/resolvers/seo.js.map +1 -0
  400. package/dist/esm/src/platforms/vtex/resolvers/shippingSLA.d.ts +13 -0
  401. package/dist/esm/src/platforms/vtex/resolvers/shippingSLA.js +44 -0
  402. package/dist/esm/src/platforms/vtex/resolvers/shippingSLA.js.map +1 -0
  403. package/dist/esm/src/platforms/vtex/resolvers/skuVariations.d.ts +5 -0
  404. package/dist/esm/src/platforms/vtex/resolvers/skuVariations.js +14 -0
  405. package/dist/esm/src/platforms/vtex/resolvers/skuVariations.js.map +1 -0
  406. package/dist/esm/src/platforms/vtex/resolvers/subscribeToNewsletter.d.ts +3 -0
  407. package/dist/esm/src/platforms/vtex/resolvers/subscribeToNewsletter.js +5 -0
  408. package/dist/esm/src/platforms/vtex/resolvers/subscribeToNewsletter.js.map +1 -0
  409. package/dist/esm/src/platforms/vtex/resolvers/validateCart.d.ts +70 -0
  410. package/dist/esm/src/platforms/vtex/resolvers/validateCart.js +277 -0
  411. package/dist/esm/src/platforms/vtex/resolvers/validateCart.js.map +1 -0
  412. package/dist/esm/src/platforms/vtex/resolvers/validateSession.d.ts +3 -0
  413. package/dist/esm/src/platforms/vtex/resolvers/validateSession.js +53 -0
  414. package/dist/esm/src/platforms/vtex/resolvers/validateSession.js.map +1 -0
  415. package/dist/esm/src/platforms/vtex/utils/canonical.d.ts +2 -0
  416. package/dist/esm/src/platforms/vtex/utils/canonical.js +2 -0
  417. package/dist/esm/src/platforms/vtex/utils/canonical.js.map +1 -0
  418. package/dist/esm/src/platforms/vtex/utils/channel.d.ts +9 -0
  419. package/dist/esm/src/platforms/vtex/utils/channel.js +20 -0
  420. package/dist/esm/src/platforms/vtex/utils/channel.js.map +1 -0
  421. package/dist/esm/src/platforms/vtex/utils/contex.d.ts +3 -0
  422. package/dist/esm/src/platforms/vtex/utils/contex.js +8 -0
  423. package/dist/esm/src/platforms/vtex/utils/contex.js.map +1 -0
  424. package/dist/esm/src/platforms/vtex/utils/createNewAddress.d.ts +3 -0
  425. package/dist/esm/src/platforms/vtex/utils/createNewAddress.js +30 -0
  426. package/dist/esm/src/platforms/vtex/utils/createNewAddress.js.map +1 -0
  427. package/dist/esm/src/platforms/vtex/utils/enhanceCommercialOffer.d.ts +10 -0
  428. package/dist/esm/src/platforms/vtex/utils/enhanceCommercialOffer.js +6 -0
  429. package/dist/esm/src/platforms/vtex/utils/enhanceCommercialOffer.js.map +1 -0
  430. package/dist/esm/src/platforms/vtex/utils/enhanceSku.d.ts +5 -0
  431. package/dist/esm/src/platforms/vtex/utils/enhanceSku.js +14 -0
  432. package/dist/esm/src/platforms/vtex/utils/enhanceSku.js.map +1 -0
  433. package/dist/esm/src/platforms/vtex/utils/facets.d.ts +32 -0
  434. package/dist/esm/src/platforms/vtex/utils/facets.js +54 -0
  435. package/dist/esm/src/platforms/vtex/utils/facets.js.map +1 -0
  436. package/dist/esm/src/platforms/vtex/utils/getAddressOrderForm.d.ts +3 -0
  437. package/dist/esm/src/platforms/vtex/utils/getAddressOrderForm.js +38 -0
  438. package/dist/esm/src/platforms/vtex/utils/getAddressOrderForm.js.map +1 -0
  439. package/dist/esm/src/platforms/vtex/utils/md5.d.ts +1 -0
  440. package/dist/esm/src/platforms/vtex/utils/md5.js +3 -0
  441. package/dist/esm/src/platforms/vtex/utils/md5.js.map +1 -0
  442. package/dist/esm/src/platforms/vtex/utils/orderStatistics.d.ts +4 -0
  443. package/dist/esm/src/platforms/vtex/utils/orderStatistics.js +14 -0
  444. package/dist/esm/src/platforms/vtex/utils/orderStatistics.js.map +1 -0
  445. package/dist/esm/src/platforms/vtex/utils/productStock.d.ts +7 -0
  446. package/dist/esm/src/platforms/vtex/utils/productStock.js +16 -0
  447. package/dist/esm/src/platforms/vtex/utils/productStock.js.map +1 -0
  448. package/dist/esm/src/platforms/vtex/utils/propertyValue.d.ts +12 -0
  449. package/dist/esm/src/platforms/vtex/utils/propertyValue.js +16 -0
  450. package/dist/esm/src/platforms/vtex/utils/propertyValue.js.map +1 -0
  451. package/dist/esm/src/platforms/vtex/utils/sanitizeHtml.d.ts +17 -0
  452. package/dist/esm/src/platforms/vtex/utils/sanitizeHtml.js +18 -0
  453. package/dist/esm/src/platforms/vtex/utils/sanitizeHtml.js.map +1 -0
  454. package/dist/esm/src/platforms/vtex/utils/shouldUpdateShippingData.d.ts +6 -0
  455. package/dist/esm/src/platforms/vtex/utils/shouldUpdateShippingData.js +68 -0
  456. package/dist/esm/src/platforms/vtex/utils/shouldUpdateShippingData.js.map +1 -0
  457. package/dist/esm/src/platforms/vtex/utils/sku.d.ts +8 -0
  458. package/dist/esm/src/platforms/vtex/utils/sku.js +17 -0
  459. package/dist/esm/src/platforms/vtex/utils/sku.js.map +1 -0
  460. package/dist/esm/src/platforms/vtex/utils/skuVariants.d.ts +15 -0
  461. package/dist/esm/src/platforms/vtex/utils/skuVariants.js +132 -0
  462. package/dist/esm/src/platforms/vtex/utils/skuVariants.js.map +1 -0
  463. package/dist/esm/src/platforms/vtex/utils/slugify.d.ts +1 -0
  464. package/dist/esm/src/platforms/vtex/utils/slugify.js +39 -0
  465. package/dist/esm/src/platforms/vtex/utils/slugify.js.map +1 -0
  466. package/dist/esm/src/platforms/vtex/utils/sort.d.ts +10 -0
  467. package/dist/esm/src/platforms/vtex/utils/sort.js +11 -0
  468. package/dist/esm/src/platforms/vtex/utils/sort.js.map +1 -0
  469. package/dist/esm/src/telemetry/index.d.ts +8 -0
  470. package/dist/esm/src/telemetry/index.js +72 -0
  471. package/dist/esm/src/telemetry/index.js.map +1 -0
  472. package/dist/esm/src/telemetry/useFaststoreTelemetry.d.ts +24 -0
  473. package/dist/esm/src/telemetry/useFaststoreTelemetry.js +170 -0
  474. package/dist/esm/src/telemetry/useFaststoreTelemetry.js.map +1 -0
  475. package/dist/esm/src/typeDefs/address.graphql +45 -0
  476. package/dist/esm/src/typeDefs/aggregateOffer.graphql +25 -0
  477. package/dist/esm/src/typeDefs/aggregateRating.graphql +13 -0
  478. package/dist/esm/src/typeDefs/author.graphql +9 -0
  479. package/dist/esm/src/typeDefs/brand.graphql +9 -0
  480. package/dist/esm/src/typeDefs/breadcrumb.graphql +31 -0
  481. package/dist/esm/src/typeDefs/cart.graphql +37 -0
  482. package/dist/esm/src/typeDefs/collection.graphql +83 -0
  483. package/dist/esm/src/typeDefs/facet.graphql +77 -0
  484. package/dist/esm/src/typeDefs/image.graphql +27 -0
  485. package/dist/esm/src/typeDefs/index.d.ts +1 -0
  486. package/dist/esm/src/typeDefs/index.js +7 -0
  487. package/dist/esm/src/typeDefs/index.js.map +1 -0
  488. package/dist/esm/src/typeDefs/mutation.graphql +14 -0
  489. package/dist/esm/src/typeDefs/newsletter.graphql +24 -0
  490. package/dist/esm/src/typeDefs/objectOrString.graphql +1 -0
  491. package/dist/esm/src/typeDefs/offer.graphql +71 -0
  492. package/dist/esm/src/typeDefs/order.graphql +31 -0
  493. package/dist/esm/src/typeDefs/organization.graphql +19 -0
  494. package/dist/esm/src/typeDefs/pageInfo.graphql +25 -0
  495. package/dist/esm/src/typeDefs/person.graphql +43 -0
  496. package/dist/esm/src/typeDefs/product.graphql +91 -0
  497. package/dist/esm/src/typeDefs/productGroup.graphql +27 -0
  498. package/dist/esm/src/typeDefs/propertyValue.graphql +40 -0
  499. package/dist/esm/src/typeDefs/query.graphql +377 -0
  500. package/dist/esm/src/typeDefs/review.graphql +27 -0
  501. package/dist/esm/src/typeDefs/seo.graphql +21 -0
  502. package/dist/esm/src/typeDefs/session.graphql +194 -0
  503. package/dist/esm/src/typeDefs/shipping.graphql +331 -0
  504. package/dist/esm/src/typeDefs/skuVariants.graphql +90 -0
  505. package/dist/esm/src/typeDefs/status.graphql +8 -0
  506. package/dist/esm/src/typings/index.d.ts +3 -0
  507. package/dist/esm/src/typings/index.js +2 -0
  508. package/dist/esm/src/typings/index.js.map +1 -0
  509. package/package.json +34 -17
  510. package/src/index.ts +1 -1
  511. package/src/typeDefs/index.ts +3 -58
  512. package/dist/api.cjs.development.js +0 -2946
  513. package/dist/api.cjs.development.js.map +0 -1
  514. package/dist/api.cjs.production.min.js +0 -2
  515. package/dist/api.cjs.production.min.js.map +0 -1
  516. package/dist/api.esm.js +0 -2932
  517. package/dist/api.esm.js.map +0 -1
  518. package/dist/index.js +0 -8
  519. package/dist/typings/index.d.ts +0 -3
@@ -0,0 +1,39 @@
1
+ /**
2
+ * VTEX catalog slugify function
3
+ *
4
+ * Copied from:
5
+ * https://github.com/vtex/rewriter/blob/1ce2010783e0586cab42534ce2fb7a983d8a3a84/node/clients/catalog.ts#L72
6
+ *
7
+ * Sometimes, we need to slugify strings for creating urls. An example is the
8
+ * brand urls, where we create them from the brand's name.
9
+ * This slugify function should match exactly what VTEX catalog generates. Any mismatch
10
+ * will lead to broken links.
11
+ * Hopefully, we had this function implemented on VTEX IO and we've been using it for
12
+ * years now. However, looking at the code, I think we can save lots of computing. I'm
13
+ * in a hurry for doing these tests now, so I'll leave a small TODO.
14
+ *
15
+ * TODO: Research for better ways of computing this slugify function. Things I'd try are:
16
+ * - Join those 3 regexs for special characters into a single one.
17
+ * - Replace the regexp of `removeDiacritics` function with a Map. We can make the complexity
18
+ * of this function be O(n) with n=string.length
19
+ *
20
+ */
21
+ const from = 'ÁÄÂÀÃÅČÇĆĎÉĚËÈÊẼĔȆÍÌÎÏŇÑÓÖÒÔÕØŘŔŠŤÚŮÜÙÛÝŸŽáäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđ߯a';
22
+ const to = 'AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa';
23
+ const removeDiacritics = (str) => {
24
+ let newStr = str.slice(0);
25
+ for (let i = 0; i < from.length; i++) {
26
+ newStr = newStr.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
27
+ }
28
+ return newStr;
29
+ };
30
+ const slugifySpecialCharacters = (str) => {
31
+ return str.replace(/[·/_,:]/, '-');
32
+ };
33
+ export function slugify(str) {
34
+ const noCommas = str.replace(/,/g, '');
35
+ const replaced = noCommas.replace(/[*+~.()'"!:@&\[\]`/ %$#?{}|><=_^]/g, '-');
36
+ const slugified = slugifySpecialCharacters(removeDiacritics(replaced));
37
+ return slugified.toLowerCase();
38
+ }
39
+ //# sourceMappingURL=slugify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugify.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/slugify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,IAAI,GACR,8FAA8F,CAAA;AAEhG,MAAM,EAAE,GACN,8FAA8F,CAAA;AAEhG,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE;IACvC,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;IAC5E,MAAM,SAAS,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEtE,OAAO,SAAS,CAAC,WAAW,EAAE,CAAA;AAChC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const SORT_MAP: {
2
+ readonly price_desc: "price:desc";
3
+ readonly price_asc: "price:asc";
4
+ readonly orders_desc: "orders:desc";
5
+ readonly name_desc: "name:desc";
6
+ readonly name_asc: "name:asc";
7
+ readonly release_desc: "release:desc";
8
+ readonly discount_desc: "discount:desc";
9
+ readonly score_desc: "";
10
+ };
@@ -0,0 +1,11 @@
1
+ export const SORT_MAP = {
2
+ price_desc: 'price:desc',
3
+ price_asc: 'price:asc',
4
+ orders_desc: 'orders:desc',
5
+ name_desc: 'name:desc',
6
+ name_asc: 'name:asc',
7
+ release_desc: 'release:desc',
8
+ discount_desc: 'discount:desc',
9
+ score_desc: '',
10
+ };
11
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/sort.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,EAAE;CACN,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { Options } from '../';
2
+ export type GetTelemetryOptions = {
3
+ mode?: 'verbose' | 'dev';
4
+ experimentalSendLogs?: boolean;
5
+ };
6
+ export declare function getTelemetry(APIOptions: Options, telemetryOptions?: GetTelemetryOptions): {
7
+ useFaststoreTelemetry: () => import("@envelop/types").Plugin<import("./useFaststoreTelemetry").PluginContext>;
8
+ };
@@ -0,0 +1,72 @@
1
+ import { BasicTracerProvider, SimpleSpanProcessor, ConsoleSpanExporter, } from '@opentelemetry/sdk-trace-base';
2
+ import { Resource } from '@opentelemetry/resources';
3
+ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
4
+ import { LoggerProvider, SimpleLogRecordProcessor, ConsoleLogRecordExporter, } from '@opentelemetry/sdk-logs';
5
+ import { OTLPLogsExporter } from '@opentelemetry/exporter-logs-otlp-grpc';
6
+ import { getFaststoreTelemetryPlugin } from './useFaststoreTelemetry';
7
+ import packageJson from '../../package.json';
8
+ const FASTSTORE_API_VERSION = packageJson.version;
9
+ // TODO: These urls are hardcoded for now, but they should be configurable via ENV variables
10
+ // They are only acessible from within the VTEX network, so they are not a security risk
11
+ const TRACE_COLLECTOR_URL = 'opentelemetry-collector.vtex.systems';
12
+ const TRACE_COLLECTOR_URL_DEV = 'opentelemetry-collector-beta.vtex.systems';
13
+ const LOG_COLLECTOR_URL = 'opentelemetry-collector.vtex.systems';
14
+ export function getTelemetry(APIOptions, telemetryOptions) {
15
+ const honeycombCollectorOptions = {
16
+ url: telemetryOptions?.mode === 'dev'
17
+ ? TRACE_COLLECTOR_URL_DEV
18
+ : TRACE_COLLECTOR_URL,
19
+ };
20
+ const openSearchCollectorOptions = {
21
+ url: LOG_COLLECTOR_URL,
22
+ };
23
+ // Create a new tracer provider
24
+ const tracerProvider = new BasicTracerProvider({
25
+ resource: new Resource({
26
+ 'service.name': 'faststore-api',
27
+ 'service.version': FASTSTORE_API_VERSION,
28
+ 'service.name_and_version': `faststore-api@${FASTSTORE_API_VERSION}`,
29
+ platform: APIOptions.platform,
30
+ [`${APIOptions.platform}.account`]: APIOptions.account,
31
+ [`${APIOptions.platform}.environment`]: APIOptions.environment,
32
+ // TODO: include the following properties in the logs
33
+ // [`${APIOptions.platform}.options.hideUnavailableItems`]:
34
+ // APIOptions.hideUnavailableItems,
35
+ // [`${APIOptions.platform}.flags.enableOrderFormSync`]:
36
+ // APIOptions.flags?.enableOrderFormSync,
37
+ // channel: APIOptions.channel,
38
+ locale: APIOptions.locale,
39
+ }),
40
+ });
41
+ const loggerProvider = new LoggerProvider();
42
+ // Create trace exporter
43
+ const honeycombExporter = new OTLPTraceExporter(honeycombCollectorOptions);
44
+ // Create log exporter
45
+ const openSearchExporter = new OTLPLogsExporter(openSearchCollectorOptions);
46
+ // Set up a span processor to export spans to Honeycomb
47
+ const honeyCombSpanProcessor = new SimpleSpanProcessor(honeycombExporter);
48
+ // Set up a log record processor to export spans to OpenSearch
49
+ const openSearchLogProcessor = new SimpleLogRecordProcessor(openSearchExporter);
50
+ // Register the span processor with the tracer provider
51
+ tracerProvider.addSpanProcessor(honeyCombSpanProcessor);
52
+ // Register the log record processor with the log provider
53
+ loggerProvider.addLogRecordProcessor(openSearchLogProcessor);
54
+ if (telemetryOptions?.mode === 'verbose' ||
55
+ telemetryOptions?.mode === 'dev') {
56
+ // Set up a console exporter for verbose mode
57
+ const consoleExporter = new ConsoleSpanExporter();
58
+ const verboseTraceProcessor = new SimpleSpanProcessor(consoleExporter);
59
+ // Set up processors for verbose mode
60
+ const consoleLogExporter = new ConsoleLogRecordExporter();
61
+ const veboseLogRecordExporter = new SimpleLogRecordProcessor(consoleLogExporter);
62
+ tracerProvider.addSpanProcessor(verboseTraceProcessor);
63
+ loggerProvider.addLogRecordProcessor(veboseLogRecordExporter);
64
+ }
65
+ const useFaststoreTelemetry = getFaststoreTelemetryPlugin(
66
+ // The @opentelemetry/sdk-trace-base was renamed from @opentelemetry/tracing but the
67
+ // envelop plugin doesn't support this change yet. This causes the class type to be incompatible,
68
+ // even if they are the same. https://github.com/n1ru4l/envelop/issues/1610
69
+ tracerProvider, loggerProvider, 'faststore-api', telemetryOptions?.experimentalSendLogs ?? false);
70
+ return { useFaststoreTelemetry };
71
+ }
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/telemetry/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Plugin } from '@envelop/core';
2
+ import { Span } from '@opentelemetry/api';
3
+ import type { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
4
+ import type { LoggerProvider } from '@opentelemetry/sdk-logs';
5
+ export declare enum AttributeName {
6
+ EXECUTION_ERROR = "graphql.error",
7
+ EXECUTION_RESULT = "graphql.result",
8
+ RESOLVER_EXECUTION_ERROR = "graphql.resolver.error",
9
+ RESOLVER_EXCEPTION = "graphql.resolver.exception",
10
+ RESOLVER_FIELD_NAME = "graphql.resolver.fieldName",
11
+ RESOLVER_TYPE_NAME = "graphql.resolver.typeName",
12
+ RESOLVER_RESULT_TYPE = "graphql.resolver.resultType",
13
+ RESOLVER_ARGS = "graphql.resolver.args",
14
+ EXECUTION_OPERATION_NAME = "graphql.operation.name",
15
+ EXECUTION_OPERATION_TYPE = "graphql.operation.type",
16
+ EXECUTION_OPERATION_DOCUMENT = "graphql.document",
17
+ EXECUTION_VARIABLES = "graphql.variables"
18
+ }
19
+ declare const tracingSpanSymbol: unique symbol;
20
+ export type PluginContext = {
21
+ [tracingSpanSymbol]: Span;
22
+ };
23
+ export declare const getFaststoreTelemetryPlugin: (tracingProvider: BasicTracerProvider, loggerProvider: LoggerProvider, serviceName: string, experimentalSendLogs: boolean) => (() => Plugin<PluginContext>);
24
+ export {};
@@ -0,0 +1,170 @@
1
+ import { isAsyncIterable } from '@envelop/core';
2
+ import { useOnResolve } from '@envelop/on-resolve';
3
+ import { SpanKind } from '@opentelemetry/api';
4
+ import { trace as openTelTrace, context as openTelContext, } from '@opentelemetry/api';
5
+ import { SeverityNumber } from '@opentelemetry/api-logs';
6
+ import { print, Kind } from 'graphql';
7
+ export var AttributeName;
8
+ (function (AttributeName) {
9
+ AttributeName["EXECUTION_ERROR"] = "graphql.error";
10
+ AttributeName["EXECUTION_RESULT"] = "graphql.result";
11
+ AttributeName["RESOLVER_EXECUTION_ERROR"] = "graphql.resolver.error";
12
+ AttributeName["RESOLVER_EXCEPTION"] = "graphql.resolver.exception";
13
+ AttributeName["RESOLVER_FIELD_NAME"] = "graphql.resolver.fieldName";
14
+ AttributeName["RESOLVER_TYPE_NAME"] = "graphql.resolver.typeName";
15
+ AttributeName["RESOLVER_RESULT_TYPE"] = "graphql.resolver.resultType";
16
+ AttributeName["RESOLVER_ARGS"] = "graphql.resolver.args";
17
+ AttributeName["EXECUTION_OPERATION_NAME"] = "graphql.operation.name";
18
+ AttributeName["EXECUTION_OPERATION_TYPE"] = "graphql.operation.type";
19
+ AttributeName["EXECUTION_OPERATION_DOCUMENT"] = "graphql.document";
20
+ AttributeName["EXECUTION_VARIABLES"] = "graphql.variables";
21
+ })(AttributeName || (AttributeName = {}));
22
+ const tracingSpanSymbol = Symbol('OPEN_TELEMETRY_GRAPHQL');
23
+ function getResolverSpanKey(path) {
24
+ const nodes = [];
25
+ // If the first node (after reversed, it will be the last one) is an integer, that is, identifies a list,
26
+ // we don't want to include it in the key. Note that this will only happen when analysing .prev paths in
27
+ // a list of elements. We just want to remove the initial node that is a integer, not all of them.
28
+ //
29
+ // Nodes with keys 6bc73341b2a183fc::product::image::0::url would not be able to find
30
+ // parents with key 6bc73341b2a183fc::product::image because of the "0" list index -
31
+ // it would search for 6bc73341b2a183fc::product::image::0
32
+ let currentPath = nodes.length === 0 && Number.isInteger(path.key) ? path.prev : path;
33
+ while (currentPath) {
34
+ nodes.push(currentPath.key);
35
+ currentPath = currentPath.prev;
36
+ }
37
+ return [...nodes].reverse().join('.');
38
+ }
39
+ export const getFaststoreTelemetryPlugin = (tracingProvider, loggerProvider, serviceName, experimentalSendLogs) => {
40
+ return function useFaststoreTelemetry() {
41
+ const tracer = tracingProvider.getTracer(serviceName);
42
+ const logger = loggerProvider.getLogger(serviceName);
43
+ const resolverContextsByRootSpans = {};
44
+ return {
45
+ onPluginInit({ addPlugin }) {
46
+ addPlugin(
47
+ // eslint-disable-next-line
48
+ useOnResolve(({ info, context }) => {
49
+ if (context &&
50
+ typeof context === 'object' &&
51
+ context[tracingSpanSymbol]) {
52
+ tracer.getActiveSpanProcessor();
53
+ const rootContextSpanId = context[tracingSpanSymbol].spanContext().spanId;
54
+ const { fieldName, returnType, parentType, path } = info;
55
+ const previousResolverSpanKey = path.prev && getResolverSpanKey(path.prev);
56
+ let ctx = null;
57
+ if (previousResolverSpanKey &&
58
+ resolverContextsByRootSpans[rootContextSpanId][previousResolverSpanKey]) {
59
+ ctx =
60
+ resolverContextsByRootSpans[rootContextSpanId][previousResolverSpanKey];
61
+ }
62
+ else {
63
+ ctx = openTelTrace.setSpan(openTelContext.active(), context[tracingSpanSymbol]);
64
+ resolverContextsByRootSpans[rootContextSpanId] =
65
+ resolverContextsByRootSpans[rootContextSpanId] ?? {};
66
+ }
67
+ const resolverIndexInList = Number.isInteger(path.prev?.key)
68
+ ? `[${path.prev?.key}]`
69
+ : '';
70
+ const resolverSpan = tracer.startSpan(`${parentType.toString()}.${fieldName}${resolverIndexInList}`, {
71
+ attributes: {
72
+ [AttributeName.RESOLVER_FIELD_NAME]: fieldName,
73
+ [AttributeName.RESOLVER_TYPE_NAME]: parentType.toString(),
74
+ [AttributeName.RESOLVER_RESULT_TYPE]: returnType.toString(),
75
+ 'meta.span.path': getResolverSpanKey(path),
76
+ },
77
+ }, ctx);
78
+ const resolverCtx = openTelTrace.setSpan(ctx, resolverSpan);
79
+ resolverContextsByRootSpans[rootContextSpanId][getResolverSpanKey(path)] = resolverCtx;
80
+ return ({ result }) => {
81
+ if (result instanceof Error) {
82
+ resolverSpan.setAttributes({
83
+ error: true,
84
+ 'exception.category': AttributeName.RESOLVER_EXECUTION_ERROR,
85
+ 'exception.message': result.message,
86
+ 'exception.type': result.name,
87
+ });
88
+ resolverSpan.recordException(result);
89
+ }
90
+ resolverSpan.end();
91
+ };
92
+ }
93
+ return () => { };
94
+ }));
95
+ },
96
+ onExecute({ args, extendContext }) {
97
+ const operationType = args.document.definitions
98
+ .filter((def) => def.kind === Kind.OPERATION_DEFINITION)
99
+ .map((def) => def.operation)?.[0];
100
+ // Span name according to Semantic Conventions
101
+ // https://github.com/open-telemetry/semantic-conventions
102
+ let spanName = 'GraphQL Operation';
103
+ if (operationType && args.operationName) {
104
+ spanName = `${operationType} ${args.operationName}`;
105
+ }
106
+ else if (operationType && !args.operationName) {
107
+ spanName = operationType;
108
+ }
109
+ const executionSpan = tracer.startSpan(spanName, {
110
+ kind: SpanKind.SERVER,
111
+ attributes: {
112
+ [AttributeName.EXECUTION_OPERATION_NAME]: args.operationName ?? undefined,
113
+ [AttributeName.EXECUTION_OPERATION_TYPE]: operationType ?? undefined,
114
+ [AttributeName.EXECUTION_OPERATION_DOCUMENT]: print(args.document),
115
+ },
116
+ });
117
+ const executeContext = openTelContext.active();
118
+ const resultCbs = {
119
+ onExecuteDone({ result }) {
120
+ if (isAsyncIterable(result)) {
121
+ executionSpan.end();
122
+ // eslint-disable-next-line no-console
123
+ console.warn(`Plugin "newrelic" encountered a AsyncIterator which is not supported yet, so tracing data is not available for the operation.`);
124
+ return;
125
+ }
126
+ const logRecord = {
127
+ context: executeContext,
128
+ attributes: {
129
+ 'service.name': 'faststore-api',
130
+ 'service.version': '1.12.38',
131
+ 'service.name_and_version': 'faststore-api@1.12.38',
132
+ 'vtex.search_index': 'faststore_beta_api',
133
+ [AttributeName.EXECUTION_OPERATION_NAME]: args.operationName ?? undefined,
134
+ [AttributeName.EXECUTION_OPERATION_DOCUMENT]: print(args.document),
135
+ [AttributeName.EXECUTION_VARIABLES]: JSON.stringify(args.variableValues ?? {}),
136
+ },
137
+ };
138
+ if (typeof result.data !== 'undefined' &&
139
+ !(result.errors && result.errors.length > 0)) {
140
+ logRecord.severityNumber = SeverityNumber.INFO;
141
+ logRecord.severityText = 'Info';
142
+ logRecord.attributes[AttributeName.EXECUTION_RESULT] =
143
+ JSON.stringify(result);
144
+ }
145
+ if (result.errors && result.errors.length > 0) {
146
+ logRecord.severityNumber = SeverityNumber.ERROR;
147
+ logRecord.severityText = 'Error';
148
+ logRecord.attributes[AttributeName.EXECUTION_ERROR] =
149
+ JSON.stringify(result.errors);
150
+ executionSpan.setAttributes({
151
+ error: true,
152
+ 'exception.category': AttributeName.EXECUTION_ERROR,
153
+ 'exception.message': JSON.stringify(result.errors),
154
+ });
155
+ }
156
+ if (experimentalSendLogs) {
157
+ logger.emit(logRecord);
158
+ }
159
+ executionSpan.end();
160
+ },
161
+ };
162
+ extendContext({
163
+ [tracingSpanSymbol]: executionSpan,
164
+ });
165
+ return resultCbs;
166
+ },
167
+ };
168
+ };
169
+ };
170
+ //# sourceMappingURL=useFaststoreTelemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFaststoreTelemetry.js","sourceRoot":"","sources":["../../../../src/telemetry/useFaststoreTelemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ """
2
+ Address information.
3
+ """
4
+ type Address {
5
+ """
6
+ Address postal code
7
+ """
8
+ postalCode: String
9
+ """
10
+ Address city
11
+ """
12
+ city: String
13
+ """
14
+ Address state
15
+ """
16
+ state: String
17
+ """
18
+ Address country
19
+ """
20
+ country: String
21
+ """
22
+ Address street
23
+ """
24
+ street: String
25
+ """
26
+ Address number
27
+ """
28
+ number: String
29
+ """
30
+ Address neighborhood
31
+ """
32
+ neighborhood: String
33
+ """
34
+ Address complement
35
+ """
36
+ complement: String
37
+ """
38
+ Address reference
39
+ """
40
+ reference: String
41
+ """
42
+ Address geoCoordinates
43
+ """
44
+ geoCoordinates: [Float]
45
+ }
@@ -0,0 +1,25 @@
1
+ """
2
+ Aggregate offer information, for a given SKU that is available to be fulfilled by multiple sellers.
3
+ """
4
+ type StoreAggregateOffer {
5
+ """
6
+ Highest price among all sellers.
7
+ """
8
+ highPrice: Float!
9
+ """
10
+ Lowest price among all sellers.
11
+ """
12
+ lowPrice: Float!
13
+ """
14
+ Number of sellers selling this SKU.
15
+ """
16
+ offerCount: Int!
17
+ """
18
+ ISO code of the currency used for the offer prices.
19
+ """
20
+ priceCurrency: String!
21
+ """
22
+ Array with information on each available offer.
23
+ """
24
+ offers: [StoreOffer!]!
25
+ }
@@ -0,0 +1,13 @@
1
+ """
2
+ Average rating, based on multiple ratings or reviews.
3
+ """
4
+ type StoreAggregateRating {
5
+ """
6
+ Value of the aggregate rating.
7
+ """
8
+ ratingValue: Float!
9
+ """
10
+ Total number of ratings.
11
+ """
12
+ reviewCount: Int!
13
+ }
@@ -0,0 +1,9 @@
1
+ """
2
+ information about the author of a product review or rating.
3
+ """
4
+ type StoreAuthor {
5
+ """
6
+ Author name.
7
+ """
8
+ name: String!
9
+ }
@@ -0,0 +1,9 @@
1
+ """
2
+ Brand of a given product.
3
+ """
4
+ type StoreBrand {
5
+ """
6
+ Brand name.
7
+ """
8
+ name: String!
9
+ }
@@ -0,0 +1,31 @@
1
+ """
2
+ Item of a list.
3
+ """
4
+ type StoreListItem {
5
+ """
6
+ List item value.
7
+ """
8
+ item: String!
9
+ """
10
+ Name of the list item.
11
+ """
12
+ name: String!
13
+ """
14
+ Position of the item in the list.
15
+ """
16
+ position: Int!
17
+ }
18
+
19
+ """
20
+ List of items consisting of chain linked web pages, ending with the current page.
21
+ """
22
+ type StoreBreadcrumbList {
23
+ """
24
+ Array with breadcrumb elements.
25
+ """
26
+ itemListElement: [StoreListItem!]!
27
+ """
28
+ Number of breadcrumbs in the list.
29
+ """
30
+ numberOfItems: Int!
31
+ }
@@ -0,0 +1,37 @@
1
+ """
2
+ Shopping cart message.
3
+ """
4
+ type StoreCartMessage {
5
+ """
6
+ Shopping cart message text.
7
+ """
8
+ text: String!
9
+ """
10
+ Shopping cart message status, which can be `INFO`, `WARNING` or `ERROR`.
11
+ """
12
+ status: StoreStatus!
13
+ }
14
+
15
+ """
16
+ Shopping cart information.
17
+ """
18
+ type StoreCart {
19
+ """
20
+ Order information, including `orderNumber` and `acceptedOffer`.
21
+ """
22
+ order: StoreOrder!
23
+ """
24
+ List of shopping cart messages.
25
+ """
26
+ messages: [StoreCartMessage!]!
27
+ }
28
+
29
+ """
30
+ Shopping cart input.
31
+ """
32
+ input IStoreCart {
33
+ """
34
+ Order information, including `orderNumber`, `acceptedOffer` and `shouldSplitItem`.
35
+ """
36
+ order: IStoreOrder!
37
+ }
@@ -0,0 +1,83 @@
1
+ """
2
+ Product collection type. Possible values are `Department`, `Category`, `Brand`, `Cluster`, `SubCategory` or `Collection`.
3
+ """
4
+ enum StoreCollectionType {
5
+ """
6
+ First level of product categorization.
7
+ """
8
+ Department
9
+ """
10
+ Second level of product categorization.
11
+ """
12
+ Category
13
+ """
14
+ Third level of product categorization.
15
+ """
16
+ SubCategory
17
+ """
18
+ Product brand.
19
+ """
20
+ Brand
21
+ """
22
+ Product cluster.
23
+ """
24
+ Cluster
25
+ """
26
+ Product collection.
27
+ """
28
+ Collection
29
+ }
30
+
31
+ """
32
+ Product collection facet, used for search.
33
+ """
34
+ type StoreCollectionFacet {
35
+ """
36
+ Facet key.
37
+ """
38
+ key: String!
39
+ """
40
+ Facet value.
41
+ """
42
+ value: String!
43
+ }
44
+
45
+ """
46
+ Collection meta information. Used for search.
47
+ """
48
+ type StoreCollectionMeta {
49
+ """
50
+ List of selected collection facets.
51
+ """
52
+ selectedFacets: [StoreCollectionFacet!]!
53
+ }
54
+
55
+ """
56
+ Product collection information.
57
+ """
58
+ type StoreCollection {
59
+ """
60
+ Meta tag data.
61
+ """
62
+ seo: StoreSeo!
63
+ """
64
+ List of items consisting of chain linked web pages, ending with the current page.
65
+ """
66
+ breadcrumbList: StoreBreadcrumbList!
67
+ """
68
+ Collection meta information. Used for search.
69
+ """
70
+ meta: StoreCollectionMeta!
71
+ """
72
+ Collection ID.
73
+ """
74
+ id: ID!
75
+ """
76
+ Corresponding collection URL slug, with which to retrieve this entity.
77
+ """
78
+ slug: String!
79
+ """
80
+ Collection type.
81
+ """
82
+ type: StoreCollectionType!
83
+ }