medusa-storefront-data 1.0.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 (105) hide show
  1. package/dist/config.d.ts +3 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js +31 -0
  4. package/dist/cookies.d.ts +23 -0
  5. package/dist/cookies.d.ts.map +1 -0
  6. package/dist/cookies.js +140 -0
  7. package/dist/server/cart.d.ts +92 -0
  8. package/dist/server/cart.d.ts.map +1 -0
  9. package/dist/server/cart.js +827 -0
  10. package/dist/server/categories.d.ts +3 -0
  11. package/dist/server/categories.d.ts.map +1 -0
  12. package/dist/server/categories.js +71 -0
  13. package/dist/server/collections.d.ts +8 -0
  14. package/dist/server/collections.d.ts.map +1 -0
  15. package/dist/server/collections.js +84 -0
  16. package/dist/server/customer-registration.d.ts +142 -0
  17. package/dist/server/customer-registration.d.ts.map +1 -0
  18. package/dist/server/customer-registration.js +295 -0
  19. package/dist/server/customer.d.ts +48 -0
  20. package/dist/server/customer.d.ts.map +1 -0
  21. package/dist/server/customer.js +462 -0
  22. package/dist/server/dynamic-config.d.ts +125 -0
  23. package/dist/server/dynamic-config.d.ts.map +1 -0
  24. package/dist/server/dynamic-config.js +263 -0
  25. package/dist/server/fulfillment.d.ts +4 -0
  26. package/dist/server/fulfillment.d.ts.map +1 -0
  27. package/dist/server/fulfillment.js +72 -0
  28. package/dist/server/guest.d.ts +109 -0
  29. package/dist/server/guest.d.ts.map +1 -0
  30. package/dist/server/guest.js +304 -0
  31. package/dist/server/index.d.ts +21 -0
  32. package/dist/server/index.d.ts.map +1 -0
  33. package/dist/server/index.js +20 -0
  34. package/dist/server/locale-actions.d.ts +14 -0
  35. package/dist/server/locale-actions.d.ts.map +1 -0
  36. package/dist/server/locale-actions.js +63 -0
  37. package/dist/server/locales.d.ts +10 -0
  38. package/dist/server/locales.d.ts.map +1 -0
  39. package/dist/server/locales.js +20 -0
  40. package/dist/server/notifications.d.ts +2 -0
  41. package/dist/server/notifications.d.ts.map +1 -0
  42. package/dist/server/notifications.js +20 -0
  43. package/dist/server/onboarding.d.ts +2 -0
  44. package/dist/server/onboarding.d.ts.map +1 -0
  45. package/dist/server/onboarding.js +8 -0
  46. package/dist/server/orders.d.ts +69 -0
  47. package/dist/server/orders.d.ts.map +1 -0
  48. package/dist/server/orders.js +371 -0
  49. package/dist/server/payment-details.d.ts +5 -0
  50. package/dist/server/payment-details.d.ts.map +1 -0
  51. package/dist/server/payment-details.js +53 -0
  52. package/dist/server/payment.d.ts +2 -0
  53. package/dist/server/payment.d.ts.map +1 -0
  54. package/dist/server/payment.js +25 -0
  55. package/dist/server/products.d.ts +58 -0
  56. package/dist/server/products.d.ts.map +1 -0
  57. package/dist/server/products.js +285 -0
  58. package/dist/server/regions.d.ts +5 -0
  59. package/dist/server/regions.d.ts.map +1 -0
  60. package/dist/server/regions.js +54 -0
  61. package/dist/server/returns.d.ts +29 -0
  62. package/dist/server/returns.d.ts.map +1 -0
  63. package/dist/server/returns.js +236 -0
  64. package/dist/server/swaps.d.ts +14 -0
  65. package/dist/server/swaps.d.ts.map +1 -0
  66. package/dist/server/swaps.js +123 -0
  67. package/dist/server/variants.d.ts +3 -0
  68. package/dist/server/variants.d.ts.map +1 -0
  69. package/dist/server/variants.js +26 -0
  70. package/dist/util/get-locale-header.d.ts +4 -0
  71. package/dist/util/get-locale-header.d.ts.map +1 -0
  72. package/dist/util/get-locale-header.js +7 -0
  73. package/dist/util/medusa-error.d.ts +2 -0
  74. package/dist/util/medusa-error.d.ts.map +1 -0
  75. package/dist/util/medusa-error.js +18 -0
  76. package/package.json +152 -0
  77. package/src/config.ts +39 -0
  78. package/src/cookies.ts +171 -0
  79. package/src/middleware.ts +2 -0
  80. package/src/server/cart.ts +1054 -0
  81. package/src/server/categories.ts +94 -0
  82. package/src/server/collections.ts +113 -0
  83. package/src/server/customer-registration.ts +349 -0
  84. package/src/server/customer.ts +581 -0
  85. package/src/server/dynamic-config.ts +403 -0
  86. package/src/server/fulfillment.ts +97 -0
  87. package/src/server/guest.ts +333 -0
  88. package/src/server/index.ts +21 -0
  89. package/src/server/locale-actions.ts +74 -0
  90. package/src/server/locales.ts +28 -0
  91. package/src/server/notifications.ts +22 -0
  92. package/src/server/onboarding.ts +9 -0
  93. package/src/server/orders.ts +467 -0
  94. package/src/server/payment-details.ts +69 -0
  95. package/src/server/payment.ts +35 -0
  96. package/src/server/products.ts +378 -0
  97. package/src/server/regions.ts +66 -0
  98. package/src/server/returns.ts +294 -0
  99. package/src/server/swaps.ts +150 -0
  100. package/src/server/variants.ts +38 -0
  101. package/src/server/wishlist.ts +64 -0
  102. package/src/services/middleware.ts +54 -0
  103. package/src/util/get-locale-header.ts +8 -0
  104. package/src/util/medusa-error.ts +19 -0
  105. package/src/util/sort-products.ts +47 -0
