-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDefinitionGeneratorFacade.php
More file actions
33 lines (27 loc) · 1.18 KB
/
DefinitionGeneratorFacade.php
File metadata and controls
33 lines (27 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
declare(strict_types=1);
namespace Picamator\TransferObject\DefinitionGenerator;
use NoDiscard;
use Picamator\TransferObject\DefinitionGenerator\Generator\Builder\DefinitionGeneratorBuilderInterface;
use Picamator\TransferObject\DefinitionGenerator\Generator\DefinitionGeneratorFactory;
use Picamator\TransferObject\Generated\DefinitionGeneratorTransfer;
readonly class DefinitionGeneratorFacade implements DefinitionGeneratorFacadeInterface
{
public function __construct(
private DefinitionGeneratorFactory $factory = new DefinitionGeneratorFactory(),
) {
}
#[NoDiscard('The result should be used to validate how many definitions were generated.')]
public function generateDefinitionsOrFail(DefinitionGeneratorTransfer $generatorTransfer): int
{
return $this->factory
->createDefinitionGeneratorService()
->generateDefinitionsOrFail($generatorTransfer);
}
#[NoDiscard('The builder should be used to create DefinitionGeneratorTransfer.')]
public function createDefinitionGeneratorBuilder(): DefinitionGeneratorBuilderInterface
{
return $this->factory
->createDefinitionGeneratorBuilder();
}
}