<?php

namespace NoahVet\Reef\Application\Resolver;

class PatchMergeResolver implements PatchMergeResolverInterface
{
    /**
     * @param array<int|string, mixed> $ateAttributes
     */
    public function __construct(
        private readonly object $existingEntity,
        private readonly array $ateAttributes,
        private readonly string $requestContent,
    ) {
    }

    #[\Override]
    public function existingEntity(): object
    {
        return $this->existingEntity;
    }

    /**
     * @return array<int|string, mixed>
     */
    #[\Override]
    public function ateAttributes(): array
    {
        return $this->ateAttributes;
    }

    #[\Override]
    public function requestContent(): string
    {
        return $this->requestContent;
    }
}
