vendor/shopware/core/Checkout/Cart/Error/ErrorCollection.php line 12

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Checkout\Cart\Error;
  3. use Shopware\Core\Framework\Log\Package;
  4. use Shopware\Core\Framework\Struct\Collection;
  5. /**
  6.  * @extends Collection<Error>
  7.  */
  8. #[Package('checkout')]
  9. class ErrorCollection extends Collection
  10. {
  11.     /**
  12.      * @param Error $error
  13.      */
  14.     public function add($error): void
  15.     {
  16.         $this->set($error->getId(), $error);
  17.     }
  18.     public function blockOrder(): bool
  19.     {
  20.         foreach ($this->getIterator() as $error) {
  21.             if ($error->blockOrder()) {
  22.                 return true;
  23.             }
  24.         }
  25.         return false;
  26.     }
  27.     public function getErrors(): array
  28.     {
  29.         return $this->filterByErrorLevel(Error::LEVEL_ERROR);
  30.     }
  31.     public function getWarnings(): array
  32.     {
  33.         return $this->filterByErrorLevel(Error::LEVEL_WARNING);
  34.     }
  35.     public function getNotices(): array
  36.     {
  37.         return $this->filterByErrorLevel(Error::LEVEL_NOTICE);
  38.     }
  39.     public function getPersistent(): self
  40.     {
  41.         return $this->filter(function (Error $error) {
  42.             return $error->isPersistent();
  43.         });
  44.     }
  45.     public function filterByErrorLevel(int $errorLevel): array
  46.     {
  47.         return $this->fmap(static function (Error $error) use ($errorLevel): ?Error {
  48.             return $errorLevel === $error->getLevel() ? $error null;
  49.         });
  50.     }
  51.     public function hasLevel(int $errorLevel): bool
  52.     {
  53.         foreach ($this->getIterator() as $element) {
  54.             if ($element->getLevel() === $errorLevel) {
  55.                 return true;
  56.             }
  57.         }
  58.         return false;
  59.     }
  60.     public function getApiAlias(): string
  61.     {
  62.         return 'cart_error_collection';
  63.     }
  64.     protected function getExpectedClass(): ?string
  65.     {
  66.         return Error::class;
  67.     }
  68. }