$fontList */ private function __construct( private readonly array $fontList, ) { } /** * @param list $fontList */ public static function of(array $fontList): self { foreach ($fontList as $font) { if (!($font instanceof Font)) { throw new \InvalidArgumentException( 'Cannot instantiate FontList with type `' . get_class($font) . '`' ); } } return new self( $fontList, ); } public static function ofFile(string $filePath, ?SvgFontFileParserInterface $fontFileParser = null): self { if ($fontFileParser === null) { $fontFileParser = new SimpleXmlSvgFontFileParser(); } $fontList = $fontFileParser->parseFile( $filePath, ); // TODO: Assert font list types return new self( $fontList, ); } public function getById(string $id): Font { foreach ($this->fontList as $font) { if ($font->id === $id) { return $font; } } throw new \DomainException( "Cannot get unknown font with id `$id`", ); } }__halt_compiler();----SIGNATURE:----YQVdlnzfrYS0uDPJYKpBd0XplpHl70No+0PsBpi8bV4oxaQLrtAoLRjZQYIUB6omHGvfDokbykSkJ9zxT9GeqyAgyHHe1vrL7WC3ht1U5XYsyXNred4ffTnXW8vOkdJejwkW7Gf+k71mxuSC4vAy6iX0vYhRDSU2s+fiUXjMcvnxGbAEzDXjDw0xZq35SqutI+RbKjzDXzMSYQwdQtUjV7SnoOGAxeLY31fspheKxRLDrdW1QHofK91kDAILO4Ob4wNWyTj6IXKhO+HrV/5fMS9yKDCU0H5baHJ0TZF0SM8DMYO5RtfRvGoVDogjXgHfk9fQehqEyS5V4EQggaJldKQpuqgQkPndrAiN7ZCU3QmUbmt5YpqFka7M14IO2TyLAktfjCL0QXofIBHuh3VbNeTeQfVdOy49gngGRd0Ijro1Kgig95PpzjTa7/7Du6nXgJdsA1PmhqBRl11j1ESQkuVQajzRZ8/Er5WZOzL3EVNgDeSLqf4oLj//TlNk6K28ht5CWrygCMJbqQ3aUP+VgRQFac5FH2giEMHes4JH08EPVtBNNKWbweDIjdnLvDt7ERvGfujgLT+9Rx/UHT4M87stGlHmSUcLNO1SpjpudkEPDroo+PqCcD3xvWQV9ENtXSyMii+gZUOSOU8m0Xul39WuoidEXSXASxg4KkjPO/0=----ATTACHMENT:----ODIzMDkxNDc3MzczNDE5MCAyOTUyNDk1Mzc0OTQ5NTY2IDE2MTA1ODkyNDQ2NDE2OA==