<?php
namespace ZBateson\MailMimeParser\Header;
use Psr\Log\LoggerInterface;
use ZBateson\MailMimeParser\Header\Consumer\IdBaseConsumerService;
use ZBateson\MailMimeParser\Header\Part\CommentPart;
use ZBateson\MailMimeParser\Header\Part\MimeTokenPartFactory;
class IdHeader extends MimeEncodedHeader
{
public function __construct(
string $name,
string $value,
?LoggerInterface $logger = null,
?MimeTokenPartFactory $mimeTokenPartFactory = null,
?IdBaseConsumerService $consumerService = null
) {
parent::__construct(
self::resolveService($logger, LoggerInterface::class),
self::resolveService($mimeTokenPartFactory, MimeTokenPartFactory::class),
self::resolveService($consumerService, IdBaseConsumerService::class),
$name,
$value
);
}
public function getId() : ?string
{
return $this->getValue();
}
public function getIds() : array
{
return \array_values(\array_map(
fn($p) => $p->getValue(),
\array_filter($this->parts, fn($p) => !($p instanceof CommentPart))
));
}
}