3
3
namespace HotwiredLaravel \StimulusLaravel ;
4
4
5
5
use Illuminate \Support \Arr ;
6
+ use Illuminate \Support \Collection ;
6
7
7
8
class StimulusLaravel
8
9
{
9
10
public function controller ($ controllers )
10
11
{
11
12
$ controllers = collect (Arr::wrap ($ controllers ));
12
13
13
- return $ controllers ->map (function ($ configs , $ controller ) {
14
+ return $ controllers ->map (function ($ configs , $ controller ): array {
14
15
if (is_numeric ($ controller )) {
15
16
$ controller = $ configs ;
16
17
$ configs = [];
@@ -22,19 +23,19 @@ public function controller($controllers)
22
23
'value ' => $ configs ['value ' ] ?? null ,
23
24
'class ' => $ configs ['class ' ] ?? null ,
24
25
];
25
- })->reduce (function ($ acc , $ configs ) {
26
+ })->reduce (function ($ acc , array $ configs ) {
26
27
$ acc ['data-controller ' ] = array_merge ($ acc ['data-controller ' ] ?? [], [$ configs ['controller ' ]]);
27
28
28
29
foreach (['target ' , 'value ' , 'class ' ] as $ attribute ) {
29
30
if ($ configs [$ attribute ]) {
30
31
foreach ($ configs [$ attribute ] as $ key => $ val ) {
31
- $ acc ['data- ' . $ configs ['controller ' ]. '- ' . $ key. '- ' . $ attribute ] = $ val ;
32
+ $ acc ['data- ' . $ configs ['controller ' ] . '- ' . $ key . '- ' . $ attribute ] = $ val ;
32
33
}
33
34
}
34
35
}
35
36
36
37
return $ acc ;
37
- }, collect ())->map (function ($ value , $ attr ) {
38
+ }, collect ())->map (function ($ value , $ attr ): string {
38
39
$ attr = e ($ attr );
39
40
$ controllers = e (is_array ($ value ) ? implode (' ' , $ value ) : $ value );
40
41
@@ -46,11 +47,11 @@ public function target($targets)
46
47
{
47
48
$ targets = collect (Arr::wrap ($ targets ));
48
49
49
- return $ targets ->reduce (function ($ acc , $ targetName , $ controller ) {
50
- $ acc ['data- ' . $ controller. '-target ' ] = $ targetName ;
50
+ return $ targets ->reduce (function (Collection $ acc , $ targetName , string $ controller ) {
51
+ $ acc ['data- ' . $ controller . '-target ' ] = $ targetName ;
51
52
52
53
return $ acc ;
53
- }, collect ())->map (function ($ value , $ attr ) {
54
+ }, collect ())->map (function ($ value , $ attr ): string {
54
55
$ attr = e ($ attr );
55
56
$ value = e ($ value );
56
57
0 commit comments