@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,6 @@
1
+ export const enhanceCommercialOffer = ({ offer, seller, product, }) => ({
2
+ ...offer,
3
+ product,
4
+ seller,
5
+ });
6
+ //# sourceMappingURL=enhanceCommercialOffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanceCommercialOffer.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/enhanceCommercialOffer.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAO,EAC3C,KAAK,EACL,MAAM,EACN,OAAO,GAKR,EAAiC,EAAE,CAAC,CAAC;IACpC,GAAG,KAAK;IACR,OAAO;IACP,MAAM;CACP,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { Product, Item } from '../clients/search/types/ProductSearchResult';
2
+ export type EnhancedSku = Item & {
3
+ isVariantOf: Product;
4
+ };
5
+ export declare const enhanceSku: (item: Item, product: Product) => EnhancedSku;
@@ -0,0 +1,14 @@
1
+ import { sanitizeHtml } from './sanitizeHtml';
2
+ function sanitizeProduct(product) {
3
+ return {
4
+ ...product,
5
+ description: product.description
6
+ ? sanitizeHtml(product.description)
7
+ : product.description,
8
+ };
9
+ }
10
+ export const enhanceSku = (item, product) => ({
11
+ ...item,
12
+ isVariantOf: sanitizeProduct(product),
13
+ });
14
+ //# sourceMappingURL=enhanceSku.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanceSku.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/enhanceSku.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAI7C,SAAS,eAAe,CAAC,OAAgB;IACvC,OAAO;QACL,GAAG,OAAO;QACV,WAAW,EAAE,OAAO,CAAC,WAAW;YAC9B,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,WAAW;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,OAAgB,EAAe,EAAE,CAAC,CAAC;IACxE,GAAG,IAAI;IACP,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC;CACtC,CAAC,CAAA"}
@@ -0,0 +1,32 @@
1
+ import type { Maybe } from '../../../__generated__/schema';
2
+ export interface SelectedFacet {
3
+ key: string;
4
+ value: string;
5
+ }
6
+ export interface CrossSellingFacet {
7
+ key: keyof typeof FACET_CROSS_SELLING_MAP;
8
+ value: string;
9
+ }
10
+ export declare const FACET_CROSS_SELLING_MAP: {
11
+ readonly buy: "whoboughtalsobought";
12
+ readonly view: "whosawalsosaw";
13
+ readonly similars: "similars";
14
+ readonly viewAndBought: "whosawalsobought";
15
+ readonly accessories: "accessories";
16
+ readonly suggestions: "suggestions";
17
+ };
18
+ /**
19
+ * Transform facets from the store to VTEX platform facets.
20
+ * For instance, the channel in Store becomes trade-policy and regionId in VTEX's realm
21
+ * */
22
+ export declare const transformSelectedFacet: ({ key, value }: SelectedFacet) => never[] | {
23
+ key: string;
24
+ value: string;
25
+ };
26
+ export declare const parseRange: (range: string) => [number, number] | null;
27
+ export declare const isCrossSelling: (x: string) => x is "similars" | "accessories" | "suggestions" | "buy" | "view" | "viewAndBought";
28
+ export declare const findCrossSelling: (facets?: Maybe<SelectedFacet[]>) => CrossSellingFacet | null;
29
+ export declare const findSlug: (facets?: Maybe<SelectedFacet[]>) => string | null;
30
+ export declare const findSkuId: (facets?: Maybe<SelectedFacet[]>) => string | null;
31
+ export declare const findLocale: (facets?: Maybe<SelectedFacet[]>) => string | null;
32
+ export declare const findChannel: (facets?: Maybe<SelectedFacet[]>) => string | null;
@@ -0,0 +1,54 @@
1
+ import { BadRequestError } from '../../errors';
2
+ export const FACET_CROSS_SELLING_MAP = {
3
+ buy: "whoboughtalsobought",
4
+ view: "whosawalsosaw",
5
+ similars: "similars",
6
+ viewAndBought: "whosawalsobought",
7
+ accessories: "accessories",
8
+ suggestions: "suggestions",
9
+ };
10
+ /**
11
+ * Transform facets from the store to VTEX platform facets.
12
+ * For instance, the channel in Store becomes trade-policy and regionId in VTEX's realm
13
+ * */
14
+ export const transformSelectedFacet = ({ key, value }) => {
15
+ switch (key) {
16
+ case 'price': {
17
+ return { key, value: value.replace('-to-', ':') };
18
+ }
19
+ case 'channel':
20
+ case 'locale':
21
+ case "buy":
22
+ case "view":
23
+ case "similars":
24
+ case "viewAndBought":
25
+ case "accessories":
26
+ case "suggestions": {
27
+ return []; // remove this facet from search
28
+ }
29
+ default:
30
+ return { key, value };
31
+ }
32
+ };
33
+ export const parseRange = (range) => {
34
+ const splitted = range.split(':').map(Number);
35
+ if (splitted.length !== 2 ||
36
+ Number.isNaN(splitted[0]) ||
37
+ Number.isNaN(splitted[1])) {
38
+ return null;
39
+ }
40
+ return splitted;
41
+ };
42
+ export const isCrossSelling = (x) => typeof FACET_CROSS_SELLING_MAP[x] === "string";
43
+ export const findCrossSelling = (facets) => {
44
+ const filtered = facets?.filter((x) => isCrossSelling(x.key));
45
+ if (Array.isArray(filtered) && filtered.length > 1) {
46
+ throw new BadRequestError(`You passed ${filtered.length} cross selling facets but only one is allowed. Please leave one of the following facet: ${filtered.map(x => x.key).join(',')}`);
47
+ }
48
+ return filtered?.[0] ?? null;
49
+ };
50
+ export const findSlug = (facets) => facets?.find((x) => x.key === 'slug')?.value ?? null;
51
+ export const findSkuId = (facets) => facets?.find((x) => x.key === 'id')?.value ?? null;
52
+ export const findLocale = (facets) => facets?.find((x) => x.key === 'locale')?.value ?? null;
53
+ export const findChannel = (facets) => facets?.find((facet) => facet.key === 'channel')?.value ?? null;
54
+ //# sourceMappingURL=facets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facets.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/facets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { IStoreSession } from '../../../__generated__/schema';
2
+ import { OrderForm } from '../clients/commerce/types/OrderForm';
3
+ export declare const getAddressOrderForm: (orderForm: OrderForm, session: IStoreSession, addressChanged: boolean) => import("../clients/commerce/types/OrderForm").CheckoutAddress[] | null;
@@ -0,0 +1,38 @@
1
+ export const getAddressOrderForm = (orderForm, session, addressChanged) => {
2
+ const postalCode = session.postalCode;
3
+ const geoCoordinates = session.geoCoordinates;
4
+ const availableAddresses = orderForm?.shippingData?.availableAddresses ?? [];
5
+ const selectedAddresses = orderForm?.shippingData?.selectedAddresses ?? [];
6
+ // Validate if no change for the address was made and the deliveryMode has changed we can return the address from the orderForm
7
+ if (!addressChanged && selectedAddresses.length > 0) {
8
+ return [selectedAddresses[0]];
9
+ }
10
+ // Validate if the address from the session already exists at the availableAddresses from the OrderForm to avoid duplication
11
+ if (addressChanged && availableAddresses.length > 0) {
12
+ for (const address of availableAddresses) {
13
+ if (postalCode && geoCoordinates) {
14
+ const addressMatcher = address.postalCode === postalCode ||
15
+ (address.geoCoordinates[0] === geoCoordinates.longitude &&
16
+ address.geoCoordinates[1] === geoCoordinates.latitude);
17
+ if (addressMatcher) {
18
+ return [address];
19
+ }
20
+ }
21
+ if (postalCode && !geoCoordinates) {
22
+ const addressMatcher = address.postalCode === postalCode;
23
+ if (addressMatcher) {
24
+ return [address];
25
+ }
26
+ }
27
+ if (geoCoordinates && !postalCode) {
28
+ const addressMatcher = address.geoCoordinates[0] === geoCoordinates.longitude &&
29
+ address.geoCoordinates[1] === geoCoordinates.latitude;
30
+ if (addressMatcher) {
31
+ return [address];
32
+ }
33
+ }
34
+ }
35
+ }
36
+ return null;
37
+ };
38
+ //# sourceMappingURL=getAddressOrderForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddressOrderForm.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/getAddressOrderForm.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACpB,OAAsB,EACtB,cAAuB,EACvB,EAAE;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;IAC7C,MAAM,kBAAkB,GAAG,SAAS,EAAE,YAAY,EAAE,kBAAkB,IAAI,EAAE,CAAA;IAC5E,MAAM,iBAAiB,GAAG,SAAS,EAAE,YAAY,EAAE,iBAAiB,IAAI,EAAE,CAAA;IAC1E,+HAA+H;IAC/H,IAAI,CAAC,cAAc,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,4HAA4H;IAC5H,IAAI,cAAc,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;gBACjC,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,KAAK,UAAU;oBACjC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,SAAS;wBACrD,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAA;gBAC1D,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;YACD,IAAI,UAAU,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,KAAK,UAAU,CAAA;gBACxD,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;YACD,IAAI,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,SAAS;oBACtD,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAA;gBACvD,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const md5: (payload: string) => string;
@@ -0,0 +1,3 @@
1
+ import crypto from 'crypto';
2
+ export const md5 = (payload) => crypto.createHash('md5').update(payload).digest('hex');
3
+ //# sourceMappingURL=md5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"md5.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/md5.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,EAAE,CACrC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * More info at: https://en.wikipedia.org/wiki/Order_statistic
3
+ */
4
+ export declare const min: <T>(array: T[], cmp: (a: T, b: T) => number) => T;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * More info at: https://en.wikipedia.org/wiki/Order_statistic
3
+ */
4
+ // O(n) search to find the max of an array
5
+ export const min = (array, cmp) => {
6
+ let best = 0;
7
+ for (let curr = 1; curr < array.length; curr++) {
8
+ if (cmp(array[best], array[curr]) > 0) {
9
+ best = curr;
10
+ }
11
+ }
12
+ return array[best];
13
+ };
14
+ //# sourceMappingURL=orderStatistics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderStatistics.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/orderStatistics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAU,EAAE,GAA2B,EAAE,EAAE;IAChE,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,GAAG,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { CommertialOffer } from '../clients/search/types/ProductSearchResult';
2
+ export declare const inStock: (offer: Pick<CommertialOffer, 'AvailableQuantity'>) => boolean;
3
+ export declare const price: (offer: Pick<CommertialOffer, 'spotPrice'>) => number;
4
+ export declare const sellingPrice: (offer: CommertialOffer) => number;
5
+ export declare const availability: (available: boolean) => "https://schema.org/InStock" | "https://schema.org/OutOfStock";
6
+ export declare const bestOfferFirst: (a: Pick<CommertialOffer, 'AvailableQuantity' | 'spotPrice'>, b: Pick<CommertialOffer, 'AvailableQuantity' | 'spotPrice'>) => number;
7
+ export declare const inStockOrderFormItem: (itemAvailability: string) => boolean;
@@ -0,0 +1,16 @@
1
+ export const inStock = (offer) => offer.AvailableQuantity > 0;
2
+ export const price = (offer) => offer.spotPrice ?? 0;
3
+ export const sellingPrice = (offer) => offer.Price ?? 0;
4
+ export const availability = (available) => available ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock';
5
+ // Smallest Available Spot Price First
6
+ export const bestOfferFirst = (a, b) => {
7
+ if (inStock(a) && !inStock(b)) {
8
+ return -1;
9
+ }
10
+ if (!inStock(a) && inStock(b)) {
11
+ return 1;
12
+ }
13
+ return price(a) - price(b);
14
+ };
15
+ export const inStockOrderFormItem = (itemAvailability) => itemAvailability === 'available';
16
+ //# sourceMappingURL=productStock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productStock.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/productStock.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAiD,EAAE,EAAE,CAC3E,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAA;AAE7B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAyC,EAAE,EAAE,CACjE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAkB,EAAE,EAAE,CACjD,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,+BAA+B,CAAA;AAE5E,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,CAA2D,EAC3D,CAA2D,EAC3D,EAAE;IACF,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,gBAAwB,EAAE,EAAE,CAC/D,gBAAgB,KAAK,WAAW,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { IStorePropertyValue } from '../../../__generated__/schema';
2
+ import type { Attachment } from '../clients/commerce/types/OrderForm';
3
+ export declare const VALUE_REFERENCES: {
4
+ readonly attachment: "ATTACHMENT";
5
+ readonly specification: "SPECIFICATION";
6
+ };
7
+ export declare function attachmentToPropertyValue(attachment: Attachment): {
8
+ name: string;
9
+ value: Record<string, string>;
10
+ valueReference: "ATTACHMENT";
11
+ };
12
+ export declare function getPropertyId(item: IStorePropertyValue): string;
@@ -0,0 +1,16 @@
1
+ import { md5 } from './md5';
2
+ export const VALUE_REFERENCES = {
3
+ attachment: 'ATTACHMENT',
4
+ specification: 'SPECIFICATION',
5
+ };
6
+ export function attachmentToPropertyValue(attachment) {
7
+ return {
8
+ name: attachment.name,
9
+ value: attachment.content,
10
+ valueReference: VALUE_REFERENCES.attachment,
11
+ };
12
+ }
13
+ export function getPropertyId(item) {
14
+ return md5(`${item.name}:${JSON.stringify(item.value)}:${item.valueReference}`);
15
+ }
16
+ //# sourceMappingURL=propertyValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyValue.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/propertyValue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;CACtB,CAAA;AAEV,MAAM,UAAU,yBAAyB,CAAC,UAAsB;IAC9D,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,OAAO;QACzB,cAAc,EAAE,gBAAgB,CAAC,UAAU;KAC5C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAyB;IACrD,OAAO,GAAG,CACR,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CACpE,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import sanitizeHtmlLib from 'sanitize-html';
2
+ /**
3
+ * For now, we're using sanitize-html's default set
4
+ * of allowed tags and attributes, which don't even include img elements
5
+ *
6
+ * It is known many client depends on pontentially vulnerable tags, such as script tags
7
+ * We chose to be restrictive at first, and document those restrictions later.
8
+ *
9
+ * When expanding the set of allowed tags and attributes, please consider performance, privacy and security.
10
+ *
11
+ * This possibily breaks compatibility with Portal and Store Framework,
12
+ * which both allows an enormous amount of tags and attributes
13
+ *
14
+ * This was a thoughtful decision that can be reviewed in the future given
15
+ * research was made to back up those changes.
16
+ */
17
+ export declare const sanitizeHtml: (dirty: Parameters<typeof sanitizeHtmlLib>[0], options?: Parameters<typeof sanitizeHtmlLib>[1]) => string;
@@ -0,0 +1,18 @@
1
+ import sanitizeHtmlLib from 'sanitize-html';
2
+ /**
3
+ * For now, we're using sanitize-html's default set
4
+ * of allowed tags and attributes, which don't even include img elements
5
+ *
6
+ * It is known many client depends on pontentially vulnerable tags, such as script tags
7
+ * We chose to be restrictive at first, and document those restrictions later.
8
+ *
9
+ * When expanding the set of allowed tags and attributes, please consider performance, privacy and security.
10
+ *
11
+ * This possibily breaks compatibility with Portal and Store Framework,
12
+ * which both allows an enormous amount of tags and attributes
13
+ *
14
+ * This was a thoughtful decision that can be reviewed in the future given
15
+ * research was made to back up those changes.
16
+ */
17
+ export const sanitizeHtml = (dirty, options) => sanitizeHtmlLib(dirty, options);
18
+ //# sourceMappingURL=sanitizeHtml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeHtml.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/sanitizeHtml.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,eAAe,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAA4C,EAC5C,OAA+C,EAC/C,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { IStoreSession } from '../../../__generated__/schema';
2
+ import { OrderForm } from '../clients/commerce/types/OrderForm';
3
+ export declare const shouldUpdateShippingData: (orderForm: OrderForm, session: IStoreSession) => {
4
+ updateShipping: boolean;
5
+ addressChanged: boolean;
6
+ };
@@ -0,0 +1,68 @@
1
+ export const shouldUpdateShippingData = (orderForm, session) => {
2
+ if (!hasSessionPostalCodeOrGeoCoordinates(session)) {
3
+ return { updateShipping: false, addressChanged: false };
4
+ }
5
+ if (!hasItems(orderForm)) {
6
+ return { updateShipping: false, addressChanged: false };
7
+ }
8
+ const [selectedAddress] = orderForm?.shippingData?.selectedAddresses ?? [];
9
+ if (checkPostalCode(selectedAddress, session.postalCode) ||
10
+ checkGeoCoordinates(selectedAddress, session.geoCoordinates) ||
11
+ checkAddressType(selectedAddress, session.addressType)) {
12
+ return { updateShipping: true, addressChanged: true };
13
+ }
14
+ // The logisticsInfo will always exist if there´s at least one item inside the cart
15
+ const { logisticsInfo } = orderForm.shippingData;
16
+ if (shouldUpdateDeliveryInfo(logisticsInfo, session)) {
17
+ return { updateShipping: true, addressChanged: false };
18
+ }
19
+ return { updateShipping: false, addressChanged: false };
20
+ };
21
+ // Validate if theres any postal Code or GeoCoordinates set at the session
22
+ const hasSessionPostalCodeOrGeoCoordinates = (session) => {
23
+ return (!!session.postalCode ||
24
+ (session.geoCoordinates?.latitude && session.geoCoordinates?.longitude));
25
+ };
26
+ // Validate if theres a difference between the session postal code and orderForm postal code
27
+ const checkPostalCode = (address, postalCode) => {
28
+ return typeof postalCode === 'string' && address?.postalCode !== postalCode;
29
+ };
30
+ // Validate if theres a difference between the session geoCoords and orderForm geoCoords
31
+ const checkGeoCoordinates = (address, geoCoordinates) => {
32
+ return (typeof geoCoordinates?.latitude === 'number' &&
33
+ typeof geoCoordinates?.longitude === 'number' &&
34
+ (address?.geoCoordinates[0] !== geoCoordinates?.longitude ||
35
+ address?.geoCoordinates[1] !== geoCoordinates?.latitude));
36
+ };
37
+ const checkAddressType = (address, addressType) => {
38
+ return typeof addressType === 'string' && address?.addressType !== addressType;
39
+ };
40
+ // Validate if theres any item inside the orderForm
41
+ const hasItems = (orderForm) => {
42
+ return orderForm.items.length !== 0;
43
+ };
44
+ const shouldUpdateDeliveryInfo = (logisticsInfo, session) => {
45
+ const deliveryChannel = session?.deliveryMode?.deliveryChannel;
46
+ const deliveryMethod = session?.deliveryMode?.deliveryMethod;
47
+ const { startDate, endDate } = session?.deliveryMode?.deliveryWindow || {};
48
+ return logisticsInfo.some(({ selectedDeliveryChannel, selectedSla, slas }) => {
49
+ const checkDeliveryChannel = deliveryChannel && selectedDeliveryChannel !== deliveryChannel;
50
+ const checkDeliveryMethod = deliveryMethod && selectedSla !== deliveryMethod;
51
+ return slas?.some((sla) => {
52
+ if ((checkDeliveryChannel && sla.deliveryChannel === deliveryChannel) ||
53
+ (checkDeliveryMethod && sla.id === deliveryMethod)) {
54
+ return true;
55
+ }
56
+ return (startDate &&
57
+ endDate &&
58
+ sla.deliveryChannel === deliveryChannel &&
59
+ sla.id === deliveryMethod &&
60
+ (!sla?.deliveryWindow ||
61
+ sla?.deliveryWindow?.startDateUtc !== startDate ||
62
+ sla?.deliveryWindow?.endDateUtc !== endDate) &&
63
+ sla.availableDeliveryWindows?.some((window) => window?.startDateUtc === startDate &&
64
+ window?.endDateUtc === endDate));
65
+ });
66
+ });
67
+ };
68
+ //# sourceMappingURL=shouldUpdateShippingData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldUpdateShippingData.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/shouldUpdateShippingData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Item } from '../clients/search/types/ProductSearchResult';
2
+ /**
3
+ * This function implements Portal heuristics for returning the best sku for a product.
4
+ *
5
+ * The best sku is the one with the best (cheapest available) offer
6
+ * */
7
+ export declare const pickBestSku: (skus: Item[]) => Item;
8
+ export declare const isValidSkuId: (skuId: string) => boolean;
@@ -0,0 +1,17 @@
1
+ import { min } from './orderStatistics';
2
+ import { bestOfferFirst } from './productStock';
3
+ /**
4
+ * This function implements Portal heuristics for returning the best sku for a product.
5
+ *
6
+ * The best sku is the one with the best (cheapest available) offer
7
+ * */
8
+ export const pickBestSku = (skus) => {
9
+ const offersBySku = skus.flatMap((sku) => sku.sellers.map((seller) => ({
10
+ offer: seller.commertialOffer,
11
+ sku,
12
+ })));
13
+ const best = min(offersBySku, ({ offer: o1 }, { offer: o2 }) => bestOfferFirst(o1, o2));
14
+ return best ? best.sku : skus[0];
15
+ };
16
+ export const isValidSkuId = (skuId) => skuId !== '' && !Number.isNaN(Number(skuId));
17
+ //# sourceMappingURL=sku.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sku.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/sku.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/C;;;;KAIK;AACL,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,GAAG;KACJ,CAAC,CAAC,CACJ,CAAA;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAC7D,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CACvB,CAAA;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAC5C,KAAK,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { StoreProduct as StoreProductType } from '../../..';
2
+ import type { Product, Item } from '../clients/search/types/ProductSearchResult';
3
+ export type SkuVariants = StoreProductType[];
4
+ export type SkuVariantsByName = Record<string, Array<FormattedSkuVariant>>;
5
+ type FormattedSkuVariant = {
6
+ alt: string;
7
+ src: string;
8
+ label: string;
9
+ value: string;
10
+ };
11
+ export declare function createSlugsMap(variants: Item[], dominantVariantName: string, baseSlug: string): Record<string, string>;
12
+ export declare function getActiveSkuVariations(variations: Item['variations']): Record<string, string>;
13
+ export declare function getVariantsByName(skuSpecifications: Product['skuSpecifications']): Record<string, string[]>;
14
+ export declare function getFormattedVariations(variants: Item[], dominantVariantName: string, dominantVariantValue: string): SkuVariantsByName;
15
+ export {};
@@ -0,0 +1,132 @@
1
+ function findSkuVariantImage(availableImages) {
2
+ return (availableImages.find((imageProperties) => imageProperties.imageLabel === 'skuvariation') ?? availableImages[0]);
3
+ }
4
+ export function createSlugsMap(variants, dominantVariantName, baseSlug) {
5
+ /**
6
+ * Maps property value combinations to their respective SKU's slug. Enables
7
+ * us to retrieve the slug for the SKU that matches the currently selected
8
+ * variations in O(1) time.
9
+ *
10
+ * Example: `'Color-Red-Size-40': 'classic-shoes-37'`
11
+ */
12
+ const slugsMap = {};
13
+ variants.forEach((variant) => {
14
+ const skuSpecificationProperties = variant.variations;
15
+ if (skuSpecificationProperties.length === 0) {
16
+ return;
17
+ }
18
+ // Make sure that the 'name-value' pair for the dominant variation
19
+ // is always the first one.
20
+ const dominantNameValue = `${dominantVariantName}-${skuSpecificationProperties.find((variationDetails) => variationDetails.name === dominantVariantName)?.values[0] ?? ''}`;
21
+ const skuVariantKey = skuSpecificationProperties.reduce((acc, property) => {
22
+ const shouldIgnore = property.name === dominantVariantName;
23
+ if (shouldIgnore) {
24
+ return acc;
25
+ }
26
+ return acc + `-${property.name}-${property.values[0]}`;
27
+ }, dominantNameValue);
28
+ slugsMap[skuVariantKey] = `${baseSlug}-${variant.itemId}`;
29
+ });
30
+ return slugsMap;
31
+ }
32
+ export function getActiveSkuVariations(variations) {
33
+ const activeVariations = {};
34
+ variations.forEach((variation) => {
35
+ activeVariations[variation.name] = variation.values[0];
36
+ });
37
+ return activeVariations;
38
+ }
39
+ export function getVariantsByName(skuSpecifications) {
40
+ const variants = {};
41
+ skuSpecifications?.forEach((specification) => {
42
+ variants[specification.field.originalName ?? specification.field.name] =
43
+ specification.values.map((value) => value.originalName ?? value.name);
44
+ });
45
+ return variants;
46
+ }
47
+ function compare(a, b) {
48
+ // Values are always represented as Strings, so we need to handle numbers
49
+ // in this special case.
50
+ if (!Number.isNaN(Number(a) - Number(b))) {
51
+ return Number(a) - Number(b);
52
+ }
53
+ if (a < b) {
54
+ return -1;
55
+ }
56
+ if (a > b) {
57
+ return 1;
58
+ }
59
+ return 0;
60
+ }
61
+ function sortVariants(variantsByName) {
62
+ const sortedVariants = variantsByName;
63
+ for (const variantProperty in variantsByName) {
64
+ variantsByName[variantProperty].sort((a, b) => compare(a.value, b.value));
65
+ }
66
+ return sortedVariants;
67
+ }
68
+ export function getFormattedVariations(variants, dominantVariantName, dominantVariantValue) {
69
+ /**
70
+ * SKU options already formatted and indexed by their property name.
71
+ *
72
+ * Ex: {
73
+ * `Size`: [
74
+ * { label: '42', value: '42' },
75
+ * { label: '41', value: '41' },
76
+ * { label: '39', value: '39' },
77
+ * ]
78
+ * }
79
+ */
80
+ const variantsByName = {};
81
+ const previouslySeenPropertyValues = new Set();
82
+ variants.forEach((variant) => {
83
+ if (variant.variations.length === 0) {
84
+ return;
85
+ }
86
+ const variantImageToUse = findSkuVariantImage(variant.images);
87
+ const dominantVariantEntry = variant.variations.find((variation) => variation.name === dominantVariantName);
88
+ const matchesDominantVariant = dominantVariantEntry?.values[0] === dominantVariantValue;
89
+ if (!matchesDominantVariant) {
90
+ const nameValueIdentifier = `${dominantVariantName}-${dominantVariantEntry?.values[0]}`;
91
+ if (!dominantVariantEntry ||
92
+ previouslySeenPropertyValues.has(nameValueIdentifier)) {
93
+ return;
94
+ }
95
+ previouslySeenPropertyValues.add(nameValueIdentifier);
96
+ const formattedVariant = {
97
+ src: variantImageToUse.imageUrl,
98
+ alt: variantImageToUse.imageLabel ?? '',
99
+ label: `${dominantVariantName}: ${dominantVariantEntry.values[0]}`,
100
+ value: dominantVariantEntry.values[0],
101
+ };
102
+ if (variantsByName[dominantVariantEntry.name]) {
103
+ variantsByName[dominantVariantEntry.name].push(formattedVariant);
104
+ }
105
+ else {
106
+ variantsByName[dominantVariantEntry.name] = [formattedVariant];
107
+ }
108
+ return;
109
+ }
110
+ variant.variations.forEach((variationProperty) => {
111
+ const nameValueIdentifier = `${variationProperty.name}-${variationProperty.values[0]}`;
112
+ if (previouslySeenPropertyValues.has(nameValueIdentifier)) {
113
+ return;
114
+ }
115
+ previouslySeenPropertyValues.add(nameValueIdentifier);
116
+ const formattedVariant = {
117
+ src: variantImageToUse.imageUrl,
118
+ alt: variantImageToUse.imageLabel ?? '',
119
+ label: `${variationProperty.name}: ${variationProperty.values[0]}`,
120
+ value: variationProperty.values[0],
121
+ };
122
+ if (variantsByName[variationProperty.name]) {
123
+ variantsByName[variationProperty.name].push(formattedVariant);
124
+ }
125
+ else {
126
+ variantsByName[variationProperty.name] = [formattedVariant];
127
+ }
128
+ });
129
+ });
130
+ return sortVariants(variantsByName);
131
+ }
132
+ //# sourceMappingURL=skuVariants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skuVariants.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/utils/skuVariants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function slugify(str: string): string;