Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bin/definition-generate
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use Symfony\Component\Console\Application;

include $_composer_autoload_path ?? __DIR__ . '/../vendor/autoload.php';

$application = new Application(name:'TransferObject', version:'current');
$application = new Application(name: 'Generate Transfer Definitions');

$command = new DefinitionGeneratorCommand();

Expand Down
2 changes: 1 addition & 1 deletion bin/transfer-generate
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use Symfony\Component\Console\Application;

include $_composer_autoload_path ?? __DIR__ . '/../vendor/autoload.php';

$application = new Application(name:'TransferObject', version:'current');
$application = new Application(name: 'Generate Transfer Objects');

$command = new TransferGeneratorCommand();

Expand Down
2 changes: 1 addition & 1 deletion bin/transfer-generate-bulk
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use Symfony\Component\Console\Application;

include $_composer_autoload_path ?? __DIR__ . '/../vendor/autoload.php';

$application = new Application(name:'TransferObject', version:'current');
$application = new Application(name: 'Generate Bulk Transfer Objects');

$command = new TransferGeneratorBulkCommand();

Expand Down
22 changes: 11 additions & 11 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
displayDetailsOnTestsThatTriggerErrors="true"
displayDetailsOnTestsThatTriggerNotices="true"
displayDetailsOnTestsThatTriggerWarnings="true"
testdox="true"
cacheDirectory="./var/cache">

<php>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Builder;

use Picamator\TransferObject\DefinitionGenerator\Builder\Enum\GetTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Content\Enum\GetTypeEnum;

