@gem-sdk/core 1.14.0-moon.208 → 1.14.0-moon.210

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};
@@ -9423,6 +9423,7 @@ type FetchProductsParams = {
9423
9423
  ids: string[];
9424
9424
  isSample?: boolean;
9425
9425
  isStorefront?: boolean;
9426
+ defaultSelectedProductCount?: number;
9426
9427
  };
9427
9428
 
9428
9429
  declare const generateProductQueryKey: (args: FetchProductParams) => ['query/product', FetchProductParams];
@@ -9511,7 +9512,7 @@ declare const useCollectionsQuery: (variable: CollectionsQueryVariables, options
9511
9512
 
9512
9513
  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>;
9513
9514
 
9514
- 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>;
9515
+ 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>;
9515
9516
 
9516
9517
  declare const useCurrentDevice: () => NameDevices;
9517
9518
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.14.0-moon.208",
3
+ "version": "1.14.0-moon.210",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "@gem-sdk/adapter-shopify": "1.12.0",
28
- "@gem-sdk/styles": "1.14.0-moon.208"
28
+ "@gem-sdk/styles": "1.14.0-moon.210"
29
29
  },
30
30
  "dependencies": {
31
31
  "react-error-boundary": "4.0.10",