for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace EventSauce\EventSourcing;
interface AggregateRootRepository
{
public function retrieve(AggregateRootId $aggregateRootId): object;
public function persist(object $aggregateRoot);
public function persistEvents(AggregateRootId $aggregateRootId, int $aggregateRootVersion, object ...$events);
}