arky-sdk 0.7.63 → 0.7.64
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/dist/index.cjs +32 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +32 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -5,7 +5,7 @@ import { f as formatPayment, a as formatMinor, g as getCurrencySymbol, b as getC
|
|
|
5
5
|
interface AuthTokens {
|
|
6
6
|
accessToken: string;
|
|
7
7
|
refreshToken?: string;
|
|
8
|
-
|
|
8
|
+
accessExpiresAt?: number;
|
|
9
9
|
accountId?: string;
|
|
10
10
|
}
|
|
11
11
|
interface HttpClientConfig {
|
|
@@ -148,7 +148,7 @@ declare global {
|
|
|
148
148
|
}
|
|
149
149
|
declare function track(eventName: string, params?: Record<string, any>): void;
|
|
150
150
|
|
|
151
|
-
declare const SDK_VERSION = "0.7.
|
|
151
|
+
declare const SDK_VERSION = "0.7.64";
|
|
152
152
|
declare const SUPPORTED_FRAMEWORKS: readonly ["astro", "react", "vue", "svelte", "vanilla"];
|
|
153
153
|
interface ApiConfig {
|
|
154
154
|
httpClient: any;
|
|
@@ -636,6 +636,7 @@ declare function createStorefront(config: HttpClientConfig & {
|
|
|
636
636
|
analytics: {
|
|
637
637
|
track: typeof track;
|
|
638
638
|
};
|
|
639
|
+
ensureSession: () => Promise<void>;
|
|
639
640
|
setBusinessId: (businessId: string) => void;
|
|
640
641
|
getBusinessId: () => string;
|
|
641
642
|
setMarket: (market: string) => void;
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { f as formatPayment, a as formatMinor, g as getCurrencySymbol, b as getC
|
|
|
5
5
|
interface AuthTokens {
|
|
6
6
|
accessToken: string;
|
|
7
7
|
refreshToken?: string;
|
|
8
|
-
|
|
8
|
+
accessExpiresAt?: number;
|
|
9
9
|
accountId?: string;
|
|
10
10
|
}
|
|
11
11
|
interface HttpClientConfig {
|
|
@@ -148,7 +148,7 @@ declare global {
|
|
|
148
148
|
}
|
|
149
149
|
declare function track(eventName: string, params?: Record<string, any>): void;
|
|
150
150
|
|
|
151
|
-
declare const SDK_VERSION = "0.7.
|
|
151
|
+
declare const SDK_VERSION = "0.7.64";
|
|
152
152
|
declare const SUPPORTED_FRAMEWORKS: readonly ["astro", "react", "vue", "svelte", "vanilla"];
|
|
153
153
|
interface ApiConfig {
|
|
154
154
|
httpClient: any;
|
|
@@ -636,6 +636,7 @@ declare function createStorefront(config: HttpClientConfig & {
|
|
|
636
636
|
analytics: {
|
|
637
637
|
track: typeof track;
|
|
638
638
|
};
|
|
639
|
+
ensureSession: () => Promise<void>;
|
|
639
640
|
setBusinessId: (businessId: string) => void;
|
|
640
641
|
getBusinessId: () => string;
|
|
641
642
|
setMarket: (market: string) => void;
|
package/dist/index.js
CHANGED
|
@@ -87,9 +87,9 @@ function createHttpClient(cfg) {
|
|
|
87
87
|
"Content-Type": "application/json",
|
|
88
88
|
...options?.headers || {}
|
|
89
89
|
};
|
|
90
|
-
let { accessToken,
|
|
90
|
+
let { accessToken, accessExpiresAt } = await cfg.getToken();
|
|
91
91
|
const nowSec = Date.now() / 1e3;
|
|
92
|
-
if (
|
|
92
|
+
if (accessExpiresAt && nowSec > accessExpiresAt) {
|
|
93
93
|
await ensureFreshToken();
|
|
94
94
|
const tokens = await cfg.getToken();
|
|
95
95
|
accessToken = tokens.accessToken;
|
|
@@ -2712,7 +2712,7 @@ function getFirstAvailableFCId(variant, quantity = 1) {
|
|
|
2712
2712
|
}
|
|
2713
2713
|
|
|
2714
2714
|
// src/index.ts
|
|
2715
|
-
var SDK_VERSION = "0.7.
|
|
2715
|
+
var SDK_VERSION = "0.7.64";
|
|
2716
2716
|
var SUPPORTED_FRAMEWORKS = [
|
|
2717
2717
|
"astro",
|
|
2718
2718
|
"react",
|
|
@@ -2983,16 +2983,36 @@ async function createStorefront(config) {
|
|
|
2983
2983
|
getToken: config.getToken
|
|
2984
2984
|
};
|
|
2985
2985
|
const storefrontApi = createStorefrontApi(apiConfig);
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2986
|
+
let sessionPromise = null;
|
|
2987
|
+
function ensureSession() {
|
|
2988
|
+
if (typeof window === "undefined") return Promise.resolve();
|
|
2989
|
+
if (sessionPromise) return sessionPromise;
|
|
2990
|
+
sessionPromise = (async () => {
|
|
2991
|
+
const tokens = await apiConfig.getToken();
|
|
2992
|
+
if (tokens.accessToken) return;
|
|
2993
|
+
const result = await storefrontApi.crm.customer.initialize();
|
|
2994
|
+
if (result?.accessToken) {
|
|
2995
|
+
apiConfig.setToken(result);
|
|
2993
2996
|
}
|
|
2994
|
-
}).
|
|
2997
|
+
})().finally(() => {
|
|
2998
|
+
sessionPromise = null;
|
|
2999
|
+
});
|
|
3000
|
+
return sessionPromise;
|
|
3001
|
+
}
|
|
3002
|
+
if (typeof window !== "undefined") {
|
|
3003
|
+
ensureSession().catch(() => {
|
|
2995
3004
|
});
|
|
3005
|
+
if (apiConfig.businessId) {
|
|
3006
|
+
storefrontApi.business.getIntegrationConfig({ businessId: apiConfig.businessId, type: "analytics" }).then((configs) => {
|
|
3007
|
+
if (!configs) return;
|
|
3008
|
+
for (const c of Array.isArray(configs) ? configs : [configs]) {
|
|
3009
|
+
if (c.measurementId) {
|
|
3010
|
+
injectGA4Script(c.measurementId);
|
|
3011
|
+
}
|
|
3012
|
+
}
|
|
3013
|
+
}).catch(() => {
|
|
3014
|
+
});
|
|
3015
|
+
}
|
|
2996
3016
|
}
|
|
2997
3017
|
return {
|
|
2998
3018
|
business: storefrontApi.business,
|
|
@@ -3004,6 +3024,7 @@ async function createStorefront(config) {
|
|
|
3004
3024
|
analytics: {
|
|
3005
3025
|
track
|
|
3006
3026
|
},
|
|
3027
|
+
ensureSession,
|
|
3007
3028
|
setBusinessId: (businessId) => {
|
|
3008
3029
|
apiConfig.businessId = businessId;
|
|
3009
3030
|
},
|