🎉
This commit is contained in:
37
vendor/laravel/prompts/src/Concerns/Interactivity.php
vendored
Normal file
37
vendor/laravel/prompts/src/Concerns/Interactivity.php
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace Laravel\Prompts\Concerns;
|
||||
|
||||
use Laravel\Prompts\Exceptions\NonInteractiveValidationException;
|
||||
|
||||
trait Interactivity
|
||||
{
|
||||
/**
|
||||
* Whether to render the prompt interactively.
|
||||
*/
|
||||
protected static bool $interactive;
|
||||
|
||||
/**
|
||||
* Set interactive mode.
|
||||
*/
|
||||
public static function interactive(bool $interactive = true): void
|
||||
{
|
||||
static::$interactive = $interactive;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the default value if it passes validation.
|
||||
*/
|
||||
protected function default(): mixed
|
||||
{
|
||||
$default = $this->value();
|
||||
|
||||
$this->validate($default);
|
||||
|
||||
if ($this->state === 'error') {
|
||||
throw new NonInteractiveValidationException($this->error);
|
||||
}
|
||||
|
||||
return $default;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user