@commercengine/storefront-sdk 0.4.8 → 0.6.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.
- package/README.md +66 -2
- package/dist/index.cjs +111 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +48 -9
- package/dist/index.d.ts +48 -9
- package/dist/index.iife.js +116 -17
- package/dist/index.iife.js.map +1 -1
- package/dist/index.js +117 -17
- package/dist/index.js.map +1 -1
- package/package.json +7 -2
package/dist/index.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
+
});
|
|
7
|
+
|
|
1
8
|
// src/lib/client.ts
|
|
2
9
|
import createClient from "openapi-fetch";
|
|
3
10
|
|
|
@@ -209,6 +216,115 @@ var CookieTokenStorage = class {
|
|
|
209
216
|
document.cookie = cookieString;
|
|
210
217
|
}
|
|
211
218
|
};
|
|
219
|
+
var NextJSTokenStorage = class {
|
|
220
|
+
accessTokenKey;
|
|
221
|
+
refreshTokenKey;
|
|
222
|
+
options;
|
|
223
|
+
constructor(options = {}) {
|
|
224
|
+
const prefix = options.prefix || "storefront_";
|
|
225
|
+
this.accessTokenKey = `${prefix}access_token`;
|
|
226
|
+
this.refreshTokenKey = `${prefix}refresh_token`;
|
|
227
|
+
this.options = {
|
|
228
|
+
maxAge: options.maxAge || 30 * 24 * 60 * 60,
|
|
229
|
+
// 30 days default
|
|
230
|
+
path: options.path || "/",
|
|
231
|
+
domain: options.domain,
|
|
232
|
+
secure: options.secure ?? (typeof window !== "undefined" && window.location?.protocol === "https:"),
|
|
233
|
+
sameSite: options.sameSite || "Lax"
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
async getAccessToken() {
|
|
237
|
+
return this.getCookie(this.accessTokenKey);
|
|
238
|
+
}
|
|
239
|
+
async setAccessToken(token) {
|
|
240
|
+
this.setCookie(this.accessTokenKey, token);
|
|
241
|
+
}
|
|
242
|
+
async getRefreshToken() {
|
|
243
|
+
return this.getCookie(this.refreshTokenKey);
|
|
244
|
+
}
|
|
245
|
+
async setRefreshToken(token) {
|
|
246
|
+
this.setCookie(this.refreshTokenKey, token);
|
|
247
|
+
}
|
|
248
|
+
async clearTokens() {
|
|
249
|
+
this.deleteCookie(this.accessTokenKey);
|
|
250
|
+
this.deleteCookie(this.refreshTokenKey);
|
|
251
|
+
}
|
|
252
|
+
getCookie(name) {
|
|
253
|
+
if (typeof window !== "undefined") {
|
|
254
|
+
const value = `; ${document.cookie}`;
|
|
255
|
+
const parts = value.split(`; ${name}=`);
|
|
256
|
+
if (parts.length === 2) {
|
|
257
|
+
const cookieValue = parts.pop()?.split(";").shift();
|
|
258
|
+
return cookieValue ? decodeURIComponent(cookieValue) : null;
|
|
259
|
+
}
|
|
260
|
+
return null;
|
|
261
|
+
} else {
|
|
262
|
+
try {
|
|
263
|
+
const { cookies } = __require("next/headers");
|
|
264
|
+
const cookieStore = cookies();
|
|
265
|
+
return cookieStore.get(name)?.value || null;
|
|
266
|
+
} catch {
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
setCookie(name, value) {
|
|
272
|
+
if (typeof window !== "undefined") {
|
|
273
|
+
const encodedValue = encodeURIComponent(value);
|
|
274
|
+
let cookieString = `${name}=${encodedValue}`;
|
|
275
|
+
if (this.options.maxAge) {
|
|
276
|
+
cookieString += `; Max-Age=${this.options.maxAge}`;
|
|
277
|
+
}
|
|
278
|
+
if (this.options.path) {
|
|
279
|
+
cookieString += `; Path=${this.options.path}`;
|
|
280
|
+
}
|
|
281
|
+
if (this.options.domain) {
|
|
282
|
+
cookieString += `; Domain=${this.options.domain}`;
|
|
283
|
+
}
|
|
284
|
+
if (this.options.secure) {
|
|
285
|
+
cookieString += `; Secure`;
|
|
286
|
+
}
|
|
287
|
+
if (this.options.sameSite) {
|
|
288
|
+
cookieString += `; SameSite=${this.options.sameSite}`;
|
|
289
|
+
}
|
|
290
|
+
document.cookie = cookieString;
|
|
291
|
+
} else {
|
|
292
|
+
try {
|
|
293
|
+
const { cookies } = __require("next/headers");
|
|
294
|
+
const cookieStore = cookies();
|
|
295
|
+
cookieStore.set(name, value, {
|
|
296
|
+
maxAge: this.options.maxAge,
|
|
297
|
+
path: this.options.path,
|
|
298
|
+
domain: this.options.domain,
|
|
299
|
+
secure: this.options.secure,
|
|
300
|
+
sameSite: this.options.sameSite?.toLowerCase()
|
|
301
|
+
});
|
|
302
|
+
} catch {
|
|
303
|
+
console.warn(`Could not set cookie ${name} on server side`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
deleteCookie(name) {
|
|
308
|
+
if (typeof window !== "undefined") {
|
|
309
|
+
let cookieString = `${name}=; Max-Age=0`;
|
|
310
|
+
if (this.options.path) {
|
|
311
|
+
cookieString += `; Path=${this.options.path}`;
|
|
312
|
+
}
|
|
313
|
+
if (this.options.domain) {
|
|
314
|
+
cookieString += `; Domain=${this.options.domain}`;
|
|
315
|
+
}
|
|
316
|
+
document.cookie = cookieString;
|
|
317
|
+
} else {
|
|
318
|
+
try {
|
|
319
|
+
const { cookies } = __require("next/headers");
|
|
320
|
+
const cookieStore = cookies();
|
|
321
|
+
cookieStore.delete(name);
|
|
322
|
+
} catch {
|
|
323
|
+
console.warn(`Could not remove cookie ${name} on server side`);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
};
|
|
212
328
|
function createAuthMiddleware(config) {
|
|
213
329
|
let isRefreshing = false;
|
|
214
330
|
let refreshPromise = null;
|
|
@@ -1444,23 +1560,6 @@ var CartClient = class extends StorefrontAPIClient {
|
|
|
1444
1560
|
})
|
|
1445
1561
|
);
|
|
1446
1562
|
}
|
|
1447
|
-
/**
|
|
1448
|
-
* Update cart customer
|
|
1449
|
-
*
|
|
1450
|
-
* @param cartId - The ID of the cart
|
|
1451
|
-
* @param body - The body of the request
|
|
1452
|
-
* @returns Promise with updated cart
|
|
1453
|
-
*/
|
|
1454
|
-
async updateCartCustomer(cartId, body) {
|
|
1455
|
-
return this.executeRequest(
|
|
1456
|
-
() => this.client.POST("/carts/{id}/update-customer", {
|
|
1457
|
-
params: {
|
|
1458
|
-
path: cartId
|
|
1459
|
-
},
|
|
1460
|
-
body
|
|
1461
|
-
})
|
|
1462
|
-
);
|
|
1463
|
-
}
|
|
1464
1563
|
};
|
|
1465
1564
|
|
|
1466
1565
|
// src/lib/auth.ts
|
|
@@ -2466,6 +2565,7 @@ export {
|
|
|
2466
2565
|
Environment,
|
|
2467
2566
|
HelpersClient,
|
|
2468
2567
|
MemoryTokenStorage,
|
|
2568
|
+
NextJSTokenStorage,
|
|
2469
2569
|
OrderClient,
|
|
2470
2570
|
ResponseUtils,
|
|
2471
2571
|
ShippingClient,
|