@sixtyninecommerce/client 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +141 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +6 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/commerce/age-verification.d.ts +8 -0
  6. package/dist/commerce/age-verification.d.ts.map +1 -0
  7. package/dist/commerce/age-verification.js +47 -0
  8. package/dist/commerce/age-verification.js.map +1 -0
  9. package/dist/commerce/branding.d.ts +6 -0
  10. package/dist/commerce/branding.d.ts.map +1 -0
  11. package/dist/commerce/branding.js +138 -0
  12. package/dist/commerce/branding.js.map +1 -0
  13. package/dist/commerce/checkout.d.ts.map +1 -1
  14. package/dist/commerce/checkout.js +5 -1
  15. package/dist/commerce/checkout.js.map +1 -1
  16. package/dist/commerce/customer.d.ts +26 -1
  17. package/dist/commerce/customer.d.ts.map +1 -1
  18. package/dist/commerce/customer.js +122 -15
  19. package/dist/commerce/customer.js.map +1 -1
  20. package/dist/commerce/favorites.d.ts +12 -0
  21. package/dist/commerce/favorites.d.ts.map +1 -0
  22. package/dist/commerce/favorites.js +30 -0
  23. package/dist/commerce/favorites.js.map +1 -0
  24. package/dist/commerce/index.d.ts +2 -2
  25. package/dist/commerce/index.d.ts.map +1 -1
  26. package/dist/commerce/index.js +34 -1
  27. package/dist/commerce/index.js.map +1 -1
  28. package/dist/commerce/payments.d.ts +8 -0
  29. package/dist/commerce/payments.d.ts.map +1 -0
  30. package/dist/commerce/payments.js +30 -0
  31. package/dist/commerce/payments.js.map +1 -0
  32. package/dist/commerce/products.d.ts +9 -7
  33. package/dist/commerce/products.d.ts.map +1 -1
  34. package/dist/commerce/products.js +93 -26
  35. package/dist/commerce/products.js.map +1 -1
  36. package/dist/commerce/queries.d.ts +41 -11
  37. package/dist/commerce/queries.d.ts.map +1 -1
  38. package/dist/commerce/queries.js +443 -81
  39. package/dist/commerce/queries.js.map +1 -1
  40. package/dist/commerce/quotes.d.ts +10 -0
  41. package/dist/commerce/quotes.d.ts.map +1 -0
  42. package/dist/commerce/quotes.js +33 -0
  43. package/dist/commerce/quotes.js.map +1 -0
  44. package/dist/commerce/recommendations.d.ts +6 -0
  45. package/dist/commerce/recommendations.d.ts.map +1 -0
  46. package/dist/commerce/recommendations.js +10 -0
  47. package/dist/commerce/recommendations.js.map +1 -0
  48. package/dist/commerce/reviews.d.ts +22 -0
  49. package/dist/commerce/reviews.d.ts.map +1 -0
  50. package/dist/commerce/reviews.js +168 -0
  51. package/dist/commerce/reviews.js.map +1 -0
  52. package/dist/commerce/search.d.ts +2 -2
  53. package/dist/commerce/search.d.ts.map +1 -1
  54. package/dist/commerce/search.js +6 -4
  55. package/dist/commerce/search.js.map +1 -1
  56. package/dist/commerce/shipping.d.ts +8 -0
  57. package/dist/commerce/shipping.d.ts.map +1 -0
  58. package/dist/commerce/shipping.js +109 -0
  59. package/dist/commerce/shipping.js.map +1 -0
  60. package/dist/commerce/stock-notifications.d.ts +7 -0
  61. package/dist/commerce/stock-notifications.d.ts.map +1 -0
  62. package/dist/commerce/stock-notifications.js +48 -0
  63. package/dist/commerce/stock-notifications.js.map +1 -0
  64. package/dist/commerce/subscriptions.d.ts +12 -0
  65. package/dist/commerce/subscriptions.d.ts.map +1 -0
  66. package/dist/commerce/subscriptions.js +54 -0
  67. package/dist/commerce/subscriptions.js.map +1 -0
  68. package/dist/commerce/vat-validation.d.ts +8 -0
  69. package/dist/commerce/vat-validation.d.ts.map +1 -0
  70. package/dist/commerce/vat-validation.js +43 -0
  71. package/dist/commerce/vat-validation.js.map +1 -0
  72. package/dist/constants.d.ts +2 -0
  73. package/dist/constants.d.ts.map +1 -1
  74. package/dist/constants.js +12 -0
  75. package/dist/constants.js.map +1 -1
  76. package/dist/content/assets.d.ts +4 -2
  77. package/dist/content/assets.d.ts.map +1 -1
  78. package/dist/content/assets.js +15 -11
  79. package/dist/content/assets.js.map +1 -1
  80. package/dist/content/collection-pages.d.ts +6 -0
  81. package/dist/content/collection-pages.d.ts.map +1 -0
  82. package/dist/content/collection-pages.js +12 -0
  83. package/dist/content/collection-pages.js.map +1 -0
  84. package/dist/content/filtered-products.d.ts +19 -0
  85. package/dist/content/filtered-products.d.ts.map +1 -0
  86. package/dist/content/filtered-products.js +18 -0
  87. package/dist/content/filtered-products.js.map +1 -0
  88. package/dist/content/forms.d.ts +2 -2
  89. package/dist/content/forms.d.ts.map +1 -1
  90. package/dist/content/forms.js +2 -2
  91. package/dist/content/forms.js.map +1 -1
  92. package/dist/content/index.d.ts.map +1 -1
  93. package/dist/content/index.js +4 -0
  94. package/dist/content/index.js.map +1 -1
  95. package/dist/content/items.d.ts +5 -2
  96. package/dist/content/items.d.ts.map +1 -1
  97. package/dist/content/items.js +51 -16
  98. package/dist/content/items.js.map +1 -1
  99. package/dist/content/menus.d.ts +3 -3
  100. package/dist/content/menus.d.ts.map +1 -1
  101. package/dist/content/menus.js +29 -11
  102. package/dist/content/menus.js.map +1 -1
  103. package/dist/content/resolve.d.ts +2 -2
  104. package/dist/content/resolve.d.ts.map +1 -1
  105. package/dist/content/resolve.js +2 -2
  106. package/dist/content/resolve.js.map +1 -1
  107. package/dist/content/sitemap.d.ts +6 -0
  108. package/dist/content/sitemap.d.ts.map +1 -0
  109. package/dist/content/sitemap.js +12 -0
  110. package/dist/content/sitemap.js.map +1 -0
  111. package/dist/content/strings.d.ts +2 -2
  112. package/dist/content/strings.d.ts.map +1 -1
  113. package/dist/content/strings.js +3 -3
  114. package/dist/content/strings.js.map +1 -1
  115. package/dist/core/context.d.ts.map +1 -1
  116. package/dist/core/context.js +12 -33
  117. package/dist/core/context.js.map +1 -1
  118. package/dist/core/http.d.ts +8 -4
  119. package/dist/core/http.d.ts.map +1 -1
  120. package/dist/core/http.js +259 -104
  121. package/dist/core/http.js.map +1 -1
  122. package/dist/credit/credit-status.d.ts +6 -0
  123. package/dist/credit/credit-status.d.ts.map +1 -0
  124. package/dist/credit/credit-status.js +26 -0
  125. package/dist/credit/credit-status.js.map +1 -0
  126. package/dist/credit/index.d.ts +4 -0
  127. package/dist/credit/index.d.ts.map +1 -0
  128. package/dist/credit/index.js +5 -0
  129. package/dist/credit/index.js.map +1 -0
  130. package/dist/index.d.ts +4 -2
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +2 -1
  133. package/dist/index.js.map +1 -1
  134. package/dist/media/index.d.ts +2 -1
  135. package/dist/media/index.d.ts.map +1 -1
  136. package/dist/media/index.js +35 -5
  137. package/dist/media/index.js.map +1 -1
  138. package/dist/media/urls.d.ts +3 -0
  139. package/dist/media/urls.d.ts.map +1 -1
  140. package/dist/media/urls.js +15 -1
  141. package/dist/media/urls.js.map +1 -1
  142. package/dist/media/video.d.ts +25 -0
  143. package/dist/media/video.d.ts.map +1 -0
  144. package/dist/media/video.js +109 -0
  145. package/dist/media/video.js.map +1 -0
  146. package/dist/navigation/routes.d.ts +4 -4
  147. package/dist/navigation/routes.d.ts.map +1 -1
  148. package/dist/navigation/routes.js +8 -8
  149. package/dist/navigation/routes.js.map +1 -1
  150. package/dist/pricing/validation.d.ts +0 -2
  151. package/dist/pricing/validation.d.ts.map +1 -1
  152. package/dist/pricing/validation.js +0 -10
  153. package/dist/pricing/validation.js.map +1 -1
  154. package/dist/seo/ai.d.ts +17 -0
  155. package/dist/seo/ai.d.ts.map +1 -0
  156. package/dist/seo/ai.js +32 -0
  157. package/dist/seo/ai.js.map +1 -0
  158. package/dist/seo/alternates.d.ts +4 -0
  159. package/dist/seo/alternates.d.ts.map +1 -0
  160. package/dist/seo/alternates.js +29 -0
  161. package/dist/seo/alternates.js.map +1 -0
  162. package/dist/seo/canonical.d.ts +4 -0
  163. package/dist/seo/canonical.d.ts.map +1 -0
  164. package/dist/seo/canonical.js +49 -0
  165. package/dist/seo/canonical.js.map +1 -0
  166. package/dist/seo/index.d.ts +9 -0
  167. package/dist/seo/index.d.ts.map +1 -0
  168. package/dist/seo/index.js +54 -0
  169. package/dist/seo/index.js.map +1 -0
  170. package/dist/seo/json-ld.d.ts +25 -0
  171. package/dist/seo/json-ld.d.ts.map +1 -0
  172. package/dist/seo/json-ld.js +113 -0
  173. package/dist/seo/json-ld.js.map +1 -0
  174. package/dist/seo/meta-tags.d.ts +58 -0
  175. package/dist/seo/meta-tags.d.ts.map +1 -0
  176. package/dist/seo/meta-tags.js +194 -0
  177. package/dist/seo/meta-tags.js.map +1 -0
  178. package/dist/seo/metadata-parser.d.ts +31 -0
  179. package/dist/seo/metadata-parser.d.ts.map +1 -0
  180. package/dist/seo/metadata-parser.js +180 -0
  181. package/dist/seo/metadata-parser.js.map +1 -0
  182. package/dist/seo/metadata-types.d.ts +63 -0
  183. package/dist/seo/metadata-types.d.ts.map +1 -0
  184. package/dist/seo/metadata-types.js +2 -0
  185. package/dist/seo/metadata-types.js.map +1 -0
  186. package/dist/seo/robots.d.ts +21 -0
  187. package/dist/seo/robots.d.ts.map +1 -0
  188. package/dist/seo/robots.js +39 -0
  189. package/dist/seo/robots.js.map +1 -0
  190. package/dist/seo/types.d.ts +54 -0
  191. package/dist/seo/types.d.ts.map +1 -0
  192. package/dist/seo/types.js +2 -0
  193. package/dist/seo/types.js.map +1 -0
  194. package/dist/seo/url-builder.d.ts +11 -0
  195. package/dist/seo/url-builder.d.ts.map +1 -0
  196. package/dist/seo/url-builder.js +40 -0
  197. package/dist/seo/url-builder.js.map +1 -0
  198. package/dist/types.d.ts +843 -32
  199. package/dist/types.d.ts.map +1 -1
  200. package/package.json +4 -3
