NelmioApiDocBundle/PropertyDescriber/DateTimePropertyDescriber.php

35 lines
931 B
PHP
Raw Normal View History

2019-12-13 22:45:32 +01:00
<?php
/*
* This file is part of the NelmioApiDocBundle package.
*
* (c) Nelmio
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Nelmio\ApiDocBundle\PropertyDescriber;
use OpenApi\Annotations as OA;
2019-12-13 22:45:32 +01:00
use Symfony\Component\PropertyInfo\Type;
class DateTimePropertyDescriber implements PropertyDescriberInterface
{
use NullablePropertyTrait;
public function describe(array $types, OA\Schema $property, array $groups = null)
2019-12-13 22:45:32 +01:00
{
$property->type = 'string';
$property->format = 'date-time';
$this->setNullableProperty($types[0], $property);
2019-12-13 22:45:32 +01:00
}
public function supports(array $types): bool
2019-12-13 22:45:32 +01:00
{
return 1 === count($types)
&& Type::BUILTIN_TYPE_OBJECT === $types[0]->getBuiltinType()
&& is_a($types[0]->getClassName(), \DateTimeInterface::class, true);
2019-12-13 22:45:32 +01:00
}
2019-12-13 22:48:28 +01:00
}