Skip to content

Commit

Permalink
mark context non internal, fix non-closure document transformers
Browse files Browse the repository at this point in the history
  • Loading branch information
romalytvynenko committed Feb 5, 2025
1 parent 64d4466 commit 48f7265
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
16 changes: 15 additions & 1 deletion src/Generator.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use Dedoc\Scramble\Attributes\ExcludeAllRoutesFromDocs;
use Dedoc\Scramble\Attributes\ExcludeRouteFromDocs;
use Dedoc\Scramble\Contracts\DocumentTransformer;
use Dedoc\Scramble\Exceptions\RouteAware;
use Dedoc\Scramble\OpenApiVisitor\SchemaEnforceVisitor;
use Dedoc\Scramble\Support\ContainerUtils;
Expand All @@ -23,6 +24,7 @@
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Route as RouteFacade;
use Illuminate\Support\Str;
use InvalidArgumentException;
use Throwable;

class Generator
Expand Down Expand Up @@ -96,7 +98,19 @@ public function __invoke(?GeneratorConfig $config = null)
TypeTransformer::class => $typeTransformer,
]);

$openApiTransformer($openApi, $context);
if (is_callable($openApiTransformer)) {
$openApiTransformer($openApi, $context);

continue;
}

if ($openApiTransformer instanceof DocumentTransformer) {
$openApiTransformer->handle($openApi, $context);

continue;
}

throw new InvalidArgumentException('(callable(OpenApi, OpenApiContext): void)|DocumentTransformer type for document transformer expected, received '.$openApiTransformer::class);
}

return $openApi->toArray();
Expand Down
1 change: 0 additions & 1 deletion src/OpenApiContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use Dedoc\Scramble\Support\Generator\OpenApi;

/** @internal */
class OpenApiContext
{
public function __construct(
Expand Down
2 changes: 2 additions & 0 deletions src/ScrambleServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
use Dedoc\Scramble\Support\ExceptionToResponseExtensions\HttpExceptionToResponseExtension;
use Dedoc\Scramble\Support\ExceptionToResponseExtensions\NotFoundExceptionToResponseExtension;
use Dedoc\Scramble\Support\ExceptionToResponseExtensions\ValidationExceptionToResponseExtension;
use Dedoc\Scramble\Support\Generator\Operation;
use Dedoc\Scramble\Support\Generator\Parameter;
use Dedoc\Scramble\Support\Generator\TypeTransformer;
use Dedoc\Scramble\Support\IndexBuilders\IndexBuilder;
use Dedoc\Scramble\Support\InferExtensions\AbortHelpersExceptionInfer;
Expand Down

0 comments on commit 48f7265

Please sign in to comment.