Prooph\EventStore\Adapter\InMemoryAdapter::load PHP Méthode

load() public méthode

public load ( StreamName $streamName, null | integer $minVersion = null ) : Stream | null
$streamName Prooph\EventStore\Stream\StreamName
$minVersion null | integer
Résultat Prooph\EventStore\Stream\Stream | null
    public function load(StreamName $streamName, $minVersion = null)
    {
        if (!isset($this->streams[$streamName->toString()])) {
            return;
        }
        $streamEvents = $this->streams[$streamName->toString()];
        if (null !== $minVersion) {
            $filteredEvents = [];
            foreach ($streamEvents as $streamEvent) {
                if ($streamEvent->version() >= $minVersion) {
                    $filteredEvents[] = $streamEvent;
                }
            }
            return new Stream($streamName, new \ArrayIterator($filteredEvents));
        }
        //Rewind before returning cached iterator as event store uses Iterator::valid()
        //to test if stream contains events
        $streamEvents->rewind();
        return new Stream($streamName, $streamEvents);
    }

Usage Example

 /**
  * @test
  */
 public function it_returns_nothing_when_trying_to_load_non_existing_stream()
 {
     $streamName = $this->prophesize(StreamName::class);
     $streamName->toString()->willReturn('test');
     $this->assertNull($this->adapter->load($streamName->reveal()));
 }