@scayle/storefront-core
Version:
Collection of essential utilities to work with the Storefront API
26 lines (25 loc) • 922 B
JavaScript
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);
};