| 
<?php
 /*
 * This file is part of Chevere.
 *
 * (c) Rodolfo Berrios <rodolfo@chevere.org>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
 
 declare(strict_types=1);
 
 namespace Chevere\Xr;
 
 use Chevere\Message\Message;
 use Chevere\Throwable\Exceptions\LogicException;
 use Chevere\Xr\Interfaces\XrInterface;
 
 /**
 * @codeCoverageIgnore
 */
 final class XrInstance
 {
 private static XrInterface $instance;
 
 public function __construct(XrInterface $xr)
 {
 self::$instance = $xr;
 }
 
 public static function get(): XrInterface
 {
 if (!isset(self::$instance)) {
 throw new LogicException(
 new Message('No xr instance present')
 );
 }
 
 return self::$instance;
 }
 }
 
 |