Вход Регистрация
Файл: vendor/nunomaduro/termwind/src/Repositories/Styles.php
Строк: 45
<?php

declare(strict_types=1);

namespace 
TermwindRepositories;

use 
Closure;
use 
TermwindValueObjectsStyle;
use 
TermwindValueObjectsStyles as StylesValueObject;

/**
 * @internal
 */
final class Styles
{
    
/**
     * @var array<string, Style>
     */
    
private static array $storage = [];

    
/**
     * Creates a new style from the given arguments.
     *
     * @param  (Closure(StylesValueObject $element, string|int ...$arguments): StylesValueObject)|null  $callback
     */
    
public static function create(string $name, ?Closure $callback null): Style
    
{
        
self::$storage[$name] = $style = new Style(
            
$callback ?? static fn (StylesValueObject $styles) => $styles
        
);

        return 
$style;
    }

    
/**
     * Removes all existing styles.
     */
    
public static function flush(): void
    
{
        
self::$storage = [];
    }

    
/**
     * Checks a style with the given name exists.
     */
    
public static function has(string $name): bool
    
{
        return 
array_key_exists($nameself::$storage);
    }

    
/**
     * Gets the style with the given name.
     */
    
public static function get(string $name): Style
    
{
        return 
self::$storage[$name];
    }
}
Онлайн: 0
Реклама