@konkonam/nuxt-shopify
Version:
Easily integrate shopify with nuxt 3 and 4 🚀
36 lines (35 loc) • 1.07 kB
JavaScript
import { createApiUrl, createStoreDomain } from "./client.js";
const MOCK_STORE_DOMAIN = "https://mock.shop";
export const createStorefrontConfig = (config) => {
if (!config?.clients?.storefront) {
throw new Error("Could not create storefront client");
}
const {
name,
logger,
clients: {
storefront: {
apiVersion,
headers,
publicAccessToken,
privateAccessToken,
mock
}
}
} = config;
if (!name || !publicAccessToken && !privateAccessToken || publicAccessToken && privateAccessToken) {
throw new Error("Could not create storefront client");
}
const apiUrl = mock ? createApiUrl(MOCK_STORE_DOMAIN, apiVersion) : createApiUrl(createStoreDomain(name), apiVersion);
return {
storeDomain: createStoreDomain(name),
apiUrl,
apiVersion,
logger,
headers: {
...publicAccessToken ? { "X-Shopify-Storefront-Access-Token": publicAccessToken } : {},
...privateAccessToken ? { "Shopify-Private-Access-Token": privateAccessToken } : {},
...headers
}
};
};