7
7
use RuntimeException ;
8
8
use Tracy \Debugger ;
9
9
use Tracy \Helpers ;
10
+ use Traversable ;
10
11
11
12
class Dev
12
13
{
@@ -35,9 +36,9 @@ public static function dd(): void
35
36
/**
36
37
* echo;die
37
38
*
38
- * @param mixed $value
39
+ * @param scalar $value
39
40
*/
40
- public static function ed ($ value ): void
41
+ public static function ed (mixed $ value ): void
41
42
{
42
43
echo $ value ;
43
44
die;
@@ -46,12 +47,12 @@ public static function ed($value): void
46
47
/**
47
48
* Foreach dump;
48
49
*
49
- * @param mixed $values
50
+ * @param array< mixed|mixed[]> $values
50
51
*/
51
- public static function fd ($ values ): void
52
+ public static function fd (array $ values ): void
52
53
{
53
- foreach ($ values as $ key => $ value ) {
54
- if (! is_array ( $ value) && ! is_scalar ( $ value ) ) {
54
+ foreach ($ values as $ value ) {
55
+ if ($ value instanceof Traversable ) {
55
56
$ value = iterator_to_array ($ value );
56
57
}
57
58
@@ -63,9 +64,9 @@ public static function fd($values): void
63
64
/**
64
65
* Foreach dump;die;
65
66
*
66
- * @param mixed $values
67
+ * @param mixed[] $values
67
68
*/
68
- public static function fdd ($ values ): void
69
+ public static function fdd (array $ values ): void
69
70
{
70
71
self ::fd ($ values );
71
72
die;
@@ -74,16 +75,16 @@ public static function fdd($values): void
74
75
/**
75
76
* Table dump;
76
77
*
77
- * @param mixed $values
78
+ * @param mixed[] $values
78
79
*/
79
- public static function td ($ values ): void
80
+ public static function td (array $ values ): void
80
81
{
81
82
echo "<table border=1 style='border-color:#DDD;border-collapse:collapse; font-family:Courier New; color:#222; font-size:13px' cellspacing=0 cellpadding=5> " ;
82
83
$ th = false ;
83
- foreach ($ values as $ key => $ value ) {
84
+ foreach ($ values as $ value ) {
84
85
if (!$ th ) {
85
86
echo '<tr> ' ;
86
- foreach ($ value as $ key2 => $ value2 ) {
87
+ foreach (( array ) $ value as $ key2 => $ value2 ) {
87
88
echo '<th> ' . $ key2 . '</th> ' ;
88
89
}
89
90
@@ -93,7 +94,7 @@ public static function td($values): void
93
94
$ th = true ;
94
95
95
96
echo '<tr> ' ;
96
- foreach ($ value as $ key2 => $ value2 ) {
97
+ foreach (( array ) $ value as $ key2 => $ value2 ) {
97
98
echo '<td> ' . $ value2 . '</td> ' ;
98
99
}
99
100
@@ -106,50 +107,41 @@ public static function td($values): void
106
107
/**
107
108
* Table dump;die;
108
109
*
109
- * @param mixed $values
110
+ * @param mixed[] $values
110
111
*/
111
- public static function tdd ($ values ): void
112
+ public static function tdd (array $ values ): void
112
113
{
113
114
self ::td ($ values );
114
115
die;
115
116
}
116
117
117
118
/**
118
119
* Bar dump shortcut.
119
- *
120
- * @param mixed $var
121
- * @return mixed
122
120
*/
123
- public static function bd ($ var , ?string $ title = null )
121
+ public static function bd (mixed $ var , ?string $ title = null ): mixed
124
122
{
125
123
$ trace = debug_backtrace ();
126
124
$ traceTitle = (isset ($ trace [1 ]['class ' ]) ? htmlspecialchars ($ trace [1 ]['class ' ]) . '-> ' : null ) .
127
- htmlspecialchars ($ trace [1 ]['function ' ]) . '(): ' . $ trace [ 0 ][ ' line ' ] ;
125
+ htmlspecialchars ($ trace [1 ]['function ' ]) . '(): ' ;
128
126
129
- if (! is_scalar ( $ title) && $ title ! == null ) {
127
+ if ($ title = == null ) {
130
128
foreach (func_get_args () as $ arg ) {
131
129
Debugger::barDump ($ arg , $ traceTitle );
132
130
}
133
131
134
132
return $ var ;
135
133
}
136
134
137
- return Debugger::barDump ($ var , $ title ?: $ traceTitle );
135
+ return Debugger::barDump ($ var , $ title );
138
136
}
139
137
140
138
/**
141
139
* Function prints from where were method/function called
142
- *
143
- * @return mixed|void
144
140
*/
145
- public static function wc (int $ level = 1 , bool $ return = false , bool $ fullTrace = false )
141
+ public static function wc (int $ level = 1 , bool $ return = false , bool $ fullTrace = false ): mixed
146
142
{
147
- $ o = function ($ t ) {
148
- return (isset ($ t ->class ) ? htmlspecialchars ($ t ->class ) . '-> ' : null ) . htmlspecialchars ($ t ->function ) . '() ' ;
149
- };
150
- $ f = function ($ t ) {
151
- return isset ($ t ->file ) ? '( ' . Helpers::editorLink ($ t ->file , $ t ->line ) . ') ' : null ;
152
- };
143
+ $ o = fn ($ t ) => (isset ($ t ->class ) ? htmlspecialchars ($ t ->class ) . '-> ' : null ) . htmlspecialchars ($ t ->function ) . '() ' ;
144
+ $ f = fn ($ t ) => isset ($ t ->file ) ? '( ' . Helpers::editorLink ($ t ->file , $ t ->line ?? null ) . ') ' : null ;
153
145
154
146
$ trace = debug_backtrace ();
155
147
$ target = (object ) $ trace [$ level ];
@@ -166,10 +158,12 @@ public static function wc(int $level = 1, bool $return = false, bool $fullTrace
166
158
}
167
159
168
160
if ($ return ) {
169
- return strip_tags ($ message );
161
+ return strip_tags (( string ) $ message );
170
162
}
171
163
172
- echo "<pre class='nette-dump'> " . nl2br ($ message ) . '</pre> ' ;
164
+ echo "<pre class='nette-dump'> " . nl2br ((string ) $ message ) . '</pre> ' ;
165
+
166
+ return null ;
173
167
}
174
168
175
169
/**
@@ -182,18 +176,16 @@ public static function fwc(int $level = 3, bool $return = false): void
182
176
183
177
/**
184
178
* Convert script into shortcut; exit;
185
- *
186
- * @param mixed $code
187
179
*/
188
- public static function ss ($ code ): void
180
+ public static function ss (string $ code ): void
189
181
{
190
182
$ array = [
191
183
"\t" => "\\t " ,
192
184
"\n" => "\\n " ,
193
185
];
194
186
195
187
echo strtr ($ code , $ array );
196
- exit () ;
188
+ exit ;
197
189
}
198
190
199
191
/**
@@ -217,9 +209,7 @@ public static function l(string $message): void
217
209
*/
218
210
public static function log (string $ message ): void
219
211
{
220
- $ message = array_map (function ($ message ) {
221
- return !is_scalar ($ message ) ? Json::encode ($ message ) : $ message ;
222
- }, func_get_args ());
212
+ $ message = array_map (fn ($ message ) => !is_scalar ($ message ) ? Json::encode ($ message ) : $ message , func_get_args ());
223
213
224
214
Debugger::log (implode (', ' , $ message ));
225
215
}
@@ -229,7 +219,7 @@ public static function log(string $message): void
229
219
*/
230
220
public static function erd (): void
231
221
{
232
- $ e = new RuntimeException ;
222
+ $ e = new RuntimeException () ;
233
223
fd (func_get_args ());
234
224
echo '<hr /> ' ;
235
225
fd ($ e ->getTrace ());
@@ -263,9 +253,12 @@ public static function cl(object $instance): object
263
253
264
254
/**
265
255
* PHP callback workaround
256
+ *
257
+ * @return array{object, string}
266
258
*/
267
259
public static function callback (object $ obj , string $ method ): array
268
260
{
269
261
return [$ obj , $ method ];
270
262
}
263
+
271
264
}
0 commit comments