adrema/app/Form/Transformers/FieldCollectionTransformer.php

25 lines
589 B
PHP
Raw Permalink Normal View History

2024-03-07 00:58:14 +01:00
<?php
namespace App\Form\Transformers;
use App\Form\Fields\Field;
use Illuminate\Support\Collection;
use Spatie\LaravelData\Support\DataProperty;
use Spatie\LaravelData\Transformers\Transformer;
class FieldCollectionTransformer implements Transformer
{
/**
* @param Collection<int, Field> $value
* @return array<string, mixed>
*/
public function transform(DataProperty $property, mixed $value): mixed
{
return $value->map(fn ($field) => [
...$field->toArray(),
'type' => class_basename($field),
])->toArray();
}
}