Skip to content

Commit

Permalink
resolve to psalm level 1
Browse files Browse the repository at this point in the history
  • Loading branch information
prolic committed May 4, 2020
1 parent 4126a1a commit f0f3d9f
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 58 deletions.
8 changes: 8 additions & 0 deletions src/EventId.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,27 +38,35 @@ public static function fromBinary(string $bytes): EventId

private function __construct(UuidInterface $eventId)
{
/** @psalm-suppress ImpurePropertyAssignment */
$this->uuid = $eventId;
}

/** @psalm-pure */
public function toString(): string
{
/** @psalm-suppress ImpureMethodCall */
return $this->uuid->toString();
}

/** @psalm-pure */
public function toBinary(): string
{
/** @psalm-suppress ImpureMethodCall */
return $this->uuid->getBytes();
}

/** @psalm-pure */
public function __toString(): string
{
/** @psalm-suppress ImpureMethodCall */
return $this->uuid->toString();
}

/** @psalm-pure */
public function equals(EventId $other): bool
{
/** @psalm-suppress ImpureMethodCall */
return $this->uuid->equals($other->uuid);
}
}
32 changes: 17 additions & 15 deletions src/PersistentSubscriptions/PersistentSubscriptionConfigDetails.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,24 +66,26 @@ private function __construct(
$this->preferRoundRobin = $preferRoundRobin;
}

