*/ final readonly class Comment { public function __construct( public CommentId $id, public UserReference $user, public Sentiment $sentiment, public string $content, public \DateTimeImmutable $createdAt, ) { } public static function create(array $item): self { return new self( CommentId::fromString(DataMapping::string($item, 'comment_id')), UserReference::create($item), DataMapping::enum($item, 'comment_sentiment', Sentiment::class), DataMapping::string($item, 'comment_content'), DataMapping::dateTime($item, 'comment_created_at') ); } }