build method
Implementation
HashMap<String, String> build() {
// All key/values
final buildMap = HashMap<String, String>();
for (final item in _map.entries) {
final value = item.value;
if (value != null) {
buildMap[item.key] = _valueEncoder?.call(value) ?? value;
}
}
// Product action
final productAction = _productAction;
if (productAction != null) {
buildMap.addAll(productAction.build());
}
// Promotion
_promotions.asMap().forEach((index, value) {
buildMap.addAll(value.build(ZZD.zzj(index + 1)));
});
// Products
_products.asMap().forEach((index, value) {
buildMap.addAll(value.build(ZZD.zzh(index + 1)));
});
// Product impressions
var impressionIndex = 1;
for (final productImpession in _productImpressions.entries) {
final impressionPrefix = ZZD.zzm(impressionIndex);
productImpession.value.asMap().forEach((index, product) {
final productPrefix = impressionPrefix + ZZD.zzl(index + 1);
buildMap.addAll(product.build(productPrefix));
});
final impressionKey = impressionPrefix + "nm";
buildMap[impressionKey] = productImpession.key;
impressionIndex += 1;
}
return buildMap;
}