@@ -0,0 +1,6 @@
1
+ import type { HttpClient } from '../core/http.js';
2
+ import type { RecommendedProductGroup } from '../types.js';
3
+ export declare function createRecommendationsMethods(http: HttpClient): {
4
+ getProductRecommendations(productId: string, groupSlug?: string): Promise<RecommendedProductGroup[]>;
5
+ };
6
+ //# sourceMappingURL=recommendations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../src/commerce/recommendations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG3D,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,UAAU;yCAG5C,MAAM,cACL,MAAM,GACjB,OAAO,CAAC,uBAAuB,EAAE,CAAC;EAOxC"}
@@ -0,0 +1,10 @@
1
+ import { GET_PRODUCT_RECOMMENDATIONS } from './queries.js';
2
+ export function createRecommendationsMethods(http) {
3
+ return {
4
+ async getProductRecommendations(productId, groupSlug) {
5
+ const data = await http.graphql(GET_PRODUCT_RECOMMENDATIONS, { productId, groupSlug });
6
+ return data.productRecommendations;
7
+ },
8
+ };
9
+ }
10
+ //# sourceMappingURL=recommendations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../src/commerce/recommendations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,UAAU,4BAA4B,CAAC,IAAgB;IAC3D,OAAO;QACL,KAAK,CAAC,yBAAyB,CAC7B,SAAiB,EACjB,SAAkB;YAElB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAE5B,2BAA2B,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,sBAAsB,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { HttpClient } from '../core/http.js';
2
+ import type { CreateReviewInput, CreateReviewResult, ProductReview, RecentReviewsOptions, ReviewAttribute, ReviewAttributeAggregation, ReviewChannelConfig, ReviewListOptions, ReviewMediaUploadResult, ReviewRatingSummary, UpdateReviewInput } from '../types.js';
3
+ export declare function createReviewMethods(http: HttpClient): {
4
+ getProductReviews(productId: string, options?: ReviewListOptions): Promise<{
5
+ items: ProductReview[];
6
+ totalItems: number;
7
+ nextCursor: string | null;
8
+ }>;
9
+ getRecentProductReviews(options?: RecentReviewsOptions): Promise<ProductReview[]>;
10
+ getReviewRatingSummary(productId: string): Promise<ReviewRatingSummary>;
11
+ getReviewAttributeAggregations(productId: string): Promise<ReviewAttributeAggregation[]>;
12
+ getReviewAttributes(productId?: string): Promise<ReviewAttribute[]>;
13
+ getMyReview(productId: string): Promise<ProductReview | null>;
14
+ getReviewChannelConfig(): Promise<ReviewChannelConfig>;
15
+ createReview(input: CreateReviewInput): Promise<CreateReviewResult>;
16
+ updateReview(id: string, input: UpdateReviewInput): Promise<ProductReview>;
17
+ deleteReview(id: string): Promise<boolean>;
18
+ voteReview(reviewId: string, isHelpful: boolean): Promise<boolean>;
19
+ reportReview(reviewId: string, reason: string): Promise<boolean>;
20
+ uploadReviewMedia(files: File[]): Promise<ReviewMediaUploadResult[]>;
21
+ };
22
+ //# sourceMappingURL=reviews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviews.d.ts","sourceRoot":"","sources":["../../src/commerce/reviews.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AA6GrB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU;iCAGnC,MAAM,YACP,iBAAiB,GAC1B,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;sCAO7C,oBAAoB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;sCAQ/C,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;8CAQ7B,MAAM,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;oCAOxD,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;2BAQ5C,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;8BAOnC,OAAO,CAAC,mBAAmB,CAAC;wBAOlC,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;qBAOlD,MAAM,SAAS,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;qBAQzD,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;yBAKrB,MAAM,aAAa,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;2BAQ3C,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;6BAQvC,IAAI,EAAE,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;EAc7E"}
@@ -0,0 +1,168 @@
1
+ const REVIEW_FRAGMENT = `
2
+ id rating title body status variantId
3
+ isVerifiedPurchase isEdited customerDisplayName
4
+ imageAssetIds videoAssetIds attributeValues
5
+ helpfulCount notHelpfulCount
6
+ merchantReply merchantReplyAt myVote
7
+ createdAt updatedAt
8
+ `;
9
+ const GET_PRODUCT_REVIEWS = `
10
+ query ProductReviews($productId: ID!, $options: ProductReviewListOptions) {
11
+ productReviews(productId: $productId, options: $options) {
12
+ items { ${REVIEW_FRAGMENT} }
13
+ totalItems
14
+ nextCursor
15
+ }
16
+ }
17
+ `;
18
+ const GET_RECENT_PRODUCT_REVIEWS = `
19
+ query RecentProductReviews($options: RecentReviewsOptions) {
20
+ recentProductReviews(options: $options) { ${REVIEW_FRAGMENT} }
21
+ }
22
+ `;
23
+ const GET_RATING_SUMMARY = `
24
+ query ProductRatingSummary($productId: ID!) {
25
+ productRatingSummary(productId: $productId) {
26
+ averageRating reviewCount ratingCount
27
+ distribution { one two three four five }
28
+ }
29
+ }
30
+ `;
31
+ const GET_ATTRIBUTE_AGGREGATIONS = `
32
+ query ProductReviewAttributeAggregations($productId: ID!) {
33
+ productReviewAttributeAggregations(productId: $productId) {
34
+ attributeId label inputType averageRating distribution
35
+ }
36
+ }
37
+ `;
38
+ const GET_REVIEW_ATTRIBUTES = `
39
+ query ReviewAttributes($productId: ID) {
40
+ reviewAttributes(productId: $productId) {
41
+ id slug label inputType options isRequired section
42
+ }
43
+ }
44
+ `;
45
+ const GET_MY_REVIEW = `
46
+ query MyProductReview($productId: ID!) {
47
+ myProductReview(productId: $productId) { ${REVIEW_FRAGMENT} }
48
+ }
49
+ `;
50
+ const GET_CHANNEL_CONFIG = `
51
+ query ReviewChannelConfig {
52
+ reviewChannelConfig {
53
+ reviewsEnabled reviewsRequireText reviewsAllowMedia
54
+ reviewsAllowVoting reviewsAllowRating
55
+ reviewMinBodyLength reviewMaxTitleLength reviewMaxImages reviewMaxVideos
56
+ }
57
+ }
58
+ `;
59
+ const CREATE_REVIEW = `
60
+ mutation CreateProductReview($input: CreateProductReviewInput!) {
61
+ createProductReview(input: $input) {
62
+ review { ${REVIEW_FRAGMENT} }
63
+ requiresModeration
64
+ }
65
+ }
66
+ `;
67
+ const UPDATE_REVIEW = `
68
+ mutation UpdateProductReview($id: ID!, $input: UpdateProductReviewInput!) {
69
+ updateProductReview(id: $id, input: $input) { ${REVIEW_FRAGMENT} }
70
+ }
71
+ `;
72
+ const DELETE_REVIEW = `
73
+ mutation DeleteProductReview($id: ID!) {
74
+ deleteProductReview(id: $id)
75
+ }
76
+ `;
77
+ const VOTE_REVIEW = `
78
+ mutation VoteProductReview($reviewId: ID!, $isHelpful: Boolean!) {
79
+ voteProductReview(reviewId: $reviewId, isHelpful: $isHelpful)
80
+ }
81
+ `;
82
+ const REPORT_REVIEW = `
83
+ mutation ReportProductReview($reviewId: ID!, $reason: String!) {
84
+ reportProductReview(reviewId: $reviewId, reason: $reason)
85
+ }
86
+ `;
87
+ const UPLOAD_REVIEW_MEDIA = `
88
+ mutation UploadReviewMedia($files: [Upload!]!) {
89
+ uploadReviewMedia(files: $files) {
90
+ id preview mimeType
91
+ }
92
+ }
93
+ `;
94
+ export function createReviewMethods(http) {
95
+ return {
96
+ async getProductReviews(productId, options) {
97
+ const data = await http.graphql(GET_PRODUCT_REVIEWS, { productId, options });
98
+ return data.productReviews;
99
+ },
100
+ async getRecentProductReviews(options) {
101
+ const data = await http.graphql(GET_RECENT_PRODUCT_REVIEWS, { options });
102
+ return data.recentProductReviews;
103
+ },
104
+ async getReviewRatingSummary(productId) {
105
+ const data = await http.graphql(GET_RATING_SUMMARY, { productId });
106
+ return data.productRatingSummary;
107
+ },
108
+ async getReviewAttributeAggregations(productId) {
109
+ const data = await http.graphql(GET_ATTRIBUTE_AGGREGATIONS, { productId });
110
+ return data.productReviewAttributeAggregations;
111
+ },
112
+ async getReviewAttributes(productId) {
113
+ const data = await http.graphql(GET_REVIEW_ATTRIBUTES, { productId });
114
+ return data.reviewAttributes;
115
+ },
116
+ async getMyReview(productId) {
117
+ const data = await http.graphql(GET_MY_REVIEW, {
118
+ productId,
119
+ });
120
+ return data.myProductReview;
121
+ },
122
+ async getReviewChannelConfig() {
123
+ const data = await http.graphql(GET_CHANNEL_CONFIG);
124
+ return data.reviewChannelConfig;
125
+ },
126
+ async createReview(input) {
127
+ const data = await http.graphql(CREATE_REVIEW, {
128
+ input,
129
+ });
130
+ return data.createProductReview;
131
+ },
132
+ async updateReview(id, input) {
133
+ const data = await http.graphql(UPDATE_REVIEW, {
134
+ id,
135
+ input,
136
+ });
137
+ return data.updateProductReview;
138
+ },
139
+ async deleteReview(id) {
140
+ const data = await http.graphql(DELETE_REVIEW, { id });
141
+ return data.deleteProductReview;
142
+ },
143
+ async voteReview(reviewId, isHelpful) {
144
+ const data = await http.graphql(VOTE_REVIEW, {
145
+ reviewId,
146
+ isHelpful,
147
+ });
148
+ return data.voteProductReview;
149
+ },
150
+ async reportReview(reviewId, reason) {
151
+ const data = await http.graphql(REPORT_REVIEW, {
152
+ reviewId,
153
+ reason,
154
+ });
155
+ return data.reportProductReview;
156
+ },
157
+ async uploadReviewMedia(files) {
158
+ const fileMap = new Map();
159
+ files.forEach((file, index) => {
160
+ fileMap.set(`variables.files.${String(index)}`, file);
161
+ });
162
+ const variables = { files: files.map(() => null) };
163
+ const data = await http.graphqlUpload(UPLOAD_REVIEW_MEDIA, variables, fileMap);
164
+ return data.uploadReviewMedia;
165
+ },
166
+ };
167
+ }
168
+ //# sourceMappingURL=reviews.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviews.js","sourceRoot":"","sources":["../../src/commerce/reviews.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { HttpClient } from '../core/http.js';
2
- import type { SearchInput, SearchResult } from '../types.js';
2
+ import type { RequestOptions, SearchInput, SearchResult } from '../types.js';
3
3
  export declare function createSearchMethods(http: HttpClient): {
4
- searchProducts(input: SearchInput): Promise<SearchResult>;
4
+ searchProducts(input: SearchInput, options?: RequestOptions): Promise<SearchResult>;
5
5
  };
