extractDataFromAddress = $extractDataFromAddress; } /** * @inheritdoc */ public function resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null) { if (!isset($value['model'])) { throw new LocalizedException(__('"model" value should be specified')); } $cart = $value['model']; $addressesData = []; $shippingAddresses = $cart->getAllShippingAddresses(); if (count($shippingAddresses)) { foreach ($shippingAddresses as $shippingAddress) { $addressesData[] = $this->extractDataFromAddress->execute($shippingAddress); } } return $addressesData; } }