UNPKG

@scayle/storefront-core

Version:

Collection of essential utilities to work with the Storefront API

26 lines (25 loc) 922 B
import { flattenDeep } from "./arrayHelpers.mjs"; export const flattenFieldSet = (fieldSet) => { return fieldSet.map((list) => { return Object.assign({}, ...list); }); }; export const getFlattenedMaterialComposition = (materialCompositions) => { return materialCompositions.map((materialComposition) => ({ ...flattenDeep(flattenFieldSet(materialComposition.fieldSet))[0], values: flattenDeep( materialComposition.groupSet.map((g) => flattenFieldSet(g.fieldSet)) ) })); }; export const getFlattenedAdvancedAttribute = (attributeGroup) => { return attributeGroup.map((groupItem) => ({ ...flattenDeep(flattenFieldSet(groupItem.fieldSet))[0], values: flattenDeep( groupItem.groupSet.map((g) => flattenFieldSet(g.fieldSet)) ) })); }; export const getFlattenedVariantCrosssellings = (variantCrosssellings) => { return getFlattenedAdvancedAttribute(variantCrosssellings); };