2024/04/16-23:20(日本時間)にマージされたプルリクエストが、
2024/04/17-00:25(日本時間)にv0.1.19としてリリースされました。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_01.png)
対応が早いですね。
Contributorsの末席に加わりました。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_03.png)
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_04.png)
バグ修正の反映を確認していきます。
新規プロジェクト作成
Laravel新規プロジェクト「laravel-prompts-0.1.18」を作成します。
composer create-project laravel/laravel:^11 laravel-prompts-0.1.18
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_05.png)
作成したプロジェクトフォルダに入ります。
cd laravel-prompts-0.1.18/
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_06.png)
laravel/promptsのバージョンを確認します。
composer show | grep prompts
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_07.png)
v0.1.19がインストールされています。
v0.1.18のバグ確認
バグ確認のために、一旦v0.1.19を削除し、
rm -rf vendor/laravel/prompts/
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_08.png)
v0.1.18をインストールしなおします。
composer require laravel/prompts:0.1.18
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_09.png)
一応、バージョンを確認します。
composer show | grep prompts
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_15.png)
Artisanコマンドを新規作成します。
php artisan make:command Foo
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_10.png)
「app/Console/Commands/Foo.php」が作成されました。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_11.png)
このファイルを編集・保存します。
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Str;
use function Laravel\Prompts\suggest;
class Foo extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'app:foo';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Execute the console command.
*/
public function handle()
{
var_dump($name = suggest(
'What is your name?',
fn ($value) => collect(['Taylor', 'Dayle'])
->filter(fn ($name) => Str::contains($name, $value, ignoreCase: true))
));
}
}
実行してみます。
php artisan app:foo
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_12.png)
TypeErrorが発生しました。
v0.1.19のバグ修正確認
v0.1.18を削除して、
rm -rf vendor/laravel/prompts/
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_13.png)
v0.1.19をインストールしなおします。
composer require laravel/prompts:0.1.19
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_14.png)
一応、バージョンを確認します。
composer show | grep prompts
![](http://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_07.png)
先程のArtisanコマンドを実行します。
php artisan app:foo
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_16.png)
入力欄が表示されました。
「L」を入力してみます。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_17.png)
「Taylor」と「Dayle」が選択肢として表示されました。
「L」に続けて「E」を入力してみます。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_18.png)
「Dayle」だけに選択肢が絞られました。
「Dayle」を選択して確定してみます。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_released_19.png)
選択した「Dayle」が文字列として渡されました。
しっかり機能していますね。
以上です。
コメント