Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/** This file is part of the Symfony package.** (c) Fabien Potencier <fabien@symfony.com>** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/namespace Symfony\Component\VarDumper\Caster;use Ds\Collection;use Ds\Map;use Ds\Pair;use Symfony\Component\VarDumper\Cloner\Stub;/*** Casts Ds extension classes to array representation.** @author Jáchym Toušek <enumag@gmail.com>** @final*/class DsCaster{public static function castCollection(Collection $c, array $a, Stub $stub, bool $isNested): array{$a[Caster::PREFIX_VIRTUAL.'count'] = $c->count();$a[Caster::PREFIX_VIRTUAL.'capacity'] = $c->capacity();if (!$c instanceof Map) {$a += $c->toArray();}return $a;}public static function castMap(Map $c, array $a, Stub $stub, bool $isNested): array{foreach ($c as $k => $v) {$a[] = new DsPairStub($k, $v);}return $a;}public static function castPair(Pair $c, array $a, Stub $stub, bool $isNested): array{foreach ($c->toArray() as $k => $v) {$a[Caster::PREFIX_VIRTUAL.$k] = $v;}return $a;}public static function castPairStub(DsPairStub $c, array $a, Stub $stub, bool $isNested): array{if ($isNested) {$stub->class = Pair::class;$stub->value = null;$stub->handle = 0;$a = $c->value;}return $a;}}