This commit is contained in:
2026-09-15 10:35:56 +08:00
commit 782f8ea7aa
4086 changed files with 631288 additions and 0 deletions
@@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace Esun\MultiLocaleTranslation\Model;
use InvalidArgumentException;
class EntityPool
{
public function __construct(private readonly array $entities = [])
{
}
public function get(string $entityType): TranslatableEntityInterface
{
if (!isset($this->entities[$entityType])) {
throw new InvalidArgumentException(sprintf('Unsupported entity type "%s".', $entityType));
}
$entity = $this->entities[$entityType];
if (!$entity instanceof TranslatableEntityInterface) {
throw new InvalidArgumentException(sprintf('Entity "%s" is misconfigured.', $entityType));
}
return $entity;
}
}