readonly class BuilderContent implements BuilderContentInterface
readonly class Content implements ContentInterface
{
public function __construct(
private GetTypeEnum $type,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Builder;

use Picamator\TransferObject\DefinitionGenerator\Builder\Enum\GetTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Content\Enum\GetTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Exception\DefinitionGeneratorException;
use Picamator\TransferObject\Shared\Validator\VariableValidatorTrait;

readonly class DefinitionContentBuilder implements DefinitionContentBuilderInterface
readonly class ContentBuilder implements ContentBuilderInterface
{
use VariableValidatorTrait;

public function createBuilderContent(string $propertyName, mixed $propertyValue): BuilderContentInterface
public function createBuilderContent(string $propertyName, mixed $propertyValue): ContentInterface
{
$this->assertPropertyName($propertyName);
$typeEnum = $this->getTypeEnum($propertyName, $propertyValue);

return new BuilderContent($typeEnum, $propertyName, $propertyValue);
return new Content($typeEnum, $propertyName, $propertyValue);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Builder;

interface DefinitionContentBuilderInterface
interface ContentBuilderInterface
{
/**
* @throws \Picamator\TransferObject\DefinitionGenerator\Exception\DefinitionGeneratorException
*/
public function createBuilderContent(string $propertyName, mixed $propertyValue): BuilderContentInterface;
public function createBuilderContent(string $propertyName, mixed $propertyValue): ContentInterface;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Builder;

use Picamator\TransferObject\DefinitionGenerator\Builder\Enum\GetTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Content\Enum\GetTypeEnum;

interface BuilderContentInterface
interface ContentInterface
{
public function getType(): GetTypeEnum;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,36 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder;

use Picamator\TransferObject\DefinitionGenerator\Builder\Expander\BuilderExpanderInterface;
use Picamator\TransferObject\DefinitionGenerator\Builder\Expander\BuildInTypeBuilderExpander;
use Picamator\TransferObject\DefinitionGenerator\Builder\Expander\CollectionTypeBuilderExpander;
use Picamator\TransferObject\DefinitionGenerator\Builder\Expander\TransferTypeBuilderExpander;
namespace Picamator\TransferObject\DefinitionGenerator\Content;

use Picamator\TransferObject\DefinitionGenerator\Content\Builder\ContentBuilder;
use Picamator\TransferObject\DefinitionGenerator\Content\Builder\ContentBuilderInterface;
use Picamator\TransferObject\DefinitionGenerator\Content\Expander\BuilderExpanderInterface;
use Picamator\TransferObject\DefinitionGenerator\Content\Expander\BuildInTypeBuilderExpander;
use Picamator\TransferObject\DefinitionGenerator\Content\Expander\CollectionTypeBuilderExpander;
use Picamator\TransferObject\DefinitionGenerator\Content\Expander\TransferTypeBuilderExpander;
use Picamator\TransferObject\DefinitionGenerator\Content\Reader\ContentReader;
use Picamator\TransferObject\DefinitionGenerator\Content\Reader\ContentReaderInterface;
use Picamator\TransferObject\Shared\CachedFactoryTrait;

class DefinitionBuilderFactory
class DefinitionContentFactory
{
use CachedFactoryTrait;

public function createDefinitionBuilder(): DefinitionBuilderInterface
public function createContentReader(): ContentReaderInterface
{
return $this->getCached(
key: 'definition-builder',
factory: fn (): DefinitionBuilderInterface => new DefinitionBuilder(
$this->createDefinitionContentBuilder(),
factory: fn (): ContentReaderInterface => new ContentReader(
$this->createContentBuilder(),
$this->createBuilderExpander(),
),
);
}

protected function createDefinitionContentBuilder(): DefinitionContentBuilderInterface
protected function createContentBuilder(): ContentBuilderInterface
{
return new DefinitionContentBuilder();
return new ContentBuilder();
}

protected function createBuilderExpander(): BuilderExpanderInterface
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder\Enum;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Enum;

enum GetTypeEnum: string
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder\Enum;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Enum;

enum ObjectTypeEnum: string
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder\Expander;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Expander;

use Picamator\TransferObject\DefinitionGenerator\Builder\BuilderContentInterface;
use Picamator\TransferObject\DefinitionGenerator\Content\Builder\ContentInterface;
use Picamator\TransferObject\Generated\DefinitionBuilderTransfer;

abstract class AbstractBuilderExpander implements BuilderExpanderInterface
Expand All @@ -18,10 +18,8 @@ public function setNextExpander(BuilderExpanderInterface $expander): BuilderExpa
return $expander;
}

public function expandBuilderTransfer(
BuilderContentInterface $content,
DefinitionBuilderTransfer $builderTransfer,
): void {
public function expandBuilderTransfer(ContentInterface $content, DefinitionBuilderTransfer $builderTransfer): void
{
if ($this->isApplicable($content)) {
$this->handleExpander($content, $builderTransfer);

Expand All @@ -31,10 +29,10 @@ public function expandBuilderTransfer(
$this->nextExpander?->expandBuilderTransfer($content, $builderTransfer);
}

abstract protected function isApplicable(BuilderContentInterface $content): bool;
abstract protected function isApplicable(ContentInterface $content): bool;

abstract protected function handleExpander(
BuilderContentInterface $content,
ContentInterface $content,
DefinitionBuilderTransfer $builderTransfer,
): void;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder\Expander;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Expander;

use ArrayObject;
use DateTime;
use DateTimeInterface;
use Picamator\TransferObject\DefinitionGenerator\Builder\BuilderContentInterface;
use Picamator\TransferObject\DefinitionGenerator\Builder\Enum\GetTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Builder\Enum\ObjectTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Content\Builder\ContentInterface;
use Picamator\TransferObject\DefinitionGenerator\Content\Enum\GetTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Content\Enum\ObjectTypeEnum;
use Picamator\TransferObject\DefinitionGenerator\Exception\DefinitionGeneratorException;
use Picamator\TransferObject\Generated\DefinitionBuilderTransfer;
use Picamator\TransferObject\Generated\DefinitionEmbeddedTypeTransfer;
Expand All @@ -21,13 +21,13 @@ final class BuildInTypeBuilderExpander extends AbstractBuilderExpander
/**
* phpcs:disable SlevomatCodingStandard.Functions.UnusedParameter
*/
protected function isApplicable(BuilderContentInterface $content): true
protected function isApplicable(ContentInterface $content): true
{
return true;
}

protected function handleExpander(
BuilderContentInterface $content,
ContentInterface $content,
DefinitionBuilderTransfer $builderTransfer,
): void {
$propertyTransfer = match (true) {
Expand All @@ -40,15 +40,15 @@ protected function handleExpander(
$builderTransfer->definitionContent->properties[] = $propertyTransfer;
}

private function resolveDefaultType(BuilderContentInterface $content): DefinitionPropertyTransfer
private function resolveDefaultType(ContentInterface $content): DefinitionPropertyTransfer
{
return $this->createPropertyTransfer($content->getPropertyName(), $content->getType()->name);
}

/**
* @throws \Picamator\TransferObject\DefinitionGenerator\Exception\DefinitionGeneratorException
*/
private function resolveObjectType(BuilderContentInterface $content): DefinitionPropertyTransfer
private function resolveObjectType(ContentInterface $content): DefinitionPropertyTransfer
{
if ($content->getPropertyValue() instanceof ArrayObject) {
return $this->createPropertyTransfer($content->getPropertyName(), ObjectTypeEnum::ARRAY_OBJECT->value);
Expand All @@ -63,12 +63,12 @@ private function resolveObjectType(BuilderContentInterface $content): Definition
);
}

private function resolveNullType(BuilderContentInterface $content): DefinitionPropertyTransfer
private function resolveNullType(ContentInterface $content): DefinitionPropertyTransfer
{
return $this->createPropertyTransfer($content->getPropertyName(), GetTypeEnum::string->name);
}

private function resolveStringType(BuilderContentInterface $content): DefinitionPropertyTransfer
private function resolveStringType(ContentInterface $content): DefinitionPropertyTransfer
{
// @phpstan-ignore argument.type
if (DateTime::createFromFormat(DateTimeInterface::ATOM, $content->getPropertyValue()) !== false) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder\Expander;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Expander;

use Picamator\TransferObject\DefinitionGenerator\Builder\BuilderContentInterface;
use Picamator\TransferObject\DefinitionGenerator\Content\Builder\ContentInterface;
use Picamator\TransferObject\Generated\DefinitionBuilderTransfer;

interface BuilderExpanderInterface
Expand All @@ -14,8 +14,5 @@ public function setNextExpander(BuilderExpanderInterface $expander): BuilderExpa
/**
* @throws \Picamator\TransferObject\DefinitionGenerator\Exception\DefinitionGeneratorException
*/
public function expandBuilderTransfer(
BuilderContentInterface $content,
DefinitionBuilderTransfer $builderTransfer,
): void;
public function expandBuilderTransfer(ContentInterface $content, DefinitionBuilderTransfer $builderTransfer): void;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Picamator\TransferObject\DefinitionGenerator\Builder\Expander;
namespace Picamator\TransferObject\DefinitionGenerator\Content\Expander;

use Picamator\TransferObject\Generated\DefinitionGeneratorContentTransfer;

Expand Down
Loading