6
6
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU;0BAEpB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;EAclE"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU;0BAEpB,WAAW,YAAY,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;EAkB5F"}
@@ -1,21 +1,23 @@
1
1
  import { SEARCH_PRODUCTS } from './queries.js';
2
2
  export function createSearchMethods(http) {
3
3
  return {
4
- async searchProducts(input) {
4
+ async searchProducts(input, options) {
5
5
  const vars = { term: input.term };
6
6
  if (input.collectionSlug)
7
7
  vars.collectionSlug = input.collectionSlug;
8
+ if (input.collectionId)
9
+ vars.collectionId = input.collectionId;
8
10
  if (input.facetValueIds?.length)
9
11
  vars.facetValueIds = input.facetValueIds;
12
+ if (input.facetValueFilters?.length)
13
+ vars.facetValueFilters = input.facetValueFilters;
10
14
  if (input.take != null)
11
15
  vars.take = input.take;
12
16
  if (input.skip != null)
13
17
  vars.skip = input.skip;
14
18
  if (input.sort)
15
19
  vars.sort = input.sort;
16
- const data = await http.graphql(SEARCH_PRODUCTS, {
17
- input: vars,
18
- });
20
+ const data = await http.graphql(SEARCH_PRODUCTS, { input: vars }, options);
19
21
  return data.search;
20
22
  },
21
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,KAAkB;YACrC,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACrE,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAA2B,eAAe,EAAE;gBACzE,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,KAAkB,EAAE,OAAwB;YAC/D,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACrE,IAAI,KAAK,CAAC,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAC/D,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,iBAAiB,EAAE,MAAM;gBAAE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACtF,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,eAAe,EACf,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,OAAO,CACR,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { HttpClient } from '../core/http.js';
2
+ import type { DeliveryOption, DeliveryOptionsInput, DropOffPoint, DropOffPointInput, ShipmentTrackingInfo } from '../types.js';
3
+ export declare function createShippingMethods(http: HttpClient): {
4
+ getDropOffPoints(input: DropOffPointInput): Promise<DropOffPoint[]>;
5
+ getDeliveryOptions(input: DeliveryOptionsInput): Promise<DeliveryOption[]>;
6
+ trackShipment(barcode: string, postalCode: string): Promise<ShipmentTrackingInfo | null>;
7
+ };
8
+ //# sourceMappingURL=shipping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipping.d.ts","sourceRoot":"","sources":["../../src/commerce/shipping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAmIrB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU;4BAEpB,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;8BAQzC,oBAAoB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;2BAQnD,MAAM,cAAc,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;EAQjG"}
@@ -0,0 +1,109 @@
1
+ const DROP_OFF_POINTS = `
2
+ query MyparcelDropOffPoints($input: MyparcelDropOffPointInput!) {
3
+ myparcelDropOffPoints(input: $input) {
4
+ location_code
5
+ location_name
6
+ street
7
+ number
8
+ number_suffix
9
+ postal_code
10
+ city
11
+ cc
12
+ phone
13
+ reference
14
+ longitude
15
+ latitude
16
+ available_days
17
+ cut_off_time
18
+ carrier_id
19
+ distance
20
+ }
21
+ }
22
+ `;
23
+ const DELIVERY_OPTIONS = `
24
+ query MyparcelDeliveryOptions($input: MyparcelDeliveryOptionsInput!) {
25
+ myparcelDeliveryOptions(input: $input) {
26
+ date
27
+ time {
28
+ start
29
+ end
30
+ price_comment
31
+ }
32
+ }
33
+ }
34
+ `;
35
+ const TRACK_SHIPMENT = `
36
+ query MyparcelTrackShipment($barcode: String!, $postalCode: String!) {
37
+ myparcelTrackShipment(barcode: $barcode, postalCode: $postalCode) {
38
+ shipment_id
39
+ status {
40
+ current
41
+ final
42
+ }
43
+ history {
44
+ status
45
+ time
46
+ }
47
+ barcode
48
+ link_consumer_portal
49
+ }
50
+ }
51
+ `;
52
+ function mapDropOffPoint(raw) {
53
+ return {
54
+ locationCode: raw.location_code,
55
+ locationName: raw.location_name,
56
+ street: raw.street,
57
+ number: raw.number,
58
+ numberSuffix: raw.number_suffix,
59
+ postalCode: raw.postal_code,
60
+ city: raw.city,
61
+ countryCode: raw.cc,
62
+ phone: raw.phone,
63
+ reference: raw.reference,
64
+ longitude: raw.longitude,
65
+ latitude: raw.latitude,
66
+ availableDays: raw.available_days,
67
+ cutOffTime: raw.cut_off_time,
68
+ carrierId: raw.carrier_id,
69
+ distance: raw.distance,
70
+ };
71
+ }
72
+ function mapDeliveryOption(raw) {
73
+ return {
74
+ date: raw.date,
75
+ time: raw.time.map((t) => ({
76
+ start: t.start,
77
+ end: t.end,
78
+ priceComment: t.price_comment,
79
+ })),
80
+ };
81
+ }
82
+ function mapTracking(raw) {
83
+ if (!raw)
84
+ return null;
85
+ return {
86
+ shipmentId: raw.shipment_id,
87
+ status: raw.status,
88
+ history: raw.history,
89
+ barcode: raw.barcode,
90
+ consumerPortalLink: raw.link_consumer_portal,
91
+ };
92
+ }
93
+ export function createShippingMethods(http) {
94
+ return {
95
+ async getDropOffPoints(input) {
96
+ const data = await http.graphql(DROP_OFF_POINTS, { input });
97
+ return data.myparcelDropOffPoints.map(mapDropOffPoint);
98
+ },
99
+ async getDeliveryOptions(input) {
100
+ const data = await http.graphql(DELIVERY_OPTIONS, { input });
101
+ return data.myparcelDeliveryOptions.map(mapDeliveryOption);
102
+ },
103
+ async trackShipment(barcode, postalCode) {
104
+ const data = await http.graphql(TRACK_SHIPMENT, { barcode, postalCode });
105
+ return mapTracking(data.myparcelTrackShipment);
106
+ },
107
+ };
108
+ }
109
+ //# sourceMappingURL=shipping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipping.js","sourceRoot":"","sources":["../../src/commerce/shipping.ts"],"names":[],"mappings":"AASA,MAAM,eAAe,GAAiB;;;;;;;;;;;;;;;;;;;;;CAqBrC,CAAC;AAEF,MAAM,gBAAgB,GAAiB;;;;;;;;;;;CAWtC,CAAC;AAEF,MAAM,cAAc,GAAiB;;;;;;;;;;;;;;;;CAgBpC,CAAC;AAkCF,SAAS,eAAe,CAAC,GAAoB;IAC3C,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,EAAE;QACnB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAsB;IAC/C,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,YAAY,EAAE,CAAC,CAAC,aAAa;SAC9B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAA6B;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAgB;IACpD,OAAO;QACL,KAAK,CAAC,gBAAgB,CAAC,KAAwB;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,eAAe,EACf,EAAE,KAAK,EAAE,CACV,CAAC;YACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,KAA2B;YAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,gBAAgB,EAChB,EAAE,KAAK,EAAE,CACV,CAAC;YACF,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,UAAkB;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,cAAc,EACd,EAAE,OAAO,EAAE,UAAU,EAAE,CACxB,CAAC;YACF,OAAO,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { HttpClient } from '../core/http.js';
2
+ import type { StockNotificationSubscriptionResult } from '../types.js';
3
+ export declare function createStockNotificationsMethods(http: HttpClient): {
4
+ subscribeToStockNotification(productVariantId: string, emailAddress?: string): Promise<StockNotificationSubscriptionResult>;
5
+ unsubscribeFromStockNotification(token: string): Promise<boolean>;
6
+ };
7
+ //# sourceMappingURL=stock-notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-notifications.d.ts","sourceRoot":"","sources":["../../src/commerce/stock-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC;AA2CvE,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,UAAU;mDAUxC,MAAM,iBACT,MAAM,GACpB,OAAO,CAAC,mCAAmC,CAAC;4CAwBD,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;EAQ1E"}
@@ -0,0 +1,48 @@
1
+ import { MutationError } from '../errors.js';
2
+ const SUBSCRIBE_TO_STOCK_NOTIFICATION = `
3
+ mutation SubscribeToStockNotification($productVariantId: ID!, $emailAddress: String) {
4
+ subscribeToStockNotification(
5
+ productVariantId: $productVariantId
6
+ emailAddress: $emailAddress
7
+ ) {
8
+ __typename
9
+ ... on StockNotificationSubscription {
10
+ id
11
+ productVariantId
12
+ emailAddress
13
+ createdAt
14
+ }
15
+ ... on ErrorResult {
16
+ errorCode
17
+ message
18
+ }
19
+ }
20
+ }
21
+ `;
22
+ const UNSUBSCRIBE_FROM_STOCK_NOTIFICATION = `
23
+ mutation UnsubscribeFromStockNotification($token: String!) {
24
+ unsubscribeFromStockNotification(token: $token)
25
+ }
26
+ `;
27
+ export function createStockNotificationsMethods(http) {
28
+ return {
29
+ async subscribeToStockNotification(productVariantId, emailAddress) {
30
+ const data = await http.graphql(SUBSCRIBE_TO_STOCK_NOTIFICATION, { productVariantId, emailAddress });
31
+ const result = data.subscribeToStockNotification;
32
+ if (result.__typename === 'StockNotificationSubscription') {
33
+ return {
34
+ id: result.id ?? '',
35
+ productVariantId: result.productVariantId ?? '',
36
+ emailAddress: result.emailAddress ?? '',
37
+ createdAt: result.createdAt ?? '',
38
+ };
39
+ }
40
+ throw new MutationError(result.errorCode ?? 'STOCK_NOTIFICATION_ERROR', result.message ?? 'Stock notification subscription failed');
41
+ },
42
+ async unsubscribeFromStockNotification(token) {
43
+ const data = await http.graphql(UNSUBSCRIBE_FROM_STOCK_NOTIFICATION, { token });
44
+ return data.unsubscribeFromStockNotification;
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=stock-notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-notifications.js","sourceRoot":"","sources":["../../src/commerce/stock-notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;CAmBvC,CAAC;AAEF,MAAM,mCAAmC,GAAG;;;;CAI3C,CAAC;AAgBF,MAAM,UAAU,+BAA+B,CAAC,IAAgB;IAC9D,OAAO;QAQL,KAAK,CAAC,4BAA4B,CAChC,gBAAwB,EACxB,YAAqB;YAErB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,+BAA+B,EAC/B,EAAE,gBAAgB,EAAE,YAAY,EAAE,CACnC,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC;YACjD,IAAI,MAAM,CAAC,UAAU,KAAK,+BAA+B,EAAE,CAAC;gBAC1D,OAAO;oBACL,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE;oBACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;oBAC/C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;oBACvC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;iBAClC,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,MAAM,CAAC,SAAS,IAAI,0BAA0B,EAC9C,MAAM,CAAC,OAAO,IAAI,wCAAwC,CAC3D,CAAC;QACJ,CAAC;QAMD,KAAK,CAAC,gCAAgC,CAAC,KAAa;YAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,mCAAmC,EACnC,EAAE,KAAK,EAAE,CACV,CAAC;YACF,OAAO,IAAI,CAAC,gCAAgC,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { HttpClient } from '../core/http.js';
2
+ import type { CustomerSubscription } from '../types.js';
3
+ export declare function createSubscriptionsMethods(http: HttpClient): {
4
+ getMySubscriptions(): Promise<CustomerSubscription[]>;
5
+ pauseMySubscription(id: string, reason?: string): Promise<CustomerSubscription>;
6
+ resumeMySubscription(id: string): Promise<CustomerSubscription>;
7
+ cancelMySubscription(id: string, options?: {
8
+ reason?: string;
9
+ immediate?: boolean;
10
+ }): Promise<CustomerSubscription>;
11
+ };
12
+ //# sourceMappingURL=subscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/commerce/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAwCxD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU;0BAE3B,OAAO,CAAC,oBAAoB,EAAE,CAAC;4BAO7B,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;6BAQtD,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;6BAS/D,MAAM,YACA;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GACjD,OAAO,CAAC,oBAAoB,CAAC;EAQnC"}
@@ -0,0 +1,54 @@
1
+ const SUBSCRIPTION_FIELDS = `
2
+ id
3
+ planName
4
+ currencyCode
5
+ recurringPrice
6
+ billingInterval
7
+ currentStatus
8
+ currentPeriodStart
9
+ currentPeriodEnd
10
+ nextRenewalAt
11
+ cancelAtPeriodEnd
12
+ createdAt
13
+ `;
14
+ const MY_SUBSCRIPTIONS = `
15
+ query MySubscriptions {
16
+ mySubscriptions { ${SUBSCRIPTION_FIELDS} }
17
+ }
18
+ `;
19
+ const PAUSE_MY_SUBSCRIPTION = `
20
+ mutation PauseMySubscription($id: ID!, $reason: String) {
21
+ pauseMySubscription(id: $id, reason: $reason) { ${SUBSCRIPTION_FIELDS} }
22
+ }
23
+ `;
24
+ const RESUME_MY_SUBSCRIPTION = `
25
+ mutation ResumeMySubscription($id: ID!) {
26
+ resumeMySubscription(id: $id) { ${SUBSCRIPTION_FIELDS} }
27
+ }
28
+ `;
29
+ const CANCEL_MY_SUBSCRIPTION = `
30
+ mutation CancelMySubscription($id: ID!, $reason: String, $immediate: Boolean) {
31
+ cancelMySubscription(id: $id, reason: $reason, immediate: $immediate) { ${SUBSCRIPTION_FIELDS} }
32
+ }
33
+ `;
34
+ export function createSubscriptionsMethods(http) {
35
+ return {
36
+ async getMySubscriptions() {
37
+ const data = await http.graphql(MY_SUBSCRIPTIONS);
38
+ return data.mySubscriptions;
39
+ },
40
+ async pauseMySubscription(id, reason) {
41
+ const data = await http.graphql(PAUSE_MY_SUBSCRIPTION, { id, reason });
42
+ return data.pauseMySubscription;
43
+ },
44
+ async resumeMySubscription(id) {
45
+ const data = await http.graphql(RESUME_MY_SUBSCRIPTION, { id });
46
+ return data.resumeMySubscription;
47
+ },
48
+ async cancelMySubscription(id, options) {
49
+ const data = await http.graphql(CANCEL_MY_SUBSCRIPTION, { id, reason: options?.reason, immediate: options?.immediate ?? false });
50
+ return data.cancelMySubscription;
51
+ },
52
+ };
53
+ }
54
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/commerce/subscriptions.ts"],"names":[],"mappings":"AAGA,MAAM,mBAAmB,GAAG;;;;;;;;;;;;CAY3B,CAAC;AAEF,MAAM,gBAAgB,GAAG;;wBAED,mBAAmB;;CAE1C,CAAC;AAEF,MAAM,qBAAqB,GAAG;;sDAEwB,mBAAmB;;CAExE,CAAC;AAEF,MAAM,sBAAsB,GAAG;;sCAEO,mBAAmB;;CAExD,CAAC;AAEF,MAAM,sBAAsB,GAAG;;8EAE+C,mBAAmB;;CAEhG,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAAgB;IACzD,OAAO;QACL,KAAK,CAAC,kBAAkB;YACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,gBAAgB,CACjB,CAAC;YACF,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,MAAe;YACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,qBAAqB,EACrB,EAAE,EAAE,EAAE,MAAM,EAAE,CACf,CAAC;YACF,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,EAAU;YACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,sBAAsB,EACtB,EAAE,EAAE,EAAE,CACP,CAAC;YACF,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,oBAAoB,CACxB,EAAU,EACV,OAAkD;YAElD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,sBAAsB,EACtB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,CACxE,CAAC;YACF,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { HttpClient } from '../core/http.js';
2
+ import type { VatValidationResult } from '../types.js';
3
+ export declare function createVatValidationMethods(http: HttpClient): {
4
+ getMyVatValidationStatus(): Promise<VatValidationResult | null>;
5
+ setMyVatNumber(vatNumber: string): Promise<VatValidationResult>;
6
+ clearMyVatNumber(): Promise<boolean>;
7
+ };
8
+ //# sourceMappingURL=vat-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vat-validation.d.ts","sourceRoot":"","sources":["../../src/commerce/vat-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA8BvD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU;gCAErB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;8BAOrC,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;wBAO3C,OAAO,CAAC,OAAO,CAAC;EAK7C"}
@@ -0,0 +1,43 @@
1
+ const VAT_FIELDS = `
2
+ status
3
+ vatNumber
4
+ countryCode
5
+ companyName
6
+ companyAddress
7
+ validatedAt
8
+ error
9
+ `;
10
+ const MY_VAT_VALIDATION_STATUS = `
11
+ query MyVatValidationStatus {
12
+ myVatValidationStatus { ${VAT_FIELDS} }
13
+ }
14
+ `;
15
+ const SET_MY_VAT_NUMBER = `
16
+ mutation SetMyVatNumber($vatNumber: String!) {
17
+ setMyVatNumber(vatNumber: $vatNumber) { ${VAT_FIELDS} }
18
+ }
19
+ `;
20
+ const CLEAR_MY_VAT_NUMBER = `
21
+ mutation ClearMyVatNumber {
22
+ clearMyVatNumber
23
+ }
24
+ `;
25
+ export function createVatValidationMethods(http) {
26
+ return {
27
+ async getMyVatValidationStatus() {
28
+ const data = await http.graphql(MY_VAT_VALIDATION_STATUS);
29
+ return data.myVatValidationStatus;
30
+ },
31
+ async setMyVatNumber(vatNumber) {
32
+ const data = await http.graphql(SET_MY_VAT_NUMBER, {
33
+ vatNumber,
34
+ });
35
+ return data.setMyVatNumber;
36
+ },
37
+ async clearMyVatNumber() {
38
+ const data = await http.graphql(CLEAR_MY_VAT_NUMBER);
39
+ return data.clearMyVatNumber;
40
+ },
41
+ };
42
+ }
43
+ //# sourceMappingURL=vat-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vat-validation.js","sourceRoot":"","sources":["../../src/commerce/vat-validation.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAiB;;;;;;;;CAQhC,CAAC;AAEF,MAAM,wBAAwB,GAAiB;;8BAEjB,UAAU;;CAEvC,CAAC;AAEF,MAAM,iBAAiB,GAAiB;;8CAEM,UAAU;;CAEvD,CAAC;AAEF,MAAM,mBAAmB,GAAiB;;;;CAIzC,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAAgB;IACzD,OAAO;QACL,KAAK,CAAC,wBAAwB;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,wBAAwB,CACzB,CAAC;YACF,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,SAAiB;YACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAA0C,iBAAiB,EAAE;gBAC1F,SAAS;aACV,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,gBAAgB;YACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAgC,mBAAmB,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -4,4 +4,6 @@ export declare const DEFAULT_PLUGINS_URL = "https://plugins.sixtyninecommerce.co
4
4
  export declare const SHOP_API_PATH = "/shop-api";
5
5
  export declare const REQUEST_TIMEOUT_MS = 15000;
6
6
  export declare const INIT_TIMEOUT_MS = 10000;
7
+ export declare const RESERVED_STOREFRONT_PATHS: readonly ["cart", "checkout", "account", "sign-in", "register", "forgot-password", "reset-password", "verify", "verify-pending", "api"];
8
+ export type ReservedStorefrontPath = (typeof RESERVED_STOREFRONT_PATHS)[number];
7
9
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAG1E,eAAO,MAAM,eAAe,sCAAsC,CAAC;AAGnE,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAG3E,eAAO,MAAM,aAAa,cAAc,CAAC;AAGzC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAGzC,eAAO,MAAM,eAAe,QAAS,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAG1E,eAAO,MAAM,eAAe,sCAAsC,CAAC;AAGnE,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAG3E,eAAO,MAAM,aAAa,cAAc,CAAC;AAGzC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAGzC,eAAO,MAAM,eAAe,QAAS,CAAC;AAatC,eAAO,MAAM,yBAAyB,yIAW5B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/dist/constants.js CHANGED
@@ -4,4 +4,16 @@ export const DEFAULT_PLUGINS_URL = 'https://plugins.sixtyninecommerce.com';
4
4
  export const SHOP_API_PATH = '/shop-api';
5
5
  export const REQUEST_TIMEOUT_MS = 15_000;
6
6
  export const INIT_TIMEOUT_MS = 10_000;
7
+ export const RESERVED_STOREFRONT_PATHS = [
8
+ 'cart',
9
+ 'checkout',
10
+ 'account',
11
+ 'sign-in',
12
+ 'register',
13
+ 'forgot-password',
14
+ 'reset-password',
15
+ 'verify',
16
+ 'verify-pending',
17
+ 'api',
18
+ ];
7
19
  //# sourceMappingURL=constants.js.map