@@ -0,0 +1,3 @@
1
+ import Medusa from "@medusajs/js-sdk";
2
+ export declare const sdk: Medusa;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,MAAiC,MAAM,kBAAkB,CAAA;AAShE,eAAO,MAAM,GAAG,QAId,CAAA"}
package/dist/config.js ADDED
@@ -0,0 +1,31 @@
1
+ import { getLocaleHeader } from "./util/get-locale-header";
2
+ import Medusa from "@medusajs/js-sdk";
3
+ // Defaults to standard port for Medusa server
4
+ let MEDUSA_BACKEND_URL = "http://localhost:9000";
5
+ if (process.env.MEDUSA_BACKEND_URL) {
6
+ MEDUSA_BACKEND_URL = process.env.MEDUSA_BACKEND_URL;
7
+ }
8
+ export const sdk = new Medusa({
9
+ baseUrl: MEDUSA_BACKEND_URL,
10
+ debug: process.env.NODE_ENV === "development",
11
+ publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
12
+ });
13
+ const originalFetch = sdk.client.fetch.bind(sdk.client);
14
+ sdk.client.fetch = async (input, init) => {
15
+ const headers = init?.headers ?? {};
16
+ let localeHeader;
17
+ try {
18
+ localeHeader = await getLocaleHeader();
19
+ headers["x-medusa-locale"] ??= localeHeader["x-medusa-locale"];
20
+ }
21
+ catch { }
22
+ const newHeaders = {
23
+ ...localeHeader,
24
+ ...headers,
25
+ };
26
+ init = {
27
+ ...init,
28
+ headers: newHeaders,
29
+ };
30
+ return originalFetch(input, init);
31
+ };
@@ -0,0 +1,23 @@
1
+ import "server-only";
2
+ export declare const getAuthHeaders: () => Promise<{
3
+ authorization: string;
4
+ } | {}>;
5
+ export declare const getGuestAuthHeaders: () => Promise<{
6
+ authorization: string;
7
+ } | {}>;
8
+ export declare const getCacheTag: (tag: string) => Promise<string>;
9
+ export declare const getCacheOptions: (tag: string) => Promise<{
10
+ tags: string[];
11
+ } | {}>;
12
+ export declare const setAuthToken: (token: string) => Promise<void>;
13
+ export declare const removeAuthToken: () => Promise<void>;
14
+ export declare const getCartId: () => Promise<string>;
15
+ export declare const setCartId: (cartId: string) => Promise<void>;
16
+ export declare const removeCartId: () => Promise<void>;
17
+ export declare const removeSyncLock: () => Promise<void>;
18
+ export declare const setHoldCartId: (cartId: string) => Promise<void>;
19
+ export declare const getHoldCartId: () => Promise<string>;
20
+ export declare const removeHoldCartId: () => Promise<void>;
21
+ export declare const setBuyNowCartId: (cartId: string) => Promise<void>;
22
+ export declare const removeBuyNowCartId: () => Promise<void>;
23
+ //# sourceMappingURL=cookies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../src/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAGpB,eAAO,MAAM,cAAc,QAAa,OAAO,CAC7C;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,EAAE,CAc/B,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAClD;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,EAAE,CAc/B,CAAA;AAED,eAAO,MAAM,WAAW,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,CAa7D,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,KAAK,MAAM,KACV,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,EAAE,CAYjC,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,OAAO,MAAM,kBAQ/C,CAAA;AAED,eAAO,MAAM,eAAe,qBAK3B,CAAA;AAED,eAAO,MAAM,SAAS,uBAsBrB,CAAA;AAED,eAAO,MAAM,SAAS,GAAU,QAAQ,MAAM,kBAQ7C,CAAA;AAED,eAAO,MAAM,YAAY,qBAKxB,CAAA;AAED,eAAO,MAAM,cAAc,qBAK1B,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,QAAQ,MAAM,kBAQjD,CAAA;AAED,eAAO,MAAM,aAAa,uBAGzB,CAAA;AAED,eAAO,MAAM,gBAAgB,qBAK5B,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,QAAQ,MAAM,kBAQnD,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAK9B,CAAA"}
@@ -0,0 +1,140 @@
1
+ import "server-only";
2
+ import { cookies as nextCookies, headers } from "next/headers";
3
+ export const getAuthHeaders = async () => {
4
+ try {
5
+ const cookies = await nextCookies();
6
+ const token = cookies.get("_medusa_jwt")?.value;
7
+ if (!token) {
8
+ return {};
9
+ }
10
+ return { authorization: `Bearer ${token}` };
11
+ }
12
+ catch {
13
+ return {};
14
+ }
15
+ };
16
+ export const getGuestAuthHeaders = async () => {
17
+ try {
18
+ const cookies = await nextCookies();
19
+ const token = cookies.get("_medusa_guest_jwt")?.value;
20
+ if (!token) {
21
+ return {};
22
+ }
23
+ return { authorization: `Bearer ${token}` };
24
+ }
25
+ catch {
26
+ return {};
27
+ }
28
+ };
29
+ export const getCacheTag = async (tag) => {
30
+ try {
31
+ const cookies = await nextCookies();
32
+ const cacheId = cookies.get("_medusa_cache_id")?.value;
33
+ if (!cacheId) {
34
+ return "";
35
+ }
36
+ return `${tag}-${cacheId}`;
37
+ }
38
+ catch (error) {
39
+ return "";
40
+ }
41
+ };
42
+ export const getCacheOptions = async (tag) => {
43
+ if (typeof window !== "undefined") {
44
+ return {};
45
+ }
46
+ const cacheTag = await getCacheTag(tag);
47
+ if (!cacheTag) {
48
+ return {};
49
+ }
50
+ return { tags: [`${cacheTag}`] };
51
+ };
52
+ export const setAuthToken = async (token) => {
53
+ const cookies = await nextCookies();
54
+ cookies.set("_medusa_jwt", token, {
55
+ maxAge: 60 * 60 * 24 * 7,
56
+ httpOnly: true,
57
+ sameSite: "strict",
58
+ secure: process.env.NODE_ENV === "production",
59
+ });
60
+ };
61
+ export const removeAuthToken = async () => {
62
+ const cookies = await nextCookies();
63
+ cookies.set("_medusa_jwt", "", {
64
+ maxAge: -1,
65
+ });
66
+ };
67
+ export const getCartId = async () => {
68
+ const cookies = await nextCookies();
69
+ const headerList = await headers();
70
+ // Check for x-cart-id header FIRST (as it's the most up-to-date from middleware)
71
+ const headerId = headerList.get("x-cart-id");
72
+ if (headerId) {
73
+ return headerId;
74
+ }
75
+ // Prioritize buy_now_cart_id if it exists
76
+ const buyNowId = cookies.get("buy_now_cart_id")?.value;
77
+ if (buyNowId) {
78
+ return buyNowId;
79
+ }
80
+ // Fallback to regular cart cookies
81
+ const id = cookies.get("_medusa_cart_id")?.value ||
82
+ cookies.get("cart_id")?.value ||
83
+ cookies.get("medusa_cart_id")?.value;
84
+ return id;
85
+ };
86
+ export const setCartId = async (cartId) => {
87
+ const cookies = await nextCookies();
88
+ cookies.set("_medusa_cart_id", cartId, {
89
+ maxAge: 60 * 60 * 24 * 7,
90
+ httpOnly: true,
91
+ sameSite: "strict",
92
+ secure: process.env.NODE_ENV === "production",
93
+ });
94
+ };
95
+ export const removeCartId = async () => {
96
+ const cookies = await nextCookies();
97
+ cookies.set("_medusa_cart_id", "", {
98
+ maxAge: -1,
99
+ });
100
+ };
101
+ export const removeSyncLock = async () => {
102
+ const cookies = await nextCookies();
103
+ cookies.set("_medusa_cart_synced", "", {
104
+ maxAge: -1,
105
+ });
106
+ };
107
+ export const setHoldCartId = async (cartId) => {
108
+ const cookies = await nextCookies();
109
+ cookies.set("_medusa_hold_cart_id", cartId, {
110
+ maxAge: 60 * 60 * 24,
111
+ httpOnly: true,
112
+ sameSite: "strict",
113
+ secure: process.env.NODE_ENV === "production",
114
+ });
115
+ };
116
+ export const getHoldCartId = async () => {
117
+ const cookies = await nextCookies();
118
+ return cookies.get("_medusa_hold_cart_id")?.value;
119
+ };
120
+ export const removeHoldCartId = async () => {
121
+ const cookies = await nextCookies();
122
+ cookies.set("_medusa_hold_cart_id", "", {
123
+ maxAge: -1,
124
+ });
125
+ };
126
+ export const setBuyNowCartId = async (cartId) => {
127
+ const cookies = await nextCookies();
128
+ cookies.set("buy_now_cart_id", cartId, {
129
+ maxAge: 60 * 60 * 24 * 7,
130
+ httpOnly: true,
131
+ sameSite: "strict",
132
+ secure: process.env.NODE_ENV === "production",
133
+ });
134
+ };
135
+ export const removeBuyNowCartId = async () => {
136
+ const cookies = await nextCookies();
137
+ cookies.set("buy_now_cart_id", "", {
138
+ maxAge: -1,
139
+ });
140
+ };
@@ -0,0 +1,92 @@
1
+ import { HttpTypes } from "@medusajs/types";
2
+ /**
3
+ * Retrieves a cart by its ID. If no ID is provided, it will use the cart ID from the cookies.
4
+ * @param cartId - optional - The ID of the cart to retrieve.
5
+ * @returns The cart object if found, or null if not found.
6
+ */
7
+ export declare const retrieveCart: (cartId?: string, fields?: string) => Promise<any>;
8
+ export declare function getOrSetCart(countryCode: string): Promise<any>;
9
+ export declare function updateCart(data: HttpTypes.StoreUpdateCart): Promise<HttpTypes.StoreCart>;
10
+ export declare function addToCart({ variantId, quantity, countryCode, }: {
11
+ variantId: string;
12
+ quantity: number;
13
+ countryCode: string;
14
+ }): Promise<void>;
15
+ export declare function buyNow({ variantId, quantity, countryCode, }: {
16
+ variantId: string;
17
+ quantity: number;
18
+ countryCode: string;
19
+ }): Promise<void>;
20
+ export declare function updateLineItem({ lineId, quantity, }: {
21
+ lineId: string;
22
+ quantity: number;
23
+ }): Promise<void>;
24
+ export declare function deleteLineItem(lineId: string): Promise<void>;
25
+ export declare function updateLineItemVariant({ lineId, variantId, quantity, countryCode, }: {
26
+ lineId: string;
27
+ variantId: string;
28
+ quantity: number;
29
+ countryCode: string;
30
+ }): Promise<void>;
31
+ export declare function setShippingMethod({ cartId, shippingMethodId, }: {
32
+ cartId: string;
33
+ shippingMethodId: string;
34
+ }): Promise<void>;
35
+ /**
36
+ * Sets a shipping method silently without triggering a full page revalidation.
37
+ */
38
+ export declare function setShippingMethodSilently({ cartId, shippingMethodId, }: {
39
+ cartId: string;
40
+ shippingMethodId: string;
41
+ }): Promise<{
42
+ success: boolean;
43
+ }>;
44
+ export declare function initiatePaymentSession(cart: HttpTypes.StoreCart, data: HttpTypes.StoreInitializePaymentSession): Promise<HttpTypes.StorePaymentCollectionResponse>;
45
+ export declare function applyPromotions(codes: string[]): Promise<HttpTypes.StoreCart>;
46
+ export declare function applyGiftCard(code: string): Promise<void>;
47
+ export declare function removeDiscount(code: string): Promise<void>;
48
+ export declare function removeGiftCard(codeToRemove: string, giftCards: any[]): Promise<void>;
49
+ export declare function submitPromotionForm(currentState: unknown, formData: FormData): Promise<any>;
50
+ export declare function setAddresses(currentState: unknown, formData: FormData): Promise<any>;
51
+ /**
52
+ * Places an order for a cart. If no cart ID is provided, it will use the cart ID from the cookies.
53
+ * @param cartId - optional - The ID of the cart to place an order for.
54
+ * @returns The cart object if the order was successful, or null if not.
55
+ */
56
+ export declare function placeOrder(cartId?: string): Promise<HttpTypes.StoreCart>;
57
+ /**
58
+ * Updates the countrycode param and revalidates the regions cache
59
+ * @param regionId
60
+ * @param countryCode
61
+ */
62
+ export declare function updateRegion(countryCode: string, currentPath: string): Promise<void>;
63
+ export declare function listCartOptions(): Promise<{
64
+ shipping_options: HttpTypes.StoreCartShippingOption[];
65
+ }>;
66
+ export declare function addCustomerAddressToCart(currentState: unknown, formData: FormData): Promise<any>;
67
+ /**
68
+ * Updates address in the background without redirecting.
69
+ * Used for real-time shipping calculation when pincode is entered.
70
+ */
71
+ export declare function updateAddressSilently(data: any): Promise<{
72
+ success: boolean;
73
+ }>;
74
+ /**
75
+ * Updates cart metadata silently without triggering a full page revalidation.
76
+ */
77
+ export declare function updateCartMetadataSilently(metadata: any): Promise<{
78
+ success: boolean;
79
+ }>;
80
+ export declare function getAbandonedCarts(): Promise<{
81
+ buyNowCarts: HttpTypes.StoreCart[];
82
+ reorderCarts: HttpTypes.StoreCart[];
83
+ }>;
84
+ export declare function resumeAbandonedCart(cartId: string, countryCode: string): Promise<void>;
85
+ export declare function deleteCart(cartId: string): Promise<{
86
+ success: boolean;
87
+ error?: undefined;
88
+ } | {
89
+ success: boolean;
90
+ error: any;
91
+ }>;
92
+ //# sourceMappingURL=cart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../../src/server/cart.ts"],"names":[],"mappings":"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"}