mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-03-31 15:07:47 +01:00
chore: validate and autocomplete flasher configuration
This commit is contained in:
@@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
return [
|
use Flasher\Prime\Configuration;
|
||||||
|
|
||||||
|
return Configuration::from([
|
||||||
// Default notification library (e.g., 'flasher', 'toastr', 'noty', 'notyf', 'sweetalert')
|
// Default notification library (e.g., 'flasher', 'toastr', 'noty', 'notyf', 'sweetalert')
|
||||||
'default' => 'flasher',
|
'default' => 'flasher',
|
||||||
|
|
||||||
@@ -50,4 +52,4 @@ return [
|
|||||||
// 'message' => 'Entity saved successfully',
|
// 'message' => 'Entity saved successfully',
|
||||||
// ],
|
// ],
|
||||||
// ],
|
// ],
|
||||||
];
|
]);
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Flasher\Prime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @phpstan-type ConfigType array{
|
||||||
|
* default: string,
|
||||||
|
* main_script?: string,
|
||||||
|
* scripts?: string[],
|
||||||
|
* styles?: string[],
|
||||||
|
* inject_assets?: bool,
|
||||||
|
* translate?: bool,
|
||||||
|
* excluded_paths?: list<non-empty-string>,
|
||||||
|
* options?: array<string, mixed>,
|
||||||
|
* filter?: array<string, mixed>,
|
||||||
|
* flash_bag?: false|array<string, string[]>,
|
||||||
|
* presets?: array<string, array{
|
||||||
|
* type: string,
|
||||||
|
* title: string,
|
||||||
|
* message: string,
|
||||||
|
* options: array<string, mixed>,
|
||||||
|
* }>,
|
||||||
|
* plugins?: array<string, array{
|
||||||
|
* scripts?: string[],
|
||||||
|
* styles?: string[],
|
||||||
|
* options?: array<string, mixed>,
|
||||||
|
* }>,
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
final class Configuration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param array{
|
||||||
|
* default: string,
|
||||||
|
* main_script?: string,
|
||||||
|
* scripts?: string[],
|
||||||
|
* styles?: string[],
|
||||||
|
* inject_assets?: bool,
|
||||||
|
* translate?: bool,
|
||||||
|
* excluded_paths?: list<non-empty-string>,
|
||||||
|
* options?: array<string, mixed>,
|
||||||
|
* filter?: array<string, mixed>,
|
||||||
|
* flash_bag?: false|array<string, string[]>,
|
||||||
|
* presets?: array<string, array{
|
||||||
|
* type: string,
|
||||||
|
* title: string,
|
||||||
|
* message: string,
|
||||||
|
* options: array<string, mixed>,
|
||||||
|
* }>,
|
||||||
|
* plugins?: array<string, array{
|
||||||
|
* scripts?: string[],
|
||||||
|
* styles?: string[],
|
||||||
|
* options?: array<string, mixed>,
|
||||||
|
* }>,
|
||||||
|
* } $config
|
||||||
|
* @phpstan-param ConfigType $config
|
||||||
|
*
|
||||||
|
* @return ConfigType
|
||||||
|
*/
|
||||||
|
public static function from(array $config): array
|
||||||
|
{
|
||||||
|
return $config;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user