@gem-sdk/core 12.0.0-staging.34 → 12.0.0-staging.36
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.
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";var product_generated=require("../fragments/product.generated.js"),productLittle_generated=require("../fragments/product-little.generated.js"),productOption_generated=require("../fragments/product-option.generated.js"),productOptionValue_generated=require("../fragments/product-option-value.generated.js"),media_generated=require("../fragments/media.generated.js"),variant_generated=require("../fragments/variant.generated.js"),selectedOption_generated=require("../fragments/selected-option.generated.js");const ProductsEdgeDetail=`
|
|
2
|
+
fragment ProductsEdgeDetail on ProductEdge {
|
|
3
|
+
cursor
|
|
4
|
+
node {
|
|
5
|
+
...ProductSelect
|
|
6
|
+
tags
|
|
7
|
+
collections {
|
|
8
|
+
edges {
|
|
9
|
+
node {
|
|
10
|
+
id
|
|
11
|
+
title
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`,ProductsV2Document=`
|
|
18
|
+
query productsV2($first: Int, $where: ProductWhereInput, $firstMedia: Int, $orderBy: ProductOrder, $after: Cursor, $firstVariant: Int, $afterVariant: Cursor, $afterMedia: Cursor, $orderByMedia: MediaOrder) {
|
|
19
|
+
products(first: $first, where: $where, orderBy: $orderBy, after: $after) {
|
|
20
|
+
edges {
|
|
21
|
+
...ProductsEdgeDetail
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
${ProductsEdgeDetail}
|
|
26
|
+
${product_generated.ProductSelect}
|
|
27
|
+
${productLittle_generated.ProductLittleSelect}
|
|
28
|
+
${productOption_generated.ProductOptionSelect}
|
|
29
|
+
${productOptionValue_generated.ProductOptionValueSelect}
|
|
30
|
+
${media_generated.MediaSelect}
|
|
31
|
+
${variant_generated.VariantSelect}
|
|
32
|
+
${selectedOption_generated.SelectedOptionSelect}`;exports.ProductsEdgeDetail=ProductsEdgeDetail,exports.ProductsV2Document=ProductsV2Document;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var productsV2_generated=require("../../graphql/queries/productsV2.generated.js"),getProduct=require("./get-product.js");const getProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a})=>{let i=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a});if(!i)throw Error("Product not found");let[o,c]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:i,isSample:r,isStorefront:d}),mergeMediasToProducts({fetcher:e,products:i,isSample:r,isStorefront:d})]);return{...i,products:{...i.products,edges:i.products?.edges.map(e=>{let t=c.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})??[]}}},getProductQueryAll=async(e,t)=>{let r=t?.limit||4;delete t.limit;let d={first:r,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t}},s=await fetchProducts(e,d);return s},getListProductByVariables=async(e,t)=>{let r={first:t.first||8,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t.where},after:t.after},d=await fetchProducts(e,r);return d},fetchProducts=async(e,t)=>e([productsV2_generated.ProductsV2Document,t]),MAX_NUMBER_PRODUCTS=20,loopFetchProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a})=>{let i=s||4,o=(t?.length==0?i:t?.length)??i,c=a?{}:{status:"ACTIVE"},u={first:o||20,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{...c,isSample:r,...d&&{isStorefront:d},...t?.length?{baseIDIn:t}:{}}},n=await fetchProducts(e,u);return n},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.getListProductByVariables=getListProductByVariables,exports.getProductQueryAll=getProductQueryAll,exports.getProducts=getProducts;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import{ProductSelect as r}from"../fragments/product.generated.js";import{ProductLittleSelect as e}from"../fragments/product-little.generated.js";import{ProductOptionSelect as t}from"../fragments/product-option.generated.js";import{ProductOptionValueSelect as o}from"../fragments/product-option-value.generated.js";import{MediaSelect as d}from"../fragments/media.generated.js";import{VariantSelect as a}from"../fragments/variant.generated.js";import{SelectedOptionSelect as s}from"../fragments/selected-option.generated.js";let ProductsEdgeDetail=`
|
|
2
|
+
fragment ProductsEdgeDetail on ProductEdge {
|
|
3
|
+
cursor
|
|
4
|
+
node {
|
|
5
|
+
...ProductSelect
|
|
6
|
+
tags
|
|
7
|
+
collections {
|
|
8
|
+
edges {
|
|
9
|
+
node {
|
|
10
|
+
id
|
|
11
|
+
title
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`,ProductsV2Document=`
|
|
18
|
+
query productsV2($first: Int, $where: ProductWhereInput, $firstMedia: Int, $orderBy: ProductOrder, $after: Cursor, $firstVariant: Int, $afterVariant: Cursor, $afterMedia: Cursor, $orderByMedia: MediaOrder) {
|
|
19
|
+
products(first: $first, where: $where, orderBy: $orderBy, after: $after) {
|
|
20
|
+
edges {
|
|
21
|
+
...ProductsEdgeDetail
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
${ProductsEdgeDetail}
|
|
26
|
+
${r}
|
|
27
|
+
${e}
|
|
28
|
+
${t}
|
|
29
|
+
${o}
|
|
30
|
+
${d}
|
|
31
|
+
${a}
|
|
32
|
+
${s}`;export{ProductsEdgeDetail,ProductsV2Document};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ProductsV2Document as e}from"../../graphql/queries/productsV2.generated.js";import{fetchVariants as t,fetchMedias as r}from"./get-product.js";let getProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:i})=>{let a=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:i});if(!a)throw Error("Product not found");let[o,n]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:a,isSample:r,isStorefront:d}),mergeMediasToProducts({fetcher:e,products:a,isSample:r,isStorefront:d})]);return{...a,products:{...a.products,edges:a.products?.edges.map(e=>{let t=n.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})??[]}}},getProductQueryAll=async(e,t)=>{let r=t?.limit||4;delete t.limit;let d={first:r,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t}},s=await fetchProducts(e,d);return s},getListProductByVariables=async(e,t)=>{let r={first:t.first||8,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t.where},after:t.after},d=await fetchProducts(e,r);return d},fetchProducts=async(t,r)=>t([e,r]),MAX_NUMBER_PRODUCTS=20,loopFetchProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:i})=>{let a=s||4,o=(t?.length==0?a:t?.length)??a,n=i?{}:{status:"ACTIVE"},c={first:o||20,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{...n,isSample:r,...d&&{isStorefront:d},...t?.length?{baseIDIn:t}:{}}},u=await fetchProducts(e,c);return u},mergeVariantsToProducts=async({fetcher:e,products:r,isSample:d,isStorefront:s})=>{let i=await Promise.all(r?.products?.edges?.map(async r=>{let i=await t(e,{id:r?.node?.baseID,isSample:d,isStorefront:s});return{productId:r?.node?.baseID,items:i}})??[]);return i},mergeMediasToProducts=async({fetcher:e,products:t,isSample:d,isStorefront:s})=>{let i=await Promise.all(t?.products?.edges?.map(async t=>{let i=await r(e,{id:t?.node?.baseID,isSample:d,isStorefront:s});return{productId:t?.node?.baseID,items:i}})??[]);return i};export{getListProductByVariables,getProductQueryAll,getProducts};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/core",
|
|
3
|
-
"version": "12.0.0-staging.
|
|
3
|
+
"version": "12.0.0-staging.36",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"type-check": "yarn tsc --noEmit"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@gem-sdk/adapter-shopify": "12.0.0-staging.
|
|
31
|
-
"@gem-sdk/styles": "12.0.0-staging.
|
|
30
|
+
"@gem-sdk/adapter-shopify": "12.0.0-staging.36",
|
|
31
|
+
"@gem-sdk/styles": "12.0.0-staging.36",
|
|
32
32
|
"@types/classnames": "^2.3.1"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|