File: search.php

package info (click to toggle)
php-laravel-prompts 0.1.25-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 712 kB
  • sloc: php: 5,928; xml: 14; makefile: 8
file content (38 lines) | stat: -rw-r--r-- 781 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

use function Laravel\Prompts\search;

require __DIR__.'/../vendor/autoload.php';

$model = search(
    label: 'Which user should receive the email?',
    placeholder: 'Search...',
    options: function ($value) {
        if (strlen($value) === 0) {
            return [];
        }

        usleep(100 * 1000);

        $count = max(0, 10 - strlen($value));

        if ($count === 0) {
            return [];
        }

        return array_map(
            fn ($id) => "User $id",
            range(0, $count)
        );
    },
    validate: function ($value) {
        if ($value === '0') {
            return 'User 0 is not allowed to receive emails.';
        }
    },
    hint: 'An email will be sent to the user.',
);

var_dump($model);

echo str_repeat(PHP_EOL, 6);