*/ final readonly class SourceOverview { public function __construct( public SourceId $id, public string $name, public string $url, public ?string $displayName = null, public bool $followed = false, public ?string $image = null ) { } public static function create(array $item): self { return new self( SourceId::fromBinary($item['source_id']), DataMapping::string($item, 'source_name'), DataMapping::string($item, 'source_url'), DataMapping::nullableString($item, 'source_display_name'), DataMapping::boolean($item, 'source_is_followed'), DataMapping::nullableString($item, 'source_image') ); } }