/** @psalm-pure */
/**
* @param array<string, bool|int|string> $data
*/
public static function fromArray(array $data): self
{
return new self(
$data['resolveLinktos'],
$data['startFrom'],
$data['messageTimeoutMilliseconds'],
$data['extraStatistics'],
$data['maxRetryCount'],
$data['liveBufferSize'],
$data['bufferSize'],
$data['readBatchSize'],
$data['checkPointAfterMilliseconds'],
$data['minCheckPointCount'],
$data['maxCheckPointCount'],
$data['maxSubscriberCount'],
$data['namedConsumerStrategy'],
$data['preferRoundRobin']
(bool) $data['resolveLinktos'],
(int) $data['startFrom'],
(int) $data['messageTimeoutMilliseconds'],
(bool) $data['extraStatistics'],
(int) $data['maxRetryCount'],
(int) $data['liveBufferSize'],
(int) $data['bufferSize'],
(int) $data['readBatchSize'],
(int) $data['checkPointAfterMilliseconds'],
(int) $data['minCheckPointCount'],
(int) $data['maxCheckPointCount'],
(int) $data['maxSubscriberCount'],
(string) $data['namedConsumerStrategy'],
(bool) $data['preferRoundRobin']
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,20 @@ private function __construct(
$this->inFlightMessages = $inFlightMessages;
}

/** @psalm-pure */
/**
* @param array<string, string|float|int> $data
* @psalm-pure
*/
public static function fromArray(array $data): self
{
return new self(
$data['from'],
$data['username'],
$data['averageItemsPerSecond'],
$data['totalItemsProcessed'],
$data['countSinceLastMeasurement'],
$data['availableSlots'],
$data['inFlightMessages'],
(string) $data['from'],
(string) $data['username'],
(float) $data['averageItemsPerSecond'],
(int) $data['totalItemsProcessed'],
(int) $data['countSinceLastMeasurement'],
(int) $data['availableSlots'],
(int) $data['inFlightMessages'],
);
}

Expand Down
52 changes: 36 additions & 16 deletions src/PersistentSubscriptions/PersistentSubscriptionDetails.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,25 @@ final class PersistentSubscriptionDetails
private string $parkedMessageUri;
private string $getMessagesUri;

/**
* @param ?PersistentSubscriptionConfigDetails $config
* @param list<PersistentSubscriptionConnectionDetails> $connections
* @param string $eventStreamId
* @param string $groupName
* @param string $status
* @param float $averageItemsPerSecond
* @param int $totalItemsProcessed
* @param int $countSinceLastMeasurement
* @param int $lastProcessedEventNumber
* @param int $lastKnownEventNumber
* @param int $readBufferCount
* @param int $liveBufferCount
* @param int $retryBufferCount
* @param int $totalInFlightMessages
* @param int $connectionCount
* @param string $parkedMessageUri
* @param string $getMessagesUri
*/
private function __construct(
?PersistentSubscriptionConfigDetails $config,
array $connections,
Expand Down Expand Up @@ -81,18 +100,19 @@ private function __construct(
$this->getMessagesUri = $getMessagesUri;
}

/** @psalm-pure */
public static function fromArray(array $data): self
{
$config = null;

if (isset($data['config'])) {
/** @var array<string, bool|int|string> $data['config'] */
$config = PersistentSubscriptionConfigDetails::fromArray($data['config']);
}

$connections = [];

if (isset($data['connections'])) {
/** @var array<string, string|float|int> $connection */
foreach ($data['connections'] as $connection) {
$connections[] = PersistentSubscriptionConnectionDetails::fromArray($connection);
}
Expand All @@ -101,21 +121,21 @@ public static function fromArray(array $data): self
return new self(
$config,
$connections,
$data['eventStreamId'],
$data['groupName'],
$data['status'],
$data['averageItemsPerSecond'],
$data['totalItemsProcessed'],
$data['countSinceLastMeasurement'] ?? 0,
$data['lastProcessedEventNumber'],
$data['lastKnownEventNumber'],
$data['readBufferCount'] ?? 0,
$data['liveBufferCount'] ?? 0,
$data['retryBufferCount'] ?? 0,
$data['totalInFlightMessages'],
$data['connectionCount'] ?? 0,
$data['parkedMessageUri'],
$data['getMessagesUri']
(string) $data['eventStreamId'],
(string) $data['groupName'],
(string) $data['status'],
(float) $data['averageItemsPerSecond'],
(int) $data['totalItemsProcessed'],
(int) ($data['countSinceLastMeasurement'] ?? 0),
(int) $data['lastProcessedEventNumber'],
(int) $data['lastKnownEventNumber'],
(int) ($data['readBufferCount'] ?? 0),
(int) ($data['liveBufferCount'] ?? 0),
(int) ($data['retryBufferCount'] ?? 0),
(int) $data['totalInFlightMessages'],
(int) ($data['connectionCount'] ?? 0),
(string) $data['parkedMessageUri'],
(string) $data['getMessagesUri']
);
}

Expand Down
25 changes: 7 additions & 18 deletions src/StreamAcl.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
namespace Prooph\EventStore;

use Prooph\EventStore\Common\SystemMetadata;
use Prooph\EventStore\Exception\InvalidArgumentException;

class StreamAcl
{
Expand Down Expand Up @@ -58,20 +57,6 @@ public function __construct(
array $metaReadRoles = [],
array $metaWriteRoles = []
) {
$check = function (array $data): void {
foreach ($data as $value) {
if (! \is_string($value)) {
throw new InvalidArgumentException('Invalid roles given, expected an array of strings');
}
}
};

$check($readRoles);
$check($writeRoles);
$check($deleteRoles);
$check($metaReadRoles);
$check($metaWriteRoles);

$this->readRoles = $readRoles;
$this->writeRoles = $writeRoles;
$this->deleteRoles = $deleteRoles;
Expand Down Expand Up @@ -147,7 +132,7 @@ public function toArray(): array
}

/**
* @param array<string, list<string>>
* @param array<string, list<string>> $data
*/
public static function fromArray(array $data): StreamAcl
{
Expand All @@ -161,9 +146,13 @@ public static function fromArray(array $data): StreamAcl
}

/**
* @param ?array $roles
* @return list<string>|string|null
*
* @psalm-pure
* @param array|null $roles
* @return array|mixed|null
* @psalm-suppress MixedInferredReturnType
* @psalm-suppress MixedReturnStatement
* @psalm-suppress MixedReturnTypeCoercion
*/
private function exportRoles(?array $roles)
{
Expand Down
2 changes: 1 addition & 1 deletion src/StreamMetadata.php
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ public static function createFromArray(array $data): StreamMetadata
if (\in_array($key, $internals, true)) {
$params[$key] = $value;
} elseif ($key === SystemMetadata::ACL) {
assert(\is_array($value));
/** @var array<string, list<string>> $value */
$params[SystemMetadata::ACL] = StreamAcl::fromArray($value);
} else {
$params['customMetadata'][$key] = $value;
Expand Down

0 comments on commit f0f3d9f

Please sign in to comment.