Skip to content

Commit

Permalink
fix php static analisis issues
Browse files Browse the repository at this point in the history
  • Loading branch information
d8vjork committed Oct 6, 2023
1 parent 40011bc commit 6c18a23
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 9 deletions.
4 changes: 2 additions & 2 deletions src/Contracts/ValidatedDataTransferObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ public static function request(): string;
/**
* Initialise data transfer object from a request.
*/
public static function fromRequest(Request|FormRequest $request): static;
public static function fromRequest(Request|FormRequest $request);

/**
* Initialise data transfer object from array.
*/
Expand Down
2 changes: 1 addition & 1 deletion src/DataTransferObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ abstract class DataTransferObject implements Arrayable
/**
* Initialise data transfer object from a request.
*/
public static function fromRequest(Request|FormRequest $request): static
public static function fromRequest(Request|FormRequest $request)
{
return static::fromArray(array_merge(
is_object($request->route()) ? $request->route()->parameters() : [],
Expand Down
10 changes: 4 additions & 6 deletions src/PropertiesMapper.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use Carbon\CarbonInterface;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection as EloquentCollection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
Expand Down Expand Up @@ -93,7 +94,7 @@ public function run(): static
}

$this->data[$key] = match (true) {
$preferredType->isCollection() || $preferredTypeClass === Collection::class => $this->mapIntoCollection($propertyTypes, $key, $value),
$preferredType->isCollection() || $preferredTypeClass === Collection::class || $preferredTypeClass === EloquentCollection::class => $this->mapIntoCollection($propertyTypes, $key, $value),
is_subclass_of($preferredTypeClass, Model::class) => $this->mapIntoModel($preferredTypeClass, $key, $value),
is_subclass_of($preferredTypeClass, BackedEnum::class) => $preferredTypeClass::tryFrom($value),
is_subclass_of($preferredTypeClass, CarbonInterface::class) || $preferredTypeClass === CarbonInterface::class => $this->mapIntoCarbonDate($preferredTypeClass, $value),
Expand Down Expand Up @@ -216,15 +217,12 @@ public function mapIntoCarbonDate($carbonClass, mixed $value): ?CarbonInterface
* Map data value into collection of items with subtypes.
*
* @param array<\Symfony\Component\PropertyInfo\Type> $propertyTypes
* @param \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Collection|array|string $value
*/
protected function mapIntoCollection(array $propertyTypes, string $propertyKey, mixed $value)
{
if ($value instanceof Collection) {
return $value;
}

if ($value instanceof \Illuminate\Database\Eloquent\Collection) {
return $value->toBase();
return $value instanceof EloquentCollection ? $value->toBase() : $value;
}

$propertyType = reset($propertyTypes);
Expand Down

0 comments on commit 6c18a23

Please sign in to comment.