<?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\Writer\Interfaces\WriterInterface; 
 
/** 
 * @codeCoverageIgnore 
 */ 
final class XrWriterInstance 
{ 
    private static WriterInterface $instance; 
 
    public function __construct(WriterInterface $writer) 
    { 
        self::$instance = $writer; 
    } 
 
    public static function get(): WriterInterface 
    { 
        if (!isset(self::$instance)) { 
            throw new LogicException( 
                new Message('No writer instance present') 
            ); 
        } 
 
        return self::$instance; 
    } 
} 
 
 |