@gem-sdk/core 1.14.0-next.256 → 1.14.0-next.257

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.
@@ -1 +1 @@
1
- "use strict";var products_generated=require("../../graphql/queries/products.generated.js"),getCollection=require("./get-collection.js"),getProduct=require("./get-product.js");const getProducts=async(e,{ids:t,isSample:r,isStorefront:d})=>{let s=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:d});if(!s)throw Error("Product not found");let[o,a]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:s,isSample:r,isStorefront:d}),mergeMediasToProducts({fetcher:e,products:s,isSample:r,isStorefront:d})]);return{...s,products:{...s.products,edges:s.products?.edges.map(e=>{let t=a.find(t=>t.productId===e.node?.baseID),r=o.find(t=>t.productId===e.node?.baseID);return e.node?{...e,node:{...e.node,variants:{...e.node?.variants,edges:r?.items??[]},medias:{...e.node?.medias,edges:t?.items??[]}}}:e})??[]}}},fetchProducts=async(e,t)=>e([products_generated.ProductsDocument,t]),loopFetchProducts=async(e,{ids:t,isSample:r,isStorefront:d})=>{let s,o,a,c,n;let u=(t?.length==0?4:t?.length)??4,i=1,g=Math.ceil(u/8);for(;i<=g&&!1!==c;){s={first:getCollection.calculateFirstProduct(u,i,8),firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",isSample:r,...d&&{isStorefront:d},...t?.length?{baseIDIn:t}:{}},after:o};let g=await fetchProducts(e,s);if(o=g?.products?.pageInfo?.endCursor,1===i?(a=g,n=g):n?.products&&g?.products?.edges.length&&(n.products={edges:n.products.edges.concat(g?.products?.edges),pageInfo:g?.products?.pageInfo}),i++,!n){c=!1;break}}return a},mergeVariantsToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchVariants(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s},mergeMediasToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchMedias(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s};exports.getProducts=getProducts;
1
+ "use strict";var products_generated=require("../../graphql/queries/products.generated.js"),getCollection=require("./get-collection.js"),getProduct=require("./get-product.js");const getProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s})=>{let o=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s});if(!o)throw Error("Product not found");let[a,c]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:o,isSample:r,isStorefront:d}),mergeMediasToProducts({fetcher:e,products:o,isSample:r,isStorefront:d})]);return{...o,products:{...o.products,edges:o.products?.edges.map(e=>{let t=c.find(t=>t.productId===e.node?.baseID),r=a.find(t=>t.productId===e.node?.baseID);return e.node?{...e,node:{...e.node,variants:{...e.node?.variants,edges:r?.items??[]},medias:{...e.node?.medias,edges:t?.items??[]}}}:e})??[]}}},fetchProducts=async(e,t)=>e([products_generated.ProductsDocument,t]),loopFetchProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s})=>{let o,a,c,n,u;let i=s||4,g=(t?.length==0?i:t?.length)??i,l=1,p=Math.ceil(g/8);for(;l<=p&&!1!==n;){o={first:getCollection.calculateFirstProduct(g,l,8),firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",isSample:r,...d&&{isStorefront:d},...t?.length?{baseIDIn:t}:{}},after:a};let s=await fetchProducts(e,o);if(a=s?.products?.pageInfo?.endCursor,1===l?(c=s,u=s):u?.products&&s?.products?.edges.length&&(u.products={edges:u.products.edges.concat(s?.products?.edges),pageInfo:s?.products?.pageInfo}),l++,!u){n=!1;break}}return c},mergeVariantsToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchVariants(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s},mergeMediasToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchMedias(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s};exports.getProducts=getProducts;
@@ -1 +1 @@
1
- "use strict";var useSWR=require("swr"),getProducts=require("../../helpers/queries/get-products.js"),query=require("../../helpers/query.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js");const useProductsQuery=(e,r)=>{let s=useFetchHandle.useFetchHandle(),u=shop.useIsSampleProduct(),t=shop.useIsStorefrontProduct();return useSWR(e?query.generateProductsQueryKey({ids:e,isSample:u,isStorefront:t}):null,async([,e])=>getProducts.getProducts(s,e),r)};exports.useProductsQuery=useProductsQuery;
1
+ "use strict";var useSWR=require("swr"),getProducts=require("../../helpers/queries/get-products.js"),query=require("../../helpers/query.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js");const useProductsQuery=(e,r,s)=>{let u=useFetchHandle.useFetchHandle(),t=shop.useIsSampleProduct(),o=shop.useIsStorefrontProduct();return useSWR(e?query.generateProductsQueryKey({ids:e,isSample:t,isStorefront:o,defaultSelectedProductCount:s}):null,async([,e])=>getProducts.getProducts(u,e),r)};exports.useProductsQuery=useProductsQuery;
@@ -1 +1 @@
1
- import{ProductsDocument as e}from"../../graphql/queries/products.generated.js";import{calculateFirstProduct as t}from"./get-collection.js";import{fetchVariants as r,fetchMedias as o}from"./get-product.js";let getProducts=async(e,{ids:t,isSample:r,isStorefront:o})=>{let d=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:o});if(!d)throw Error("Product not found");let[s,a]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:d,isSample:r,isStorefront:o}),mergeMediasToProducts({fetcher:e,products:d,isSample:r,isStorefront:o})]);return{...d,products:{...d.products,edges:d.products?.edges.map(e=>{let t=a.find(t=>t.productId===e.node?.baseID),r=s.find(t=>t.productId===e.node?.baseID);return e.node?{...e,node:{...e.node,variants:{...e.node?.variants,edges:r?.items??[]},medias:{...e.node?.medias,edges:t?.items??[]}}}:e})??[]}}},fetchProducts=async(t,r)=>t([e,r]),loopFetchProducts=async(e,{ids:r,isSample:o,isStorefront:d})=>{let s,a,n,c,i;let u=(r?.length==0?4:r?.length)??4,p=1,l=Math.ceil(u/8);for(;p<=l&&!1!==c;){s={first:t(u,p,8),firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",isSample:o,...d&&{isStorefront:d},...r?.length?{baseIDIn:r}:{}},after:a};let l=await fetchProducts(e,s);if(a=l?.products?.pageInfo?.endCursor,1===p?(n=l,i=l):i?.products&&l?.products?.edges.length&&(i.products={edges:i.products.edges.concat(l?.products?.edges),pageInfo:l?.products?.pageInfo}),p++,!i){c=!1;break}}return n},mergeVariantsToProducts=async({fetcher:e,products:t,isSample:o,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await r(e,{id:t?.node?.baseID,isSample:o,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s},mergeMediasToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await o(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s};export{getProducts};
1
+ import{ProductsDocument as e}from"../../graphql/queries/products.generated.js";import{calculateFirstProduct as t}from"./get-collection.js";import{fetchVariants as r,fetchMedias as o}from"./get-product.js";let getProducts=async(e,{ids:t,isSample:r,isStorefront:o,defaultSelectedProductCount:d})=>{let s=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:o,defaultSelectedProductCount:d});if(!s)throw Error("Product not found");let[a,n]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:s,isSample:r,isStorefront:o}),mergeMediasToProducts({fetcher:e,products:s,isSample:r,isStorefront:o})]);return{...s,products:{...s.products,edges:s.products?.edges.map(e=>{let t=n.find(t=>t.productId===e.node?.baseID),r=a.find(t=>t.productId===e.node?.baseID);return e.node?{...e,node:{...e.node,variants:{...e.node?.variants,edges:r?.items??[]},medias:{...e.node?.medias,edges:t?.items??[]}}}:e})??[]}}},fetchProducts=async(t,r)=>t([e,r]),loopFetchProducts=async(e,{ids:r,isSample:o,isStorefront:d,defaultSelectedProductCount:s})=>{let a,n,c,i,u;let p=s||4,l=(r?.length==0?p:r?.length)??p,g=1,m=Math.ceil(l/8);for(;g<=m&&!1!==i;){a={first:t(l,g,8),firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",isSample:o,...d&&{isStorefront:d},...r?.length?{baseIDIn:r}:{}},after:n};let s=await fetchProducts(e,a);if(n=s?.products?.pageInfo?.endCursor,1===g?(c=s,u=s):u?.products&&s?.products?.edges.length&&(u.products={edges:u.products.edges.concat(s?.products?.edges),pageInfo:s?.products?.pageInfo}),g++,!u){i=!1;break}}return c},mergeVariantsToProducts=async({fetcher:e,products:t,isSample:o,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await r(e,{id:t?.node?.baseID,isSample:o,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s},mergeMediasToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await o(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s};export{getProducts};
@@ -1 +1 @@
1
- import r from"swr";import{getProducts as e}from"../../helpers/queries/get-products.js";import{generateProductsQueryKey as s}from"../../helpers/query.js";import{useIsSampleProduct as o,useIsStorefrontProduct as t}from"../shop.js";import{useFetchHandle as u}from"../useFetchHandle.js";let useProductsQuery=(m,p)=>{let l=u(),i=o(),c=t();return r(m?s({ids:m,isSample:i,isStorefront:c}):null,async([,r])=>e(l,r),p)};export{useProductsQuery};
1
+ import r from"swr";import{getProducts as e}from"../../helpers/queries/get-products.js";import{generateProductsQueryKey as s}from"../../helpers/query.js";import{useIsSampleProduct as o,useIsStorefrontProduct as t}from"../shop.js";import{useFetchHandle as u}from"../useFetchHandle.js";let useProductsQuery=(m,p,l)=>{let i=u(),c=o(),f=t();return r(m?s({ids:m,isSample:c,isStorefront:f,defaultSelectedProductCount:l}):null,async([,r])=>e(i,r),p)};export{useProductsQuery};
@@ -9500,6 +9500,7 @@ type FetchProductsParams = {
9500
9500
  ids: string[];
9501
9501
  isSample?: boolean;
9502
9502
  isStorefront?: boolean;
9503
+ defaultSelectedProductCount?: number;
9503
9504
  };
9504
9505
 
9505
9506
  declare const generateProductQueryKey: (args: FetchProductParams) => ['query/product', FetchProductParams];
@@ -9588,7 +9589,7 @@ declare const useCollectionsQuery: (variable: CollectionsQueryVariables, options
9588
9589
 
9589
9590
  declare const useProductQuery: (productId?: string, options?: SWRConfiguration<ProductSelectFragment>) => swr__internal.SWRResponse<ProductSelectFragment, any, Partial<swr__internal.PublicConfiguration<ProductSelectFragment, any, (arg: ["query/product", FetchProductParams]) => swr__internal.FetcherResponse<ProductSelectFragment>>> | undefined>;
9590
9591
 
9591
- declare const useProductsQuery: (ids?: string[], options?: SWRConfiguration<ProductsQueryResponse>) => swr__internal.SWRResponse<ProductsQueryResponse, any, Partial<swr__internal.PublicConfiguration<ProductsQueryResponse, any, (arg: ["query/products", FetchProductsParams]) => swr__internal.FetcherResponse<ProductsQueryResponse>>> | undefined>;
9592
+ declare const useProductsQuery: (ids?: string[], options?: SWRConfiguration<ProductsQueryResponse>, defaultSelectedProductCount?: number) => swr__internal.SWRResponse<ProductsQueryResponse, any, Partial<swr__internal.PublicConfiguration<ProductsQueryResponse, any, (arg: ["query/products", FetchProductsParams]) => swr__internal.FetcherResponse<ProductsQueryResponse>>> | undefined>;
9592
9593
 
9593
9594
  declare const useCurrentDevice: () => NameDevices;
9594
9595
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.14.0-next.256",
3
+ "version": "1.14.0-next.257",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",