Skip to content

Commit 22f3d56

Browse files
committed
Dumper\Model: added TYPE_* consts
1 parent 821bc5f commit 22f3d56

3 files changed

Lines changed: 30 additions & 20 deletions

File tree

src/Tracy/Dumper/Describer.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ private function describeVar($var, int $depth = 0, int $refId = null)
8787
private function describeDouble(float $num)
8888
{
8989
if (!is_finite($num)) {
90-
return new Model('number', (string) $num);
90+
return new Model(Model::TYPE_NUMBER, (string) $num);
9191
}
9292
$tmp = json_encode($num);
93-
return strpos($tmp, '.') ? $num : new Model('number', "$tmp.0");
93+
return strpos($tmp, '.') ? $num : new Model(Model::TYPE_NUMBER, "$tmp.0");
9494
}
9595

9696

@@ -103,9 +103,9 @@ private function describeString(string $s)
103103
if ($res === $s) {
104104
return $res;
105105
} elseif ($utf) { // is UTF-8
106-
return new Model('string', $res, strlen(utf8_decode($s)));
106+
return new Model(Model::TYPE_STRING, $res, strlen(utf8_decode($s)));
107107
} else {
108-
return new Model('bin', $res, strlen($s));
108+
return new Model(Model::TYPE_BINARY, $res, strlen($s));
109109
}
110110
}
111111

@@ -117,7 +117,7 @@ private function describeArray(array $arr, int $depth = 0, int $refId = null)
117117
{
118118
if ($refId || count($arr) > $this->maxItems) {
119119
$id = $refId ? 'a' . $refId : 'A' . count($this->snapshot);
120-
$res = new Model('array', $id);
120+
$res = new Model(Model::TYPE_ARRAY, $id);
121121

122122
$shot = &$this->snapshot[$id];
123123
if ($shot && $shot->depth <= $depth) {
@@ -137,7 +137,7 @@ private function describeArray(array $arr, int $depth = 0, int $refId = null)
137137
$items = &$shot->items;
138138

139139
} elseif ($arr && $depth >= $this->maxDepth) {
140-
return new Model('stop', count($arr));
140+
return new Model(Model::TYPE_STOP, count($arr));
141141
}
142142

143143
$items = [];
@@ -146,7 +146,7 @@ private function describeArray(array $arr, int $depth = 0, int $refId = null)
146146
$items[] = [
147147
$this->describeVar($k, $depth + 1),
148148
is_string($k) && isset($this->keysToHide[strtolower($k)])
149-
? new Model('text', self::hideValue($v))
149+
? new Model(Model::TYPE_TEXT, self::hideValue($v))
150150
: $this->describeVar($v, $depth + 1, $refId),
151151
] + ($refId ? [2 => $refId] : []);
152152
}
@@ -161,7 +161,7 @@ private function describeObject(object $obj, int $depth = 0): Model
161161
/** @var ?\stdClass $shot */
162162
$shot = &$this->snapshot[$id];
163163
if ($shot && $shot->depth <= $depth) {
164-
return new Model('object', $id);
164+
return new Model(Model::TYPE_OBJECT, $id);
165165
}
166166

167167
$shot = $shot ?? (object) [
@@ -191,12 +191,12 @@ private function describeObject(object $obj, int $depth = 0): Model
191191
$refId = $this->getReferenceId($info, 1);
192192
$k = (string) $k;
193193
$v = isset($this->keysToHide[strtolower($k)])
194-
? new Model('text', self::hideValue($v))
194+
? new Model(Model::TYPE_TEXT, self::hideValue($v))
195195
: $this->describeVar($v, $depth + 1, $refId);
196196
$shot->items[] = [$this->encodeKey($k), $v, $type] + ($refId ? [3 => $refId] : []);
197197
}
198198
}
199-
return new Model('object', $id);
199+
return new Model(Model::TYPE_OBJECT, $id);
200200
}
201201

202202

@@ -217,7 +217,7 @@ private function describeResource($resource, int $depth = 0): Model
217217
}
218218
}
219219
}
220-
return new Model('resource', $id);
220+
return new Model(Model::TYPE_RESOURCE, $id);
221221
}
222222

223223

src/Tracy/Dumper/Model.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,16 @@
1515
*/
1616
final class Model implements \JsonSerializable
1717
{
18+
public const
19+
TYPE_ARRAY = 'array',
20+
TYPE_BINARY = 'bin',
21+
TYPE_NUMBER = 'number',
22+
TYPE_OBJECT = 'object',
23+
TYPE_RESOURCE = 'resource',
24+
TYPE_STOP = 'stop',
25+
TYPE_STRING = 'string',
26+
TYPE_TEXT = 'text';
27+
1828
/** @var string */
1929
public $type;
2030

src/Tracy/Dumper/Renderer.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -136,33 +136,33 @@ private function renderVar($model, int $depth = 0, bool $isKey = false): string
136136
case !$model instanceof Model:
137137
throw new \Exception('Unknown type');
138138

139-
case $model->type === 'object':
139+
case $model->type === $model::TYPE_OBJECT:
140140
return $this->renderObject($model, $depth);
141141

142-
case $model->type === 'array':
142+
case $model->type === $model::TYPE_ARRAY:
143143
return $this->renderArray($model, $depth);
144144

145-
case $model->type === 'number':
145+
case $model->type === $model::TYPE_NUMBER:
146146
return '<span class="tracy-dump-number">' . Helpers::escapeHtml($model->value) . '</span>';
147147

148-
case $model->type === 'text':
148+
case $model->type === $model::TYPE_TEXT:
149149
return '<span>' . Helpers::escapeHtml($model->value) . '</span>';
150150

151-
case $model->type === 'string':
152-
case $model->type === 'bin':
151+
case $model->type === $model::TYPE_STRING:
152+
case $model->type === $model::TYPE_BINARY:
153153
if ($isKey) {
154154
return '<span class="tracy-dump-string">\'' . str_replace("\n", "\n ", $model->value) . "'</span>";
155155
}
156156
return '<span class="tracy-dump-string"'
157-
. ($model->length > 1 ? ' title="' . $model->length . ' ' . ($model->type === 'string' ? 'characters' : 'bytes') . '">' : '>')
157+
. ($model->length > 1 ? ' title="' . $model->length . ' ' . ($model->type === $model::TYPE_STRING ? 'characters' : 'bytes') . '">' : '>')
158158
. (strpos($model->value, "\n") === false ? '' : "\n ") . "'"
159159
. str_replace("\n", "\n ", $model->value)
160160
. "'</span>";
161161

162-
case $model->type === 'stop':
162+
case $model->type === $model::TYPE_STOP:
163163
return '<span class="tracy-dump-array">array</span> (' . $model->value . ') …';
164164

165-
case $model->type === 'resource':
165+
case $model->type === $model::TYPE_RESOURCE:
166166
return $this->renderResource($model, $depth);
167167

168168
default:

0 commit comments

Comments
 (0)