@techsio/storefront-data
Version:
Medusa-first storefront data layer built on TanStack Query.
44 lines (43 loc) • 2.36 kB
JavaScript
import { createAuthQueryKeys } from "../auth/query-keys.js";
import { createCartQueryKeys } from "../cart/query-keys.js";
import { createCatalogQueryKeys } from "../catalog/query-keys.js";
import { createCategoryQueryKeys } from "../categories/query-keys.js";
import { createCheckoutQueryKeys } from "../checkout/query-keys.js";
import { createCollectionQueryKeys } from "../collections/query-keys.js";
import { createCustomerQueryKeys } from "../customers/query-keys.js";
import { createOrderQueryKeys } from "../orders/query-keys.js";
import { createProductAttributeQueryKeys } from "../product-attributes/query-keys.js";
import { createProductListQueryKeys } from "../product-lists/query-keys.js";
import { createProductLocationAvailabilityQueryKeys } from "../product-location-availability/query-keys.js";
import { createProductQueryKeys } from "../products/query-keys.js";
import { createRegionQueryKeys } from "../regions/query-keys.js";
import { createProductReviewQueryKeys } from "../reviews/query-keys.js";
import { createCacheConfig } from "../shared/cache-config.js";
function createMedusaStorefrontQueryKeys(namespace) {
return {
auth: createAuthQueryKeys(namespace),
cart: createCartQueryKeys(namespace),
checkout: createCheckoutQueryKeys(namespace),
products: createProductQueryKeys(namespace),
productLists: createProductListQueryKeys(namespace),
productAttributes: createProductAttributeQueryKeys(namespace),
productLocationAvailability: createProductLocationAvailabilityQueryKeys(namespace),
orders: createOrderQueryKeys(namespace),
customers: createCustomerQueryKeys(namespace),
regions: createRegionQueryKeys(namespace),
categories: createCategoryQueryKeys(namespace),
collections: createCollectionQueryKeys(namespace),
catalog: createCatalogQueryKeys(namespace),
reviews: createProductReviewQueryKeys(namespace)
};
}
function resolveMedusaStorefrontFoundation(config) {
const namespace = config.queryKeyNamespace ?? "storefront-data";
const cacheConfig = config.cacheConfig ?? createCacheConfig();
return {
namespace,
cacheConfig,
defaultQueryKeys: createMedusaStorefrontQueryKeys(namespace)
};
}
export { createMedusaStorefrontQueryKeys, resolveMedusaStorefrontFoundation };