medusa-product-helper 0.0.10 → 0.0.13

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.
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getClientRequest = exports.buildHeaders = exports.normalizeBaseUrl = void 0;
4
+ const normalizeBaseUrl = (baseUrl) => {
5
+ if (!baseUrl) {
6
+ return "";
7
+ }
8
+ return baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
9
+ };
10
+ exports.normalizeBaseUrl = normalizeBaseUrl;
11
+ const buildHeaders = (options) => {
12
+ const headers = {
13
+ "Content-Type": "application/json",
14
+ ...(options.headers ?? {}),
15
+ };
16
+ const hasPublishableHeader = Object.keys(headers).some((key) => key.toLowerCase() === "x-publishable-api-key");
17
+ if (options.publishableApiKey && !hasPublishableHeader) {
18
+ headers["x-publishable-api-key"] = options.publishableApiKey;
19
+ }
20
+ return headers;
21
+ };
22
+ exports.buildHeaders = buildHeaders;
23
+ const getClientRequest = (client) => {
24
+ if (!client) {
25
+ return undefined;
26
+ }
27
+ if ("request" in client && typeof client.request === "function") {
28
+ return client.request.bind(client);
29
+ }
30
+ if ("client" in client && typeof client.client?.request === "function") {
31
+ return client.client.request.bind(client.client);
32
+ }
33
+ return undefined;
34
+ };
35
+ exports.getClientRequest = getClientRequest;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9iYXNlLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQ08sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtBQUMvRCxDQUFDLENBQUE7QUFMWSxRQUFBLGdCQUFnQixvQkFLNUI7QUFFTSxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQStCLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE9BQU8sR0FBMkI7UUFDdEMsY0FBYyxFQUFFLGtCQUFrQjtRQUNsQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7S0FDM0IsQ0FBQTtJQUVELE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BELENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssdUJBQXVCLENBQ3ZELENBQUE7SUFFRCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdkQsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFBO0lBQzlELENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQUE7QUFmWSxRQUFBLFlBQVksZ0JBZXhCO0FBRU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtJQUM1RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsSUFBSSxTQUFTLElBQUksTUFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFFBQVEsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN2RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFBO0FBQ2xCLENBQUMsQ0FBQTtBQWRZLFFBQUEsZ0JBQWdCLG9CQWM1QiJ9
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeBaseUrl = exports.getClientRequest = exports.buildHeaders = exports.removeFromWishlist = exports.getWishlist = exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createGetWishlist = exports.createAddToWishlist = exports.addToWishlist = void 0;
4
+ var wishlist_1 = require("./wishlist");
5
+ Object.defineProperty(exports, "addToWishlist", { enumerable: true, get: function () { return wishlist_1.addToWishlist; } });
6
+ Object.defineProperty(exports, "createAddToWishlist", { enumerable: true, get: function () { return wishlist_1.createAddToWishlist; } });
7
+ Object.defineProperty(exports, "createGetWishlist", { enumerable: true, get: function () { return wishlist_1.createGetWishlist; } });
8
+ Object.defineProperty(exports, "createRemoveFromWishlist", { enumerable: true, get: function () { return wishlist_1.createRemoveFromWishlist; } });
9
+ Object.defineProperty(exports, "createWishlistHelpers", { enumerable: true, get: function () { return wishlist_1.createWishlistHelpers; } });
10
+ Object.defineProperty(exports, "getWishlist", { enumerable: true, get: function () { return wishlist_1.getWishlist; } });
11
+ Object.defineProperty(exports, "removeFromWishlist", { enumerable: true, get: function () { return wishlist_1.removeFromWishlist; } });
12
+ var base_client_1 = require("./base-client");
13
+ Object.defineProperty(exports, "buildHeaders", { enumerable: true, get: function () { return base_client_1.buildHeaders; } });
14
+ Object.defineProperty(exports, "getClientRequest", { enumerable: true, get: function () { return base_client_1.getClientRequest; } });
15
+ Object.defineProperty(exports, "normalizeBaseUrl", { enumerable: true, get: function () { return base_client_1.normalizeBaseUrl; } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FRbUI7QUFQakIseUdBQUEsYUFBYSxPQUFBO0FBQ2IsK0dBQUEsbUJBQW1CLE9BQUE7QUFDbkIsNkdBQUEsaUJBQWlCLE9BQUE7QUFDakIsb0hBQUEsd0JBQXdCLE9BQUE7QUFDeEIsaUhBQUEscUJBQXFCLE9BQUE7QUFDckIsdUdBQUEsV0FBVyxPQUFBO0FBQ1gsOEdBQUEsa0JBQWtCLE9BQUE7QUFrQnBCLDZDQUFnRjtBQUF2RSwyR0FBQSxZQUFZLE9BQUE7QUFBRSwrR0FBQSxnQkFBZ0IsT0FBQTtBQUFFLCtHQUFBLGdCQUFnQixPQUFBIn0=
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createAddToWishlist = exports.createGetWishlist = exports.removeFromWishlist = exports.addToWishlist = exports.getWishlist = void 0;
4
+ const base_client_1 = require("./base-client");
5
+ const WISHLIST_ENDPOINT = "/store/wishlist";
6
+ // Endpoint resolution helper (recommended pattern)
7
+ const resolveEndpoint = (endpoint) => endpoint?.startsWith("/") ? endpoint : WISHLIST_ENDPOINT;
8
+ const execute = async (path, init, options) => {
9
+ const baseHeaders = (0, base_client_1.buildHeaders)(options);
10
+ // Only include Content-Type if there's a body (POST, PUT, PATCH)
11
+ // GET requests don't need Content-Type header
12
+ const hasBody = init.body !== undefined;
13
+ const headers = { ...baseHeaders };
14
+ // Remove Content-Type for GET requests (no body)
15
+ if (!hasBody && headers["Content-Type"]) {
16
+ delete headers["Content-Type"];
17
+ }
18
+ // Merge any additional headers from init (takes precedence)
19
+ const mergedHeaders = {
20
+ ...headers,
21
+ ...(init.headers ?? {}),
22
+ };
23
+ const normalizedInit = {
24
+ ...init,
25
+ headers: mergedHeaders,
26
+ };
27
+ const clientRequest = (0, base_client_1.getClientRequest)(options.client);
28
+ if (clientRequest) {
29
+ const raw = await clientRequest(path, normalizedInit);
30
+ return raw;
31
+ }
32
+ const fetchImpl = options.fetchImpl ?? globalThis.fetch;
33
+ if (!fetchImpl) {
34
+ throw new Error("No fetch implementation available. Provide `fetchImpl` or a Medusa client.");
35
+ }
36
+ const url = `${(0, base_client_1.normalizeBaseUrl)(options.baseUrl)}${path}`;
37
+ const response = await fetchImpl(url || path, normalizedInit);
38
+ if (!response.ok) {
39
+ const body = await response.text();
40
+ throw new Error(body || `Request failed with status ${response.status}`);
41
+ }
42
+ return (await response.json());
43
+ };
44
+ const getWishlist = async (input = {}, options = {}) => {
45
+ const endpoint = resolveEndpoint(input.endpoint);
46
+ const params = new URLSearchParams();
47
+ if (input.includeDetails) {
48
+ params.set("include_details", "true");
49
+ }
50
+ const path = params.toString() ? `${endpoint}?${params.toString()}` : endpoint;
51
+ const raw = await execute(path, {
52
+ method: "GET",
53
+ }, options);
54
+ // Validate response structure
55
+ if (!raw || typeof raw !== "object" || !("wishlist" in raw)) {
56
+ throw new Error("Invalid response from wishlist endpoint");
57
+ }
58
+ if (!Array.isArray(raw.wishlist)) {
59
+ throw new Error("Invalid response format: wishlist must be an array");
60
+ }
61
+ return raw;
62
+ };
63
+ exports.getWishlist = getWishlist;
64
+ const addToWishlist = async (input, options = {}) => {
65
+ if (!input.product_id) {
66
+ throw new Error("product_id is required");
67
+ }
68
+ const endpoint = resolveEndpoint(input.endpoint);
69
+ const payload = {
70
+ product_id: input.product_id,
71
+ };
72
+ const raw = await execute(endpoint, {
73
+ method: "POST",
74
+ body: JSON.stringify(payload),
75
+ }, options);
76
+ // Validate response structure
77
+ if (!raw || typeof raw !== "object" || !("wishlist_item" in raw)) {
78
+ throw new Error("Invalid response from add to wishlist endpoint");
79
+ }
80
+ return raw;
81
+ };
82
+ exports.addToWishlist = addToWishlist;
83
+ const removeFromWishlist = async (input, options = {}) => {
84
+ if (!input.product_id) {
85
+ throw new Error("product_id is required");
86
+ }
87
+ const baseEndpoint = resolveEndpoint(input.endpoint);
88
+ const endpoint = input.endpoint
89
+ ? baseEndpoint
90
+ : `${baseEndpoint}/${encodeURIComponent(input.product_id)}`;
91
+ const raw = await execute(endpoint, {
92
+ method: "DELETE",
93
+ }, options);
94
+ // Validate response structure
95
+ if (!raw || typeof raw !== "object" || !("success" in raw)) {
96
+ throw new Error("Invalid response from remove from wishlist endpoint");
97
+ }
98
+ return raw;
99
+ };
100
+ exports.removeFromWishlist = removeFromWishlist;
101
+ const createGetWishlist = (options = {}) => (input) => (0, exports.getWishlist)(input, options);
102
+ exports.createGetWishlist = createGetWishlist;
103
+ const createAddToWishlist = (options = {}) => (input) => (0, exports.addToWishlist)(input, options);
104
+ exports.createAddToWishlist = createAddToWishlist;
105
+ const createRemoveFromWishlist = (options = {}) => (input) => (0, exports.removeFromWishlist)(input, options);
106
+ exports.createRemoveFromWishlist = createRemoveFromWishlist;
107
+ const createWishlistHelpers = (options = {}) => ({
108
+ getWishlist: (0, exports.createGetWishlist)(options),
109
+ addToWishlist: (0, exports.createAddToWishlist)(options),
110
+ removeFromWishlist: (0, exports.createRemoveFromWishlist)(options),
111
+ });
112
+ exports.createWishlistHelpers = createWishlistHelpers;
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy93aXNobGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FLc0I7QUFFdEIsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtBQUUzQyxtREFBbUQ7QUFDbkQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxRQUFpQixFQUFFLEVBQUUsQ0FDNUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQTtBQStDMUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUNuQixJQUFZLEVBQ1osSUFBcUIsRUFDckIsT0FBK0IsRUFDbkIsRUFBRTtJQUNkLE1BQU0sV0FBVyxHQUFHLElBQUEsMEJBQVksRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUV6QyxpRUFBaUU7SUFDakUsOENBQThDO0lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFBO0lBQ3ZDLE1BQU0sT0FBTyxHQUEyQixFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUE7SUFFMUQsaURBQWlEO0lBQ2pELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDeEMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVELDREQUE0RDtJQUM1RCxNQUFNLGFBQWEsR0FBRztRQUNwQixHQUFHLE9BQU87UUFDVixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7S0FDeEIsQ0FBQTtJQUVELE1BQU0sY0FBYyxHQUFnQjtRQUNsQyxHQUFHLElBQUk7UUFDUCxPQUFPLEVBQUUsYUFBYTtLQUN2QixDQUFBO0lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDdEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNsQixNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFDckQsT0FBTyxHQUFRLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQTtJQUN2RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksS0FBSyxDQUNiLDRFQUE0RSxDQUM3RSxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUE7SUFDekQsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUU3RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQ2IsSUFBSSxJQUFJLDhCQUE4QixRQUFRLENBQUMsTUFBTSxFQUFFLENBQ3hELENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFNLENBQUE7QUFDckMsQ0FBQyxDQUFBO0FBRU0sTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUM5QixRQUEwQixFQUFFLEVBQzVCLFVBQThCLEVBQUUsRUFDRixFQUFFO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtJQUNwQyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFFOUUsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQ3ZCLElBQUksRUFDSjtRQUNFLE1BQU0sRUFBRSxLQUFLO0tBQ2QsRUFDRCxPQUFPLENBQ1IsQ0FBQTtJQUVELDhCQUE4QjtJQUM5QixJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDNUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUE7SUFDdkUsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyxDQUFBO0FBOUJZLFFBQUEsV0FBVyxlQThCdkI7QUFFTSxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ2hDLEtBQXlCLEVBQ3pCLFVBQWdDLEVBQUUsRUFDRixFQUFFO0lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sT0FBTyxHQUFHO1FBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQzdCLENBQUE7SUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLE9BQU8sQ0FDdkIsUUFBUSxFQUNSO1FBQ0UsTUFBTSxFQUFFLE1BQU07UUFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7S0FDOUIsRUFDRCxPQUFPLENBQ1IsQ0FBQTtJQUVELDhCQUE4QjtJQUM5QixJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsZUFBZSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakUsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQTVCWSxRQUFBLGFBQWEsaUJBNEJ6QjtBQUVNLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxFQUNyQyxLQUE4QixFQUM5QixVQUFxQyxFQUFFLEVBQ0YsRUFBRTtJQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNwRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUTtRQUM3QixDQUFDLENBQUMsWUFBWTtRQUNkLENBQUMsQ0FBQyxHQUFHLFlBQVksSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQTtJQUU3RCxNQUFNLEdBQUcsR0FBRyxNQUFNLE9BQU8sQ0FDdkIsUUFBUSxFQUNSO1FBQ0UsTUFBTSxFQUFFLFFBQVE7S0FDakIsRUFDRCxPQUFPLENBQ1IsQ0FBQTtJQUVELDhCQUE4QjtJQUM5QixJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQTNCWSxRQUFBLGtCQUFrQixzQkEyQjlCO0FBRU0sTUFBTSxpQkFBaUIsR0FDNUIsQ0FBQyxVQUE4QixFQUFFLEVBQUUsRUFBRSxDQUNyQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUMzQixJQUFBLG1CQUFXLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0FBSGxCLFFBQUEsaUJBQWlCLHFCQUdDO0FBRXhCLE1BQU0sbUJBQW1CLEdBQzlCLENBQUMsVUFBZ0MsRUFBRSxFQUFFLEVBQUUsQ0FDdkMsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FDNUIsSUFBQSxxQkFBYSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUhwQixRQUFBLG1CQUFtQix1QkFHQztBQUUxQixNQUFNLHdCQUF3QixHQUNuQyxDQUFDLFVBQXFDLEVBQUUsRUFBRSxFQUFFLENBQzVDLENBQUMsS0FBOEIsRUFBRSxFQUFFLENBQ2pDLElBQUEsMEJBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0FBSHpCLFFBQUEsd0JBQXdCLDRCQUdDO0FBRS9CLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsVUFBa0MsRUFBRSxFQUNwQyxFQUFFLENBQUMsQ0FBQztJQUNKLFdBQVcsRUFBRSxJQUFBLHlCQUFpQixFQUFDLE9BQU8sQ0FBQztJQUN2QyxhQUFhLEVBQUUsSUFBQSwyQkFBbUIsRUFBQyxPQUFPLENBQUM7SUFDM0Msa0JBQWtCLEVBQUUsSUFBQSxnQ0FBd0IsRUFBQyxPQUFPLENBQUM7Q0FDdEQsQ0FBQyxDQUFBO0FBTlcsUUFBQSxxQkFBcUIseUJBTWhDIn0=
package/README.md CHANGED
@@ -440,61 +440,71 @@ import {
440
440
  getWishlist,
441
441
  removeFromWishlist,
442
442
  createWishlistHelpers,
443
- } from "medusa-product-helper/wishlist-helper"
443
+ type HelperTransportOptions,
444
+ type WishlistItem,
445
+ } from "medusa-product-helper/helpers"
444
446
  ```
445
447
 
446
448
  #### Example Usage
447
449
 
448
450
  ```typescript
451
+ // Recommended: Using Bearer token for authentication
452
+ const options: HelperTransportOptions = {
453
+ baseUrl: "https://store.example.com",
454
+ publishableApiKey: "pk_your_publishable_api_key",
455
+ headers: {
456
+ Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", // Customer JWT token
457
+ },
458
+ }
459
+
449
460
  // Add a product
450
- await addToWishlist(
451
- { product_id: "prod_123" },
452
- {
453
- baseUrl: "https://store.example.com",
454
- headers: {
455
- Cookie: "connect.sid=...", // or Authorization header
456
- },
457
- }
458
- )
461
+ await addToWishlist({ product_id: "prod_123" }, options)
459
462
 
460
463
  // Read wishlist with details
461
- const { wishlist } = await getWishlist(
462
- { includeDetails: true },
463
- {
464
- baseUrl: "https://store.example.com",
465
- headers: {
466
- Cookie: "connect.sid=...",
467
- },
468
- }
469
- )
464
+ const { wishlist } = await getWishlist({ includeDetails: true }, options)
470
465
 
471
466
  // Remove a product
472
- await removeFromWishlist(
473
- { product_id: "prod_123" },
474
- {
475
- baseUrl: "https://store.example.com",
476
- headers: {
477
- Cookie: "connect.sid=...",
478
- },
479
- }
480
- )
467
+ await removeFromWishlist({ product_id: "prod_123" }, options)
468
+ ```
469
+
470
+ **Alternative: Using session cookie**
471
+ ```typescript
472
+ const options: HelperTransportOptions = {
473
+ baseUrl: "https://store.example.com",
474
+ publishableApiKey: "pk_your_publishable_api_key",
475
+ headers: {
476
+ Cookie: "connect.sid=...", // Session cookie (browser-based)
477
+ },
478
+ }
481
479
  ```
482
480
 
483
481
  #### Configuration Options
484
482
 
485
483
  All helper calls accept the following options:
486
484
 
487
- - `client`: Medusa JS/SDK client instance. When provided, network requests are delegated to `client.request`.
485
+ - `publishableApiKey`: Required for public storefront calls when not passing a Medusa JS client. Add it from **Settings API Keys** in the Medusa dashboard.
486
+ - `client`: Medusa JS/SDK client instance. When provided, network requests are delegated to `client.request` and the client's publishable key is reused.
488
487
  - `baseUrl`: Base URL for the Store API (e.g., `https://store.example.com`). Required when a client is not provided.
489
488
  - `fetchImpl`: Custom `fetch` implementation for SSR or React Native environments. Defaults to `globalThis.fetch`.
490
- - `headers`: Additional headers appended to every request (useful for `Cookie` / `Authorization` headers).
489
+ - `headers`: Additional headers appended to every request. **Required for authenticated endpoints** - include `Authorization: Bearer <token>` for customer authentication:
490
+ ```ts
491
+ headers: {
492
+ "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
493
+ }
494
+ ```
495
+
496
+ **Note:** All wishlist endpoints require customer authentication. Pass the Bearer token via the `headers` option.
491
497
 
492
498
  You can also generate pre-configured helpers:
493
499
 
494
500
  ```typescript
501
+ // Recommended: Using Bearer token
495
502
  const wishlist = createWishlistHelpers({
496
503
  baseUrl: "https://store.example.com",
497
- headers: { Cookie: "connect.sid=..." },
504
+ publishableApiKey: "pk_your_publishable_api_key",
505
+ headers: {
506
+ Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
507
+ },
498
508
  })
499
509
 
500
510
  await wishlist.addToWishlist({ product_id: "prod_123" })
@@ -502,6 +512,33 @@ const { wishlist: items } = await wishlist.getWishlist({ includeDetails: true })
502
512
  await wishlist.removeFromWishlist({ product_id: "prod_123" })
503
513
  ```
504
514
 
515
+ **Getting the Bearer Token:**
516
+ ```typescript
517
+ // Login to get JWT token
518
+ const loginResponse = await fetch("https://store.example.com/store/auth/customer/emailpass", {
519
+ method: "POST",
520
+ headers: {
521
+ "Content-Type": "application/json",
522
+ "x-publishable-api-key": "pk_your_publishable_api_key",
523
+ },
524
+ body: JSON.stringify({
525
+ email: "customer@example.com",
526
+ password: "password123",
527
+ }),
528
+ })
529
+
530
+ const { token } = await loginResponse.json()
531
+
532
+ // Use token in wishlist helpers
533
+ const wishlist = createWishlistHelpers({
534
+ baseUrl: "https://store.example.com",
535
+ publishableApiKey: "pk_your_publishable_api_key",
536
+ headers: {
537
+ Authorization: `Bearer ${token}`,
538
+ },
539
+ })
540
+ ```
541
+
505
542
  ### Using Workflows Directly
506
543
 
507
544
  You can also use the workflows directly in your custom code:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "medusa-product-helper",
3
- "version": "0.0.10",
3
+ "version": "0.0.13",
4
4
  "description": "A starter for Medusa plugins.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",
@@ -10,10 +10,10 @@
10
10
  "exports": {
11
11
  "./package.json": "./package.json",
12
12
  "./workflows": "./.medusa/server/src/workflows/index.js",
13
+ "./helpers": "./.medusa/server/src/helpers/index.js",
13
14
  "./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
14
15
  "./modules/*": "./.medusa/server/src/modules/*/index.js",
15
16
  "./providers/*": "./.medusa/server/src/providers/*/index.js",
16
- "./wishlist-helper": "./.medusa/server/src/shared/wishlist/index.js",
17
17
  "./*": "./.medusa/server/src/*.js",
18
18
  "./admin": {
19
19
  "import": "./.medusa/server/src/admin/index.mjs",
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createAddToWishlist = exports.createGetWishlist = exports.removeFromWishlist = exports.addToWishlist = exports.getWishlist = void 0;
4
- const WISHLIST_ENDPOINT = "/store/wishlist";
5
- const normalizeBaseUrl = (baseUrl) => {
6
- if (!baseUrl) {
7
- return "";
8
- }
9
- return baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
10
- };
11
- const getClientRequest = (client) => {
12
- if (!client) {
13
- return undefined;
14
- }
15
- if ("request" in client && typeof client.request === "function") {
16
- return client.request.bind(client);
17
- }
18
- if ("client" in client && typeof client.client?.request === "function") {
19
- return client.client.request.bind(client.client);
20
- }
21
- return undefined;
22
- };
23
- const execute = async (path, init, options) => {
24
- const headers = {
25
- ...(init.headers ?? {}),
26
- ...(options.headers ?? {}),
27
- };
28
- const normalizedInit = {
29
- ...init,
30
- headers,
31
- };
32
- const clientRequest = getClientRequest(options.client);
33
- if (clientRequest) {
34
- return (await clientRequest(path, normalizedInit));
35
- }
36
- const fetchImpl = options.fetchImpl ?? globalThis.fetch;
37
- if (!fetchImpl) {
38
- throw new Error("No fetch implementation available. Provide `fetchImpl` or a Medusa client.");
39
- }
40
- const url = `${normalizeBaseUrl(options.baseUrl)}${path}`;
41
- const response = await fetchImpl(url || path, normalizedInit);
42
- if (!response.ok) {
43
- const body = await response.text();
44
- throw new Error(body || `Request failed with status ${response.status}`);
45
- }
46
- return (await response.json());
47
- };
48
- const getWishlist = async (input = {}, options = {}) => {
49
- const params = new URLSearchParams();
50
- if (input.includeDetails) {
51
- params.set("include_details", "true");
52
- }
53
- const endpoint = params.toString()
54
- ? `${WISHLIST_ENDPOINT}?${params.toString()}`
55
- : WISHLIST_ENDPOINT;
56
- return execute(endpoint, {
57
- method: "GET",
58
- }, options);
59
- };
60
- exports.getWishlist = getWishlist;
61
- const addToWishlist = async (input, options = {}) => {
62
- if (!input.product_id) {
63
- throw new Error("product_id is required");
64
- }
65
- return execute(WISHLIST_ENDPOINT, {
66
- method: "POST",
67
- headers: {
68
- "Content-Type": "application/json",
69
- },
70
- body: JSON.stringify({
71
- product_id: input.product_id,
72
- }),
73
- }, options);
74
- };
75
- exports.addToWishlist = addToWishlist;
76
- const removeFromWishlist = async (input, options = {}) => {
77
- if (!input.product_id) {
78
- throw new Error("product_id is required");
79
- }
80
- const endpoint = `${WISHLIST_ENDPOINT}/${encodeURIComponent(input.product_id)}`;
81
- return execute(endpoint, {
82
- method: "DELETE",
83
- }, options);
84
- };
85
- exports.removeFromWishlist = removeFromWishlist;
86
- const createGetWishlist = (options = {}) => (input) => (0, exports.getWishlist)(input, options);
87
- exports.createGetWishlist = createGetWishlist;
88
- const createAddToWishlist = (options = {}) => (input) => (0, exports.addToWishlist)(input, options);
89
- exports.createAddToWishlist = createAddToWishlist;
90
- const createRemoveFromWishlist = (options = {}) => (input) => (0, exports.removeFromWishlist)(input, options);
91
- exports.createRemoveFromWishlist = createRemoveFromWishlist;
92
- const createWishlistHelpers = (options = {}) => ({
93
- getWishlist: (0, exports.createGetWishlist)(options),
94
- addToWishlist: (0, exports.createAddToWishlist)(options),
95
- removeFromWishlist: (0, exports.createRemoveFromWishlist)(options),
96
- });
97
- exports.createWishlistHelpers = createWishlistHelpers;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC93aXNobGlzdC9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtBQXFFM0MsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtBQUMvRCxDQUFDLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsTUFBeUIsRUFBRSxFQUFFO0lBQ3JELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2hFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUNuQixJQUFZLEVBQ1osSUFBcUIsRUFDckIsT0FBOEIsRUFDbEIsRUFBRTtJQUNkLE1BQU0sT0FBTyxHQUFHO1FBQ2QsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3ZCLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztLQUMzQixDQUFBO0lBQ0QsTUFBTSxjQUFjLEdBQWdCO1FBQ2xDLEdBQUcsSUFBSTtRQUNQLE9BQU87S0FDUixDQUFBO0lBRUQsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3RELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsT0FBTyxDQUFDLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBTSxDQUFBO0lBQ3pELENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUE7SUFDdkQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FDYiw0RUFBNEUsQ0FDN0UsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQTtJQUN6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRTdELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksOEJBQThCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQU0sQ0FBQTtBQUNyQyxDQUFDLENBQUE7QUFFTSxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQzlCLFFBQTBCLEVBQUUsRUFDNUIsVUFBaUMsRUFBRSxFQUNMLEVBQUU7SUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtJQUNwQyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ2hDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUM3QyxDQUFDLENBQUMsaUJBQWlCLENBQUE7SUFFckIsT0FBTyxPQUFPLENBQ1osUUFBUSxFQUNSO1FBQ0UsTUFBTSxFQUFFLEtBQUs7S0FDZCxFQUNELE9BQU8sQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBcEJZLFFBQUEsV0FBVyxlQW9CdkI7QUFFTSxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ2hDLEtBQXlCLEVBQ3pCLFVBQWlDLEVBQUUsRUFDSCxFQUFFO0lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FDWixpQkFBaUIsRUFDakI7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkM7UUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDN0IsQ0FBQztLQUNILEVBQ0QsT0FBTyxDQUNSLENBQUE7QUFDSCxDQUFDLENBQUE7QUFyQlksUUFBQSxhQUFhLGlCQXFCekI7QUFFTSxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFDckMsS0FBOEIsRUFDOUIsVUFBaUMsRUFBRSxFQUNFLEVBQUU7SUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLEdBQUcsaUJBQWlCLElBQUksa0JBQWtCLENBQ3pELEtBQUssQ0FBQyxVQUFVLENBQ2pCLEVBQUUsQ0FBQTtJQUVILE9BQU8sT0FBTyxDQUNaLFFBQVEsRUFDUjtRQUNFLE1BQU0sRUFBRSxRQUFRO0tBQ2pCLEVBQ0QsT0FBTyxDQUNSLENBQUE7QUFDSCxDQUFDLENBQUE7QUFuQlksUUFBQSxrQkFBa0Isc0JBbUI5QjtBQUVNLE1BQU0saUJBQWlCLEdBQzVCLENBQUMsVUFBaUMsRUFBRSxFQUFFLEVBQUUsQ0FDeEMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FDM0IsSUFBQSxtQkFBVyxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUhsQixRQUFBLGlCQUFpQixxQkFHQztBQUV4QixNQUFNLG1CQUFtQixHQUM5QixDQUFDLFVBQWlDLEVBQUUsRUFBRSxFQUFFLENBQ3hDLENBQUMsS0FBeUIsRUFBRSxFQUFFLENBQzVCLElBQUEscUJBQWEsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFIcEIsUUFBQSxtQkFBbUIsdUJBR0M7QUFFMUIsTUFBTSx3QkFBd0IsR0FDbkMsQ0FBQyxVQUFpQyxFQUFFLEVBQUUsRUFBRSxDQUN4QyxDQUFDLEtBQThCLEVBQUUsRUFBRSxDQUNqQyxJQUFBLDBCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUh6QixRQUFBLHdCQUF3Qiw0QkFHQztBQUUvQixNQUFNLHFCQUFxQixHQUFHLENBQ25DLFVBQWlDLEVBQUUsRUFDbkMsRUFBRSxDQUFDLENBQUM7SUFDSixXQUFXLEVBQUUsSUFBQSx5QkFBaUIsRUFBQyxPQUFPLENBQUM7SUFDdkMsYUFBYSxFQUFFLElBQUEsMkJBQW1CLEVBQUMsT0FBTyxDQUFDO0lBQzNDLGtCQUFrQixFQUFFLElBQUEsZ0NBQXdCLEVBQUMsT0FBTyxDQUFDO0NBQ3RELENBQUMsQ0FBQTtBQU5XLFFBQUEscUJBQXFCLHlCQU1oQyJ9
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeFromWishlist = exports.getWishlist = exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createGetWishlist = exports.createAddToWishlist = exports.addToWishlist = void 0;
4
- var helper_1 = require("./helper");
5
- Object.defineProperty(exports, "addToWishlist", { enumerable: true, get: function () { return helper_1.addToWishlist; } });
6
- Object.defineProperty(exports, "createAddToWishlist", { enumerable: true, get: function () { return helper_1.createAddToWishlist; } });
7
- Object.defineProperty(exports, "createGetWishlist", { enumerable: true, get: function () { return helper_1.createGetWishlist; } });
8
- Object.defineProperty(exports, "createRemoveFromWishlist", { enumerable: true, get: function () { return helper_1.createRemoveFromWishlist; } });
9
- Object.defineProperty(exports, "createWishlistHelpers", { enumerable: true, get: function () { return helper_1.createWishlistHelpers; } });
10
- Object.defineProperty(exports, "getWishlist", { enumerable: true, get: function () { return helper_1.getWishlist; } });
11
- Object.defineProperty(exports, "removeFromWishlist", { enumerable: true, get: function () { return helper_1.removeFromWishlist; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL3dpc2hsaXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQVFpQjtBQVBmLHVHQUFBLGFBQWEsT0FBQTtBQUNiLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLGtIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLCtHQUFBLHFCQUFxQixPQUFBO0FBQ3JCLHFHQUFBLFdBQVcsT0FBQTtBQUNYLDRHQUFBLGtCQUFrQixPQUFBIn0=