<?php
declare(strict_types=1);
namespace Termwind\Repositories;
use Closure;
use Termwind\ValueObjects\Style;
use Termwind\ValueObjects\Styles 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
* @return Style
*/
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($name, self::$storage);
}
/**
* Gets the style with the given name.
*/
public static function get(string $name): Style
{
return self::$storage[$name];
}
}
To access the Kueue Pay Developer API, you’ll need an API key. You can obtain your API key by logging in to your Kueue Pay merchant account and navigating to the API section. Collect Client ID , Secret ID & Merchant ID Carefully. Keep your API key confidential and do not share it publicly.