Prooph\EventStore\EventStore::replay PHP Метод

replay() публичный Метод

public replay ( array $streamNames, DateTimeInterface $since = null, array $metadatas = null ) : CompositeIterator
$streamNames array
$since DateTimeInterface
$metadatas array One metadata array per stream name, same index order is required
Результат Prooph\EventStore\Util\CompositeIterator
    public function replay(array $streamNames, DateTimeInterface $since = null, array $metadatas = null)
    {
        if (empty($streamNames)) {
            throw new Exception\InvalidArgumentException('No stream names given');
        }
        if (null === $metadatas) {
            $metadatas = array_fill(0, count($streamNames), []);
        }
        if (count($streamNames) !== count($metadatas)) {
            throw new Exception\InvalidArgumentException(sprintf('One metadata per stream name needed, given %s stream names but %s metadatas', count($streamNames), count($metadatas)));
        }
        $iterators = [];
        foreach ($streamNames as $key => $streamName) {
            $iterators[] = $this->adapter->replay($streamName, $since, $metadatas[$key]);
        }
        return new CompositeIterator($iterators, function (Message $message1 = null, Message $message2) {
            if (null === $message1) {
                return true;
            }
            return $message1->createdAt()->format('U.u') > $message2->createdAt()->format('U.u');
        });
    }