forked from admin/services_core
Ubah dari Swagger ke Dedoc lalu buat API Ticket dan TicketType
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Docs;
|
||||
|
||||
use OpenApi\Attributes as OA;
|
||||
|
||||
#[OA\Info(
|
||||
version: '1.0.0',
|
||||
title: 'Services Core API',
|
||||
description: 'API Backend Services Core'
|
||||
)]
|
||||
|
||||
#[OA\Server(
|
||||
url: 'http://127.0.0.1:8000',
|
||||
description: 'Local Development Server'
|
||||
)]
|
||||
|
||||
class OpenApiSpec
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Traits\ApiResponse;
|
||||
|
||||
class ApiController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
}
|
||||
@@ -5,37 +5,9 @@ namespace App\Http\Controllers;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use OpenApi\Attributes as OA;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
#[OA\Post(
|
||||
path: "/api/login",
|
||||
summary: "Login User",
|
||||
tags: ["Authentication"]
|
||||
)]
|
||||
#[OA\RequestBody(
|
||||
required: true,
|
||||
content: new OA\JsonContent(
|
||||
required: ["email", "password"],
|
||||
properties: [
|
||||
new OA\Property(
|
||||
property: "email",
|
||||
type: "string",
|
||||
example: "admin@test.co.id"
|
||||
),
|
||||
new OA\Property(
|
||||
property: "password",
|
||||
type: "string",
|
||||
example: "123456"
|
||||
)
|
||||
]
|
||||
)
|
||||
)]
|
||||
#[OA\Response(
|
||||
response: 200,
|
||||
description: "Login Success"
|
||||
)]
|
||||
|
||||
public function login(Request $request)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Ticket;
|
||||
|
||||
use App\Http\Controllers\ApiController;
|
||||
use App\Http\Requests\Ticket\StoreTicketRequest;
|
||||
use App\Http\Requests\Ticket\UpdateTicketRequest;
|
||||
use App\Http\Resources\Ticket\TicketResource;
|
||||
use App\Models\Ticket;
|
||||
use App\Services\Ticket\TicketService;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TicketController extends ApiController
|
||||
{
|
||||
public function __construct(
|
||||
protected TicketService $service
|
||||
) {}
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
$tickets = Ticket::latest()->paginate(
|
||||
$request->get('per_page', 10)
|
||||
);
|
||||
|
||||
return $this->success($tickets);
|
||||
}
|
||||
|
||||
public function store(StoreTicketRequest $request)
|
||||
{
|
||||
$ticket = $this->service->create(
|
||||
$request->validated()
|
||||
);
|
||||
|
||||
return $this->created(
|
||||
new TicketResource($ticket),
|
||||
'Ticket berhasil dibuat'
|
||||
);
|
||||
}
|
||||
|
||||
public function show(Ticket $ticket)
|
||||
{
|
||||
return $this->success(
|
||||
new TicketResource($ticket)
|
||||
);
|
||||
}
|
||||
|
||||
public function update(
|
||||
UpdateTicketRequest $request,
|
||||
Ticket $ticket
|
||||
) {
|
||||
$ticket = $this->service->update(
|
||||
$ticket,
|
||||
$request->validated()
|
||||
);
|
||||
|
||||
return $this->updated(
|
||||
new TicketResource($ticket),
|
||||
'Ticket berhasil diperbarui'
|
||||
);
|
||||
}
|
||||
|
||||
public function destroy(Ticket $ticket)
|
||||
{
|
||||
$this->service->delete($ticket);
|
||||
|
||||
return $this->deleted(
|
||||
'Ticket berhasil dibatalkan'
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Ticket;
|
||||
|
||||
use App\Http\Controllers\ApiController;
|
||||
use App\Http\Requests\TicketType\StoreTicketTypeRequest;
|
||||
use App\Http\Requests\TicketType\UpdateTicketTypeRequest;
|
||||
use App\Http\Resources\TicketType\TicketTypeResource;
|
||||
use App\Models\TicketType;
|
||||
use App\Services\Ticket\TicketTypeService;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TicketTypeController extends ApiController
|
||||
{
|
||||
public function __construct(
|
||||
protected TicketTypeService $service
|
||||
) {}
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
$data = TicketType::latest()->paginate(
|
||||
$request->get('per_page', 10)
|
||||
);
|
||||
|
||||
return $this->success($data);
|
||||
}
|
||||
|
||||
public function store(StoreTicketTypeRequest $request)
|
||||
{
|
||||
$type = $this->service->create(
|
||||
$request->validated()
|
||||
);
|
||||
|
||||
return $this->created(
|
||||
new TicketTypeResource($type),
|
||||
'Ticket Type berhasil dibuat'
|
||||
);
|
||||
}
|
||||
|
||||
public function show(TicketType $ticket_type)
|
||||
{
|
||||
return $this->success(
|
||||
new TicketTypeResource($ticket_type)
|
||||
);
|
||||
}
|
||||
|
||||
public function update(
|
||||
UpdateTicketTypeRequest $request,
|
||||
TicketType $ticket_type
|
||||
) {
|
||||
$type = $this->service->update(
|
||||
$ticket_type,
|
||||
$request->validated()
|
||||
);
|
||||
|
||||
return $this->updated(
|
||||
new TicketTypeResource($type),
|
||||
'Ticket Type berhasil diupdate'
|
||||
);
|
||||
}
|
||||
|
||||
public function destroy(TicketType $ticket_type)
|
||||
{
|
||||
$this->service->delete($ticket_type);
|
||||
|
||||
return $this->deleted(
|
||||
'Ticket Type berhasil dihapus'
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Ticket;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class StoreTicketRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'ticket_type_id' => 'required|integer',
|
||||
'customer_id' => 'nullable|integer',
|
||||
'title' => 'required|string|max:255',
|
||||
'description' => 'nullable|string',
|
||||
'priority' => 'required|in:low,medium,high,critical'
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Ticket;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdateTicketRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'ticket_type_id' => 'sometimes|integer',
|
||||
'customer_id' => 'nullable|integer',
|
||||
'title' => 'sometimes|string|max:255',
|
||||
'description' => 'nullable|string',
|
||||
'priority' => 'sometimes|in:low,medium,high,critical',
|
||||
'status' => 'sometimes|in:draft,open,approved,assigned,progress,pending,resolved,closed,cancelled,rejected'
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\TicketType;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class StoreTicketTypeRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'code' => 'required|string|max:50|unique:ticket_types,code',
|
||||
'name' => 'required|string|max:100',
|
||||
'need_approval' => 'boolean',
|
||||
'sla_minutes' => 'nullable|integer'
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\TicketType;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdateTicketTypeRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'code' => 'sometimes|string|max:50|unique:ticket_types,code,' . $this->route('ticket_type'),
|
||||
'name' => 'sometimes|string|max:100',
|
||||
'need_approval' => 'sometimes|boolean',
|
||||
'sla_minutes' => 'nullable|integer'
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Ticket;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class TicketResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'ticket_no' => $this->ticket_no,
|
||||
'ticket_type_id' => $this->ticket_type_id,
|
||||
'customer_id' => $this->customer_id,
|
||||
'title' => $this->title,
|
||||
'description' => $this->description,
|
||||
'priority' => $this->priority,
|
||||
'status' => $this->status,
|
||||
'created_by' => $this->created_by,
|
||||
'created_at' => $this->created_at,
|
||||
'updated_at' => $this->updated_at,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\TicketType;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class TicketTypeResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'code' => $this->code,
|
||||
'name' => $this->name,
|
||||
'need_approval' => $this->need_approval,
|
||||
'sla_minutes' => $this->sla_minutes,
|
||||
'created_at' => $this->created_at,
|
||||
'updated_at' => $this->updated_at,
|
||||
];
|
||||
}
|
||||
}
|
||||
+10
-1
@@ -6,5 +6,14 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Ticket extends Model
|
||||
{
|
||||
//
|
||||
protected $fillable = [
|
||||
'ticket_no',
|
||||
'ticket_type_id',
|
||||
'customer_id',
|
||||
'title',
|
||||
'description',
|
||||
'priority',
|
||||
'status',
|
||||
'created_by',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -6,5 +6,15 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class TicketLog extends Model
|
||||
{
|
||||
//
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'ticket_id',
|
||||
'user_id',
|
||||
'activity',
|
||||
'notes',
|
||||
'latitude',
|
||||
'longitude',
|
||||
'created_at'
|
||||
];
|
||||
}
|
||||
|
||||
@@ -6,5 +6,16 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class TicketType extends Model
|
||||
{
|
||||
//
|
||||
protected $table = 'ticket_types';
|
||||
|
||||
protected $fillable = [
|
||||
'code',
|
||||
'name',
|
||||
'need_approval',
|
||||
'sla_minutes'
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'need_approval' => 'boolean',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Ticket;
|
||||
|
||||
use App\Models\Ticket;
|
||||
use App\Models\TicketLog;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class TicketService
|
||||
{
|
||||
public function create(array $data): Ticket
|
||||
{
|
||||
return DB::transaction(function () use ($data) {
|
||||
|
||||
$ticket = Ticket::create([
|
||||
'ticket_no' => $this->generateTicketNo(),
|
||||
'ticket_type_id' => $data['ticket_type_id'],
|
||||
'customer_id' => $data['customer_id'] ?? null,
|
||||
'title' => $data['title'],
|
||||
'description' => $data['description'] ?? null,
|
||||
'priority' => $data['priority'],
|
||||
'status' => 'open',
|
||||
'created_by' => 1
|
||||
]);
|
||||
|
||||
TicketLog::create([
|
||||
'ticket_id' => $ticket->id,
|
||||
'user_id' => 1,
|
||||
'activity' => 'Ticket Created',
|
||||
'notes' => 'Ticket dibuat oleh sistem',
|
||||
'created_at'=> now()
|
||||
]);
|
||||
|
||||
return $ticket;
|
||||
});
|
||||
}
|
||||
|
||||
public function update(Ticket $ticket, array $data): Ticket
|
||||
{
|
||||
$ticket->update($data);
|
||||
|
||||
return $ticket->fresh();
|
||||
}
|
||||
|
||||
public function delete(Ticket $ticket): Ticket
|
||||
{
|
||||
$ticket->update([
|
||||
'status' => 'cancelled'
|
||||
]);
|
||||
|
||||
return $ticket;
|
||||
}
|
||||
|
||||
private function generateTicketNo(): string
|
||||
{
|
||||
$prefix = 'TCK-' . now()->format('Ym');
|
||||
|
||||
$lastTicket = Ticket::where(
|
||||
'ticket_no',
|
||||
'like',
|
||||
$prefix . '%'
|
||||
)
|
||||
->latest('id')
|
||||
->first();
|
||||
|
||||
$number = 1;
|
||||
|
||||
if ($lastTicket) {
|
||||
$number = ((int) substr($lastTicket->ticket_no, -6)) + 1;
|
||||
}
|
||||
|
||||
return $prefix . '-' . str_pad(
|
||||
$number,
|
||||
6,
|
||||
'0',
|
||||
STR_PAD_LEFT
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Ticket;
|
||||
|
||||
use App\Models\TicketType;
|
||||
|
||||
class TicketTypeService
|
||||
{
|
||||
public function create(array $data): TicketType
|
||||
{
|
||||
return TicketType::create($data);
|
||||
}
|
||||
|
||||
public function update(TicketType $type, array $data): TicketType
|
||||
{
|
||||
$type->update($data);
|
||||
return $type->fresh();
|
||||
}
|
||||
|
||||
public function delete(TicketType $type): bool
|
||||
{
|
||||
return $type->delete();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace App\Traits;
|
||||
|
||||
trait ApiResponse
|
||||
{
|
||||
protected function success($data = null, string $message = 'Success', int $code = 200)
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => $code,
|
||||
'message' => $message,
|
||||
'data' => $data
|
||||
], $code);
|
||||
}
|
||||
|
||||
protected function created($data = null, string $message = 'Data berhasil dibuat')
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => 201,
|
||||
'message' => $message,
|
||||
'data' => $data
|
||||
], 201);
|
||||
}
|
||||
|
||||
protected function updated($data = null, string $message = 'Data berhasil diperbarui')
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => 200,
|
||||
'message' => $message,
|
||||
'data' => $data
|
||||
]);
|
||||
}
|
||||
|
||||
protected function deleted(string $message = 'Data berhasil dihapus')
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => 200,
|
||||
'message' => $message
|
||||
]);
|
||||
}
|
||||
|
||||
protected function error(string $message = 'Internal Server Error', int $code = 500)
|
||||
{
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'code' => $code,
|
||||
'message' => $message
|
||||
], $code);
|
||||
}
|
||||
|
||||
protected function validationError($errors)
|
||||
{
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'code' => 422,
|
||||
'message' => 'Validation Error',
|
||||
'errors' => $errors
|
||||
], 422);
|
||||
}
|
||||
|
||||
protected function notFound(string $message = 'Data tidak ditemukan')
|
||||
{
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'code' => 404,
|
||||
'message' => $message
|
||||
], 404);
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@ return Application::configure(basePath: dirname(__DIR__))
|
||||
commands: __DIR__.'/../routes/console.php',
|
||||
health: '/up',
|
||||
)
|
||||
|
||||
->withMiddleware(function (Middleware $middleware) {
|
||||
//
|
||||
})
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
info:
|
||||
name: Add Tickets
|
||||
type: http
|
||||
seq: 2
|
||||
|
||||
http:
|
||||
method: POST
|
||||
url: http://127.0.0.1:8000/api/tickets
|
||||
body:
|
||||
type: json
|
||||
data: |-
|
||||
{
|
||||
"user_id": 1,
|
||||
"ticket_type_id": 1,
|
||||
"customer_id": 133,
|
||||
"title": "Lampu PON modem merah",
|
||||
"description": "Pelanggan mengeluhkan internet lambat",
|
||||
"priority": "high"
|
||||
}
|
||||
auth:
|
||||
type: bearer
|
||||
token: ll4X9vVjWRRDGbGQyrzcAhWVHmlEbpmQ7odklBCh7423957d
|
||||
|
||||
settings:
|
||||
encodeUrl: true
|
||||
timeout: 0
|
||||
followRedirects: true
|
||||
maxRedirects: 5
|
||||
@@ -0,0 +1,17 @@
|
||||
info:
|
||||
name: Get List Tickets
|
||||
type: http
|
||||
seq: 2
|
||||
|
||||
http:
|
||||
method: GET
|
||||
url: http://127.0.0.1:8000/api/tickets
|
||||
auth:
|
||||
type: bearer
|
||||
token: ll4X9vVjWRRDGbGQyrzcAhWVHmlEbpmQ7odklBCh7423957d
|
||||
|
||||
settings:
|
||||
encodeUrl: true
|
||||
timeout: 0
|
||||
followRedirects: true
|
||||
maxRedirects: 5
|
||||
@@ -0,0 +1,7 @@
|
||||
info:
|
||||
name: Ticketing
|
||||
type: folder
|
||||
seq: 2
|
||||
|
||||
request:
|
||||
auth: inherit
|
||||
+1
-1
@@ -7,12 +7,12 @@
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^8.2",
|
||||
"darkaonline/l5-swagger": "^11.1",
|
||||
"laravel/framework": "^12.0",
|
||||
"laravel/sanctum": "^4.3",
|
||||
"laravel/tinker": "^2.10.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"dedoc/scramble": "^0.13.28",
|
||||
"fakerphp/faker": "^1.23",
|
||||
"laravel/pail": "^1.2.2",
|
||||
"laravel/pint": "^1.13",
|
||||
|
||||
Generated
+232
-467
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "13ca615bebb1db69527a7039d10b8684",
|
||||
"content-hash": "dc5dc467fbab2c5682c8e676f4c2ffb4",
|
||||
"packages": [
|
||||
{
|
||||
"name": "brick/math",
|
||||
@@ -135,86 +135,6 @@
|
||||
],
|
||||
"time": "2024-02-09T16:56:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "darkaonline/l5-swagger",
|
||||
"version": "11.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DarkaOnLine/L5-Swagger.git",
|
||||
"reference": "110b59478c9417c13794cef62a82b019433d642a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/110b59478c9417c13794cef62a82b019433d642a",
|
||||
"reference": "110b59478c9417c13794cef62a82b019433d642a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"laravel/framework": "^13.0 || ^12.1 || ^11.44",
|
||||
"php": "^8.2",
|
||||
"swagger-api/swagger-ui": ">=5.18.3",
|
||||
"symfony/yaml": "^5.0 || ^6.0 || ^7.0 || ^8.0",
|
||||
"zircote/swagger-php": "^6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "1.*",
|
||||
"orchestra/testbench": "^11.0 || ^10.0 || ^9.0 || ^8.0 || 7.* || ^6.15 || 5.*",
|
||||
"php-coveralls/php-coveralls": "^2.0",
|
||||
"phpstan/phpstan": "^2.1",
|
||||
"phpunit/phpunit": "^11.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"aliases": {
|
||||
"L5Swagger": "L5Swagger\\L5SwaggerFacade"
|
||||
},
|
||||
"providers": [
|
||||
"L5Swagger\\L5SwaggerServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/helpers.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"L5Swagger\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Darius Matulionis",
|
||||
"email": "darius@matulionis.lt"
|
||||
}
|
||||
],
|
||||
"description": "OpenApi or Swagger integration to Laravel",
|
||||
"keywords": [
|
||||
"api",
|
||||
"documentation",
|
||||
"laravel",
|
||||
"openapi",
|
||||
"specification",
|
||||
"swagger",
|
||||
"ui"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/DarkaOnLine/L5-Swagger/issues",
|
||||
"source": "https://github.com/DarkaOnLine/L5-Swagger/tree/11.1.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/DarkaOnLine",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2026-06-12T10:04:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dflydev/dot-access-data",
|
||||
"version": "v3.0.3",
|
||||
@@ -2754,53 +2674,6 @@
|
||||
],
|
||||
"time": "2025-12-27T19:41:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "2.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
|
||||
"reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^2.0",
|
||||
"nikic/php-parser": "^5.3.0",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"phpstan/phpstan-phpunit": "^2.0",
|
||||
"phpstan/phpstan-strict-rules": "^2.0",
|
||||
"phpunit/phpunit": "^9.6",
|
||||
"symfony/process": "^5.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PHPStan\\PhpDocParser\\": [
|
||||
"src/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
|
||||
},
|
||||
"time": "2026-01-25T14:56:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/clock",
|
||||
"version": "1.0.0",
|
||||
@@ -3292,68 +3165,6 @@
|
||||
},
|
||||
"time": "2026-05-23T13:41:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "radebatz/type-info-extras",
|
||||
"version": "1.0.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DerManoMann/type-info-extras.git",
|
||||
"reference": "95a524a74a61648b44e355cb33d38db4b17ef5ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/DerManoMann/type-info-extras/zipball/95a524a74a61648b44e355cb33d38db4b17ef5ce",
|
||||
"reference": "95a524a74a61648b44e355cb33d38db4b17ef5ce",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"phpstan/phpdoc-parser": "^2.0",
|
||||
"symfony/type-info": "^7.3.8 || ^7.4.1 || ^8.0 || ^8.1-@dev"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.70",
|
||||
"phpstan/phpstan": "^2.1",
|
||||
"phpunit/phpunit": "^11.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Radebatz\\TypeInfoExtras\\": "src"
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Martin Rademacher",
|
||||
"email": "mano@radebatz.org"
|
||||
}
|
||||
],
|
||||
"description": "Extras for symfony/type-info",
|
||||
"homepage": "http://radebatz.net/mano/",
|
||||
"keywords": [
|
||||
"component",
|
||||
"symfony",
|
||||
"type-info",
|
||||
"types"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/DerManoMann/type-info-extras/issues",
|
||||
"source": "https://github.com/DerManoMann/type-info-extras/tree/1.0.7"
|
||||
},
|
||||
"time": "2026-03-06T22:40:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
"version": "3.0.3",
|
||||
@@ -3552,67 +3363,6 @@
|
||||
},
|
||||
"time": "2025-12-14T04:43:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "swagger-api/swagger-ui",
|
||||
"version": "v5.32.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/swagger-api/swagger-ui.git",
|
||||
"reference": "dcdca62c8b64a0a54e4decd4e1a6c3c712fdcc60"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/dcdca62c8b64a0a54e4decd4e1a6c3c712fdcc60",
|
||||
"reference": "dcdca62c8b64a0a54e4decd4e1a6c3c712fdcc60",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "library",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"Apache-2.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Anna Bodnia",
|
||||
"email": "anna.bodnia@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Buu Nguyen",
|
||||
"email": "buunguyen@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Josh Ponelat",
|
||||
"email": "jponelat@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Kyle Shockey",
|
||||
"email": "kyleshockey1@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Robert Barnwell",
|
||||
"email": "robert@robertismy.name"
|
||||
},
|
||||
{
|
||||
"name": "Sahar Jafari",
|
||||
"email": "shr.jafari@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.",
|
||||
"homepage": "http://swagger.io",
|
||||
"keywords": [
|
||||
"api",
|
||||
"documentation",
|
||||
"openapi",
|
||||
"specification",
|
||||
"swagger",
|
||||
"ui"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/swagger-api/swagger-ui/issues",
|
||||
"source": "https://github.com/swagger-api/swagger-ui/tree/v5.32.6"
|
||||
},
|
||||
"time": "2026-05-12T09:35:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/clock",
|
||||
"version": "v7.4.8",
|
||||
@@ -5957,89 +5707,6 @@
|
||||
],
|
||||
"time": "2026-01-05T13:30:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/type-info",
|
||||
"version": "v7.4.9",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/type-info.git",
|
||||
"reference": "cafeedbf157b890e94ac5b83eaed85595106d5d6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/type-info/zipball/cafeedbf157b890e94ac5b83eaed85595106d5d6",
|
||||
"reference": "cafeedbf157b890e94ac5b83eaed85595106d5d6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"psr/container": "^1.1|^2.0",
|
||||
"symfony/deprecation-contracts": "^2.5|^3"
|
||||
},
|
||||
"conflict": {
|
||||
"phpstan/phpdoc-parser": "<1.30"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpdoc-parser": "^1.30|^2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\TypeInfo\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Mathias Arlaud",
|
||||
"email": "mathias.arlaud@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Baptiste LEDUC",
|
||||
"email": "baptiste.leduc@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Extracts PHP types information.",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"PHPStan",
|
||||
"phpdoc",
|
||||
"symfony",
|
||||
"type"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/type-info/tree/v7.4.9"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-04-22T15:21:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/uid",
|
||||
"version": "v7.4.9",
|
||||
@@ -6205,82 +5872,6 @@
|
||||
],
|
||||
"time": "2026-03-30T13:44:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v7.4.13",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/a7ec3b1156faf8815db7683ec7c1e7338e6f977c",
|
||||
"reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"symfony/deprecation-contracts": "^2.5|^3",
|
||||
"symfony/polyfill-ctype": "^1.8"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/console": "<6.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/console": "^6.4|^7.0|^8.0"
|
||||
},
|
||||
"bin": [
|
||||
"Resources/bin/yaml-lint"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Yaml\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Loads and dumps YAML files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/yaml/tree/v7.4.13"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-05-25T06:06:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
"version": "v2.4.0",
|
||||
@@ -6493,99 +6084,89 @@
|
||||
}
|
||||
],
|
||||
"time": "2026-04-26T05:33:54+00:00"
|
||||
},
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "zircote/swagger-php",
|
||||
"version": "6.2.0",
|
||||
"name": "dedoc/scramble",
|
||||
"version": "v0.13.28",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/zircote/swagger-php.git",
|
||||
"reference": "060af3bb9c4cba6a5859aba2c51cd1c129479410"
|
||||
"url": "https://github.com/dedoc/scramble.git",
|
||||
"reference": "e50927c732a341bb743671066892eec6bd2e958b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/zircote/swagger-php/zipball/060af3bb9c4cba6a5859aba2c51cd1c129479410",
|
||||
"reference": "060af3bb9c4cba6a5859aba2c51cd1c129479410",
|
||||
"url": "https://api.github.com/repos/dedoc/scramble/zipball/e50927c732a341bb743671066892eec6bd2e958b",
|
||||
"reference": "e50927c732a341bb743671066892eec6bd2e958b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"nikic/php-parser": "^4.19 || ^5.0",
|
||||
"php": ">=8.2",
|
||||
"phpstan/phpdoc-parser": "^2.0",
|
||||
"psr/log": "^1.1 || ^2.0 || ^3.0",
|
||||
"radebatz/type-info-extras": "^1.0.2",
|
||||
"symfony/console": "^7.4 || ^8.0",
|
||||
"symfony/deprecation-contracts": "^2 || ^3",
|
||||
"symfony/finder": "^5.0 || ^6.0 || ^7.0 || ^8.0",
|
||||
"symfony/yaml": "^5.4 || ^6.0 || ^7.0 || ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/process": ">=6, <6.4.14"
|
||||
"illuminate/contracts": "^10.0|^11.0|^12.0|^13.0",
|
||||
"myclabs/deep-copy": "^1.12",
|
||||
"nikic/php-parser": "^5.0",
|
||||
"php": "^8.1",
|
||||
"phpstan/phpdoc-parser": "^1.0|^2.0",
|
||||
"spatie/laravel-package-tools": "^1.9.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer/package-versions-deprecated": "^1.11",
|
||||
"doctrine/annotations": "^2.0",
|
||||
"friendsofphp/php-cs-fixer": "^3.62.0",
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"phpunit/phpunit": "^11.5 || >=12.5.22",
|
||||
"rector/rector": "^2.3.1"
|
||||
"larastan/larastan": "^3.3",
|
||||
"laravel/pint": "^v1.1.0",
|
||||
"nunomaduro/collision": "^7.0|^8.0",
|
||||
"orchestra/testbench": "^8.0|^9.0|^10.0|^11.0",
|
||||
"pestphp/pest": "^2.34|^3.7|^4.4",
|
||||
"pestphp/pest-plugin-laravel": "^2.3|^3.1|^4.1",
|
||||
"phpstan/extension-installer": "^1.4",
|
||||
"phpstan/phpstan-deprecation-rules": "^2.0",
|
||||
"phpstan/phpstan-phpunit": "^2.0",
|
||||
"phpunit/phpunit": "^10.5|^11.5.3|^12.5.12",
|
||||
"spatie/laravel-permission": "^6.10|^7.2",
|
||||
"spatie/pest-plugin-snapshots": "^2.1"
|
||||
},
|
||||
"bin": [
|
||||
"bin/openapi"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "6.x-dev"
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Dedoc\\Scramble\\ScrambleServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"OpenApi\\": "src"
|
||||
"Dedoc\\Scramble\\": "src",
|
||||
"Dedoc\\Scramble\\Database\\Factories\\": "database/factories"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"Apache-2.0"
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Robert Allen",
|
||||
"email": "zircote@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Bob Fanger",
|
||||
"email": "bfanger@gmail.com",
|
||||
"homepage": "https://bfanger.nl"
|
||||
},
|
||||
{
|
||||
"name": "Martin Rademacher",
|
||||
"email": "mano@radebatz.net",
|
||||
"homepage": "https://radebatz.net"
|
||||
"name": "Roman Lytvynenko",
|
||||
"email": "litvinenko95@gmail.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Generate interactive documentation for your RESTful API using PHP attributes (preferred) or PHPDoc annotations",
|
||||
"homepage": "https://github.com/zircote/swagger-php",
|
||||
"description": "Automatic generation of API documentation for Laravel applications.",
|
||||
"homepage": "https://github.com/dedoc/scramble",
|
||||
"keywords": [
|
||||
"api",
|
||||
"json",
|
||||
"rest",
|
||||
"service discovery"
|
||||
"documentation",
|
||||
"laravel",
|
||||
"openapi"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/zircote/swagger-php/issues",
|
||||
"source": "https://github.com/zircote/swagger-php/tree/6.2.0"
|
||||
"issues": "https://github.com/dedoc/scramble/issues",
|
||||
"source": "https://github.com/dedoc/scramble/tree/v0.13.28"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/zircote",
|
||||
"url": "https://github.com/romalytvynenko",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2026-06-14T06:51:56+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
"time": "2026-06-14T18:21:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fakerphp/faker",
|
||||
"version": "v1.24.1",
|
||||
@@ -7339,6 +6920,53 @@
|
||||
},
|
||||
"time": "2022-02-21T01:04:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "2.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
|
||||
"reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^2.0",
|
||||
"nikic/php-parser": "^5.3.0",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"phpstan/phpstan-phpunit": "^2.0",
|
||||
"phpstan/phpstan-strict-rules": "^2.0",
|
||||
"phpunit/phpunit": "^9.6",
|
||||
"symfony/process": "^5.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PHPStan\\PhpDocParser\\": [
|
||||
"src/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
|
||||
},
|
||||
"time": "2026-01-25T14:56:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "11.0.12",
|
||||
@@ -8782,6 +8410,67 @@
|
||||
],
|
||||
"time": "2024-10-09T05:16:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-package-tools",
|
||||
"version": "1.93.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-package-tools.git",
|
||||
"reference": "d5552849801f2642aea710557463234b59ef65eb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d5552849801f2642aea710557463234b59ef65eb",
|
||||
"reference": "d5552849801f2642aea710557463234b59ef65eb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^10.0|^11.0|^12.0|^13.0",
|
||||
"php": "^8.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.5",
|
||||
"orchestra/testbench": "^8.0|^9.2|^10.0|^11.0",
|
||||
"pestphp/pest": "^2.1|^3.1|^4.0",
|
||||
"phpunit/php-code-coverage": "^10.0|^11.0|^12.0",
|
||||
"phpunit/phpunit": "^10.5|^11.5|^12.5",
|
||||
"spatie/pest-plugin-test-time": "^2.2|^3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\LaravelPackageTools\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Freek Van der Herten",
|
||||
"email": "freek@spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Tools for creating Laravel packages",
|
||||
"homepage": "https://github.com/spatie/laravel-package-tools",
|
||||
"keywords": [
|
||||
"laravel-package-tools",
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/laravel-package-tools/issues",
|
||||
"source": "https://github.com/spatie/laravel-package-tools/tree/1.93.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/spatie",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2026-05-19T14:06:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "staabm/side-effects-detector",
|
||||
"version": "1.0.5",
|
||||
@@ -8834,6 +8523,82 @@
|
||||
],
|
||||
"time": "2024-10-20T05:08:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v7.4.13",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/a7ec3b1156faf8815db7683ec7c1e7338e6f977c",
|
||||
"reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"symfony/deprecation-contracts": "^2.5|^3",
|
||||
"symfony/polyfill-ctype": "^1.8"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/console": "<6.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/console": "^6.4|^7.0|^8.0"
|
||||
},
|
||||
"bin": [
|
||||
"Resources/bin/yaml-lint"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Yaml\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Loads and dumps YAML files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/yaml/tree/v7.4.13"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-05-25T06:06:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
"version": "1.3.1",
|
||||
|
||||
@@ -1,333 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'default' => 'default',
|
||||
'documentations' => [
|
||||
'default' => [
|
||||
'api' => [
|
||||
'title' => 'L5 Swagger UI',
|
||||
],
|
||||
|
||||
'routes' => [
|
||||
/*
|
||||
* Route for accessing api documentation interface
|
||||
*/
|
||||
'api' => 'api/documentation',
|
||||
],
|
||||
'paths' => [
|
||||
/*
|
||||
* Edit to include full URL in ui for assets
|
||||
*/
|
||||
'use_absolute_path' => env('L5_SWAGGER_USE_ABSOLUTE_PATH', true),
|
||||
|
||||
/*
|
||||
* Edit to set path where swagger ui assets should be stored
|
||||
*/
|
||||
'swagger_ui_assets_path' => env('L5_SWAGGER_UI_ASSETS_PATH', 'vendor/swagger-api/swagger-ui/dist/'),
|
||||
|
||||
/*
|
||||
* File name of the generated json documentation file
|
||||
*/
|
||||
'docs_json' => 'api-docs.json',
|
||||
|
||||
/*
|
||||
* File name of the generated YAML documentation file
|
||||
*/
|
||||
'docs_yaml' => 'api-docs.yaml',
|
||||
|
||||
/*
|
||||
* Set this to `json` or `yaml` to determine which documentation file to use in UI
|
||||
*/
|
||||
'format_to_use_for_docs' => env('L5_FORMAT_TO_USE_FOR_DOCS', 'json'),
|
||||
|
||||
/*
|
||||
* Absolute paths to directory containing the swagger annotations are stored.
|
||||
*/
|
||||
'annotations' => [
|
||||
base_path('app'),
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'defaults' => [
|
||||
'routes' => [
|
||||
/*
|
||||
* Route for accessing parsed swagger annotations.
|
||||
*/
|
||||
'docs' => 'docs',
|
||||
|
||||
/*
|
||||
* Route for Oauth2 authentication callback.
|
||||
*/
|
||||
'oauth2_callback' => 'api/oauth2-callback',
|
||||
|
||||
/*
|
||||
* Middleware allows to prevent unexpected access to API documentation
|
||||
*/
|
||||
'middleware' => [
|
||||
'api' => [],
|
||||
'asset' => [],
|
||||
'docs' => [],
|
||||
'oauth2_callback' => [],
|
||||
],
|
||||
|
||||
/*
|
||||
* Route Group options
|
||||
*/
|
||||
'group_options' => [],
|
||||
],
|
||||
|
||||
'paths' => [
|
||||
/*
|
||||
* Absolute path to location where parsed annotations will be stored
|
||||
*/
|
||||
'docs' => storage_path('api-docs'),
|
||||
|
||||
/*
|
||||
* Absolute path to directory where to export views
|
||||
*/
|
||||
'views' => base_path('resources/views/vendor/l5-swagger'),
|
||||
|
||||
/*
|
||||
* Edit to set the api's base path
|
||||
*/
|
||||
'base' => env('L5_SWAGGER_BASE_PATH', null),
|
||||
|
||||
/*
|
||||
* Absolute path to directories that should be excluded from scanning
|
||||
* @deprecated Please use `scanOptions.exclude`
|
||||
* `scanOptions.exclude` overwrites this
|
||||
*/
|
||||
'excludes' => [],
|
||||
],
|
||||
|
||||
'scanOptions' => [
|
||||
/**
|
||||
* Optional CustomGeneratorInterface implementation that creates an OpenApi\Generator instance.
|
||||
* Use this to provide a custom pre-configured generator.
|
||||
* Accepts an instance or a class name (FQCN) implementing the interface.
|
||||
*
|
||||
* @see \L5Swagger\CustomGeneratorInterface
|
||||
*/
|
||||
'generator_factory' => null,
|
||||
|
||||
/**
|
||||
* Configuration for default processors. Allows to pass processors configuration to swagger-php.
|
||||
*
|
||||
* @link https://zircote.github.io/swagger-php/reference/processors.html
|
||||
*/
|
||||
'default_processors_configuration' => [
|
||||
/** Example */
|
||||
/**
|
||||
* 'operationId.hash' => true,
|
||||
* 'pathFilter' => [
|
||||
* 'tags' => [
|
||||
* '/pets/',
|
||||
* '/store/',
|
||||
* ],
|
||||
* ],.
|
||||
*/
|
||||
],
|
||||
|
||||
/**
|
||||
* analyser: defaults to \OpenApi\StaticAnalyser .
|
||||
*
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'analyser' => null,
|
||||
|
||||
/**
|
||||
* analysis: defaults to a new \OpenApi\Analysis .
|
||||
*
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'analysis' => null,
|
||||
|
||||
/**
|
||||
* Custom processors.
|
||||
*
|
||||
* Each entry can be:
|
||||
* - A class name or instance (inserted after BuildPaths by default)
|
||||
* - An array with 'class' and 'after' keys for precise positioning:
|
||||
* ['class' => MyProcessor::class, 'after' => SomeProcessor::class]
|
||||
*
|
||||
* @link https://github.com/zircote/swagger-php/tree/master/Examples/processors/schema-query-parameter
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'processors' => [
|
||||
// \App\SwaggerProcessors\SchemaQueryParameter::class,
|
||||
// ['class' => \App\SwaggerProcessors\Custom::class, 'after' => \OpenApi\Processors\AugmentSchemas::class],
|
||||
],
|
||||
|
||||
/**
|
||||
* pattern: string $pattern File pattern(s) to scan (default: *.php) .
|
||||
*
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'pattern' => null,
|
||||
|
||||
/*
|
||||
* Absolute path to directories that should be excluded from scanning
|
||||
* @note This option overwrites `paths.excludes`
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'exclude' => [],
|
||||
|
||||
/*
|
||||
* Allows to generate specs either for OpenAPI 3.0.0 or OpenAPI 3.1.0.
|
||||
* By default the spec will be in version 3.0.0
|
||||
*/
|
||||
'open_api_spec_version' => env('L5_SWAGGER_OPEN_API_SPEC_VERSION', \L5Swagger\Generator::OPEN_API_DEFAULT_SPEC_VERSION),
|
||||
],
|
||||
|
||||
/*
|
||||
* API security definitions. Will be generated into documentation file.
|
||||
*/
|
||||
'securityDefinitions' => [
|
||||
'securitySchemes' => [
|
||||
/*
|
||||
* Examples of Security schemes
|
||||
*/
|
||||
/*
|
||||
'api_key_security_example' => [ // Unique name of security
|
||||
'type' => 'apiKey', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'A short description for security scheme',
|
||||
'name' => 'api_key', // The name of the header or query parameter to be used.
|
||||
'in' => 'header', // The location of the API key. Valid values are "query" or "header".
|
||||
],
|
||||
'oauth2_security_example' => [ // Unique name of security
|
||||
'type' => 'oauth2', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'A short description for oauth2 security scheme.',
|
||||
'flow' => 'implicit', // The flow used by the OAuth2 security scheme. Valid values are "implicit", "password", "application" or "accessCode".
|
||||
'authorizationUrl' => 'http://example.com/auth', // The authorization URL to be used for (implicit/accessCode)
|
||||
//'tokenUrl' => 'http://example.com/auth' // The authorization URL to be used for (password/application/accessCode)
|
||||
'scopes' => [
|
||||
'read:projects' => 'read your projects',
|
||||
'write:projects' => 'modify projects in your account',
|
||||
]
|
||||
],
|
||||
*/
|
||||
|
||||
/* Open API 3.0 support
|
||||
'passport' => [ // Unique name of security
|
||||
'type' => 'oauth2', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'Laravel passport oauth2 security.',
|
||||
'in' => 'header',
|
||||
'scheme' => 'https',
|
||||
'flows' => [
|
||||
"password" => [
|
||||
"authorizationUrl" => config('app.url') . '/oauth/authorize',
|
||||
"tokenUrl" => config('app.url') . '/oauth/token',
|
||||
"refreshUrl" => config('app.url') . '/token/refresh',
|
||||
"scopes" => []
|
||||
],
|
||||
],
|
||||
],
|
||||
'sanctum' => [ // Unique name of security
|
||||
'type' => 'apiKey', // Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'Enter token in format (Bearer <token>)',
|
||||
'name' => 'Authorization', // The name of the header or query parameter to be used.
|
||||
'in' => 'header', // The location of the API key. Valid values are "query" or "header".
|
||||
],
|
||||
*/
|
||||
],
|
||||
'security' => [
|
||||
/*
|
||||
* Examples of Securities
|
||||
*/
|
||||
[
|
||||
/*
|
||||
'oauth2_security_example' => [
|
||||
'read',
|
||||
'write'
|
||||
],
|
||||
|
||||
'passport' => []
|
||||
*/
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* Set this to `true` in development mode so that docs would be regenerated on each request
|
||||
* Set this to `false` to disable swagger generation on production
|
||||
*/
|
||||
'generate_always' => env('L5_SWAGGER_GENERATE_ALWAYS', false),
|
||||
|
||||
/*
|
||||
* Set this to `true` to generate a copy of documentation in yaml format
|
||||
*/
|
||||
'generate_yaml_copy' => env('L5_SWAGGER_GENERATE_YAML_COPY', false),
|
||||
|
||||
/*
|
||||
* Edit to trust the proxy's ip address - needed for AWS Load Balancer
|
||||
* string[]
|
||||
*/
|
||||
'proxy' => false,
|
||||
|
||||
/*
|
||||
* Configs plugin allows to fetch external configs instead of passing them to SwaggerUIBundle.
|
||||
* See more at: https://github.com/swagger-api/swagger-ui#configs-plugin
|
||||
*/
|
||||
'additional_config_url' => null,
|
||||
|
||||
/*
|
||||
* Apply a sort to the operation list of each API. It can be 'alpha' (sort by paths alphanumerically),
|
||||
* 'method' (sort by HTTP method).
|
||||
* Default is the order returned by the server unchanged.
|
||||
*/
|
||||
'operations_sort' => env('L5_SWAGGER_OPERATIONS_SORT', null),
|
||||
|
||||
/*
|
||||
* Pass the validatorUrl parameter to SwaggerUi init on the JS side.
|
||||
* A null value here disables validation.
|
||||
*/
|
||||
'validator_url' => null,
|
||||
|
||||
/*
|
||||
* Swagger UI configuration parameters
|
||||
*/
|
||||
'ui' => [
|
||||
'display' => [
|
||||
'dark_mode' => env('L5_SWAGGER_UI_DARK_MODE', false),
|
||||
/*
|
||||
* Controls the default expansion setting for the operations and tags. It can be :
|
||||
* 'list' (expands only the tags),
|
||||
* 'full' (expands the tags and operations),
|
||||
* 'none' (expands nothing).
|
||||
*/
|
||||
'doc_expansion' => env('L5_SWAGGER_UI_DOC_EXPANSION', 'none'),
|
||||
|
||||
/**
|
||||
* If set, enables filtering. The top bar will show an edit box that
|
||||
* you can use to filter the tagged operations that are shown. Can be
|
||||
* Boolean to enable or disable, or a string, in which case filtering
|
||||
* will be enabled using that string as the filter expression. Filtering
|
||||
* is case-sensitive matching the filter expression anywhere inside
|
||||
* the tag.
|
||||
*/
|
||||
'filter' => env('L5_SWAGGER_UI_FILTERS', true), // true | false
|
||||
],
|
||||
|
||||
'authorization' => [
|
||||
/*
|
||||
* If set to true, it persists authorization data, and it would not be lost on browser close/refresh
|
||||
*/
|
||||
'persist_authorization' => env('L5_SWAGGER_UI_PERSIST_AUTHORIZATION', false),
|
||||
|
||||
'oauth2' => [
|
||||
/*
|
||||
* If set to true, adds PKCE to AuthorizationCodeGrant flow
|
||||
*/
|
||||
'use_pkce_with_authorization_code_grant' => false,
|
||||
],
|
||||
],
|
||||
],
|
||||
/*
|
||||
* Constants which can be used in annotations
|
||||
*/
|
||||
'constants' => [
|
||||
'L5_SWAGGER_CONST_HOST' => env('L5_SWAGGER_CONST_HOST', 'http://my-default-host.com'),
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
|
||||
use Dedoc\Scramble\Http\Middleware\RestrictedDocsAccess;
|
||||
|
||||
return [
|
||||
/*
|
||||
* Which routes to document. String or array form; use Scramble::routes() for custom selection.
|
||||
*
|
||||
* 'api_path' => [
|
||||
* 'include' => 'api',
|
||||
* 'exclude' => ['api/internal'],
|
||||
* ],
|
||||
*
|
||||
* Without *, patterns match path segments (api matches api and api/users, not apiary).
|
||||
* With *, Str::is is used (e.g. api/v*).
|
||||
*
|
||||
* One static include → default server is /{include} and paths are stripped (/users).
|
||||
* Multiple includes or wildcards → server defaults to / and paths stay full (/api/users).
|
||||
* Override with `servers`, or use Scramble::registerApi() for separate bases.
|
||||
*/
|
||||
'api_path' => 'api',
|
||||
|
||||
/*
|
||||
* Your API domain. By default, app domain is used. This is also a part of the default API routes
|
||||
* matcher, so when implementing your own, make sure you use this config if needed.
|
||||
*/
|
||||
'api_domain' => null,
|
||||
|
||||
/*
|
||||
* The path where your OpenAPI specification will be exported.
|
||||
*/
|
||||
'export_path' => 'api.json',
|
||||
|
||||
/*
|
||||
* Cache configuration for the generated OpenAPI document.
|
||||
*
|
||||
* Use `scramble:cache` to warm the cache and `scramble:clear` to invalidate it.
|
||||
*/
|
||||
'cache' => [
|
||||
'key' => 'scramble.openapi',
|
||||
'store' => 'file',
|
||||
],
|
||||
|
||||
'info' => [
|
||||
/*
|
||||
* API version.
|
||||
*/
|
||||
'version' => env('API_VERSION', '0.0.1'),
|
||||
|
||||
/*
|
||||
* Description rendered on the home page of the API documentation (`/docs/api`).
|
||||
*/
|
||||
'description' => '',
|
||||
],
|
||||
|
||||
'ui' => [
|
||||
'title' => null,
|
||||
],
|
||||
|
||||
'renderer' => 'elements',
|
||||
|
||||
'renderers' => [
|
||||
/*
|
||||
* Stoplight Elements config options: https://docs.stoplight.io/docs/elements/b074dc47b2826-elements-configuration-options
|
||||
*/
|
||||
'elements' => [
|
||||
'view' => 'scramble::docs',
|
||||
'theme' => 'light',
|
||||
'hideTryIt' => false,
|
||||
'hideSchemas' => false,
|
||||
'logo' => '',
|
||||
'tryItCredentialsPolicy' => 'include',
|
||||
'layout' => 'responsive',
|
||||
'router' => 'hash',
|
||||
],
|
||||
/*
|
||||
* Scalar API reference config options: https://scalar.com/products/api-references/configuration
|
||||
*/
|
||||
'scalar' => [
|
||||
'view' => 'scramble::scalar',
|
||||
'cdn' => 'https://cdn.jsdelivr.net/npm/@scalar/api-reference',
|
||||
'theme' => 'laravel',
|
||||
'proxyUrl' => 'https://proxy.scalar.com',
|
||||
'darkMode' => false,
|
||||
'showDeveloperTools' => 'never',
|
||||
'agent' => ['disabled' => true],
|
||||
'credentials' => 'include',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* The list of servers of the API. By default, when `null`, server URL will be created from
|
||||
* `scramble.api_path` and `scramble.api_domain` config variables. When providing an array, you
|
||||
* will need to specify the local server URL manually (if needed).
|
||||
*
|
||||
* Example of non-default config (final URLs are generated using Laravel `url` helper):
|
||||
*
|
||||
* ```php
|
||||
* 'servers' => [
|
||||
* 'Live' => 'api',
|
||||
* 'Prod' => 'https://scramble.dedoc.co/api',
|
||||
* ],
|
||||
* ```
|
||||
*/
|
||||
'servers' => null,
|
||||
|
||||
/**
|
||||
* Determines how Scramble stores the descriptions of enum cases.
|
||||
* Available options:
|
||||
* - 'description' – Case descriptions are stored as the enum schema's description using table formatting.
|
||||
* - 'extension' – Case descriptions are stored in the `x-enumDescriptions` enum schema extension.
|
||||
*
|
||||
* @see https://redocly.com/docs-legacy/api-reference-docs/specification-extensions/x-enum-descriptions
|
||||
* - false - Case descriptions are ignored.
|
||||
*/
|
||||
'enum_cases_description_strategy' => 'description',
|
||||
|
||||
/**
|
||||
* Determines how Scramble stores the names of enum cases.
|
||||
* Available options:
|
||||
* - 'names' – Case names are stored in the `x-enumNames` enum schema extension.
|
||||
* - 'varnames' - Case names are stored in the `x-enum-varnames` enum schema extension.
|
||||
* - false - Case names are not stored.
|
||||
*/
|
||||
'enum_cases_names_strategy' => false,
|
||||
|
||||
/**
|
||||
* When Scramble encounters deep objects in query parameters, it flattens the parameters so the generated
|
||||
* OpenAPI document correctly describes the API. Flattening deep query parameters is relevant until
|
||||
* OpenAPI 3.2 is released and query string structure can be described properly.
|
||||
*
|
||||
* For example, this nested validation rule describes the object with `bar` property:
|
||||
* `['foo.bar' => ['required', 'int']]`.
|
||||
*
|
||||
* When `flatten_deep_query_parameters` is `true`, Scramble will document the parameter like so:
|
||||
* `{"name":"foo[bar]", "schema":{"type":"int"}, "required":true}`.
|
||||
*
|
||||
* When `flatten_deep_query_parameters` is `false`, Scramble will document the parameter like so:
|
||||
* `{"name":"foo", "schema": {"type":"object", "properties":{"bar":{"type": "int"}}, "required": ["bar"]}, "required":true}`.
|
||||
*/
|
||||
'flatten_deep_query_parameters' => true,
|
||||
|
||||
'middleware' => [
|
||||
'web',
|
||||
RestrictedDocsAccess::class,
|
||||
],
|
||||
|
||||
'extensions' => [],
|
||||
|
||||
/*
|
||||
* Automatically document API security (OpenAPI `security` / `securitySchemes`) based on route
|
||||
* middleware.
|
||||
*
|
||||
* Disabled by default. Uncomment the line below to enable `MiddlewareAuthSecurityStrategy`.
|
||||
* When at least one documented route uses middleware matching the configured patterns (by default
|
||||
* `auth` and `auth:*`), bearer auth is applied globally. Routes without matching middleware are
|
||||
* marked as public (`security: []`).
|
||||
*
|
||||
* Set to `null` explicitly to disable. If you already configure security manually via
|
||||
* `afterOpenApiGenerated` / `extendOpenApi`, keep this disabled to avoid duplicate schemes.
|
||||
*
|
||||
* Customize with a class-string or [class, options]:
|
||||
*
|
||||
* 'security_strategy' => [
|
||||
* \Dedoc\Scramble\SecurityDocumentation\MiddlewareAuthSecurityStrategy::class,
|
||||
* [
|
||||
* 'middleware' => ['auth', 'auth:*'],
|
||||
* 'scheme' => \Dedoc\Scramble\Support\Generator\SecurityScheme::http('bearer'),
|
||||
* ],
|
||||
* ],
|
||||
*/
|
||||
// 'security_strategy' => \Dedoc\Scramble\SecurityDocumentation\MiddlewareAuthSecurityStrategy::class,
|
||||
'security_strategy' => [
|
||||
\Dedoc\Scramble\SecurityDocumentation\MiddlewareAuthSecurityStrategy::class,
|
||||
[
|
||||
'middleware' => ['auth', 'auth:*'],
|
||||
'scheme' => \Dedoc\Scramble\Support\Generator\SecurityScheme::http('bearer'),
|
||||
],
|
||||
],
|
||||
];
|
||||
Vendored
+112
@@ -0,0 +1,112 @@
|
||||
<!doctype html>
|
||||
<html lang="en" data-theme="{{ $config->renderer()->get('theme', 'light') }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="color-scheme" content="{{ $config->renderer()->get('theme', 'light') }}">
|
||||
<title>{{ $config->get('ui.title') ?? config('app.name') . ' - API Docs' }}</title>
|
||||
|
||||
<script src="https://unpkg.com/@stoplight/elements@8.4.2/web-components.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@stoplight/elements@8.4.2/styles.min.css">
|
||||
|
||||
<script>
|
||||
const originalFetch = window.fetch;
|
||||
|
||||
// intercept TryIt requests and add the XSRF-TOKEN header,
|
||||
// which is necessary for Sanctum cookie-based authentication to work correctly
|
||||
window.fetch = (url, options) => {
|
||||
const CSRF_TOKEN_COOKIE_KEY = "XSRF-TOKEN";
|
||||
const CSRF_TOKEN_HEADER_KEY = "X-XSRF-TOKEN";
|
||||
const getCookieValue = (key) => {
|
||||
const cookie = document.cookie.split(';').find((cookie) => cookie.trim().startsWith(key));
|
||||
return cookie?.split("=")[1];
|
||||
};
|
||||
|
||||
const updateFetchHeaders = (
|
||||
headers,
|
||||
headerKey,
|
||||
headerValue,
|
||||
) => {
|
||||
if (headers instanceof Headers) {
|
||||
headers.set(headerKey, headerValue);
|
||||
} else if (Array.isArray(headers)) {
|
||||
headers.push([headerKey, headerValue]);
|
||||
} else if (headers) {
|
||||
headers[headerKey] = headerValue;
|
||||
}
|
||||
};
|
||||
const csrfToken = getCookieValue(CSRF_TOKEN_COOKIE_KEY);
|
||||
if (csrfToken) {
|
||||
const { headers = new Headers() } = options || {};
|
||||
updateFetchHeaders(headers, CSRF_TOKEN_HEADER_KEY, decodeURIComponent(csrfToken));
|
||||
return originalFetch(url, {
|
||||
...options,
|
||||
headers,
|
||||
});
|
||||
}
|
||||
|
||||
return originalFetch(url, options);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
html, body { margin:0; height:100%; }
|
||||
body { background-color: var(--color-canvas); }
|
||||
/* issues about the dark theme of stoplight/mosaic-code-viewer using web component:
|
||||
* https://github.com/stoplightio/elements/issues/2188#issuecomment-1485461965
|
||||
*/
|
||||
[data-theme="dark"] .token.property {
|
||||
color: rgb(128, 203, 196) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.operator {
|
||||
color: rgb(255, 123, 114) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.number {
|
||||
color: rgb(247, 140, 108) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.string {
|
||||
color: rgb(165, 214, 255) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.boolean {
|
||||
color: rgb(121, 192, 255) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.punctuation {
|
||||
color: #dbdbdb !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="height: 100vh; overflow-y: hidden">
|
||||
<elements-api
|
||||
id="docs"
|
||||
@foreach($config->renderer()->all(except: ['theme']) as $key => $value)
|
||||
@continue(! $value)
|
||||
{{ $key }}="{{ $value === true ? 'true' : ($value === false ? 'false' : $value) }}"
|
||||
@endforeach
|
||||
/>
|
||||
<script>
|
||||
(async () => {
|
||||
const docs = document.getElementById('docs');
|
||||
docs.apiDescriptionDocument = @json($spec);
|
||||
})();
|
||||
</script>
|
||||
|
||||
@if($config->renderer()->get('theme', 'light') === 'system')
|
||||
<script>
|
||||
var mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
||||
|
||||
function updateTheme(e) {
|
||||
if (e.matches) {
|
||||
window.document.documentElement.setAttribute('data-theme', 'dark');
|
||||
window.document.getElementsByName('color-scheme')[0].setAttribute('content', 'dark');
|
||||
} else {
|
||||
window.document.documentElement.setAttribute('data-theme', 'light');
|
||||
window.document.getElementsByName('color-scheme')[0].setAttribute('content', 'light');
|
||||
}
|
||||
}
|
||||
|
||||
mediaQuery.addEventListener('change', updateTheme);
|
||||
updateTheme(mediaQuery);
|
||||
</script>
|
||||
@endif
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,32 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>{{ $config->get('ui.title') ?? config('app.name') . ' - API Docs' }}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script src="{{ $config->renderer()->get('cdn', 'https://cdn.jsdelivr.net/npm/@scalar/api-reference') }}"></script>
|
||||
|
||||
<script>
|
||||
const CSRF_TOKEN_COOKIE_KEY = "XSRF-TOKEN";
|
||||
const CSRF_TOKEN_HEADER_KEY = "X-XSRF-TOKEN";
|
||||
const getCookieValue = (key) => {
|
||||
const cookie = document.cookie.split(';').find((cookie) => cookie.trim().startsWith(key));
|
||||
return cookie?.split("=")[1];
|
||||
};
|
||||
|
||||
Scalar.createApiReference('#app', {
|
||||
content: @json($spec),
|
||||
...@json($config->renderer()->all(except: ['cdn', 'credentials'])),
|
||||
onBeforeRequest: ({ requestBuilder }) => {
|
||||
requestBuilder.headers.set(CSRF_TOKEN_HEADER_KEY, decodeURIComponent(getCookieValue(CSRF_TOKEN_COOKIE_KEY)))
|
||||
},
|
||||
customFetch: (input, init) => {
|
||||
return window.fetch(input, { ...init, credentials: @json($config->renderer()->get('credentials', 'include')) })
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
+22
-3
@@ -3,13 +3,32 @@
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\Ticket\TicketController;
|
||||
use App\Http\Controllers\Ticket\TicketTypeController;
|
||||
|
||||
Route::post('/login', [AuthController::class, 'login']);
|
||||
|
||||
|
||||
// Route::prefix('tickets')->group(function () {
|
||||
// Route::get('/', [TicketController::class, 'index']);
|
||||
// Route::post('/', [TicketController::class, 'store']);
|
||||
// });
|
||||
|
||||
Route::middleware('auth:sanctum')->group(function () {
|
||||
|
||||
Route::get('/profile', function (Request $request) {
|
||||
return response()->json($request->user());
|
||||
});
|
||||
Route::apiResource('tickets', TicketController::class);
|
||||
Route::apiResource('ticket-types', TicketTypeController::class);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Route::get('/generate-token', function () {
|
||||
|
||||
// $user = \App\Models\User::find(1);
|
||||
|
||||
// return $user->createToken(
|
||||
// 'master-token'
|
||||
// )->plainTextToken;
|
||||
|
||||
// });
|
||||
|
||||
Vendored
-119
@@ -1,119 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Proxy PHP file generated by Composer
|
||||
*
|
||||
* This file includes the referenced bin path (../zircote/swagger-php/bin/openapi)
|
||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
||||
*
|
||||
* @generated
|
||||
*/
|
||||
|
||||
namespace Composer;
|
||||
|
||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
||||
|
||||
if (PHP_VERSION_ID < 80000) {
|
||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class BinProxyWrapper
|
||||
{
|
||||
private $handle;
|
||||
private $position;
|
||||
private $realpath;
|
||||
|
||||
public function stream_open($path, $mode, $options, &$opened_path)
|
||||
{
|
||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
||||
$opened_path = substr($path, 17);
|
||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
||||
$opened_path = $this->realpath;
|
||||
$this->handle = fopen($this->realpath, $mode);
|
||||
$this->position = 0;
|
||||
|
||||
return (bool) $this->handle;
|
||||
}
|
||||
|
||||
public function stream_read($count)
|
||||
{
|
||||
$data = fread($this->handle, $count);
|
||||
|
||||
if ($this->position === 0) {
|
||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
||||
}
|
||||
|
||||
$this->position += strlen($data);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function stream_cast($castAs)
|
||||
{
|
||||
return $this->handle;
|
||||
}
|
||||
|
||||
public function stream_close()
|
||||
{
|
||||
fclose($this->handle);
|
||||
}
|
||||
|
||||
public function stream_lock($operation)
|
||||
{
|
||||
return $operation ? flock($this->handle, $operation) : true;
|
||||
}
|
||||
|
||||
public function stream_seek($offset, $whence)
|
||||
{
|
||||
if (0 === fseek($this->handle, $offset, $whence)) {
|
||||
$this->position = ftell($this->handle);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function stream_tell()
|
||||
{
|
||||
return $this->position;
|
||||
}
|
||||
|
||||
public function stream_eof()
|
||||
{
|
||||
return feof($this->handle);
|
||||
}
|
||||
|
||||
public function stream_stat()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
public function stream_set_option($option, $arg1, $arg2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function url_stat($path, $flags)
|
||||
{
|
||||
$path = substr($path, 17);
|
||||
if (file_exists($path)) {
|
||||
return stat($path);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
(function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true))
|
||||
|| (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper'))
|
||||
) {
|
||||
return include("phpvfscomposer://" . __DIR__ . '/..'.'/zircote/swagger-php/bin/openapi');
|
||||
}
|
||||
}
|
||||
|
||||
return include __DIR__ . '/..'.'/zircote/swagger-php/bin/openapi';
|
||||
Vendored
-5
@@ -1,5 +0,0 @@
|
||||
@ECHO OFF
|
||||
setlocal DISABLEDELAYEDEXPANSION
|
||||
SET BIN_TARGET=%~dp0/openapi
|
||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
||||
php "%BIN_TARGET%" %*
|
||||
+468
-193
@@ -7,10 +7,25 @@ $baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'App\\Docs\\OpenApiSpec' => $baseDir . '/app/Docs/OpenApiSpec.php',
|
||||
'App\\Http\\Controllers\\ApiController' => $baseDir . '/app/Http/Controllers/ApiController.php',
|
||||
'App\\Http\\Controllers\\AuthController' => $baseDir . '/app/Http/Controllers/AuthController.php',
|
||||
'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php',
|
||||
'App\\Http\\Controllers\\TicketController' => $baseDir . '/app/Http/Controllers/TicketController.php',
|
||||
'App\\Http\\Controllers\\Ticket\\TicketController' => $baseDir . '/app/Http/Controllers/Ticket/TicketController.php',
|
||||
'App\\Http\\Requests\\Ticket\\StoreTicketRequest' => $baseDir . '/app/Http/Requests/Ticket/StoreTicketRequest.php',
|
||||
'App\\Http\\Requests\\Ticket\\UpdateTicketRequest' => $baseDir . '/app/Http/Requests/Ticket/UpdateTicketRequest.php',
|
||||
'App\\Http\\Resources\\TicketResource' => $baseDir . '/app/Http/Resources/TicketResource.php',
|
||||
'App\\Models\\Ticket' => $baseDir . '/app/Models/Ticket.php',
|
||||
'App\\Models\\TicketApproval' => $baseDir . '/app/Models/TicketApproval.php',
|
||||
'App\\Models\\TicketAssignment' => $baseDir . '/app/Models/TicketAssignment.php',
|
||||
'App\\Models\\TicketFile' => $baseDir . '/app/Models/TicketFile.php',
|
||||
'App\\Models\\TicketLog' => $baseDir . '/app/Models/TicketLog.php',
|
||||
'App\\Models\\TicketMaterial' => $baseDir . '/app/Models/TicketMaterial.php',
|
||||
'App\\Models\\TicketType' => $baseDir . '/app/Models/TicketType.php',
|
||||
'App\\Models\\User' => $baseDir . '/app/Models/User.php',
|
||||
'App\\Providers\\AppServiceProvider' => $baseDir . '/app/Providers/AppServiceProvider.php',
|
||||
'App\\Services\\Ticket\\TicketService' => $baseDir . '/app/Services/Ticket/TicketService.php',
|
||||
'App\\Traits\\ApiResponse' => $baseDir . '/app/Traits/ApiResponse.php',
|
||||
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'Brick\\Math\\BigDecimal' => $vendorDir . '/brick/math/src/BigDecimal.php',
|
||||
'Brick\\Math\\BigInteger' => $vendorDir . '/brick/math/src/BigInteger.php',
|
||||
@@ -145,6 +160,425 @@ return array(
|
||||
'DateMalformedStringException' => $vendorDir . '/symfony/polyfill-php83/Resources/stubs/DateMalformedStringException.php',
|
||||
'DateObjectError' => $vendorDir . '/symfony/polyfill-php83/Resources/stubs/DateObjectError.php',
|
||||
'DateRangeError' => $vendorDir . '/symfony/polyfill-php83/Resources/stubs/DateRangeError.php',
|
||||
'Dedoc\\Scramble\\AbstractOpenApiVisitor' => $vendorDir . '/dedoc/scramble/src/AbstractOpenApiVisitor.php',
|
||||
'Dedoc\\Scramble\\Attributes\\BodyParameter' => $vendorDir . '/dedoc/scramble/src/Attributes/BodyParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\CookieParameter' => $vendorDir . '/dedoc/scramble/src/Attributes/CookieParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Endpoint' => $vendorDir . '/dedoc/scramble/src/Attributes/Endpoint.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Example' => $vendorDir . '/dedoc/scramble/src/Attributes/Example.php',
|
||||
'Dedoc\\Scramble\\Attributes\\ExcludeAllRoutesFromDocs' => $vendorDir . '/dedoc/scramble/src/Attributes/ExcludeAllRoutesFromDocs.php',
|
||||
'Dedoc\\Scramble\\Attributes\\ExcludeRouteFromDocs' => $vendorDir . '/dedoc/scramble/src/Attributes/ExcludeRouteFromDocs.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Group' => $vendorDir . '/dedoc/scramble/src/Attributes/Group.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Header' => $vendorDir . '/dedoc/scramble/src/Attributes/Header.php',
|
||||
'Dedoc\\Scramble\\Attributes\\HeaderParameter' => $vendorDir . '/dedoc/scramble/src/Attributes/HeaderParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Hidden' => $vendorDir . '/dedoc/scramble/src/Attributes/Hidden.php',
|
||||
'Dedoc\\Scramble\\Attributes\\IgnoreParam' => $vendorDir . '/dedoc/scramble/src/Attributes/IgnoreParam.php',
|
||||
'Dedoc\\Scramble\\Attributes\\MissingValue' => $vendorDir . '/dedoc/scramble/src/Attributes/MissingValue.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Parameter' => $vendorDir . '/dedoc/scramble/src/Attributes/Parameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\PathParameter' => $vendorDir . '/dedoc/scramble/src/Attributes/PathParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\QueryParameter' => $vendorDir . '/dedoc/scramble/src/Attributes/QueryParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Response' => $vendorDir . '/dedoc/scramble/src/Attributes/Response.php',
|
||||
'Dedoc\\Scramble\\Attributes\\SchemaName' => $vendorDir . '/dedoc/scramble/src/Attributes/SchemaName.php',
|
||||
'Dedoc\\Scramble\\CacheableGenerator' => $vendorDir . '/dedoc/scramble/src/CacheableGenerator.php',
|
||||
'Dedoc\\Scramble\\Configuration\\ApiPath' => $vendorDir . '/dedoc/scramble/src/Configuration/ApiPath.php',
|
||||
'Dedoc\\Scramble\\Configuration\\DocumentTransformers' => $vendorDir . '/dedoc/scramble/src/Configuration/DocumentTransformers.php',
|
||||
'Dedoc\\Scramble\\Configuration\\GeneratorConfigCollection' => $vendorDir . '/dedoc/scramble/src/Configuration/GeneratorConfigCollection.php',
|
||||
'Dedoc\\Scramble\\Configuration\\InferConfig' => $vendorDir . '/dedoc/scramble/src/Configuration/InferConfig.php',
|
||||
'Dedoc\\Scramble\\Configuration\\JsonApiConfig' => $vendorDir . '/dedoc/scramble/src/Configuration/JsonApiConfig.php',
|
||||
'Dedoc\\Scramble\\Configuration\\OperationTransformers' => $vendorDir . '/dedoc/scramble/src/Configuration/OperationTransformers.php',
|
||||
'Dedoc\\Scramble\\Configuration\\ParametersExtractors' => $vendorDir . '/dedoc/scramble/src/Configuration/ParametersExtractors.php',
|
||||
'Dedoc\\Scramble\\Configuration\\RendererConfig' => $vendorDir . '/dedoc/scramble/src/Configuration/RendererConfig.php',
|
||||
'Dedoc\\Scramble\\Configuration\\RuleTransformers' => $vendorDir . '/dedoc/scramble/src/Configuration/RuleTransformers.php',
|
||||
'Dedoc\\Scramble\\Configuration\\SecurityDocumentationContext' => $vendorDir . '/dedoc/scramble/src/Configuration/SecurityDocumentationContext.php',
|
||||
'Dedoc\\Scramble\\Configuration\\ServerVariables' => $vendorDir . '/dedoc/scramble/src/Configuration/ServerVariables.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\AnalyzeDocumentation' => $vendorDir . '/dedoc/scramble/src/Console/Commands/AnalyzeDocumentation.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\CacheDocumentation' => $vendorDir . '/dedoc/scramble/src/Console/Commands/CacheDocumentation.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\ClearDocumentationCache' => $vendorDir . '/dedoc/scramble/src/Console/Commands/ClearDocumentationCache.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Components\\Code' => $vendorDir . '/dedoc/scramble/src/Console/Commands/Components/Code.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Components\\Component' => $vendorDir . '/dedoc/scramble/src/Console/Commands/Components/Component.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Components\\TermsOfContentItem' => $vendorDir . '/dedoc/scramble/src/Console/Commands/Components/TermsOfContentItem.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Concerns\\ManagesDocumentationCache' => $vendorDir . '/dedoc/scramble/src/Console/Commands/Concerns/ManagesDocumentationCache.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\ExportDocumentation' => $vendorDir . '/dedoc/scramble/src/Console/Commands/ExportDocumentation.php',
|
||||
'Dedoc\\Scramble\\ContextReferences' => $vendorDir . '/dedoc/scramble/src/ContextReferences.php',
|
||||
'Dedoc\\Scramble\\ContextReferencesCollection' => $vendorDir . '/dedoc/scramble/src/ContextReferencesCollection.php',
|
||||
'Dedoc\\Scramble\\Contracts\\AllRulesSchemasTransformer' => $vendorDir . '/dedoc/scramble/src/Contracts/AllRulesSchemasTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\DocumentTransformer' => $vendorDir . '/dedoc/scramble/src/Contracts/DocumentTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\OperationTransformer' => $vendorDir . '/dedoc/scramble/src/Contracts/OperationTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\RuleTransformer' => $vendorDir . '/dedoc/scramble/src/Contracts/RuleTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\SecurityDocumentationStrategy' => $vendorDir . '/dedoc/scramble/src/Contracts/SecurityDocumentationStrategy.php',
|
||||
'Dedoc\\Scramble\\DocumentTransformers\\AddDocumentTags' => $vendorDir . '/dedoc/scramble/src/DocumentTransformers/AddDocumentTags.php',
|
||||
'Dedoc\\Scramble\\DocumentTransformers\\CleanupUnusedResponseReferencesTransformer' => $vendorDir . '/dedoc/scramble/src/DocumentTransformers/CleanupUnusedResponseReferencesTransformer.php',
|
||||
'Dedoc\\Scramble\\Enums\\JsonApiArraySerialization' => $vendorDir . '/dedoc/scramble/src/Enums/JsonApiArraySerialization.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\ConsoleRenderable' => $vendorDir . '/dedoc/scramble/src/Exceptions/ConsoleRenderable.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\InvalidSchema' => $vendorDir . '/dedoc/scramble/src/Exceptions/InvalidSchema.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\OpenApiReferenceTargetNotFoundException' => $vendorDir . '/dedoc/scramble/src/Exceptions/OpenApiReferenceTargetNotFoundException.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\RouteAware' => $vendorDir . '/dedoc/scramble/src/Exceptions/RouteAware.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\RouteAwareTrait' => $vendorDir . '/dedoc/scramble/src/Exceptions/RouteAwareTrait.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\RulesEvaluationException' => $vendorDir . '/dedoc/scramble/src/Exceptions/RulesEvaluationException.php',
|
||||
'Dedoc\\Scramble\\Extensions\\ExceptionToResponseExtension' => $vendorDir . '/dedoc/scramble/src/Extensions/ExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Extensions\\OperationExtension' => $vendorDir . '/dedoc/scramble/src/Extensions/OperationExtension.php',
|
||||
'Dedoc\\Scramble\\Extensions\\TypeToSchemaExtension' => $vendorDir . '/dedoc/scramble/src/Extensions/TypeToSchemaExtension.php',
|
||||
'Dedoc\\Scramble\\Generator' => $vendorDir . '/dedoc/scramble/src/Generator.php',
|
||||
'Dedoc\\Scramble\\GeneratorConfig' => $vendorDir . '/dedoc/scramble/src/GeneratorConfig.php',
|
||||
'Dedoc\\Scramble\\Http\\Middleware\\RestrictedDocsAccess' => $vendorDir . '/dedoc/scramble/src/Http/Middleware/RestrictedDocsAccess.php',
|
||||
'Dedoc\\Scramble\\Infer' => $vendorDir . '/dedoc/scramble/src/Infer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Analyzer\\ClassAnalyzer' => $vendorDir . '/dedoc/scramble/src/Infer/Analyzer/ClassAnalyzer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Analyzer\\MethodAnalyzer' => $vendorDir . '/dedoc/scramble/src/Infer/Analyzer/MethodAnalyzer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Analyzer\\PropertyAnalyzer' => $vendorDir . '/dedoc/scramble/src/Infer/Analyzer/PropertyAnalyzer.php',
|
||||
'Dedoc\\Scramble\\Infer\\AutoResolvingArgumentTypeBag' => $vendorDir . '/dedoc/scramble/src/Infer/AutoResolvingArgumentTypeBag.php',
|
||||
'Dedoc\\Scramble\\Infer\\Configuration\\ClassLike' => $vendorDir . '/dedoc/scramble/src/Infer/Configuration/ClassLike.php',
|
||||
'Dedoc\\Scramble\\Infer\\Configuration\\ClassLikeAndChildren' => $vendorDir . '/dedoc/scramble/src/Infer/Configuration/ClassLikeAndChildren.php',
|
||||
'Dedoc\\Scramble\\Infer\\Configuration\\DefinitionMatcher' => $vendorDir . '/dedoc/scramble/src/Infer/Configuration/DefinitionMatcher.php',
|
||||
'Dedoc\\Scramble\\Infer\\Context' => $vendorDir . '/dedoc/scramble/src/Infer/Context.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\ArgumentTypeBag' => $vendorDir . '/dedoc/scramble/src/Infer/Contracts/ArgumentTypeBag.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\ClassDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Contracts/ClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\ClassDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/Contracts/ClassDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\FunctionLikeDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/Contracts/FunctionLikeDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\Index' => $vendorDir . '/dedoc/scramble/src/Infer/Contracts/Index.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeAstDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeAstDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeDeclarationAstDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeDeclarationAstDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeDeclarationPhpDocDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeDeclarationPhpDocDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeReflectionDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeReflectionDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\LazyClassReflectionDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/DefinitionBuilders/LazyClassReflectionDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\SelfOutTypeBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/DefinitionBuilders/SelfOutTypeBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\ShallowClassReflectionDefinitionBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/DefinitionBuilders/ShallowClassReflectionDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\AttributeDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/AttributeDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\ClassDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/ClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\ClassPropertyDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/ClassPropertyDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\FunctionLikeAstDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/FunctionLikeAstDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\FunctionLikeDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/FunctionLikeDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\LazyShallowClassDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/LazyShallowClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\PendingDocComment' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/PendingDocComment.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\PropertyVisibility' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/PropertyVisibility.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\ShallowClassDefinition' => $vendorDir . '/dedoc/scramble/src/Infer/Definition/ShallowClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\AfterClassDefinitionCreatedExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/AfterClassDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\AfterSideEffectCallAnalyzed' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/AfterSideEffectCallAnalyzed.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\AnyMethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/AnyMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\AnyMethodCallEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/AnyMethodCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\ClassDefinitionCreatedEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/ClassDefinitionCreatedEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\Concerns\\ArgumentTypesAware' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/Concerns/ArgumentTypesAware.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\FunctionCallEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/FunctionCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\MethodCallEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/MethodCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\PropertyFetchEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/PropertyFetchEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\ReferenceResolutionEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/ReferenceResolutionEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\SideEffectCallEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/SideEffectCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\StaticMethodCallEvent' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/Event/StaticMethodCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ExpressionExceptionExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/ExpressionExceptionExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ExpressionTypeInferExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/ExpressionTypeInferExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ExtensionsBroker' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/ExtensionsBroker.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\FunctionReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/FunctionReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\IndexBuildingBroker' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/IndexBuildingBroker.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\InferExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/InferExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\MethodCallExceptionsExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/MethodCallExceptionsExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\MethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/MethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\PropertyTypeExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/PropertyTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ResolvingType' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/ResolvingType.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\StaticMethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/StaticMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\TypeResolverExtension' => $vendorDir . '/dedoc/scramble/src/Infer/Extensions/TypeResolverExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\FlowBuilder' => $vendorDir . '/dedoc/scramble/src/Infer/FlowBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\AbstractNode' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/AbstractNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\ConditionNode' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/ConditionNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\Edge' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/Edge.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\ExpressionTypeInferrer' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/ExpressionTypeInferrer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\MergeNode' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/MergeNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\Node' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/Node.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\Nodes' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/Nodes.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\StartNode' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/StartNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\StatementNode' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/StatementNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\TerminateNode' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/TerminateNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\TerminationKind' => $vendorDir . '/dedoc/scramble/src/Infer/Flow/TerminationKind.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ArrayHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/ArrayHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ArrayItemHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/ArrayItemHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\AssignHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/AssignHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ClassHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/ClassHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\CreatesScope' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/CreatesScope.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ExceptionInferringExtensions' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/ExceptionInferringExtensions.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ExpressionTypeInferringExtensions' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/ExpressionTypeInferringExtensions.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\FunctionLikeHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/FunctionLikeHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\IndexBuildingHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/IndexBuildingHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\PhpDocHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/PhpDocHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\PropertyHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/PropertyHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ReturnHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/ReturnHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ThrowHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/ThrowHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\UnsetHandler' => $vendorDir . '/dedoc/scramble/src/Infer/Handler/UnsetHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\ClassReflector' => $vendorDir . '/dedoc/scramble/src/Infer/Reflector/ClassReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\ClosureReflector' => $vendorDir . '/dedoc/scramble/src/Infer/Reflector/ClosureReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\MethodReflector' => $vendorDir . '/dedoc/scramble/src/Infer/Reflector/MethodReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\PropertyReflector' => $vendorDir . '/dedoc/scramble/src/Infer/Reflector/PropertyReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\GlobalScope' => $vendorDir . '/dedoc/scramble/src/Infer/Scope/GlobalScope.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\Index' => $vendorDir . '/dedoc/scramble/src/Infer/Scope/Index.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\LazyShallowReflectionIndex' => $vendorDir . '/dedoc/scramble/src/Infer/Scope/LazyShallowReflectionIndex.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\NodeTypesResolver' => $vendorDir . '/dedoc/scramble/src/Infer/Scope/NodeTypesResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\Scope' => $vendorDir . '/dedoc/scramble/src/Infer/Scope/Scope.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\ScopeContext' => $vendorDir . '/dedoc/scramble/src/Infer/Scope/ScopeContext.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\ConstFetchTypeGetter' => $vendorDir . '/dedoc/scramble/src/Infer/Services/ConstFetchTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\FileNameResolver' => $vendorDir . '/dedoc/scramble/src/Infer/Services/FileNameResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\FileParser' => $vendorDir . '/dedoc/scramble/src/Infer/Services/FileParser.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\FileParserResult' => $vendorDir . '/dedoc/scramble/src/Infer/Services/FileParserResult.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\KeyedArrayUnpackingTypeVisitor' => $vendorDir . '/dedoc/scramble/src/Infer/Services/KeyedArrayUnpackingTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\LateTypeResolvingTypeVisitor' => $vendorDir . '/dedoc/scramble/src/Infer/Services/LateTypeResolvingTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\RecursionGuard' => $vendorDir . '/dedoc/scramble/src/Infer/Services/RecursionGuard.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\ReferenceTypeResolver' => $vendorDir . '/dedoc/scramble/src/Infer/Services/ReferenceTypeResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\ShallowTypeResolver' => $vendorDir . '/dedoc/scramble/src/Infer/Services/ShallowTypeResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\TemplateTypesSolver' => $vendorDir . '/dedoc/scramble/src/Infer/Services/TemplateTypesSolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\TemplatesMap' => $vendorDir . '/dedoc/scramble/src/Infer/Services/TemplatesMap.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\UnionNormalizingTypeVisitor' => $vendorDir . '/dedoc/scramble/src/Infer/Services/UnionNormalizingTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\BooleanNotTypeGetter' => $vendorDir . '/dedoc/scramble/src/Infer/SimpleTypeGetters/BooleanNotTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\CastTypeGetter' => $vendorDir . '/dedoc/scramble/src/Infer/SimpleTypeGetters/CastTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\ClassConstFetchTypeGetter' => $vendorDir . '/dedoc/scramble/src/Infer/SimpleTypeGetters/ClassConstFetchTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\ConstFetchTypeGetter' => $vendorDir . '/dedoc/scramble/src/Infer/SimpleTypeGetters/ConstFetchTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\ScalarTypeGetter' => $vendorDir . '/dedoc/scramble/src/Infer/SimpleTypeGetters/ScalarTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\TypeInferer' => $vendorDir . '/dedoc/scramble/src/Infer/TypeInferer.php',
|
||||
'Dedoc\\Scramble\\Infer\\UnresolvableArgumentTypeBag' => $vendorDir . '/dedoc/scramble/src/Infer/UnresolvableArgumentTypeBag.php',
|
||||
'Dedoc\\Scramble\\Infer\\Visitors\\PhpDocResolver' => $vendorDir . '/dedoc/scramble/src/Infer/Visitors/PhpDocResolver.php',
|
||||
'Dedoc\\Scramble\\OpenApiContext' => $vendorDir . '/dedoc/scramble/src/OpenApiContext.php',
|
||||
'Dedoc\\Scramble\\OpenApiTraverser' => $vendorDir . '/dedoc/scramble/src/OpenApiTraverser.php',
|
||||
'Dedoc\\Scramble\\OpenApiVisitor' => $vendorDir . '/dedoc/scramble/src/OpenApiVisitor.php',
|
||||
'Dedoc\\Scramble\\OpenApiVisitor\\SchemaEnforceVisitor' => $vendorDir . '/dedoc/scramble/src/OpenApiVisitor/SchemaEnforceVisitor.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\AbstractPhpDocTypeVisitor' => $vendorDir . '/dedoc/scramble/src/PhpDoc/AbstractPhpDocTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocParser' => $vendorDir . '/dedoc/scramble/src/PhpDoc/PhpDocParser.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocTypeHelper' => $vendorDir . '/dedoc/scramble/src/PhpDoc/PhpDocTypeHelper.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocTypeVisitor' => $vendorDir . '/dedoc/scramble/src/PhpDoc/PhpDocTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocTypeWalker' => $vendorDir . '/dedoc/scramble/src/PhpDoc/PhpDocTypeWalker.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\ResolveFqnPhpDocTypeVisitor' => $vendorDir . '/dedoc/scramble/src/PhpDoc/ResolveFqnPhpDocTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Reflection\\JsonApiRelationship' => $vendorDir . '/dedoc/scramble/src/Reflection/JsonApiRelationship.php',
|
||||
'Dedoc\\Scramble\\Reflection\\ReflectionJsonApiResource' => $vendorDir . '/dedoc/scramble/src/Reflection/ReflectionJsonApiResource.php',
|
||||
'Dedoc\\Scramble\\Reflection\\ReflectionModel' => $vendorDir . '/dedoc/scramble/src/Reflection/ReflectionModel.php',
|
||||
'Dedoc\\Scramble\\Reflection\\ReflectionRoute' => $vendorDir . '/dedoc/scramble/src/Reflection/ReflectionRoute.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\ConfirmedRule' => $vendorDir . '/dedoc/scramble/src/RuleTransformers/ConfirmedRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\EnumRule' => $vendorDir . '/dedoc/scramble/src/RuleTransformers/EnumRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\ExistsRule' => $vendorDir . '/dedoc/scramble/src/RuleTransformers/ExistsRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\InRule' => $vendorDir . '/dedoc/scramble/src/RuleTransformers/InRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\RegexRule' => $vendorDir . '/dedoc/scramble/src/RuleTransformers/RegexRule.php',
|
||||
'Dedoc\\Scramble\\SchemaValidator' => $vendorDir . '/dedoc/scramble/src/SchemaValidator.php',
|
||||
'Dedoc\\Scramble\\Scramble' => $vendorDir . '/dedoc/scramble/src/Scramble.php',
|
||||
'Dedoc\\Scramble\\ScrambleServiceProvider' => $vendorDir . '/dedoc/scramble/src/ScrambleServiceProvider.php',
|
||||
'Dedoc\\Scramble\\SecurityDocumentation\\MiddlewareAuthSecurityStrategy' => $vendorDir . '/dedoc/scramble/src/SecurityDocumentation/MiddlewareAuthSecurityStrategy.php',
|
||||
'Dedoc\\Scramble\\Support\\ContainerUtils' => $vendorDir . '/dedoc/scramble/src/Support/ContainerUtils.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\AuthenticationExceptionToResponseExtension' => $vendorDir . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/AuthenticationExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\AuthorizationExceptionToResponseExtension' => $vendorDir . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/AuthorizationExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\HttpExceptionToResponseExtension' => $vendorDir . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/HttpExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\NotFoundExceptionToResponseExtension' => $vendorDir . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/NotFoundExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\ValidationExceptionToResponseExtension' => $vendorDir . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/ValidationExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\Factories\\JsonApiQueryParameterFactory' => $vendorDir . '/dedoc/scramble/src/Support/Factories/JsonApiQueryParameterFactory.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\ClassBasedReference' => $vendorDir . '/dedoc/scramble/src/Support/Generator/ClassBasedReference.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Combined\\AllOf' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Combined/AllOf.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Combined\\AnyOf' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Combined/AnyOf.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Components' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Components.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Encoding' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Encoding.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Example' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Example.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Header' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Header.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\InfoObject' => $vendorDir . '/dedoc/scramble/src/Support/Generator/InfoObject.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Link' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Link.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\MediaType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/MediaType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\MissingExample' => $vendorDir . '/dedoc/scramble/src/Support/Generator/MissingExample.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\MissingValue' => $vendorDir . '/dedoc/scramble/src/Support/Generator/MissingValue.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\OpenApi' => $vendorDir . '/dedoc/scramble/src/Support/Generator/OpenApi.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Operation' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Operation.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Parameter' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Parameter.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Path' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Path.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Reference' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Reference.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\RequestBodyObject' => $vendorDir . '/dedoc/scramble/src/Support/Generator/RequestBodyObject.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Response' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Response.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Schema' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Schema.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecurityRequirement' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecurityRequirement.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecurityScheme' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\ApiKeySecurityScheme' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/ApiKeySecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\HttpSecurityScheme' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/HttpSecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\OAuthFlow' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/OAuthFlow.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\OAuthFlows' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/OAuthFlows.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\Oauth2SecurityScheme' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/Oauth2SecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\OpenIdConnectUrlSecurityScheme' => $vendorDir . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/OpenIdConnectUrlSecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Server' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Server.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\ServerVariable' => $vendorDir . '/dedoc/scramble/src/Support/Generator/ServerVariable.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Tag' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Tag.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\TypeTransformer' => $vendorDir . '/dedoc/scramble/src/Support/Generator/TypeTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\ArrayType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/ArrayType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\BooleanType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/BooleanType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\IntegerType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/IntegerType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\MixedType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/MixedType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\NullType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/NullType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\NumberType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/NumberType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\ObjectType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/ObjectType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\StringType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/StringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\Type' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/Type.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\UnknownType' => $vendorDir . '/dedoc/scramble/src/Support/Generator/Types/UnknownType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\UniqueNameOptions' => $vendorDir . '/dedoc/scramble/src/Support/Generator/UniqueNameOptions.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\UniqueNamesOptionsCollection' => $vendorDir . '/dedoc/scramble/src/Support/Generator/UniqueNamesOptionsCollection.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\WithAttributes' => $vendorDir . '/dedoc/scramble/src/Support/Generator/WithAttributes.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\WithExtensions' => $vendorDir . '/dedoc/scramble/src/Support/Generator/WithExtensions.php',
|
||||
'Dedoc\\Scramble\\Support\\Helpers\\ExamplesExtractor' => $vendorDir . '/dedoc/scramble/src/Support/Helpers/ExamplesExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\Helpers\\JsonResourceHelper' => $vendorDir . '/dedoc/scramble/src/Support/Helpers/JsonResourceHelper.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\Bag' => $vendorDir . '/dedoc/scramble/src/Support/IndexBuilders/Bag.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\IndexBuilder' => $vendorDir . '/dedoc/scramble/src/Support/IndexBuilders/IndexBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\PaginatorsCandidatesBuilder' => $vendorDir . '/dedoc/scramble/src/Support/IndexBuilders/PaginatorsCandidatesBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\RequestParametersBuilder' => $vendorDir . '/dedoc/scramble/src/Support/IndexBuilders/RequestParametersBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\ScopeCollector' => $vendorDir . '/dedoc/scramble/src/Support/IndexBuilders/ScopeCollector.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AbortHelpersExceptionInfer' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/AbortHelpersExceptionInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterAnonymousResourceCollectionDefinitionCreatedExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/AfterAnonymousResourceCollectionDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterEloquentCollectionDefinitionCreatedExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/AfterEloquentCollectionDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterJsonApiResourceDefinitionCreatedExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/AfterJsonApiResourceDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterJsonResourceDefinitionCreatedExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/AfterJsonResourceDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterResourceCollectionDefinitionCreatedExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/AfterResourceCollectionDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterResponseDefinitionCreatedExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/AfterResponseDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ArrayMergeReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ArrayMergeReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\BinaryFileResponseTypeFactory' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/BinaryFileResponseTypeFactory.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\EloquentBuilderExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/EloquentBuilderExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\FacadeStaticMethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/FacadeStaticMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonApiResourceCollectionMethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/JsonApiResourceCollectionMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonApiResourceMethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/JsonApiResourceMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonResourceExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/JsonResourceExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonResponseMethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/JsonResponseMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ModelCollectionTypeResolver' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ModelCollectionTypeResolver.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ModelExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ModelExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\PaginateMethodsReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/PaginateMethodsReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\PossibleExceptionInfer' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/PossibleExceptionInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\RequestExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/RequestExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ResourceCollectionTypeInfer' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ResourceCollectionTypeInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ResourceResponseMethodReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ResourceResponseMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ResponseFactoryTypeInfer' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ResponseFactoryTypeInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ShallowFunctionDefinition' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ShallowFunctionDefinition.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\TransformsToResourceCollectionExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/TransformsToResourceCollectionExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\TranslationReturnTypeExtension' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/TranslationReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\TypeTraceInfer' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/TypeTraceInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ValidatorTypeInfer' => $vendorDir . '/dedoc/scramble/src/Support/InferExtensions/ValidatorTypeInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationBuilder' => $vendorDir . '/dedoc/scramble/src/Support/OperationBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\DeprecationExtension' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/DeprecationExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ErrorResponsesExtension' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ErrorResponsesExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\AttributesParametersExtractor' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/AttributesParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\FormRequestParametersExtractor' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/FormRequestParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\InferredParameter' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/InferredParameter.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\JsonApiResourceParametersExtractor' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/JsonApiResourceParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\MethodCallsParametersExtractor' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/MethodCallsParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\ParameterExtractor' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/ParameterExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\PathParametersExtractor' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/PathParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\RulesDocumentationRetriever' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/RulesDocumentationRetriever.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\RulesNodes' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/RulesNodes.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\TypeBasedRulesDocumentationRetriever' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/TypeBasedRulesDocumentationRetriever.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\ValidateCallParametersExtractor' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/ValidateCallParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RequestBodyExtension' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RequestBodyExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RequestEssentialsExtension' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RequestEssentialsExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ResponseExtension' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ResponseHeadersExtension' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/ResponseHeadersExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\ComposedFormRequestRulesEvaluator' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/ComposedFormRequestRulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\ConstFetchEvaluator' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/ConstFetchEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\FormRequestRulesEvaluator' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/FormRequestRulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\NodeRulesEvaluator' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/NodeRulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\PublicProxy' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/PublicProxy.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\RulesEvaluator' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/RulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\DeepParametersMerger' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/DeepParametersMerger.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\GeneratesParametersFromRules' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/GeneratesParametersFromRules.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\ParametersExtractionResult' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/ParametersExtractionResult.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\PhpDocSchemaTransformer' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/PhpDocSchemaTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\QueryParametersConverter' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/QueryParametersConverter.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\RulesMapper' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/RulesMapper.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\RulesToParameters' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/RulesToParameters.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\SchemaBagToParametersTransformer' => $vendorDir . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/SchemaBagToParametersTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\PhpDoc' => $vendorDir . '/dedoc/scramble/src/Support/PhpDoc.php',
|
||||
'Dedoc\\Scramble\\Support\\ResponseExtractor\\ModelInfo' => $vendorDir . '/dedoc/scramble/src/Support/ResponseExtractor/ModelInfo.php',
|
||||
'Dedoc\\Scramble\\Support\\RouteInfo' => $vendorDir . '/dedoc/scramble/src/Support/RouteInfo.php',
|
||||
'Dedoc\\Scramble\\Support\\RouteResponseTypeRetriever' => $vendorDir . '/dedoc/scramble/src/Support/RouteResponseTypeRetriever.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\NormalizedRule' => $vendorDir . '/dedoc/scramble/src/Support/RuleTransforming/NormalizedRule.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\RuleSetToSchemaTransformer' => $vendorDir . '/dedoc/scramble/src/Support/RuleTransforming/RuleSetToSchemaTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\RuleTransformerContext' => $vendorDir . '/dedoc/scramble/src/Support/RuleTransforming/RuleTransformerContext.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\SchemaBag' => $vendorDir . '/dedoc/scramble/src/Support/RuleTransforming/SchemaBag.php',
|
||||
'Dedoc\\Scramble\\Support\\SchemaClassDocReflector' => $vendorDir . '/dedoc/scramble/src/Support/SchemaClassDocReflector.php',
|
||||
'Dedoc\\Scramble\\Support\\ServerFactory' => $vendorDir . '/dedoc/scramble/src/Support/ServerFactory.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\CursorPaginatorTypeManager' => $vendorDir . '/dedoc/scramble/src/Support/TypeManagers/CursorPaginatorTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\JsonApiResourceTypeManager' => $vendorDir . '/dedoc/scramble/src/Support/TypeManagers/JsonApiResourceTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\LengthAwarePaginatorTypeManager' => $vendorDir . '/dedoc/scramble/src/Support/TypeManagers/LengthAwarePaginatorTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\ManagesProperties' => $vendorDir . '/dedoc/scramble/src/Support/TypeManagers/ManagesProperties.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\PaginatorTypeManager' => $vendorDir . '/dedoc/scramble/src/Support/TypeManagers/PaginatorTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\ResourceCollectionTypeManager' => $vendorDir . '/dedoc/scramble/src/Support/TypeManagers/ResourceCollectionTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\AnonymousResourceCollectionTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/AnonymousResourceCollectionTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ArrayableToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ArrayableToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\BinaryFileResponseToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/BinaryFileResponseToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\CarbonInterfaceToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/CarbonInterfaceToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\CollectionToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/CollectionToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\CursorPaginatorTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/CursorPaginatorTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\EloquentCollectionToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/EloquentCollectionToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\EnumToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/EnumToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\FlattensMergeValues' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/FlattensMergeValues.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\HandlesJsonApiResourceResponse' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/HandlesJsonApiResourceResponse.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiAnonymousCollectionTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiAnonymousCollectionTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiPaginatedResourceResponseToSchemaExtension' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiPaginatedResourceResponseToSchemaExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiResourceResponseToSchemaExtension' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiResourceResponseToSchemaExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiResourceTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiResourceTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonResourceTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonResourceTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\LengthAwarePaginatorTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/LengthAwarePaginatorTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\MergesOpenApiObjects' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/MergesOpenApiObjects.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ModelToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ModelToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\PaginatedResourceResponseTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/PaginatedResourceResponseTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\PaginatorTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/PaginatorTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\PlainObjectToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/PlainObjectToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResourceCollectionTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResourceCollectionTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResourceResponseTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResourceResponseTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResponsableTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResponsableTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResponseTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResponseTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\StreamedResponseToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/StreamedResponseToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\VoidTypeToSchema' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/VoidTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\WithCollectedPaginatedItems' => $vendorDir . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/WithCollectedPaginatedItems.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\AbstractType' => $vendorDir . '/dedoc/scramble/src/Support/Type/AbstractType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\AbstractTypeVisitor' => $vendorDir . '/dedoc/scramble/src/Support/Type/AbstractTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\ArrayItemType_' => $vendorDir . '/dedoc/scramble/src/Support/Type/ArrayItemType_.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\ArrayType' => $vendorDir . '/dedoc/scramble/src/Support/Type/ArrayType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\BooleanType' => $vendorDir . '/dedoc/scramble/src/Support/Type/BooleanType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\CallableStringType' => $vendorDir . '/dedoc/scramble/src/Support/Type/CallableStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\CoalesceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/CoalesceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\Generic' => $vendorDir . '/dedoc/scramble/src/Support/Type/Contracts/Generic.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\LateResolvingType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Contracts/LateResolvingType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\LiteralString' => $vendorDir . '/dedoc/scramble/src/Support/Type/Contracts/LiteralString.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\LiteralType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Contracts/LiteralType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\EnumCaseType' => $vendorDir . '/dedoc/scramble/src/Support/Type/EnumCaseType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\FloatType' => $vendorDir . '/dedoc/scramble/src/Support/Type/FloatType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\FunctionLikeType' => $vendorDir . '/dedoc/scramble/src/Support/Type/FunctionLikeType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\FunctionType' => $vendorDir . '/dedoc/scramble/src/Support/Type/FunctionType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Generic' => $vendorDir . '/dedoc/scramble/src/Support/Type/Generic.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\GenericClassStringType' => $vendorDir . '/dedoc/scramble/src/Support/Type/GenericClassStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\IntegerRangeType' => $vendorDir . '/dedoc/scramble/src/Support/Type/IntegerRangeType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\IntegerType' => $vendorDir . '/dedoc/scramble/src/Support/Type/IntegerType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\IntersectionType' => $vendorDir . '/dedoc/scramble/src/Support/Type/IntersectionType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\KeyedArrayType' => $vendorDir . '/dedoc/scramble/src/Support/Type/KeyedArrayType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralBooleanType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Literal/LiteralBooleanType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralFloatType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Literal/LiteralFloatType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralIntegerType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Literal/LiteralIntegerType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralStringType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Literal/LiteralStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\MissingType' => $vendorDir . '/dedoc/scramble/src/Support/Type/MissingType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\MixedType' => $vendorDir . '/dedoc/scramble/src/Support/Type/MixedType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\NeverType' => $vendorDir . '/dedoc/scramble/src/Support/Type/NeverType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\NullType' => $vendorDir . '/dedoc/scramble/src/Support/Type/NullType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\ObjectType' => $vendorDir . '/dedoc/scramble/src/Support/Type/ObjectType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\OffsetAccessType' => $vendorDir . '/dedoc/scramble/src/Support/Type/OffsetAccessType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\OffsetSetType' => $vendorDir . '/dedoc/scramble/src/Support/Type/OffsetSetType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\OffsetUnsetType' => $vendorDir . '/dedoc/scramble/src/Support/Type/OffsetUnsetType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\RecursiveTemplateSolver' => $vendorDir . '/dedoc/scramble/src/Support/Type/RecursiveTemplateSolver.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\AbstractReferenceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/AbstractReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\CallableCallReferenceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/CallableCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\ConstFetchReferenceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/ConstFetchReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\MethodCallReferenceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/MethodCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\NewCallReferenceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/NewCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\PotentialMethodMutatingCallType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/PotentialMethodMutatingCallType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\PropertyFetchReferenceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/PropertyFetchReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\StaticMethodCallReferenceType' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/StaticMethodCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\StaticReference' => $vendorDir . '/dedoc/scramble/src/Support/Type/Reference/StaticReference.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\SelfType' => $vendorDir . '/dedoc/scramble/src/Support/Type/SelfType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\StringType' => $vendorDir . '/dedoc/scramble/src/Support/Type/StringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TemplatePlaceholderType' => $vendorDir . '/dedoc/scramble/src/Support/Type/TemplatePlaceholderType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TemplateType' => $vendorDir . '/dedoc/scramble/src/Support/Type/TemplateType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TranslatedStringType' => $vendorDir . '/dedoc/scramble/src/Support/Type/TranslatedStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Type' => $vendorDir . '/dedoc/scramble/src/Support/Type/Type.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeAttributes' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypeAttributes.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeHelper' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypeHelper.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePath' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypePath.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePathFindingVisitor' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypePathFindingVisitor.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePathItem' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypePathItem.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePathItemCondition' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypePathItemCondition.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeTraverser' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypeTraverser.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeVisitor' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeWalker' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypeWalker.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeWidener' => $vendorDir . '/dedoc/scramble/src/Support/Type/TypeWidener.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Union' => $vendorDir . '/dedoc/scramble/src/Support/Type/Union.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\UnknownType' => $vendorDir . '/dedoc/scramble/src/Support/Type/UnknownType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\VoidType' => $vendorDir . '/dedoc/scramble/src/Support/Type/VoidType.php',
|
||||
'DeepCopy\\DeepCopy' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php',
|
||||
'DeepCopy\\Exception\\CloneException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php',
|
||||
'DeepCopy\\Exception\\PropertyException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php',
|
||||
@@ -2484,18 +2918,6 @@ return array(
|
||||
'Illuminate\\View\\ViewFinderInterface' => $vendorDir . '/laravel/framework/src/Illuminate/View/ViewFinderInterface.php',
|
||||
'Illuminate\\View\\ViewName' => $vendorDir . '/laravel/framework/src/Illuminate/View/ViewName.php',
|
||||
'Illuminate\\View\\ViewServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/View/ViewServiceProvider.php',
|
||||
'L5Swagger\\ConfigFactory' => $vendorDir . '/darkaonline/l5-swagger/src/ConfigFactory.php',
|
||||
'L5Swagger\\Console\\GenerateDocsCommand' => $vendorDir . '/darkaonline/l5-swagger/src/Console/GenerateDocsCommand.php',
|
||||
'L5Swagger\\CustomGeneratorInterface' => $vendorDir . '/darkaonline/l5-swagger/src/CustomGeneratorInterface.php',
|
||||
'L5Swagger\\Exceptions\\L5SwaggerException' => $vendorDir . '/darkaonline/l5-swagger/src/Exceptions/L5SwaggerException.php',
|
||||
'L5Swagger\\Generator' => $vendorDir . '/darkaonline/l5-swagger/src/Generator.php',
|
||||
'L5Swagger\\GeneratorFactory' => $vendorDir . '/darkaonline/l5-swagger/src/GeneratorFactory.php',
|
||||
'L5Swagger\\Http\\Controllers\\SwaggerAssetController' => $vendorDir . '/darkaonline/l5-swagger/src/Http/Controllers/SwaggerAssetController.php',
|
||||
'L5Swagger\\Http\\Controllers\\SwaggerController' => $vendorDir . '/darkaonline/l5-swagger/src/Http/Controllers/SwaggerController.php',
|
||||
'L5Swagger\\Http\\Middleware\\Config' => $vendorDir . '/darkaonline/l5-swagger/src/Http/Middleware/Config.php',
|
||||
'L5Swagger\\L5SwaggerFacade' => $vendorDir . '/darkaonline/l5-swagger/src/L5SwaggerFacade.php',
|
||||
'L5Swagger\\L5SwaggerServiceProvider' => $vendorDir . '/darkaonline/l5-swagger/src/L5SwaggerServiceProvider.php',
|
||||
'L5Swagger\\SecurityDefinitions' => $vendorDir . '/darkaonline/l5-swagger/src/SecurityDefinitions.php',
|
||||
'Laravel\\Pail\\Console\\Commands\\PailCommand' => $vendorDir . '/laravel/pail/src/Console/Commands/PailCommand.php',
|
||||
'Laravel\\Pail\\Contracts\\Printer' => $vendorDir . '/laravel/pail/src/Contracts/Printer.php',
|
||||
'Laravel\\Pail\\File' => $vendorDir . '/laravel/pail/src/File.php',
|
||||
@@ -3378,149 +3800,6 @@ return array(
|
||||
'NunoMaduro\\Collision\\Provider' => $vendorDir . '/nunomaduro/collision/src/Provider.php',
|
||||
'NunoMaduro\\Collision\\SolutionsRepositories\\NullSolutionsRepository' => $vendorDir . '/nunomaduro/collision/src/SolutionsRepositories/NullSolutionsRepository.php',
|
||||
'NunoMaduro\\Collision\\Writer' => $vendorDir . '/nunomaduro/collision/src/Writer.php',
|
||||
'OpenApi\\Analysers\\AnalyserInterface' => $vendorDir . '/zircote/swagger-php/src/Analysers/AnalyserInterface.php',
|
||||
'OpenApi\\Analysers\\AnnotationFactoryInterface' => $vendorDir . '/zircote/swagger-php/src/Analysers/AnnotationFactoryInterface.php',
|
||||
'OpenApi\\Analysers\\AttributeAnnotationFactory' => $vendorDir . '/zircote/swagger-php/src/Analysers/AttributeAnnotationFactory.php',
|
||||
'OpenApi\\Analysers\\ComposerAutoloaderScanner' => $vendorDir . '/zircote/swagger-php/src/Analysers/ComposerAutoloaderScanner.php',
|
||||
'OpenApi\\Analysers\\DocBlockAnnotationFactory' => $vendorDir . '/zircote/swagger-php/src/Analysers/DocBlockAnnotationFactory.php',
|
||||
'OpenApi\\Analysers\\DocBlockParser' => $vendorDir . '/zircote/swagger-php/src/Analysers/DocBlockParser.php',
|
||||
'OpenApi\\Analysers\\ReflectionAnalyser' => $vendorDir . '/zircote/swagger-php/src/Analysers/ReflectionAnalyser.php',
|
||||
'OpenApi\\Analysers\\TokenScanner' => $vendorDir . '/zircote/swagger-php/src/Analysers/TokenScanner.php',
|
||||
'OpenApi\\Analysis' => $vendorDir . '/zircote/swagger-php/src/Analysis.php',
|
||||
'OpenApi\\Annotations\\AbstractAnnotation' => $vendorDir . '/zircote/swagger-php/src/Annotations/AbstractAnnotation.php',
|
||||
'OpenApi\\Annotations\\AdditionalProperties' => $vendorDir . '/zircote/swagger-php/src/Annotations/AdditionalProperties.php',
|
||||
'OpenApi\\Annotations\\Attachable' => $vendorDir . '/zircote/swagger-php/src/Annotations/Attachable.php',
|
||||
'OpenApi\\Annotations\\Components' => $vendorDir . '/zircote/swagger-php/src/Annotations/Components.php',
|
||||
'OpenApi\\Annotations\\Contact' => $vendorDir . '/zircote/swagger-php/src/Annotations/Contact.php',
|
||||
'OpenApi\\Annotations\\CookieParameter' => $vendorDir . '/zircote/swagger-php/src/Annotations/CookieParameter.php',
|
||||
'OpenApi\\Annotations\\Delete' => $vendorDir . '/zircote/swagger-php/src/Annotations/Delete.php',
|
||||
'OpenApi\\Annotations\\Discriminator' => $vendorDir . '/zircote/swagger-php/src/Annotations/Discriminator.php',
|
||||
'OpenApi\\Annotations\\Encoding' => $vendorDir . '/zircote/swagger-php/src/Annotations/Encoding.php',
|
||||
'OpenApi\\Annotations\\Examples' => $vendorDir . '/zircote/swagger-php/src/Annotations/Examples.php',
|
||||
'OpenApi\\Annotations\\ExternalDocumentation' => $vendorDir . '/zircote/swagger-php/src/Annotations/ExternalDocumentation.php',
|
||||
'OpenApi\\Annotations\\Flow' => $vendorDir . '/zircote/swagger-php/src/Annotations/Flow.php',
|
||||
'OpenApi\\Annotations\\Get' => $vendorDir . '/zircote/swagger-php/src/Annotations/Get.php',
|
||||
'OpenApi\\Annotations\\Head' => $vendorDir . '/zircote/swagger-php/src/Annotations/Head.php',
|
||||
'OpenApi\\Annotations\\Header' => $vendorDir . '/zircote/swagger-php/src/Annotations/Header.php',
|
||||
'OpenApi\\Annotations\\HeaderParameter' => $vendorDir . '/zircote/swagger-php/src/Annotations/HeaderParameter.php',
|
||||
'OpenApi\\Annotations\\Info' => $vendorDir . '/zircote/swagger-php/src/Annotations/Info.php',
|
||||
'OpenApi\\Annotations\\Items' => $vendorDir . '/zircote/swagger-php/src/Annotations/Items.php',
|
||||
'OpenApi\\Annotations\\JsonContent' => $vendorDir . '/zircote/swagger-php/src/Annotations/JsonContent.php',
|
||||
'OpenApi\\Annotations\\JsonSchemaTrait' => $vendorDir . '/zircote/swagger-php/src/Annotations/JsonSchemaTrait.php',
|
||||
'OpenApi\\Annotations\\License' => $vendorDir . '/zircote/swagger-php/src/Annotations/License.php',
|
||||
'OpenApi\\Annotations\\Link' => $vendorDir . '/zircote/swagger-php/src/Annotations/Link.php',
|
||||
'OpenApi\\Annotations\\MediaType' => $vendorDir . '/zircote/swagger-php/src/Annotations/MediaType.php',
|
||||
'OpenApi\\Annotations\\OpenApi' => $vendorDir . '/zircote/swagger-php/src/Annotations/OpenApi.php',
|
||||
'OpenApi\\Annotations\\Operation' => $vendorDir . '/zircote/swagger-php/src/Annotations/Operation.php',
|
||||
'OpenApi\\Annotations\\Options' => $vendorDir . '/zircote/swagger-php/src/Annotations/Options.php',
|
||||
'OpenApi\\Annotations\\Parameter' => $vendorDir . '/zircote/swagger-php/src/Annotations/Parameter.php',
|
||||
'OpenApi\\Annotations\\Patch' => $vendorDir . '/zircote/swagger-php/src/Annotations/Patch.php',
|
||||
'OpenApi\\Annotations\\PathItem' => $vendorDir . '/zircote/swagger-php/src/Annotations/PathItem.php',
|
||||
'OpenApi\\Annotations\\PathParameter' => $vendorDir . '/zircote/swagger-php/src/Annotations/PathParameter.php',
|
||||
'OpenApi\\Annotations\\Post' => $vendorDir . '/zircote/swagger-php/src/Annotations/Post.php',
|
||||
'OpenApi\\Annotations\\Property' => $vendorDir . '/zircote/swagger-php/src/Annotations/Property.php',
|
||||
'OpenApi\\Annotations\\Put' => $vendorDir . '/zircote/swagger-php/src/Annotations/Put.php',
|
||||
'OpenApi\\Annotations\\Query' => $vendorDir . '/zircote/swagger-php/src/Annotations/Query.php',
|
||||
'OpenApi\\Annotations\\QueryParameter' => $vendorDir . '/zircote/swagger-php/src/Annotations/QueryParameter.php',
|
||||
'OpenApi\\Annotations\\RequestBody' => $vendorDir . '/zircote/swagger-php/src/Annotations/RequestBody.php',
|
||||
'OpenApi\\Annotations\\Response' => $vendorDir . '/zircote/swagger-php/src/Annotations/Response.php',
|
||||
'OpenApi\\Annotations\\Schema' => $vendorDir . '/zircote/swagger-php/src/Annotations/Schema.php',
|
||||
'OpenApi\\Annotations\\SecurityScheme' => $vendorDir . '/zircote/swagger-php/src/Annotations/SecurityScheme.php',
|
||||
'OpenApi\\Annotations\\Server' => $vendorDir . '/zircote/swagger-php/src/Annotations/Server.php',
|
||||
'OpenApi\\Annotations\\ServerVariable' => $vendorDir . '/zircote/swagger-php/src/Annotations/ServerVariable.php',
|
||||
'OpenApi\\Annotations\\Tag' => $vendorDir . '/zircote/swagger-php/src/Annotations/Tag.php',
|
||||
'OpenApi\\Annotations\\Trace' => $vendorDir . '/zircote/swagger-php/src/Annotations/Trace.php',
|
||||
'OpenApi\\Annotations\\Webhook' => $vendorDir . '/zircote/swagger-php/src/Annotations/Webhook.php',
|
||||
'OpenApi\\Annotations\\Xml' => $vendorDir . '/zircote/swagger-php/src/Annotations/Xml.php',
|
||||
'OpenApi\\Annotations\\XmlContent' => $vendorDir . '/zircote/swagger-php/src/Annotations/XmlContent.php',
|
||||
'OpenApi\\Attributes\\AdditionalProperties' => $vendorDir . '/zircote/swagger-php/src/Attributes/AdditionalProperties.php',
|
||||
'OpenApi\\Attributes\\Attachable' => $vendorDir . '/zircote/swagger-php/src/Attributes/Attachable.php',
|
||||
'OpenApi\\Attributes\\Components' => $vendorDir . '/zircote/swagger-php/src/Attributes/Components.php',
|
||||
'OpenApi\\Attributes\\Contact' => $vendorDir . '/zircote/swagger-php/src/Attributes/Contact.php',
|
||||
'OpenApi\\Attributes\\CookieParameter' => $vendorDir . '/zircote/swagger-php/src/Attributes/CookieParameter.php',
|
||||
'OpenApi\\Attributes\\Delete' => $vendorDir . '/zircote/swagger-php/src/Attributes/Delete.php',
|
||||
'OpenApi\\Attributes\\Discriminator' => $vendorDir . '/zircote/swagger-php/src/Attributes/Discriminator.php',
|
||||
'OpenApi\\Attributes\\Encoding' => $vendorDir . '/zircote/swagger-php/src/Attributes/Encoding.php',
|
||||
'OpenApi\\Attributes\\Examples' => $vendorDir . '/zircote/swagger-php/src/Attributes/Examples.php',
|
||||
'OpenApi\\Attributes\\ExternalDocumentation' => $vendorDir . '/zircote/swagger-php/src/Attributes/ExternalDocumentation.php',
|
||||
'OpenApi\\Attributes\\Flow' => $vendorDir . '/zircote/swagger-php/src/Attributes/Flow.php',
|
||||
'OpenApi\\Attributes\\Get' => $vendorDir . '/zircote/swagger-php/src/Attributes/Get.php',
|
||||
'OpenApi\\Attributes\\Head' => $vendorDir . '/zircote/swagger-php/src/Attributes/Head.php',
|
||||
'OpenApi\\Attributes\\Header' => $vendorDir . '/zircote/swagger-php/src/Attributes/Header.php',
|
||||
'OpenApi\\Attributes\\HeaderParameter' => $vendorDir . '/zircote/swagger-php/src/Attributes/HeaderParameter.php',
|
||||
'OpenApi\\Attributes\\Info' => $vendorDir . '/zircote/swagger-php/src/Attributes/Info.php',
|
||||
'OpenApi\\Attributes\\Items' => $vendorDir . '/zircote/swagger-php/src/Attributes/Items.php',
|
||||
'OpenApi\\Attributes\\JsonContent' => $vendorDir . '/zircote/swagger-php/src/Attributes/JsonContent.php',
|
||||
'OpenApi\\Attributes\\License' => $vendorDir . '/zircote/swagger-php/src/Attributes/License.php',
|
||||
'OpenApi\\Attributes\\Link' => $vendorDir . '/zircote/swagger-php/src/Attributes/Link.php',
|
||||
'OpenApi\\Attributes\\MediaType' => $vendorDir . '/zircote/swagger-php/src/Attributes/MediaType.php',
|
||||
'OpenApi\\Attributes\\OpenApi' => $vendorDir . '/zircote/swagger-php/src/Attributes/OpenApi.php',
|
||||
'OpenApi\\Attributes\\OperationTrait' => $vendorDir . '/zircote/swagger-php/src/Attributes/OperationTrait.php',
|
||||
'OpenApi\\Attributes\\Options' => $vendorDir . '/zircote/swagger-php/src/Attributes/Options.php',
|
||||
'OpenApi\\Attributes\\Parameter' => $vendorDir . '/zircote/swagger-php/src/Attributes/Parameter.php',
|
||||
'OpenApi\\Attributes\\ParameterTrait' => $vendorDir . '/zircote/swagger-php/src/Attributes/ParameterTrait.php',
|
||||
'OpenApi\\Attributes\\Patch' => $vendorDir . '/zircote/swagger-php/src/Attributes/Patch.php',
|
||||
'OpenApi\\Attributes\\PathItem' => $vendorDir . '/zircote/swagger-php/src/Attributes/PathItem.php',
|
||||
'OpenApi\\Attributes\\PathParameter' => $vendorDir . '/zircote/swagger-php/src/Attributes/PathParameter.php',
|
||||
'OpenApi\\Attributes\\Post' => $vendorDir . '/zircote/swagger-php/src/Attributes/Post.php',
|
||||
'OpenApi\\Attributes\\Property' => $vendorDir . '/zircote/swagger-php/src/Attributes/Property.php',
|
||||
'OpenApi\\Attributes\\Put' => $vendorDir . '/zircote/swagger-php/src/Attributes/Put.php',
|
||||
'OpenApi\\Attributes\\Query' => $vendorDir . '/zircote/swagger-php/src/Attributes/Query.php',
|
||||
'OpenApi\\Attributes\\QueryParameter' => $vendorDir . '/zircote/swagger-php/src/Attributes/QueryParameter.php',
|
||||
'OpenApi\\Attributes\\RequestBody' => $vendorDir . '/zircote/swagger-php/src/Attributes/RequestBody.php',
|
||||
'OpenApi\\Attributes\\Response' => $vendorDir . '/zircote/swagger-php/src/Attributes/Response.php',
|
||||
'OpenApi\\Attributes\\Schema' => $vendorDir . '/zircote/swagger-php/src/Attributes/Schema.php',
|
||||
'OpenApi\\Attributes\\SecurityScheme' => $vendorDir . '/zircote/swagger-php/src/Attributes/SecurityScheme.php',
|
||||
'OpenApi\\Attributes\\Server' => $vendorDir . '/zircote/swagger-php/src/Attributes/Server.php',
|
||||
'OpenApi\\Attributes\\ServerVariable' => $vendorDir . '/zircote/swagger-php/src/Attributes/ServerVariable.php',
|
||||
'OpenApi\\Attributes\\Tag' => $vendorDir . '/zircote/swagger-php/src/Attributes/Tag.php',
|
||||
'OpenApi\\Attributes\\Trace' => $vendorDir . '/zircote/swagger-php/src/Attributes/Trace.php',
|
||||
'OpenApi\\Attributes\\Webhook' => $vendorDir . '/zircote/swagger-php/src/Attributes/Webhook.php',
|
||||
'OpenApi\\Attributes\\Xml' => $vendorDir . '/zircote/swagger-php/src/Attributes/Xml.php',
|
||||
'OpenApi\\Attributes\\XmlContent' => $vendorDir . '/zircote/swagger-php/src/Attributes/XmlContent.php',
|
||||
'OpenApi\\Console\\GenerateCommand' => $vendorDir . '/zircote/swagger-php/src/Console/GenerateCommand.php',
|
||||
'OpenApi\\Console\\GenerateFormat' => $vendorDir . '/zircote/swagger-php/src/Console/GenerateFormat.php',
|
||||
'OpenApi\\Console\\GenerateInput' => $vendorDir . '/zircote/swagger-php/src/Console/GenerateInput.php',
|
||||
'OpenApi\\Context' => $vendorDir . '/zircote/swagger-php/src/Context.php',
|
||||
'OpenApi\\Generator' => $vendorDir . '/zircote/swagger-php/src/Generator.php',
|
||||
'OpenApi\\GeneratorAwareInterface' => $vendorDir . '/zircote/swagger-php/src/GeneratorAwareInterface.php',
|
||||
'OpenApi\\GeneratorAwareTrait' => $vendorDir . '/zircote/swagger-php/src/GeneratorAwareTrait.php',
|
||||
'OpenApi\\Loggers\\DefaultLogger' => $vendorDir . '/zircote/swagger-php/src/Loggers/DefaultLogger.php',
|
||||
'OpenApi\\OpenApiException' => $vendorDir . '/zircote/swagger-php/src/OpenApiException.php',
|
||||
'OpenApi\\Pipeline' => $vendorDir . '/zircote/swagger-php/src/Pipeline.php',
|
||||
'OpenApi\\Processors\\AugmentDiscriminators' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentDiscriminators.php',
|
||||
'OpenApi\\Processors\\AugmentItems' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentItems.php',
|
||||
'OpenApi\\Processors\\AugmentMediaType' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentMediaType.php',
|
||||
'OpenApi\\Processors\\AugmentParameters' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentParameters.php',
|
||||
'OpenApi\\Processors\\AugmentProperties' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentProperties.php',
|
||||
'OpenApi\\Processors\\AugmentRefs' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentRefs.php',
|
||||
'OpenApi\\Processors\\AugmentRequestBody' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentRequestBody.php',
|
||||
'OpenApi\\Processors\\AugmentSchemas' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentSchemas.php',
|
||||
'OpenApi\\Processors\\AugmentTags' => $vendorDir . '/zircote/swagger-php/src/Processors/AugmentTags.php',
|
||||
'OpenApi\\Processors\\BuildPaths' => $vendorDir . '/zircote/swagger-php/src/Processors/BuildPaths.php',
|
||||
'OpenApi\\Processors\\CleanUnmerged' => $vendorDir . '/zircote/swagger-php/src/Processors/CleanUnmerged.php',
|
||||
'OpenApi\\Processors\\CleanUnusedComponents' => $vendorDir . '/zircote/swagger-php/src/Processors/CleanUnusedComponents.php',
|
||||
'OpenApi\\Processors\\Concerns\\AnnotationTrait' => $vendorDir . '/zircote/swagger-php/src/Processors/Concerns/AnnotationTrait.php',
|
||||
'OpenApi\\Processors\\Concerns\\DocblockTrait' => $vendorDir . '/zircote/swagger-php/src/Processors/Concerns/DocblockTrait.php',
|
||||
'OpenApi\\Processors\\Concerns\\MergePropertiesTrait' => $vendorDir . '/zircote/swagger-php/src/Processors/Concerns/MergePropertiesTrait.php',
|
||||
'OpenApi\\Processors\\Concerns\\RefTrait' => $vendorDir . '/zircote/swagger-php/src/Processors/Concerns/RefTrait.php',
|
||||
'OpenApi\\Processors\\DocBlockDescriptions' => $vendorDir . '/zircote/swagger-php/src/Processors/DocBlockDescriptions.php',
|
||||
'OpenApi\\Processors\\ExpandClasses' => $vendorDir . '/zircote/swagger-php/src/Processors/ExpandClasses.php',
|
||||
'OpenApi\\Processors\\ExpandEnums' => $vendorDir . '/zircote/swagger-php/src/Processors/ExpandEnums.php',
|
||||
'OpenApi\\Processors\\ExpandInterfaces' => $vendorDir . '/zircote/swagger-php/src/Processors/ExpandInterfaces.php',
|
||||
'OpenApi\\Processors\\ExpandTraits' => $vendorDir . '/zircote/swagger-php/src/Processors/ExpandTraits.php',
|
||||
'OpenApi\\Processors\\MergeIntoComponents' => $vendorDir . '/zircote/swagger-php/src/Processors/MergeIntoComponents.php',
|
||||
'OpenApi\\Processors\\MergeIntoOpenApi' => $vendorDir . '/zircote/swagger-php/src/Processors/MergeIntoOpenApi.php',
|
||||
'OpenApi\\Processors\\MergeJsonContent' => $vendorDir . '/zircote/swagger-php/src/Processors/MergeJsonContent.php',
|
||||
'OpenApi\\Processors\\MergeXmlContent' => $vendorDir . '/zircote/swagger-php/src/Processors/MergeXmlContent.php',
|
||||
'OpenApi\\Processors\\OperationId' => $vendorDir . '/zircote/swagger-php/src/Processors/OperationId.php',
|
||||
'OpenApi\\Processors\\PathFilter' => $vendorDir . '/zircote/swagger-php/src/Processors/PathFilter.php',
|
||||
'OpenApi\\Serializer' => $vendorDir . '/zircote/swagger-php/src/Serializer.php',
|
||||
'OpenApi\\SourceFinder' => $vendorDir . '/zircote/swagger-php/src/SourceFinder.php',
|
||||
'OpenApi\\TypeResolverInterface' => $vendorDir . '/zircote/swagger-php/src/TypeResolverInterface.php',
|
||||
'OpenApi\\Type\\AbstractTypeResolver' => $vendorDir . '/zircote/swagger-php/src/Type/AbstractTypeResolver.php',
|
||||
'OpenApi\\Type\\LegacyTypeResolver' => $vendorDir . '/zircote/swagger-php/src/Type/LegacyTypeResolver.php',
|
||||
'OpenApi\\Type\\TypeInfoTypeResolver' => $vendorDir . '/zircote/swagger-php/src/Type/TypeInfoTypeResolver.php',
|
||||
'Override' => $vendorDir . '/symfony/polyfill-php83/Resources/stubs/Override.php',
|
||||
'PHPStan\\PhpDocParser\\Ast\\AbstractNodeVisitor' => $vendorDir . '/phpstan/phpdoc-parser/src/Ast/AbstractNodeVisitor.php',
|
||||
'PHPStan\\PhpDocParser\\Ast\\Attribute' => $vendorDir . '/phpstan/phpdoc-parser/src/Ast/Attribute.php',
|
||||
@@ -5302,13 +5581,6 @@ return array(
|
||||
'Psy\\VersionUpdater\\IntervalChecker' => $vendorDir . '/psy/psysh/src/VersionUpdater/IntervalChecker.php',
|
||||
'Psy\\VersionUpdater\\NoopChecker' => $vendorDir . '/psy/psysh/src/VersionUpdater/NoopChecker.php',
|
||||
'Psy\\VersionUpdater\\SelfUpdate' => $vendorDir . '/psy/psysh/src/VersionUpdater/SelfUpdate.php',
|
||||
'Radebatz\\TypeInfoExtras\\TypeFactoryTrait' => $vendorDir . '/radebatz/type-info-extras/src/TypeFactoryTrait.php',
|
||||
'Radebatz\\TypeInfoExtras\\TypeResolver\\ResolverExtrasTrait' => $vendorDir . '/radebatz/type-info-extras/src/TypeResolver/ResolverExtrasTrait.php',
|
||||
'Radebatz\\TypeInfoExtras\\TypeResolver\\StringTypeResolver' => $vendorDir . '/radebatz/type-info-extras/src/TypeResolver/StringTypeResolver.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\ClassLikeType' => $vendorDir . '/radebatz/type-info-extras/src/Type/ClassLikeType.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\ExplicitType' => $vendorDir . '/radebatz/type-info-extras/src/Type/ExplicitType.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\IntRangeType' => $vendorDir . '/radebatz/type-info-extras/src/Type/IntRangeType.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\Type' => $vendorDir . '/radebatz/type-info-extras/src/Type/Type.php',
|
||||
'Ramsey\\Collection\\AbstractArray' => $vendorDir . '/ramsey/collection/src/AbstractArray.php',
|
||||
'Ramsey\\Collection\\AbstractCollection' => $vendorDir . '/ramsey/collection/src/AbstractCollection.php',
|
||||
'Ramsey\\Collection\\AbstractSet' => $vendorDir . '/ramsey/collection/src/AbstractSet.php',
|
||||
@@ -5660,6 +5932,40 @@ return array(
|
||||
'SebastianBergmann\\Type\\UnknownType' => $vendorDir . '/sebastian/type/src/type/UnknownType.php',
|
||||
'SebastianBergmann\\Type\\VoidType' => $vendorDir . '/sebastian/type/src/type/VoidType.php',
|
||||
'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\AskToRunMigrations' => $vendorDir . '/spatie/laravel-package-tools/src/Commands/Concerns/AskToRunMigrations.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\AskToStarRepoOnGitHub' => $vendorDir . '/spatie/laravel-package-tools/src/Commands/Concerns/AskToStarRepoOnGitHub.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\PublishesResources' => $vendorDir . '/spatie/laravel-package-tools/src/Commands/Concerns/PublishesResources.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\SupportsServiceProviderInApp' => $vendorDir . '/spatie/laravel-package-tools/src/Commands/Concerns/SupportsServiceProviderInApp.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\SupportsStartWithEndWith' => $vendorDir . '/spatie/laravel-package-tools/src/Commands/Concerns/SupportsStartWithEndWith.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\InstallCommand' => $vendorDir . '/spatie/laravel-package-tools/src/Commands/InstallCommand.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessAssets' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessAssets.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessBladeComponents' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessBladeComponents.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessCommands' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessCommands.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessConfigs' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessConfigs.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessInertia' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessInertia.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessMigrations' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessMigrations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessRoutes' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessRoutes.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessServiceProviders' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessServiceProviders.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessTranslations' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessTranslations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessViewComposers' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessViewComposers.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessViewSharedData' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessViewSharedData.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessViews' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessViews.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasAssets' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasAssets.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasBladeComponents' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasBladeComponents.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasCommands' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasCommands.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasConfigs' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasConfigs.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasInertia' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasInertia.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasInstallCommand' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasInstallCommand.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasMigrations' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasMigrations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasRoutes' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasRoutes.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasServiceProviders' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasServiceProviders.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasTranslations' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasTranslations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasViewComposers' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasViewComposers.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasViewSharedData' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasViewSharedData.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasViews' => $vendorDir . '/spatie/laravel-package-tools/src/Concerns/Package/HasViews.php',
|
||||
'Spatie\\LaravelPackageTools\\Exceptions\\InvalidPackage' => $vendorDir . '/spatie/laravel-package-tools/src/Exceptions/InvalidPackage.php',
|
||||
'Spatie\\LaravelPackageTools\\Package' => $vendorDir . '/spatie/laravel-package-tools/src/Package.php',
|
||||
'Spatie\\LaravelPackageTools\\PackageServiceProvider' => $vendorDir . '/spatie/laravel-package-tools/src/PackageServiceProvider.php',
|
||||
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Symfony\\Component\\Clock\\Clock' => $vendorDir . '/symfony/clock/Clock.php',
|
||||
'Symfony\\Component\\Clock\\ClockAwareTrait' => $vendorDir . '/symfony/clock/ClockAwareTrait.php',
|
||||
@@ -6534,37 +6840,6 @@ return array(
|
||||
'Symfony\\Component\\Translation\\Util\\XliffUtils' => $vendorDir . '/symfony/translation/Util/XliffUtils.php',
|
||||
'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => $vendorDir . '/symfony/translation/Writer/TranslationWriter.php',
|
||||
'Symfony\\Component\\Translation\\Writer\\TranslationWriterInterface' => $vendorDir . '/symfony/translation/Writer/TranslationWriterInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/type-info/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/type-info/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\LogicException' => $vendorDir . '/symfony/type-info/Exception/LogicException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\RuntimeException' => $vendorDir . '/symfony/type-info/Exception/RuntimeException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\UnsupportedException' => $vendorDir . '/symfony/type-info/Exception/UnsupportedException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type' => $vendorDir . '/symfony/type-info/Type.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeContext\\TypeContext' => $vendorDir . '/symfony/type-info/TypeContext/TypeContext.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeContext\\TypeContextFactory' => $vendorDir . '/symfony/type-info/TypeContext/TypeContextFactory.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeFactoryTrait' => $vendorDir . '/symfony/type-info/TypeFactoryTrait.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeIdentifier' => $vendorDir . '/symfony/type-info/TypeIdentifier.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\PhpDocAwareReflectionTypeResolver' => $vendorDir . '/symfony/type-info/TypeResolver/PhpDocAwareReflectionTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionParameterTypeResolver' => $vendorDir . '/symfony/type-info/TypeResolver/ReflectionParameterTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionPropertyTypeResolver' => $vendorDir . '/symfony/type-info/TypeResolver/ReflectionPropertyTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionReturnTypeResolver' => $vendorDir . '/symfony/type-info/TypeResolver/ReflectionReturnTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionTypeResolver' => $vendorDir . '/symfony/type-info/TypeResolver/ReflectionTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\StringTypeResolver' => $vendorDir . '/symfony/type-info/TypeResolver/StringTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\TypeResolver' => $vendorDir . '/symfony/type-info/TypeResolver/TypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\TypeResolverInterface' => $vendorDir . '/symfony/type-info/TypeResolver/TypeResolverInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\ArrayShapeType' => $vendorDir . '/symfony/type-info/Type/ArrayShapeType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\BackedEnumType' => $vendorDir . '/symfony/type-info/Type/BackedEnumType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\BuiltinType' => $vendorDir . '/symfony/type-info/Type/BuiltinType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\CollectionType' => $vendorDir . '/symfony/type-info/Type/CollectionType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\CompositeTypeInterface' => $vendorDir . '/symfony/type-info/Type/CompositeTypeInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\EnumType' => $vendorDir . '/symfony/type-info/Type/EnumType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\GenericType' => $vendorDir . '/symfony/type-info/Type/GenericType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\IntersectionType' => $vendorDir . '/symfony/type-info/Type/IntersectionType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\NullableType' => $vendorDir . '/symfony/type-info/Type/NullableType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\ObjectType' => $vendorDir . '/symfony/type-info/Type/ObjectType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\TemplateType' => $vendorDir . '/symfony/type-info/Type/TemplateType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\UnionType' => $vendorDir . '/symfony/type-info/Type/UnionType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\WrappingTypeInterface' => $vendorDir . '/symfony/type-info/Type/WrappingTypeInterface.php',
|
||||
'Symfony\\Component\\Uid\\AbstractUid' => $vendorDir . '/symfony/uid/AbstractUid.php',
|
||||
'Symfony\\Component\\Uid\\BinaryUtil' => $vendorDir . '/symfony/uid/BinaryUtil.php',
|
||||
'Symfony\\Component\\Uid\\Command\\GenerateUlidCommand' => $vendorDir . '/symfony/uid/Command/GenerateUlidCommand.php',
|
||||
|
||||
Vendored
+2
-3
@@ -19,11 +19,13 @@ return array(
|
||||
'662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php',
|
||||
'35a6ad97d21e794e7e22a17d806652e4' => $vendorDir . '/nunomaduro/termwind/src/Functions.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'2203a247e6fda86070a5e4e07aed533a' => $vendorDir . '/symfony/clock/Resources/now.php',
|
||||
'09f6b20656683369174dd6fa83b7e5fb' => $vendorDir . '/symfony/polyfill-uuid/bootstrap.php',
|
||||
'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'47e1160838b5e5a10346ac4084b58c23' => $vendorDir . '/laravel/prompts/src/helpers.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php',
|
||||
'e39a8b23c42d4e1452234d762b03835a' => $vendorDir . '/ramsey/uuid/src/functions.php',
|
||||
'9d2b9fc6db0f153a0a149fefb182415e' => $vendorDir . '/symfony/polyfill-php84/bootstrap.php',
|
||||
'476ca15b8d69b04665cd879be9cb4c68' => $vendorDir . '/laravel/framework/src/Illuminate/Collections/functions.php',
|
||||
@@ -35,9 +37,6 @@ return array(
|
||||
'91892b814db86b8442ad76273bb7aec5' => $vendorDir . '/laravel/framework/src/Illuminate/Reflection/helpers.php',
|
||||
'493c6aea52f6009bab023b26c21a386a' => $vendorDir . '/laravel/framework/src/Illuminate/Support/functions.php',
|
||||
'58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php',
|
||||
'ac0aa5b57142c92aeadc397fa46b9d39' => $vendorDir . '/darkaonline/l5-swagger/src/helpers.php',
|
||||
'c72349b1fe8d0deeedd3a52e8aa814d8' => $vendorDir . '/mockery/mockery/library/helpers.php',
|
||||
'ce9671a430e4846b44e1c68c7611f9f5' => $vendorDir . '/mockery/mockery/library/Mockery.php',
|
||||
'a1cfe24d14977df6878b9bf804af2d1c' => $vendorDir . '/nunomaduro/collision/src/Adapters/Phpunit/Autoload.php',
|
||||
|
||||
Vendored
+3
-4
@@ -27,7 +27,6 @@ return array(
|
||||
'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
|
||||
'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'),
|
||||
'Symfony\\Component\\Uid\\' => array($vendorDir . '/symfony/uid'),
|
||||
'Symfony\\Component\\TypeInfo\\' => array($vendorDir . '/symfony/type-info'),
|
||||
'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
|
||||
'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'),
|
||||
'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
|
||||
@@ -42,9 +41,9 @@ return array(
|
||||
'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
|
||||
'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
|
||||
'Symfony\\Component\\Clock\\' => array($vendorDir . '/symfony/clock'),
|
||||
'Spatie\\LaravelPackageTools\\' => array($vendorDir . '/spatie/laravel-package-tools/src'),
|
||||
'Ramsey\\Uuid\\' => array($vendorDir . '/ramsey/uuid/src'),
|
||||
'Ramsey\\Collection\\' => array($vendorDir . '/ramsey/collection/src'),
|
||||
'Radebatz\\TypeInfoExtras\\' => array($vendorDir . '/radebatz/type-info-extras/src'),
|
||||
'Psy\\' => array($vendorDir . '/psy/psysh/src'),
|
||||
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
|
||||
'Psr\\Log\\' => array($vendorDir . '/psr/log/src'),
|
||||
@@ -56,7 +55,6 @@ return array(
|
||||
'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'),
|
||||
'PhpOption\\' => array($vendorDir . '/phpoption/phpoption/src/PhpOption'),
|
||||
'PHPStan\\PhpDocParser\\' => array($vendorDir . '/phpstan/phpdoc-parser/src'),
|
||||
'OpenApi\\' => array($vendorDir . '/zircote/swagger-php/src'),
|
||||
'NunoMaduro\\Collision\\' => array($vendorDir . '/nunomaduro/collision/src'),
|
||||
'Nette\\' => array($vendorDir . '/nette/schema/src', $vendorDir . '/nette/utils/src'),
|
||||
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
|
||||
@@ -73,7 +71,6 @@ return array(
|
||||
'Laravel\\Sail\\' => array($vendorDir . '/laravel/sail/src'),
|
||||
'Laravel\\Prompts\\' => array($vendorDir . '/laravel/prompts/src'),
|
||||
'Laravel\\Pail\\' => array($vendorDir . '/laravel/pail/src'),
|
||||
'L5Swagger\\' => array($vendorDir . '/darkaonline/l5-swagger/src'),
|
||||
'Illuminate\\Support\\' => array($vendorDir . '/laravel/framework/src/Illuminate/Macroable', $vendorDir . '/laravel/framework/src/Illuminate/Collections', $vendorDir . '/laravel/framework/src/Illuminate/Conditionable', $vendorDir . '/laravel/framework/src/Illuminate/Reflection'),
|
||||
'Illuminate\\' => array($vendorDir . '/laravel/framework/src/Illuminate'),
|
||||
'GuzzleHttp\\UriTemplate\\' => array($vendorDir . '/guzzlehttp/uri-template/src'),
|
||||
@@ -89,6 +86,8 @@ return array(
|
||||
'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/src'),
|
||||
'Dflydev\\DotAccessData\\' => array($vendorDir . '/dflydev/dot-access-data/src'),
|
||||
'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
|
||||
'Dedoc\\Scramble\\Database\\Factories\\' => array($vendorDir . '/dedoc/scramble/database/factories'),
|
||||
'Dedoc\\Scramble\\' => array($vendorDir . '/dedoc/scramble/src'),
|
||||
'Database\\Seeders\\' => array($baseDir . '/database/seeders', $vendorDir . '/laravel/pint/database/seeders'),
|
||||
'Database\\Factories\\' => array($baseDir . '/database/factories', $vendorDir . '/laravel/pint/database/factories'),
|
||||
'Cron\\' => array($vendorDir . '/dragonmantank/cron-expression/src/Cron'),
|
||||
|
||||
Vendored
+485
-219
@@ -20,11 +20,13 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php',
|
||||
'35a6ad97d21e794e7e22a17d806652e4' => __DIR__ . '/..' . '/nunomaduro/termwind/src/Functions.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'2203a247e6fda86070a5e4e07aed533a' => __DIR__ . '/..' . '/symfony/clock/Resources/now.php',
|
||||
'09f6b20656683369174dd6fa83b7e5fb' => __DIR__ . '/..' . '/symfony/polyfill-uuid/bootstrap.php',
|
||||
'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'47e1160838b5e5a10346ac4084b58c23' => __DIR__ . '/..' . '/laravel/prompts/src/helpers.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
|
||||
'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php',
|
||||
'9d2b9fc6db0f153a0a149fefb182415e' => __DIR__ . '/..' . '/symfony/polyfill-php84/bootstrap.php',
|
||||
'476ca15b8d69b04665cd879be9cb4c68' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Collections/functions.php',
|
||||
@@ -36,9 +38,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'91892b814db86b8442ad76273bb7aec5' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Reflection/helpers.php',
|
||||
'493c6aea52f6009bab023b26c21a386a' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/functions.php',
|
||||
'58571171fd5812e6e447dce228f52f4d' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/helpers.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
|
||||
'ac0aa5b57142c92aeadc397fa46b9d39' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/helpers.php',
|
||||
'c72349b1fe8d0deeedd3a52e8aa814d8' => __DIR__ . '/..' . '/mockery/mockery/library/helpers.php',
|
||||
'ce9671a430e4846b44e1c68c7611f9f5' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery.php',
|
||||
'a1cfe24d14977df6878b9bf804af2d1c' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Phpunit/Autoload.php',
|
||||
@@ -78,7 +77,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'Symfony\\Component\\Yaml\\' => 23,
|
||||
'Symfony\\Component\\VarDumper\\' => 28,
|
||||
'Symfony\\Component\\Uid\\' => 22,
|
||||
'Symfony\\Component\\TypeInfo\\' => 27,
|
||||
'Symfony\\Component\\Translation\\' => 30,
|
||||
'Symfony\\Component\\String\\' => 25,
|
||||
'Symfony\\Component\\Routing\\' => 26,
|
||||
@@ -93,12 +91,12 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'Symfony\\Component\\CssSelector\\' => 30,
|
||||
'Symfony\\Component\\Console\\' => 26,
|
||||
'Symfony\\Component\\Clock\\' => 24,
|
||||
'Spatie\\LaravelPackageTools\\' => 27,
|
||||
),
|
||||
'R' =>
|
||||
array (
|
||||
'Ramsey\\Uuid\\' => 12,
|
||||
'Ramsey\\Collection\\' => 18,
|
||||
'Radebatz\\TypeInfoExtras\\' => 24,
|
||||
),
|
||||
'P' =>
|
||||
array (
|
||||
@@ -114,10 +112,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'PhpOption\\' => 10,
|
||||
'PHPStan\\PhpDocParser\\' => 21,
|
||||
),
|
||||
'O' =>
|
||||
array (
|
||||
'OpenApi\\' => 8,
|
||||
),
|
||||
'N' =>
|
||||
array (
|
||||
'NunoMaduro\\Collision\\' => 21,
|
||||
@@ -142,7 +136,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'Laravel\\Sail\\' => 13,
|
||||
'Laravel\\Prompts\\' => 16,
|
||||
'Laravel\\Pail\\' => 13,
|
||||
'L5Swagger\\' => 10,
|
||||
),
|
||||
'I' =>
|
||||
array (
|
||||
@@ -173,6 +166,8 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'Doctrine\\Common\\Lexer\\' => 22,
|
||||
'Dflydev\\DotAccessData\\' => 22,
|
||||
'DeepCopy\\' => 9,
|
||||
'Dedoc\\Scramble\\Database\\Factories\\' => 34,
|
||||
'Dedoc\\Scramble\\' => 15,
|
||||
'Database\\Seeders\\' => 17,
|
||||
'Database\\Factories\\' => 19,
|
||||
),
|
||||
@@ -277,10 +272,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/uid',
|
||||
),
|
||||
'Symfony\\Component\\TypeInfo\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/type-info',
|
||||
),
|
||||
'Symfony\\Component\\Translation\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/translation',
|
||||
@@ -337,6 +328,10 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/clock',
|
||||
),
|
||||
'Spatie\\LaravelPackageTools\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/spatie/laravel-package-tools/src',
|
||||
),
|
||||
'Ramsey\\Uuid\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/ramsey/uuid/src',
|
||||
@@ -345,10 +340,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/ramsey/collection/src',
|
||||
),
|
||||
'Radebatz\\TypeInfoExtras\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/radebatz/type-info-extras/src',
|
||||
),
|
||||
'Psy\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psy/psysh/src',
|
||||
@@ -394,10 +385,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/phpstan/phpdoc-parser/src',
|
||||
),
|
||||
'OpenApi\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/zircote/swagger-php/src',
|
||||
),
|
||||
'NunoMaduro\\Collision\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/nunomaduro/collision/src',
|
||||
@@ -464,10 +451,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/laravel/pail/src',
|
||||
),
|
||||
'L5Swagger\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/darkaonline/l5-swagger/src',
|
||||
),
|
||||
'Illuminate\\Support\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Macroable',
|
||||
@@ -531,6 +514,14 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy',
|
||||
),
|
||||
'Dedoc\\Scramble\\Database\\Factories\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/dedoc/scramble/database/factories',
|
||||
),
|
||||
'Dedoc\\Scramble\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/dedoc/scramble/src',
|
||||
),
|
||||
'Database\\Seeders\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/../..' . '/database/seeders',
|
||||
@@ -566,10 +557,25 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
|
||||
public static $classMap = array (
|
||||
'App\\Docs\\OpenApiSpec' => __DIR__ . '/../..' . '/app/Docs/OpenApiSpec.php',
|
||||
'App\\Http\\Controllers\\ApiController' => __DIR__ . '/../..' . '/app/Http/Controllers/ApiController.php',
|
||||
'App\\Http\\Controllers\\AuthController' => __DIR__ . '/../..' . '/app/Http/Controllers/AuthController.php',
|
||||
'App\\Http\\Controllers\\Controller' => __DIR__ . '/../..' . '/app/Http/Controllers/Controller.php',
|
||||
'App\\Http\\Controllers\\TicketController' => __DIR__ . '/../..' . '/app/Http/Controllers/TicketController.php',
|
||||
'App\\Http\\Controllers\\Ticket\\TicketController' => __DIR__ . '/../..' . '/app/Http/Controllers/Ticket/TicketController.php',
|
||||
'App\\Http\\Requests\\Ticket\\StoreTicketRequest' => __DIR__ . '/../..' . '/app/Http/Requests/Ticket/StoreTicketRequest.php',
|
||||
'App\\Http\\Requests\\Ticket\\UpdateTicketRequest' => __DIR__ . '/../..' . '/app/Http/Requests/Ticket/UpdateTicketRequest.php',
|
||||
'App\\Http\\Resources\\TicketResource' => __DIR__ . '/../..' . '/app/Http/Resources/TicketResource.php',
|
||||
'App\\Models\\Ticket' => __DIR__ . '/../..' . '/app/Models/Ticket.php',
|
||||
'App\\Models\\TicketApproval' => __DIR__ . '/../..' . '/app/Models/TicketApproval.php',
|
||||
'App\\Models\\TicketAssignment' => __DIR__ . '/../..' . '/app/Models/TicketAssignment.php',
|
||||
'App\\Models\\TicketFile' => __DIR__ . '/../..' . '/app/Models/TicketFile.php',
|
||||
'App\\Models\\TicketLog' => __DIR__ . '/../..' . '/app/Models/TicketLog.php',
|
||||
'App\\Models\\TicketMaterial' => __DIR__ . '/../..' . '/app/Models/TicketMaterial.php',
|
||||
'App\\Models\\TicketType' => __DIR__ . '/../..' . '/app/Models/TicketType.php',
|
||||
'App\\Models\\User' => __DIR__ . '/../..' . '/app/Models/User.php',
|
||||
'App\\Providers\\AppServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AppServiceProvider.php',
|
||||
'App\\Services\\Ticket\\TicketService' => __DIR__ . '/../..' . '/app/Services/Ticket/TicketService.php',
|
||||
'App\\Traits\\ApiResponse' => __DIR__ . '/../..' . '/app/Traits/ApiResponse.php',
|
||||
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'Brick\\Math\\BigDecimal' => __DIR__ . '/..' . '/brick/math/src/BigDecimal.php',
|
||||
'Brick\\Math\\BigInteger' => __DIR__ . '/..' . '/brick/math/src/BigInteger.php',
|
||||
@@ -704,6 +710,425 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'DateMalformedStringException' => __DIR__ . '/..' . '/symfony/polyfill-php83/Resources/stubs/DateMalformedStringException.php',
|
||||
'DateObjectError' => __DIR__ . '/..' . '/symfony/polyfill-php83/Resources/stubs/DateObjectError.php',
|
||||
'DateRangeError' => __DIR__ . '/..' . '/symfony/polyfill-php83/Resources/stubs/DateRangeError.php',
|
||||
'Dedoc\\Scramble\\AbstractOpenApiVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/AbstractOpenApiVisitor.php',
|
||||
'Dedoc\\Scramble\\Attributes\\BodyParameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/BodyParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\CookieParameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/CookieParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Endpoint' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/Endpoint.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Example' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/Example.php',
|
||||
'Dedoc\\Scramble\\Attributes\\ExcludeAllRoutesFromDocs' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/ExcludeAllRoutesFromDocs.php',
|
||||
'Dedoc\\Scramble\\Attributes\\ExcludeRouteFromDocs' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/ExcludeRouteFromDocs.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Group' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/Group.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Header' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/Header.php',
|
||||
'Dedoc\\Scramble\\Attributes\\HeaderParameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/HeaderParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Hidden' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/Hidden.php',
|
||||
'Dedoc\\Scramble\\Attributes\\IgnoreParam' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/IgnoreParam.php',
|
||||
'Dedoc\\Scramble\\Attributes\\MissingValue' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/MissingValue.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Parameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/Parameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\PathParameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/PathParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\QueryParameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/QueryParameter.php',
|
||||
'Dedoc\\Scramble\\Attributes\\Response' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/Response.php',
|
||||
'Dedoc\\Scramble\\Attributes\\SchemaName' => __DIR__ . '/..' . '/dedoc/scramble/src/Attributes/SchemaName.php',
|
||||
'Dedoc\\Scramble\\CacheableGenerator' => __DIR__ . '/..' . '/dedoc/scramble/src/CacheableGenerator.php',
|
||||
'Dedoc\\Scramble\\Configuration\\ApiPath' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/ApiPath.php',
|
||||
'Dedoc\\Scramble\\Configuration\\DocumentTransformers' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/DocumentTransformers.php',
|
||||
'Dedoc\\Scramble\\Configuration\\GeneratorConfigCollection' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/GeneratorConfigCollection.php',
|
||||
'Dedoc\\Scramble\\Configuration\\InferConfig' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/InferConfig.php',
|
||||
'Dedoc\\Scramble\\Configuration\\JsonApiConfig' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/JsonApiConfig.php',
|
||||
'Dedoc\\Scramble\\Configuration\\OperationTransformers' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/OperationTransformers.php',
|
||||
'Dedoc\\Scramble\\Configuration\\ParametersExtractors' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/ParametersExtractors.php',
|
||||
'Dedoc\\Scramble\\Configuration\\RendererConfig' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/RendererConfig.php',
|
||||
'Dedoc\\Scramble\\Configuration\\RuleTransformers' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/RuleTransformers.php',
|
||||
'Dedoc\\Scramble\\Configuration\\SecurityDocumentationContext' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/SecurityDocumentationContext.php',
|
||||
'Dedoc\\Scramble\\Configuration\\ServerVariables' => __DIR__ . '/..' . '/dedoc/scramble/src/Configuration/ServerVariables.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\AnalyzeDocumentation' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/AnalyzeDocumentation.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\CacheDocumentation' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/CacheDocumentation.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\ClearDocumentationCache' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/ClearDocumentationCache.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Components\\Code' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/Components/Code.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Components\\Component' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/Components/Component.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Components\\TermsOfContentItem' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/Components/TermsOfContentItem.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\Concerns\\ManagesDocumentationCache' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/Concerns/ManagesDocumentationCache.php',
|
||||
'Dedoc\\Scramble\\Console\\Commands\\ExportDocumentation' => __DIR__ . '/..' . '/dedoc/scramble/src/Console/Commands/ExportDocumentation.php',
|
||||
'Dedoc\\Scramble\\ContextReferences' => __DIR__ . '/..' . '/dedoc/scramble/src/ContextReferences.php',
|
||||
'Dedoc\\Scramble\\ContextReferencesCollection' => __DIR__ . '/..' . '/dedoc/scramble/src/ContextReferencesCollection.php',
|
||||
'Dedoc\\Scramble\\Contracts\\AllRulesSchemasTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Contracts/AllRulesSchemasTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\DocumentTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Contracts/DocumentTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\OperationTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Contracts/OperationTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\RuleTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Contracts/RuleTransformer.php',
|
||||
'Dedoc\\Scramble\\Contracts\\SecurityDocumentationStrategy' => __DIR__ . '/..' . '/dedoc/scramble/src/Contracts/SecurityDocumentationStrategy.php',
|
||||
'Dedoc\\Scramble\\DocumentTransformers\\AddDocumentTags' => __DIR__ . '/..' . '/dedoc/scramble/src/DocumentTransformers/AddDocumentTags.php',
|
||||
'Dedoc\\Scramble\\DocumentTransformers\\CleanupUnusedResponseReferencesTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/DocumentTransformers/CleanupUnusedResponseReferencesTransformer.php',
|
||||
'Dedoc\\Scramble\\Enums\\JsonApiArraySerialization' => __DIR__ . '/..' . '/dedoc/scramble/src/Enums/JsonApiArraySerialization.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\ConsoleRenderable' => __DIR__ . '/..' . '/dedoc/scramble/src/Exceptions/ConsoleRenderable.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\InvalidSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Exceptions/InvalidSchema.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\OpenApiReferenceTargetNotFoundException' => __DIR__ . '/..' . '/dedoc/scramble/src/Exceptions/OpenApiReferenceTargetNotFoundException.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\RouteAware' => __DIR__ . '/..' . '/dedoc/scramble/src/Exceptions/RouteAware.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\RouteAwareTrait' => __DIR__ . '/..' . '/dedoc/scramble/src/Exceptions/RouteAwareTrait.php',
|
||||
'Dedoc\\Scramble\\Exceptions\\RulesEvaluationException' => __DIR__ . '/..' . '/dedoc/scramble/src/Exceptions/RulesEvaluationException.php',
|
||||
'Dedoc\\Scramble\\Extensions\\ExceptionToResponseExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Extensions/ExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Extensions\\OperationExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Extensions/OperationExtension.php',
|
||||
'Dedoc\\Scramble\\Extensions\\TypeToSchemaExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Extensions/TypeToSchemaExtension.php',
|
||||
'Dedoc\\Scramble\\Generator' => __DIR__ . '/..' . '/dedoc/scramble/src/Generator.php',
|
||||
'Dedoc\\Scramble\\GeneratorConfig' => __DIR__ . '/..' . '/dedoc/scramble/src/GeneratorConfig.php',
|
||||
'Dedoc\\Scramble\\Http\\Middleware\\RestrictedDocsAccess' => __DIR__ . '/..' . '/dedoc/scramble/src/Http/Middleware/RestrictedDocsAccess.php',
|
||||
'Dedoc\\Scramble\\Infer' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Analyzer\\ClassAnalyzer' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Analyzer/ClassAnalyzer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Analyzer\\MethodAnalyzer' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Analyzer/MethodAnalyzer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Analyzer\\PropertyAnalyzer' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Analyzer/PropertyAnalyzer.php',
|
||||
'Dedoc\\Scramble\\Infer\\AutoResolvingArgumentTypeBag' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/AutoResolvingArgumentTypeBag.php',
|
||||
'Dedoc\\Scramble\\Infer\\Configuration\\ClassLike' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Configuration/ClassLike.php',
|
||||
'Dedoc\\Scramble\\Infer\\Configuration\\ClassLikeAndChildren' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Configuration/ClassLikeAndChildren.php',
|
||||
'Dedoc\\Scramble\\Infer\\Configuration\\DefinitionMatcher' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Configuration/DefinitionMatcher.php',
|
||||
'Dedoc\\Scramble\\Infer\\Context' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Context.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\ArgumentTypeBag' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Contracts/ArgumentTypeBag.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\ClassDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Contracts/ClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\ClassDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Contracts/ClassDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\FunctionLikeDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Contracts/FunctionLikeDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Contracts\\Index' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Contracts/Index.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeAstDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeAstDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeDeclarationAstDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeDeclarationAstDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeDeclarationPhpDocDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeDeclarationPhpDocDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\FunctionLikeReflectionDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/DefinitionBuilders/FunctionLikeReflectionDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\LazyClassReflectionDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/DefinitionBuilders/LazyClassReflectionDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\SelfOutTypeBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/DefinitionBuilders/SelfOutTypeBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\DefinitionBuilders\\ShallowClassReflectionDefinitionBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/DefinitionBuilders/ShallowClassReflectionDefinitionBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\AttributeDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/AttributeDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\ClassDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/ClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\ClassPropertyDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/ClassPropertyDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\FunctionLikeAstDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/FunctionLikeAstDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\FunctionLikeDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/FunctionLikeDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\LazyShallowClassDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/LazyShallowClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\PendingDocComment' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/PendingDocComment.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\PropertyVisibility' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/PropertyVisibility.php',
|
||||
'Dedoc\\Scramble\\Infer\\Definition\\ShallowClassDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Definition/ShallowClassDefinition.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\AfterClassDefinitionCreatedExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/AfterClassDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\AfterSideEffectCallAnalyzed' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/AfterSideEffectCallAnalyzed.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\AnyMethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/AnyMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\AnyMethodCallEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/AnyMethodCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\ClassDefinitionCreatedEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/ClassDefinitionCreatedEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\Concerns\\ArgumentTypesAware' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/Concerns/ArgumentTypesAware.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\FunctionCallEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/FunctionCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\MethodCallEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/MethodCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\PropertyFetchEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/PropertyFetchEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\ReferenceResolutionEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/ReferenceResolutionEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\SideEffectCallEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/SideEffectCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\Event\\StaticMethodCallEvent' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/Event/StaticMethodCallEvent.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ExpressionExceptionExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/ExpressionExceptionExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ExpressionTypeInferExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/ExpressionTypeInferExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ExtensionsBroker' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/ExtensionsBroker.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\FunctionReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/FunctionReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\IndexBuildingBroker' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/IndexBuildingBroker.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\InferExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/InferExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\MethodCallExceptionsExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/MethodCallExceptionsExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\MethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/MethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\PropertyTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/PropertyTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\ResolvingType' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/ResolvingType.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\StaticMethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/StaticMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\Extensions\\TypeResolverExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Extensions/TypeResolverExtension.php',
|
||||
'Dedoc\\Scramble\\Infer\\FlowBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/FlowBuilder.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\AbstractNode' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/AbstractNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\ConditionNode' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/ConditionNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\Edge' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/Edge.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\ExpressionTypeInferrer' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/ExpressionTypeInferrer.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\MergeNode' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/MergeNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\Node' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/Node.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\Nodes' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/Nodes.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\StartNode' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/StartNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\StatementNode' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/StatementNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\TerminateNode' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/TerminateNode.php',
|
||||
'Dedoc\\Scramble\\Infer\\Flow\\TerminationKind' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Flow/TerminationKind.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ArrayHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/ArrayHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ArrayItemHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/ArrayItemHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\AssignHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/AssignHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ClassHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/ClassHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\CreatesScope' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/CreatesScope.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ExceptionInferringExtensions' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/ExceptionInferringExtensions.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ExpressionTypeInferringExtensions' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/ExpressionTypeInferringExtensions.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\FunctionLikeHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/FunctionLikeHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\IndexBuildingHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/IndexBuildingHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\PhpDocHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/PhpDocHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\PropertyHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/PropertyHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ReturnHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/ReturnHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\ThrowHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/ThrowHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Handler\\UnsetHandler' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Handler/UnsetHandler.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\ClassReflector' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Reflector/ClassReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\ClosureReflector' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Reflector/ClosureReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\MethodReflector' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Reflector/MethodReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Reflector\\PropertyReflector' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Reflector/PropertyReflector.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\GlobalScope' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Scope/GlobalScope.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\Index' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Scope/Index.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\LazyShallowReflectionIndex' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Scope/LazyShallowReflectionIndex.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\NodeTypesResolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Scope/NodeTypesResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\Scope' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Scope/Scope.php',
|
||||
'Dedoc\\Scramble\\Infer\\Scope\\ScopeContext' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Scope/ScopeContext.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\ConstFetchTypeGetter' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/ConstFetchTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\FileNameResolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/FileNameResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\FileParser' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/FileParser.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\FileParserResult' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/FileParserResult.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\KeyedArrayUnpackingTypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/KeyedArrayUnpackingTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\LateTypeResolvingTypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/LateTypeResolvingTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\RecursionGuard' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/RecursionGuard.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\ReferenceTypeResolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/ReferenceTypeResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\ShallowTypeResolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/ShallowTypeResolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\TemplateTypesSolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/TemplateTypesSolver.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\TemplatesMap' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/TemplatesMap.php',
|
||||
'Dedoc\\Scramble\\Infer\\Services\\UnionNormalizingTypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Services/UnionNormalizingTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\BooleanNotTypeGetter' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/SimpleTypeGetters/BooleanNotTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\CastTypeGetter' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/SimpleTypeGetters/CastTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\ClassConstFetchTypeGetter' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/SimpleTypeGetters/ClassConstFetchTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\ConstFetchTypeGetter' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/SimpleTypeGetters/ConstFetchTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\SimpleTypeGetters\\ScalarTypeGetter' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/SimpleTypeGetters/ScalarTypeGetter.php',
|
||||
'Dedoc\\Scramble\\Infer\\TypeInferer' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/TypeInferer.php',
|
||||
'Dedoc\\Scramble\\Infer\\UnresolvableArgumentTypeBag' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/UnresolvableArgumentTypeBag.php',
|
||||
'Dedoc\\Scramble\\Infer\\Visitors\\PhpDocResolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Infer/Visitors/PhpDocResolver.php',
|
||||
'Dedoc\\Scramble\\OpenApiContext' => __DIR__ . '/..' . '/dedoc/scramble/src/OpenApiContext.php',
|
||||
'Dedoc\\Scramble\\OpenApiTraverser' => __DIR__ . '/..' . '/dedoc/scramble/src/OpenApiTraverser.php',
|
||||
'Dedoc\\Scramble\\OpenApiVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/OpenApiVisitor.php',
|
||||
'Dedoc\\Scramble\\OpenApiVisitor\\SchemaEnforceVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/OpenApiVisitor/SchemaEnforceVisitor.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\AbstractPhpDocTypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/PhpDoc/AbstractPhpDocTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocParser' => __DIR__ . '/..' . '/dedoc/scramble/src/PhpDoc/PhpDocParser.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocTypeHelper' => __DIR__ . '/..' . '/dedoc/scramble/src/PhpDoc/PhpDocTypeHelper.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocTypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/PhpDoc/PhpDocTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\PhpDocTypeWalker' => __DIR__ . '/..' . '/dedoc/scramble/src/PhpDoc/PhpDocTypeWalker.php',
|
||||
'Dedoc\\Scramble\\PhpDoc\\ResolveFqnPhpDocTypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/PhpDoc/ResolveFqnPhpDocTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Reflection\\JsonApiRelationship' => __DIR__ . '/..' . '/dedoc/scramble/src/Reflection/JsonApiRelationship.php',
|
||||
'Dedoc\\Scramble\\Reflection\\ReflectionJsonApiResource' => __DIR__ . '/..' . '/dedoc/scramble/src/Reflection/ReflectionJsonApiResource.php',
|
||||
'Dedoc\\Scramble\\Reflection\\ReflectionModel' => __DIR__ . '/..' . '/dedoc/scramble/src/Reflection/ReflectionModel.php',
|
||||
'Dedoc\\Scramble\\Reflection\\ReflectionRoute' => __DIR__ . '/..' . '/dedoc/scramble/src/Reflection/ReflectionRoute.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\ConfirmedRule' => __DIR__ . '/..' . '/dedoc/scramble/src/RuleTransformers/ConfirmedRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\EnumRule' => __DIR__ . '/..' . '/dedoc/scramble/src/RuleTransformers/EnumRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\ExistsRule' => __DIR__ . '/..' . '/dedoc/scramble/src/RuleTransformers/ExistsRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\InRule' => __DIR__ . '/..' . '/dedoc/scramble/src/RuleTransformers/InRule.php',
|
||||
'Dedoc\\Scramble\\RuleTransformers\\RegexRule' => __DIR__ . '/..' . '/dedoc/scramble/src/RuleTransformers/RegexRule.php',
|
||||
'Dedoc\\Scramble\\SchemaValidator' => __DIR__ . '/..' . '/dedoc/scramble/src/SchemaValidator.php',
|
||||
'Dedoc\\Scramble\\Scramble' => __DIR__ . '/..' . '/dedoc/scramble/src/Scramble.php',
|
||||
'Dedoc\\Scramble\\ScrambleServiceProvider' => __DIR__ . '/..' . '/dedoc/scramble/src/ScrambleServiceProvider.php',
|
||||
'Dedoc\\Scramble\\SecurityDocumentation\\MiddlewareAuthSecurityStrategy' => __DIR__ . '/..' . '/dedoc/scramble/src/SecurityDocumentation/MiddlewareAuthSecurityStrategy.php',
|
||||
'Dedoc\\Scramble\\Support\\ContainerUtils' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ContainerUtils.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\AuthenticationExceptionToResponseExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/AuthenticationExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\AuthorizationExceptionToResponseExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/AuthorizationExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\HttpExceptionToResponseExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/HttpExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\NotFoundExceptionToResponseExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/NotFoundExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\ExceptionToResponseExtensions\\ValidationExceptionToResponseExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ExceptionToResponseExtensions/ValidationExceptionToResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\Factories\\JsonApiQueryParameterFactory' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Factories/JsonApiQueryParameterFactory.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\ClassBasedReference' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/ClassBasedReference.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Combined\\AllOf' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Combined/AllOf.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Combined\\AnyOf' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Combined/AnyOf.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Components' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Components.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Encoding' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Encoding.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Example' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Example.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Header' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Header.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\InfoObject' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/InfoObject.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Link' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Link.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\MediaType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/MediaType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\MissingExample' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/MissingExample.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\MissingValue' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/MissingValue.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\OpenApi' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/OpenApi.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Operation' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Operation.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Parameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Parameter.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Path' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Path.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Reference' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Reference.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\RequestBodyObject' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/RequestBodyObject.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Response' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Response.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Schema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Schema.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecurityRequirement' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecurityRequirement.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecurityScheme' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\ApiKeySecurityScheme' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/ApiKeySecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\HttpSecurityScheme' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/HttpSecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\OAuthFlow' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/OAuthFlow.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\OAuthFlows' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/OAuthFlows.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\Oauth2SecurityScheme' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/Oauth2SecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\SecuritySchemes\\OpenIdConnectUrlSecurityScheme' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/SecuritySchemes/OpenIdConnectUrlSecurityScheme.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Server' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Server.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\ServerVariable' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/ServerVariable.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Tag' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Tag.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\TypeTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/TypeTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\ArrayType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/ArrayType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\BooleanType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/BooleanType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\IntegerType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/IntegerType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\MixedType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/MixedType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\NullType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/NullType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\NumberType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/NumberType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\ObjectType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/ObjectType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\StringType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/StringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\Type' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/Type.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\Types\\UnknownType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/Types/UnknownType.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\UniqueNameOptions' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/UniqueNameOptions.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\UniqueNamesOptionsCollection' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/UniqueNamesOptionsCollection.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\WithAttributes' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/WithAttributes.php',
|
||||
'Dedoc\\Scramble\\Support\\Generator\\WithExtensions' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Generator/WithExtensions.php',
|
||||
'Dedoc\\Scramble\\Support\\Helpers\\ExamplesExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Helpers/ExamplesExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\Helpers\\JsonResourceHelper' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Helpers/JsonResourceHelper.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\Bag' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/IndexBuilders/Bag.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\IndexBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/IndexBuilders/IndexBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\PaginatorsCandidatesBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/IndexBuilders/PaginatorsCandidatesBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\RequestParametersBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/IndexBuilders/RequestParametersBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\IndexBuilders\\ScopeCollector' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/IndexBuilders/ScopeCollector.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AbortHelpersExceptionInfer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/AbortHelpersExceptionInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterAnonymousResourceCollectionDefinitionCreatedExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/AfterAnonymousResourceCollectionDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterEloquentCollectionDefinitionCreatedExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/AfterEloquentCollectionDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterJsonApiResourceDefinitionCreatedExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/AfterJsonApiResourceDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterJsonResourceDefinitionCreatedExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/AfterJsonResourceDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterResourceCollectionDefinitionCreatedExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/AfterResourceCollectionDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\AfterResponseDefinitionCreatedExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/AfterResponseDefinitionCreatedExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ArrayMergeReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ArrayMergeReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\BinaryFileResponseTypeFactory' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/BinaryFileResponseTypeFactory.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\EloquentBuilderExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/EloquentBuilderExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\FacadeStaticMethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/FacadeStaticMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonApiResourceCollectionMethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/JsonApiResourceCollectionMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonApiResourceMethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/JsonApiResourceMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonResourceExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/JsonResourceExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\JsonResponseMethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/JsonResponseMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ModelCollectionTypeResolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ModelCollectionTypeResolver.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ModelExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ModelExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\PaginateMethodsReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/PaginateMethodsReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\PossibleExceptionInfer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/PossibleExceptionInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\RequestExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/RequestExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ResourceCollectionTypeInfer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ResourceCollectionTypeInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ResourceResponseMethodReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ResourceResponseMethodReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ResponseFactoryTypeInfer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ResponseFactoryTypeInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ShallowFunctionDefinition' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ShallowFunctionDefinition.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\TransformsToResourceCollectionExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/TransformsToResourceCollectionExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\TranslationReturnTypeExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/TranslationReturnTypeExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\TypeTraceInfer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/TypeTraceInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\InferExtensions\\ValidatorTypeInfer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/InferExtensions/ValidatorTypeInfer.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationBuilder' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationBuilder.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\DeprecationExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/DeprecationExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ErrorResponsesExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ErrorResponsesExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\AttributesParametersExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/AttributesParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\FormRequestParametersExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/FormRequestParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\InferredParameter' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/InferredParameter.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\JsonApiResourceParametersExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/JsonApiResourceParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\MethodCallsParametersExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/MethodCallsParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\ParameterExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/ParameterExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\PathParametersExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/PathParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\RulesDocumentationRetriever' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/RulesDocumentationRetriever.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\RulesNodes' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/RulesNodes.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\TypeBasedRulesDocumentationRetriever' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/TypeBasedRulesDocumentationRetriever.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ParameterExtractor\\ValidateCallParametersExtractor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ParameterExtractor/ValidateCallParametersExtractor.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RequestBodyExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RequestBodyExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RequestEssentialsExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RequestEssentialsExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ResponseExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ResponseExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\ResponseHeadersExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/ResponseHeadersExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\ComposedFormRequestRulesEvaluator' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/ComposedFormRequestRulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\ConstFetchEvaluator' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/ConstFetchEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\FormRequestRulesEvaluator' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/FormRequestRulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\NodeRulesEvaluator' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/NodeRulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\PublicProxy' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/PublicProxy.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesEvaluator\\RulesEvaluator' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesEvaluator/RulesEvaluator.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\DeepParametersMerger' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/DeepParametersMerger.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\GeneratesParametersFromRules' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/GeneratesParametersFromRules.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\ParametersExtractionResult' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/ParametersExtractionResult.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\PhpDocSchemaTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/PhpDocSchemaTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\QueryParametersConverter' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/QueryParametersConverter.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\RulesMapper' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/RulesMapper.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\RulesToParameters' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/RulesToParameters.php',
|
||||
'Dedoc\\Scramble\\Support\\OperationExtensions\\RulesExtractor\\SchemaBagToParametersTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/OperationExtensions/RulesExtractor/SchemaBagToParametersTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\PhpDoc' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/PhpDoc.php',
|
||||
'Dedoc\\Scramble\\Support\\ResponseExtractor\\ModelInfo' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ResponseExtractor/ModelInfo.php',
|
||||
'Dedoc\\Scramble\\Support\\RouteInfo' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/RouteInfo.php',
|
||||
'Dedoc\\Scramble\\Support\\RouteResponseTypeRetriever' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/RouteResponseTypeRetriever.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\NormalizedRule' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/RuleTransforming/NormalizedRule.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\RuleSetToSchemaTransformer' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/RuleTransforming/RuleSetToSchemaTransformer.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\RuleTransformerContext' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/RuleTransforming/RuleTransformerContext.php',
|
||||
'Dedoc\\Scramble\\Support\\RuleTransforming\\SchemaBag' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/RuleTransforming/SchemaBag.php',
|
||||
'Dedoc\\Scramble\\Support\\SchemaClassDocReflector' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/SchemaClassDocReflector.php',
|
||||
'Dedoc\\Scramble\\Support\\ServerFactory' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/ServerFactory.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\CursorPaginatorTypeManager' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeManagers/CursorPaginatorTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\JsonApiResourceTypeManager' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeManagers/JsonApiResourceTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\LengthAwarePaginatorTypeManager' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeManagers/LengthAwarePaginatorTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\ManagesProperties' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeManagers/ManagesProperties.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\PaginatorTypeManager' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeManagers/PaginatorTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeManagers\\ResourceCollectionTypeManager' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeManagers/ResourceCollectionTypeManager.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\AnonymousResourceCollectionTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/AnonymousResourceCollectionTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ArrayableToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ArrayableToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\BinaryFileResponseToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/BinaryFileResponseToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\CarbonInterfaceToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/CarbonInterfaceToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\CollectionToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/CollectionToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\CursorPaginatorTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/CursorPaginatorTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\EloquentCollectionToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/EloquentCollectionToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\EnumToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/EnumToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\FlattensMergeValues' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/FlattensMergeValues.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\HandlesJsonApiResourceResponse' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/HandlesJsonApiResourceResponse.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiAnonymousCollectionTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiAnonymousCollectionTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiPaginatedResourceResponseToSchemaExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiPaginatedResourceResponseToSchemaExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiResourceResponseToSchemaExtension' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiResourceResponseToSchemaExtension.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonApiResourceTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonApiResourceTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\JsonResourceTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/JsonResourceTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\LengthAwarePaginatorTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/LengthAwarePaginatorTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\MergesOpenApiObjects' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/MergesOpenApiObjects.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ModelToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ModelToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\PaginatedResourceResponseTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/PaginatedResourceResponseTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\PaginatorTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/PaginatorTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\PlainObjectToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/PlainObjectToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResourceCollectionTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResourceCollectionTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResourceResponseTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResourceResponseTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResponsableTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResponsableTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\ResponseTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/ResponseTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\StreamedResponseToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/StreamedResponseToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\VoidTypeToSchema' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/VoidTypeToSchema.php',
|
||||
'Dedoc\\Scramble\\Support\\TypeToSchemaExtensions\\WithCollectedPaginatedItems' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/TypeToSchemaExtensions/WithCollectedPaginatedItems.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\AbstractType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/AbstractType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\AbstractTypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/AbstractTypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\ArrayItemType_' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/ArrayItemType_.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\ArrayType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/ArrayType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\BooleanType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/BooleanType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\CallableStringType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/CallableStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\CoalesceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/CoalesceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\Generic' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Contracts/Generic.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\LateResolvingType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Contracts/LateResolvingType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\LiteralString' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Contracts/LiteralString.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Contracts\\LiteralType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Contracts/LiteralType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\EnumCaseType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/EnumCaseType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\FloatType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/FloatType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\FunctionLikeType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/FunctionLikeType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\FunctionType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/FunctionType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Generic' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Generic.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\GenericClassStringType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/GenericClassStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\IntegerRangeType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/IntegerRangeType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\IntegerType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/IntegerType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\IntersectionType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/IntersectionType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\KeyedArrayType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/KeyedArrayType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralBooleanType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Literal/LiteralBooleanType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralFloatType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Literal/LiteralFloatType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralIntegerType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Literal/LiteralIntegerType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Literal\\LiteralStringType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Literal/LiteralStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\MissingType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/MissingType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\MixedType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/MixedType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\NeverType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/NeverType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\NullType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/NullType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\ObjectType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/ObjectType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\OffsetAccessType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/OffsetAccessType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\OffsetSetType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/OffsetSetType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\OffsetUnsetType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/OffsetUnsetType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\RecursiveTemplateSolver' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/RecursiveTemplateSolver.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\AbstractReferenceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/AbstractReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\CallableCallReferenceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/CallableCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\ConstFetchReferenceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/ConstFetchReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\MethodCallReferenceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/MethodCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\NewCallReferenceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/NewCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\PotentialMethodMutatingCallType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/PotentialMethodMutatingCallType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\PropertyFetchReferenceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/PropertyFetchReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\StaticMethodCallReferenceType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/StaticMethodCallReferenceType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Reference\\StaticReference' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Reference/StaticReference.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\SelfType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/SelfType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\StringType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/StringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TemplatePlaceholderType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TemplatePlaceholderType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TemplateType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TemplateType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TranslatedStringType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TranslatedStringType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Type' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Type.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeAttributes' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypeAttributes.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeHelper' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypeHelper.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePath' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypePath.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePathFindingVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypePathFindingVisitor.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePathItem' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypePathItem.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypePathItemCondition' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypePathItemCondition.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeTraverser' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypeTraverser.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeVisitor' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypeVisitor.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeWalker' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypeWalker.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\TypeWidener' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/TypeWidener.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\Union' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/Union.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\UnknownType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/UnknownType.php',
|
||||
'Dedoc\\Scramble\\Support\\Type\\VoidType' => __DIR__ . '/..' . '/dedoc/scramble/src/Support/Type/VoidType.php',
|
||||
'DeepCopy\\DeepCopy' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php',
|
||||
'DeepCopy\\Exception\\CloneException' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php',
|
||||
'DeepCopy\\Exception\\PropertyException' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php',
|
||||
@@ -3043,18 +3468,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'Illuminate\\View\\ViewFinderInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/ViewFinderInterface.php',
|
||||
'Illuminate\\View\\ViewName' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/ViewName.php',
|
||||
'Illuminate\\View\\ViewServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/ViewServiceProvider.php',
|
||||
'L5Swagger\\ConfigFactory' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/ConfigFactory.php',
|
||||
'L5Swagger\\Console\\GenerateDocsCommand' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/Console/GenerateDocsCommand.php',
|
||||
'L5Swagger\\CustomGeneratorInterface' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/CustomGeneratorInterface.php',
|
||||
'L5Swagger\\Exceptions\\L5SwaggerException' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/Exceptions/L5SwaggerException.php',
|
||||
'L5Swagger\\Generator' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/Generator.php',
|
||||
'L5Swagger\\GeneratorFactory' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/GeneratorFactory.php',
|
||||
'L5Swagger\\Http\\Controllers\\SwaggerAssetController' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/Http/Controllers/SwaggerAssetController.php',
|
||||
'L5Swagger\\Http\\Controllers\\SwaggerController' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/Http/Controllers/SwaggerController.php',
|
||||
'L5Swagger\\Http\\Middleware\\Config' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/Http/Middleware/Config.php',
|
||||
'L5Swagger\\L5SwaggerFacade' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/L5SwaggerFacade.php',
|
||||
'L5Swagger\\L5SwaggerServiceProvider' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/L5SwaggerServiceProvider.php',
|
||||
'L5Swagger\\SecurityDefinitions' => __DIR__ . '/..' . '/darkaonline/l5-swagger/src/SecurityDefinitions.php',
|
||||
'Laravel\\Pail\\Console\\Commands\\PailCommand' => __DIR__ . '/..' . '/laravel/pail/src/Console/Commands/PailCommand.php',
|
||||
'Laravel\\Pail\\Contracts\\Printer' => __DIR__ . '/..' . '/laravel/pail/src/Contracts/Printer.php',
|
||||
'Laravel\\Pail\\File' => __DIR__ . '/..' . '/laravel/pail/src/File.php',
|
||||
@@ -3937,149 +4350,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'NunoMaduro\\Collision\\Provider' => __DIR__ . '/..' . '/nunomaduro/collision/src/Provider.php',
|
||||
'NunoMaduro\\Collision\\SolutionsRepositories\\NullSolutionsRepository' => __DIR__ . '/..' . '/nunomaduro/collision/src/SolutionsRepositories/NullSolutionsRepository.php',
|
||||
'NunoMaduro\\Collision\\Writer' => __DIR__ . '/..' . '/nunomaduro/collision/src/Writer.php',
|
||||
'OpenApi\\Analysers\\AnalyserInterface' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/AnalyserInterface.php',
|
||||
'OpenApi\\Analysers\\AnnotationFactoryInterface' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/AnnotationFactoryInterface.php',
|
||||
'OpenApi\\Analysers\\AttributeAnnotationFactory' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/AttributeAnnotationFactory.php',
|
||||
'OpenApi\\Analysers\\ComposerAutoloaderScanner' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/ComposerAutoloaderScanner.php',
|
||||
'OpenApi\\Analysers\\DocBlockAnnotationFactory' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/DocBlockAnnotationFactory.php',
|
||||
'OpenApi\\Analysers\\DocBlockParser' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/DocBlockParser.php',
|
||||
'OpenApi\\Analysers\\ReflectionAnalyser' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/ReflectionAnalyser.php',
|
||||
'OpenApi\\Analysers\\TokenScanner' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysers/TokenScanner.php',
|
||||
'OpenApi\\Analysis' => __DIR__ . '/..' . '/zircote/swagger-php/src/Analysis.php',
|
||||
'OpenApi\\Annotations\\AbstractAnnotation' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/AbstractAnnotation.php',
|
||||
'OpenApi\\Annotations\\AdditionalProperties' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/AdditionalProperties.php',
|
||||
'OpenApi\\Annotations\\Attachable' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Attachable.php',
|
||||
'OpenApi\\Annotations\\Components' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Components.php',
|
||||
'OpenApi\\Annotations\\Contact' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Contact.php',
|
||||
'OpenApi\\Annotations\\CookieParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/CookieParameter.php',
|
||||
'OpenApi\\Annotations\\Delete' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Delete.php',
|
||||
'OpenApi\\Annotations\\Discriminator' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Discriminator.php',
|
||||
'OpenApi\\Annotations\\Encoding' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Encoding.php',
|
||||
'OpenApi\\Annotations\\Examples' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Examples.php',
|
||||
'OpenApi\\Annotations\\ExternalDocumentation' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/ExternalDocumentation.php',
|
||||
'OpenApi\\Annotations\\Flow' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Flow.php',
|
||||
'OpenApi\\Annotations\\Get' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Get.php',
|
||||
'OpenApi\\Annotations\\Head' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Head.php',
|
||||
'OpenApi\\Annotations\\Header' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Header.php',
|
||||
'OpenApi\\Annotations\\HeaderParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/HeaderParameter.php',
|
||||
'OpenApi\\Annotations\\Info' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Info.php',
|
||||
'OpenApi\\Annotations\\Items' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Items.php',
|
||||
'OpenApi\\Annotations\\JsonContent' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/JsonContent.php',
|
||||
'OpenApi\\Annotations\\JsonSchemaTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/JsonSchemaTrait.php',
|
||||
'OpenApi\\Annotations\\License' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/License.php',
|
||||
'OpenApi\\Annotations\\Link' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Link.php',
|
||||
'OpenApi\\Annotations\\MediaType' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/MediaType.php',
|
||||
'OpenApi\\Annotations\\OpenApi' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/OpenApi.php',
|
||||
'OpenApi\\Annotations\\Operation' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Operation.php',
|
||||
'OpenApi\\Annotations\\Options' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Options.php',
|
||||
'OpenApi\\Annotations\\Parameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Parameter.php',
|
||||
'OpenApi\\Annotations\\Patch' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Patch.php',
|
||||
'OpenApi\\Annotations\\PathItem' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/PathItem.php',
|
||||
'OpenApi\\Annotations\\PathParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/PathParameter.php',
|
||||
'OpenApi\\Annotations\\Post' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Post.php',
|
||||
'OpenApi\\Annotations\\Property' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Property.php',
|
||||
'OpenApi\\Annotations\\Put' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Put.php',
|
||||
'OpenApi\\Annotations\\Query' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Query.php',
|
||||
'OpenApi\\Annotations\\QueryParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/QueryParameter.php',
|
||||
'OpenApi\\Annotations\\RequestBody' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/RequestBody.php',
|
||||
'OpenApi\\Annotations\\Response' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Response.php',
|
||||
'OpenApi\\Annotations\\Schema' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Schema.php',
|
||||
'OpenApi\\Annotations\\SecurityScheme' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/SecurityScheme.php',
|
||||
'OpenApi\\Annotations\\Server' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Server.php',
|
||||
'OpenApi\\Annotations\\ServerVariable' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/ServerVariable.php',
|
||||
'OpenApi\\Annotations\\Tag' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Tag.php',
|
||||
'OpenApi\\Annotations\\Trace' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Trace.php',
|
||||
'OpenApi\\Annotations\\Webhook' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Webhook.php',
|
||||
'OpenApi\\Annotations\\Xml' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/Xml.php',
|
||||
'OpenApi\\Annotations\\XmlContent' => __DIR__ . '/..' . '/zircote/swagger-php/src/Annotations/XmlContent.php',
|
||||
'OpenApi\\Attributes\\AdditionalProperties' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/AdditionalProperties.php',
|
||||
'OpenApi\\Attributes\\Attachable' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Attachable.php',
|
||||
'OpenApi\\Attributes\\Components' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Components.php',
|
||||
'OpenApi\\Attributes\\Contact' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Contact.php',
|
||||
'OpenApi\\Attributes\\CookieParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/CookieParameter.php',
|
||||
'OpenApi\\Attributes\\Delete' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Delete.php',
|
||||
'OpenApi\\Attributes\\Discriminator' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Discriminator.php',
|
||||
'OpenApi\\Attributes\\Encoding' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Encoding.php',
|
||||
'OpenApi\\Attributes\\Examples' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Examples.php',
|
||||
'OpenApi\\Attributes\\ExternalDocumentation' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/ExternalDocumentation.php',
|
||||
'OpenApi\\Attributes\\Flow' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Flow.php',
|
||||
'OpenApi\\Attributes\\Get' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Get.php',
|
||||
'OpenApi\\Attributes\\Head' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Head.php',
|
||||
'OpenApi\\Attributes\\Header' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Header.php',
|
||||
'OpenApi\\Attributes\\HeaderParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/HeaderParameter.php',
|
||||
'OpenApi\\Attributes\\Info' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Info.php',
|
||||
'OpenApi\\Attributes\\Items' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Items.php',
|
||||
'OpenApi\\Attributes\\JsonContent' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/JsonContent.php',
|
||||
'OpenApi\\Attributes\\License' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/License.php',
|
||||
'OpenApi\\Attributes\\Link' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Link.php',
|
||||
'OpenApi\\Attributes\\MediaType' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/MediaType.php',
|
||||
'OpenApi\\Attributes\\OpenApi' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/OpenApi.php',
|
||||
'OpenApi\\Attributes\\OperationTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/OperationTrait.php',
|
||||
'OpenApi\\Attributes\\Options' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Options.php',
|
||||
'OpenApi\\Attributes\\Parameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Parameter.php',
|
||||
'OpenApi\\Attributes\\ParameterTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/ParameterTrait.php',
|
||||
'OpenApi\\Attributes\\Patch' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Patch.php',
|
||||
'OpenApi\\Attributes\\PathItem' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/PathItem.php',
|
||||
'OpenApi\\Attributes\\PathParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/PathParameter.php',
|
||||
'OpenApi\\Attributes\\Post' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Post.php',
|
||||
'OpenApi\\Attributes\\Property' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Property.php',
|
||||
'OpenApi\\Attributes\\Put' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Put.php',
|
||||
'OpenApi\\Attributes\\Query' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Query.php',
|
||||
'OpenApi\\Attributes\\QueryParameter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/QueryParameter.php',
|
||||
'OpenApi\\Attributes\\RequestBody' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/RequestBody.php',
|
||||
'OpenApi\\Attributes\\Response' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Response.php',
|
||||
'OpenApi\\Attributes\\Schema' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Schema.php',
|
||||
'OpenApi\\Attributes\\SecurityScheme' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/SecurityScheme.php',
|
||||
'OpenApi\\Attributes\\Server' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Server.php',
|
||||
'OpenApi\\Attributes\\ServerVariable' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/ServerVariable.php',
|
||||
'OpenApi\\Attributes\\Tag' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Tag.php',
|
||||
'OpenApi\\Attributes\\Trace' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Trace.php',
|
||||
'OpenApi\\Attributes\\Webhook' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Webhook.php',
|
||||
'OpenApi\\Attributes\\Xml' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/Xml.php',
|
||||
'OpenApi\\Attributes\\XmlContent' => __DIR__ . '/..' . '/zircote/swagger-php/src/Attributes/XmlContent.php',
|
||||
'OpenApi\\Console\\GenerateCommand' => __DIR__ . '/..' . '/zircote/swagger-php/src/Console/GenerateCommand.php',
|
||||
'OpenApi\\Console\\GenerateFormat' => __DIR__ . '/..' . '/zircote/swagger-php/src/Console/GenerateFormat.php',
|
||||
'OpenApi\\Console\\GenerateInput' => __DIR__ . '/..' . '/zircote/swagger-php/src/Console/GenerateInput.php',
|
||||
'OpenApi\\Context' => __DIR__ . '/..' . '/zircote/swagger-php/src/Context.php',
|
||||
'OpenApi\\Generator' => __DIR__ . '/..' . '/zircote/swagger-php/src/Generator.php',
|
||||
'OpenApi\\GeneratorAwareInterface' => __DIR__ . '/..' . '/zircote/swagger-php/src/GeneratorAwareInterface.php',
|
||||
'OpenApi\\GeneratorAwareTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/GeneratorAwareTrait.php',
|
||||
'OpenApi\\Loggers\\DefaultLogger' => __DIR__ . '/..' . '/zircote/swagger-php/src/Loggers/DefaultLogger.php',
|
||||
'OpenApi\\OpenApiException' => __DIR__ . '/..' . '/zircote/swagger-php/src/OpenApiException.php',
|
||||
'OpenApi\\Pipeline' => __DIR__ . '/..' . '/zircote/swagger-php/src/Pipeline.php',
|
||||
'OpenApi\\Processors\\AugmentDiscriminators' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentDiscriminators.php',
|
||||
'OpenApi\\Processors\\AugmentItems' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentItems.php',
|
||||
'OpenApi\\Processors\\AugmentMediaType' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentMediaType.php',
|
||||
'OpenApi\\Processors\\AugmentParameters' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentParameters.php',
|
||||
'OpenApi\\Processors\\AugmentProperties' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentProperties.php',
|
||||
'OpenApi\\Processors\\AugmentRefs' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentRefs.php',
|
||||
'OpenApi\\Processors\\AugmentRequestBody' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentRequestBody.php',
|
||||
'OpenApi\\Processors\\AugmentSchemas' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentSchemas.php',
|
||||
'OpenApi\\Processors\\AugmentTags' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/AugmentTags.php',
|
||||
'OpenApi\\Processors\\BuildPaths' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/BuildPaths.php',
|
||||
'OpenApi\\Processors\\CleanUnmerged' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/CleanUnmerged.php',
|
||||
'OpenApi\\Processors\\CleanUnusedComponents' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/CleanUnusedComponents.php',
|
||||
'OpenApi\\Processors\\Concerns\\AnnotationTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/Concerns/AnnotationTrait.php',
|
||||
'OpenApi\\Processors\\Concerns\\DocblockTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/Concerns/DocblockTrait.php',
|
||||
'OpenApi\\Processors\\Concerns\\MergePropertiesTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/Concerns/MergePropertiesTrait.php',
|
||||
'OpenApi\\Processors\\Concerns\\RefTrait' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/Concerns/RefTrait.php',
|
||||
'OpenApi\\Processors\\DocBlockDescriptions' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/DocBlockDescriptions.php',
|
||||
'OpenApi\\Processors\\ExpandClasses' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/ExpandClasses.php',
|
||||
'OpenApi\\Processors\\ExpandEnums' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/ExpandEnums.php',
|
||||
'OpenApi\\Processors\\ExpandInterfaces' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/ExpandInterfaces.php',
|
||||
'OpenApi\\Processors\\ExpandTraits' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/ExpandTraits.php',
|
||||
'OpenApi\\Processors\\MergeIntoComponents' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/MergeIntoComponents.php',
|
||||
'OpenApi\\Processors\\MergeIntoOpenApi' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/MergeIntoOpenApi.php',
|
||||
'OpenApi\\Processors\\MergeJsonContent' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/MergeJsonContent.php',
|
||||
'OpenApi\\Processors\\MergeXmlContent' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/MergeXmlContent.php',
|
||||
'OpenApi\\Processors\\OperationId' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/OperationId.php',
|
||||
'OpenApi\\Processors\\PathFilter' => __DIR__ . '/..' . '/zircote/swagger-php/src/Processors/PathFilter.php',
|
||||
'OpenApi\\Serializer' => __DIR__ . '/..' . '/zircote/swagger-php/src/Serializer.php',
|
||||
'OpenApi\\SourceFinder' => __DIR__ . '/..' . '/zircote/swagger-php/src/SourceFinder.php',
|
||||
'OpenApi\\TypeResolverInterface' => __DIR__ . '/..' . '/zircote/swagger-php/src/TypeResolverInterface.php',
|
||||
'OpenApi\\Type\\AbstractTypeResolver' => __DIR__ . '/..' . '/zircote/swagger-php/src/Type/AbstractTypeResolver.php',
|
||||
'OpenApi\\Type\\LegacyTypeResolver' => __DIR__ . '/..' . '/zircote/swagger-php/src/Type/LegacyTypeResolver.php',
|
||||
'OpenApi\\Type\\TypeInfoTypeResolver' => __DIR__ . '/..' . '/zircote/swagger-php/src/Type/TypeInfoTypeResolver.php',
|
||||
'Override' => __DIR__ . '/..' . '/symfony/polyfill-php83/Resources/stubs/Override.php',
|
||||
'PHPStan\\PhpDocParser\\Ast\\AbstractNodeVisitor' => __DIR__ . '/..' . '/phpstan/phpdoc-parser/src/Ast/AbstractNodeVisitor.php',
|
||||
'PHPStan\\PhpDocParser\\Ast\\Attribute' => __DIR__ . '/..' . '/phpstan/phpdoc-parser/src/Ast/Attribute.php',
|
||||
@@ -5861,13 +6131,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'Psy\\VersionUpdater\\IntervalChecker' => __DIR__ . '/..' . '/psy/psysh/src/VersionUpdater/IntervalChecker.php',
|
||||
'Psy\\VersionUpdater\\NoopChecker' => __DIR__ . '/..' . '/psy/psysh/src/VersionUpdater/NoopChecker.php',
|
||||
'Psy\\VersionUpdater\\SelfUpdate' => __DIR__ . '/..' . '/psy/psysh/src/VersionUpdater/SelfUpdate.php',
|
||||
'Radebatz\\TypeInfoExtras\\TypeFactoryTrait' => __DIR__ . '/..' . '/radebatz/type-info-extras/src/TypeFactoryTrait.php',
|
||||
'Radebatz\\TypeInfoExtras\\TypeResolver\\ResolverExtrasTrait' => __DIR__ . '/..' . '/radebatz/type-info-extras/src/TypeResolver/ResolverExtrasTrait.php',
|
||||
'Radebatz\\TypeInfoExtras\\TypeResolver\\StringTypeResolver' => __DIR__ . '/..' . '/radebatz/type-info-extras/src/TypeResolver/StringTypeResolver.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\ClassLikeType' => __DIR__ . '/..' . '/radebatz/type-info-extras/src/Type/ClassLikeType.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\ExplicitType' => __DIR__ . '/..' . '/radebatz/type-info-extras/src/Type/ExplicitType.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\IntRangeType' => __DIR__ . '/..' . '/radebatz/type-info-extras/src/Type/IntRangeType.php',
|
||||
'Radebatz\\TypeInfoExtras\\Type\\Type' => __DIR__ . '/..' . '/radebatz/type-info-extras/src/Type/Type.php',
|
||||
'Ramsey\\Collection\\AbstractArray' => __DIR__ . '/..' . '/ramsey/collection/src/AbstractArray.php',
|
||||
'Ramsey\\Collection\\AbstractCollection' => __DIR__ . '/..' . '/ramsey/collection/src/AbstractCollection.php',
|
||||
'Ramsey\\Collection\\AbstractSet' => __DIR__ . '/..' . '/ramsey/collection/src/AbstractSet.php',
|
||||
@@ -6219,6 +6482,40 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'SebastianBergmann\\Type\\UnknownType' => __DIR__ . '/..' . '/sebastian/type/src/type/UnknownType.php',
|
||||
'SebastianBergmann\\Type\\VoidType' => __DIR__ . '/..' . '/sebastian/type/src/type/VoidType.php',
|
||||
'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\AskToRunMigrations' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Commands/Concerns/AskToRunMigrations.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\AskToStarRepoOnGitHub' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Commands/Concerns/AskToStarRepoOnGitHub.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\PublishesResources' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Commands/Concerns/PublishesResources.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\SupportsServiceProviderInApp' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Commands/Concerns/SupportsServiceProviderInApp.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\Concerns\\SupportsStartWithEndWith' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Commands/Concerns/SupportsStartWithEndWith.php',
|
||||
'Spatie\\LaravelPackageTools\\Commands\\InstallCommand' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Commands/InstallCommand.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessAssets' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessAssets.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessBladeComponents' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessBladeComponents.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessCommands' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessCommands.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessConfigs' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessConfigs.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessInertia' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessInertia.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessMigrations' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessMigrations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessRoutes' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessRoutes.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessServiceProviders' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessServiceProviders.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessTranslations' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessTranslations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessViewComposers' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessViewComposers.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessViewSharedData' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessViewSharedData.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\PackageServiceProvider\\ProcessViews' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/PackageServiceProvider/ProcessViews.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasAssets' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasAssets.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasBladeComponents' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasBladeComponents.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasCommands' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasCommands.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasConfigs' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasConfigs.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasInertia' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasInertia.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasInstallCommand' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasInstallCommand.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasMigrations' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasMigrations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasRoutes' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasRoutes.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasServiceProviders' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasServiceProviders.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasTranslations' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasTranslations.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasViewComposers' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasViewComposers.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasViewSharedData' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasViewSharedData.php',
|
||||
'Spatie\\LaravelPackageTools\\Concerns\\Package\\HasViews' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Concerns/Package/HasViews.php',
|
||||
'Spatie\\LaravelPackageTools\\Exceptions\\InvalidPackage' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Exceptions/InvalidPackage.php',
|
||||
'Spatie\\LaravelPackageTools\\Package' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/Package.php',
|
||||
'Spatie\\LaravelPackageTools\\PackageServiceProvider' => __DIR__ . '/..' . '/spatie/laravel-package-tools/src/PackageServiceProvider.php',
|
||||
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Symfony\\Component\\Clock\\Clock' => __DIR__ . '/..' . '/symfony/clock/Clock.php',
|
||||
'Symfony\\Component\\Clock\\ClockAwareTrait' => __DIR__ . '/..' . '/symfony/clock/ClockAwareTrait.php',
|
||||
@@ -7093,37 +7390,6 @@ class ComposerStaticInitd8f67b824a1bf31c8999ead558d9b485
|
||||
'Symfony\\Component\\Translation\\Util\\XliffUtils' => __DIR__ . '/..' . '/symfony/translation/Util/XliffUtils.php',
|
||||
'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriter.php',
|
||||
'Symfony\\Component\\Translation\\Writer\\TranslationWriterInterface' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriterInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/type-info/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/type-info/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/type-info/Exception/LogicException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\RuntimeException' => __DIR__ . '/..' . '/symfony/type-info/Exception/RuntimeException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Exception\\UnsupportedException' => __DIR__ . '/..' . '/symfony/type-info/Exception/UnsupportedException.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type' => __DIR__ . '/..' . '/symfony/type-info/Type.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeContext\\TypeContext' => __DIR__ . '/..' . '/symfony/type-info/TypeContext/TypeContext.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeContext\\TypeContextFactory' => __DIR__ . '/..' . '/symfony/type-info/TypeContext/TypeContextFactory.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeFactoryTrait' => __DIR__ . '/..' . '/symfony/type-info/TypeFactoryTrait.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeIdentifier' => __DIR__ . '/..' . '/symfony/type-info/TypeIdentifier.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\PhpDocAwareReflectionTypeResolver' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/PhpDocAwareReflectionTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionParameterTypeResolver' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/ReflectionParameterTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionPropertyTypeResolver' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/ReflectionPropertyTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionReturnTypeResolver' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/ReflectionReturnTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\ReflectionTypeResolver' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/ReflectionTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\StringTypeResolver' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/StringTypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\TypeResolver' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/TypeResolver.php',
|
||||
'Symfony\\Component\\TypeInfo\\TypeResolver\\TypeResolverInterface' => __DIR__ . '/..' . '/symfony/type-info/TypeResolver/TypeResolverInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\ArrayShapeType' => __DIR__ . '/..' . '/symfony/type-info/Type/ArrayShapeType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\BackedEnumType' => __DIR__ . '/..' . '/symfony/type-info/Type/BackedEnumType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\BuiltinType' => __DIR__ . '/..' . '/symfony/type-info/Type/BuiltinType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\CollectionType' => __DIR__ . '/..' . '/symfony/type-info/Type/CollectionType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\CompositeTypeInterface' => __DIR__ . '/..' . '/symfony/type-info/Type/CompositeTypeInterface.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\EnumType' => __DIR__ . '/..' . '/symfony/type-info/Type/EnumType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\GenericType' => __DIR__ . '/..' . '/symfony/type-info/Type/GenericType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\IntersectionType' => __DIR__ . '/..' . '/symfony/type-info/Type/IntersectionType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\NullableType' => __DIR__ . '/..' . '/symfony/type-info/Type/NullableType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\ObjectType' => __DIR__ . '/..' . '/symfony/type-info/Type/ObjectType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\TemplateType' => __DIR__ . '/..' . '/symfony/type-info/Type/TemplateType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\UnionType' => __DIR__ . '/..' . '/symfony/type-info/Type/UnionType.php',
|
||||
'Symfony\\Component\\TypeInfo\\Type\\WrappingTypeInterface' => __DIR__ . '/..' . '/symfony/type-info/Type/WrappingTypeInterface.php',
|
||||
'Symfony\\Component\\Uid\\AbstractUid' => __DIR__ . '/..' . '/symfony/uid/AbstractUid.php',
|
||||
'Symfony\\Component\\Uid\\BinaryUtil' => __DIR__ . '/..' . '/symfony/uid/BinaryUtil.php',
|
||||
'Symfony\\Component\\Uid\\Command\\GenerateUlidCommand' => __DIR__ . '/..' . '/symfony/uid/Command/GenerateUlidCommand.php',
|
||||
|
||||
Vendored
+107
-347
@@ -136,54 +136,56 @@
|
||||
"install-path": "../carbonphp/carbon-doctrine-types"
|
||||
},
|
||||
{
|
||||
"name": "darkaonline/l5-swagger",
|
||||
"version": "11.1.0",
|
||||
"version_normalized": "11.1.0.0",
|
||||
"name": "dedoc/scramble",
|
||||
"version": "v0.13.28",
|
||||
"version_normalized": "0.13.28.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DarkaOnLine/L5-Swagger.git",
|
||||
"reference": "110b59478c9417c13794cef62a82b019433d642a"
|
||||
"url": "https://github.com/dedoc/scramble.git",
|
||||
"reference": "e50927c732a341bb743671066892eec6bd2e958b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/110b59478c9417c13794cef62a82b019433d642a",
|
||||
"reference": "110b59478c9417c13794cef62a82b019433d642a",
|
||||
"url": "https://api.github.com/repos/dedoc/scramble/zipball/e50927c732a341bb743671066892eec6bd2e958b",
|
||||
"reference": "e50927c732a341bb743671066892eec6bd2e958b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"laravel/framework": "^13.0 || ^12.1 || ^11.44",
|
||||
"php": "^8.2",
|
||||
"swagger-api/swagger-ui": ">=5.18.3",
|
||||
"symfony/yaml": "^5.0 || ^6.0 || ^7.0 || ^8.0",
|
||||
"zircote/swagger-php": "^6.0"
|
||||
"illuminate/contracts": "^10.0|^11.0|^12.0|^13.0",
|
||||
"myclabs/deep-copy": "^1.12",
|
||||
"nikic/php-parser": "^5.0",
|
||||
"php": "^8.1",
|
||||
"phpstan/phpdoc-parser": "^1.0|^2.0",
|
||||
"spatie/laravel-package-tools": "^1.9.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "1.*",
|
||||
"orchestra/testbench": "^11.0 || ^10.0 || ^9.0 || ^8.0 || 7.* || ^6.15 || 5.*",
|
||||
"php-coveralls/php-coveralls": "^2.0",
|
||||
"phpstan/phpstan": "^2.1",
|
||||
"phpunit/phpunit": "^11.0"
|
||||
"larastan/larastan": "^3.3",
|
||||
"laravel/pint": "^v1.1.0",
|
||||
"nunomaduro/collision": "^7.0|^8.0",
|
||||
"orchestra/testbench": "^8.0|^9.0|^10.0|^11.0",
|
||||
"pestphp/pest": "^2.34|^3.7|^4.4",
|
||||
"pestphp/pest-plugin-laravel": "^2.3|^3.1|^4.1",
|
||||
"phpstan/extension-installer": "^1.4",
|
||||
"phpstan/phpstan-deprecation-rules": "^2.0",
|
||||
"phpstan/phpstan-phpunit": "^2.0",
|
||||
"phpunit/phpunit": "^10.5|^11.5.3|^12.5.12",
|
||||
"spatie/laravel-permission": "^6.10|^7.2",
|
||||
"spatie/pest-plugin-snapshots": "^2.1"
|
||||
},
|
||||
"time": "2026-06-12T10:04:41+00:00",
|
||||
"time": "2026-06-14T18:21:12+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"aliases": {
|
||||
"L5Swagger": "L5Swagger\\L5SwaggerFacade"
|
||||
},
|
||||
"providers": [
|
||||
"L5Swagger\\L5SwaggerServiceProvider"
|
||||
"Dedoc\\Scramble\\ScrambleServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/helpers.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"L5Swagger\\": "src"
|
||||
"Dedoc\\Scramble\\": "src",
|
||||
"Dedoc\\Scramble\\Database\\Factories\\": "database/factories"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
@@ -192,31 +194,29 @@
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Darius Matulionis",
|
||||
"email": "darius@matulionis.lt"
|
||||
"name": "Roman Lytvynenko",
|
||||
"email": "litvinenko95@gmail.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "OpenApi or Swagger integration to Laravel",
|
||||
"description": "Automatic generation of API documentation for Laravel applications.",
|
||||
"homepage": "https://github.com/dedoc/scramble",
|
||||
"keywords": [
|
||||
"api",
|
||||
"documentation",
|
||||
"laravel",
|
||||
"openapi",
|
||||
"specification",
|
||||
"swagger",
|
||||
"ui"
|
||||
"openapi"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/DarkaOnLine/L5-Swagger/issues",
|
||||
"source": "https://github.com/DarkaOnLine/L5-Swagger/tree/11.1.0"
|
||||
"issues": "https://github.com/dedoc/scramble/issues",
|
||||
"source": "https://github.com/dedoc/scramble/tree/v0.13.28"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/DarkaOnLine",
|
||||
"url": "https://github.com/romalytvynenko",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"install-path": "../darkaonline/l5-swagger"
|
||||
"install-path": "../dedoc/scramble"
|
||||
},
|
||||
{
|
||||
"name": "dflydev/dot-access-data",
|
||||
@@ -4676,71 +4676,6 @@
|
||||
},
|
||||
"install-path": "../psy/psysh"
|
||||
},
|
||||
{
|
||||
"name": "radebatz/type-info-extras",
|
||||
"version": "1.0.7",
|
||||
"version_normalized": "1.0.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DerManoMann/type-info-extras.git",
|
||||
"reference": "95a524a74a61648b44e355cb33d38db4b17ef5ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/DerManoMann/type-info-extras/zipball/95a524a74a61648b44e355cb33d38db4b17ef5ce",
|
||||
"reference": "95a524a74a61648b44e355cb33d38db4b17ef5ce",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"phpstan/phpdoc-parser": "^2.0",
|
||||
"symfony/type-info": "^7.3.8 || ^7.4.1 || ^8.0 || ^8.1-@dev"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.70",
|
||||
"phpstan/phpstan": "^2.1",
|
||||
"phpunit/phpunit": "^11.0"
|
||||
},
|
||||
"time": "2026-03-06T22:40:29+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Radebatz\\TypeInfoExtras\\": "src"
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Martin Rademacher",
|
||||
"email": "mano@radebatz.org"
|
||||
}
|
||||
],
|
||||
"description": "Extras for symfony/type-info",
|
||||
"homepage": "http://radebatz.net/mano/",
|
||||
"keywords": [
|
||||
"component",
|
||||
"symfony",
|
||||
"type-info",
|
||||
"types"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/DerManoMann/type-info-extras/issues",
|
||||
"source": "https://github.com/DerManoMann/type-info-extras/tree/1.0.7"
|
||||
},
|
||||
"install-path": "../radebatz/type-info-extras"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
"version": "3.0.3",
|
||||
@@ -5979,6 +5914,70 @@
|
||||
],
|
||||
"install-path": "../sebastian/version"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-package-tools",
|
||||
"version": "1.93.1",
|
||||
"version_normalized": "1.93.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-package-tools.git",
|
||||
"reference": "d5552849801f2642aea710557463234b59ef65eb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d5552849801f2642aea710557463234b59ef65eb",
|
||||
"reference": "d5552849801f2642aea710557463234b59ef65eb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^10.0|^11.0|^12.0|^13.0",
|
||||
"php": "^8.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.5",
|
||||
"orchestra/testbench": "^8.0|^9.2|^10.0|^11.0",
|
||||
"pestphp/pest": "^2.1|^3.1|^4.0",
|
||||
"phpunit/php-code-coverage": "^10.0|^11.0|^12.0",
|
||||
"phpunit/phpunit": "^10.5|^11.5|^12.5",
|
||||
"spatie/pest-plugin-test-time": "^2.2|^3.0"
|
||||
},
|
||||
"time": "2026-05-19T14:06:37+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\LaravelPackageTools\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Freek Van der Herten",
|
||||
"email": "freek@spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Tools for creating Laravel packages",
|
||||
"homepage": "https://github.com/spatie/laravel-package-tools",
|
||||
"keywords": [
|
||||
"laravel-package-tools",
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/laravel-package-tools/issues",
|
||||
"source": "https://github.com/spatie/laravel-package-tools/tree/1.93.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/spatie",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"install-path": "../spatie/laravel-package-tools"
|
||||
},
|
||||
{
|
||||
"name": "staabm/side-effects-detector",
|
||||
"version": "1.0.5",
|
||||
@@ -6034,70 +6033,6 @@
|
||||
],
|
||||
"install-path": "../staabm/side-effects-detector"
|
||||
},
|
||||
{
|
||||
"name": "swagger-api/swagger-ui",
|
||||
"version": "v5.32.6",
|
||||
"version_normalized": "5.32.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/swagger-api/swagger-ui.git",
|
||||
"reference": "dcdca62c8b64a0a54e4decd4e1a6c3c712fdcc60"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/dcdca62c8b64a0a54e4decd4e1a6c3c712fdcc60",
|
||||
"reference": "dcdca62c8b64a0a54e4decd4e1a6c3c712fdcc60",
|
||||
"shasum": ""
|
||||
},
|
||||
"time": "2026-05-12T09:35:37+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"Apache-2.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Anna Bodnia",
|
||||
"email": "anna.bodnia@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Buu Nguyen",
|
||||
"email": "buunguyen@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Josh Ponelat",
|
||||
"email": "jponelat@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Kyle Shockey",
|
||||
"email": "kyleshockey1@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Robert Barnwell",
|
||||
"email": "robert@robertismy.name"
|
||||
},
|
||||
{
|
||||
"name": "Sahar Jafari",
|
||||
"email": "shr.jafari@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.",
|
||||
"homepage": "http://swagger.io",
|
||||
"keywords": [
|
||||
"api",
|
||||
"documentation",
|
||||
"openapi",
|
||||
"specification",
|
||||
"swagger",
|
||||
"ui"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/swagger-api/swagger-ui/issues",
|
||||
"source": "https://github.com/swagger-api/swagger-ui/tree/v5.32.6"
|
||||
},
|
||||
"install-path": "../swagger-api/swagger-ui"
|
||||
},
|
||||
{
|
||||
"name": "symfony/clock",
|
||||
"version": "v7.4.8",
|
||||
@@ -8526,92 +8461,6 @@
|
||||
],
|
||||
"install-path": "../symfony/translation-contracts"
|
||||
},
|
||||
{
|
||||
"name": "symfony/type-info",
|
||||
"version": "v7.4.9",
|
||||
"version_normalized": "7.4.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/type-info.git",
|
||||
"reference": "cafeedbf157b890e94ac5b83eaed85595106d5d6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/type-info/zipball/cafeedbf157b890e94ac5b83eaed85595106d5d6",
|
||||
"reference": "cafeedbf157b890e94ac5b83eaed85595106d5d6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"psr/container": "^1.1|^2.0",
|
||||
"symfony/deprecation-contracts": "^2.5|^3"
|
||||
},
|
||||
"conflict": {
|
||||
"phpstan/phpdoc-parser": "<1.30"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpdoc-parser": "^1.30|^2.0"
|
||||
},
|
||||
"time": "2026-04-22T15:21:55+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\TypeInfo\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Mathias Arlaud",
|
||||
"email": "mathias.arlaud@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Baptiste LEDUC",
|
||||
"email": "baptiste.leduc@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Extracts PHP types information.",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"PHPStan",
|
||||
"phpdoc",
|
||||
"symfony",
|
||||
"type"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/type-info/tree/v7.4.9"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"install-path": "../symfony/type-info"
|
||||
},
|
||||
{
|
||||
"name": "symfony/uid",
|
||||
"version": "v7.4.9",
|
||||
@@ -9136,103 +8985,11 @@
|
||||
}
|
||||
],
|
||||
"install-path": "../voku/portable-ascii"
|
||||
},
|
||||
{
|
||||
"name": "zircote/swagger-php",
|
||||
"version": "6.2.0",
|
||||
"version_normalized": "6.2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/zircote/swagger-php.git",
|
||||
"reference": "060af3bb9c4cba6a5859aba2c51cd1c129479410"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/zircote/swagger-php/zipball/060af3bb9c4cba6a5859aba2c51cd1c129479410",
|
||||
"reference": "060af3bb9c4cba6a5859aba2c51cd1c129479410",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"nikic/php-parser": "^4.19 || ^5.0",
|
||||
"php": ">=8.2",
|
||||
"phpstan/phpdoc-parser": "^2.0",
|
||||
"psr/log": "^1.1 || ^2.0 || ^3.0",
|
||||
"radebatz/type-info-extras": "^1.0.2",
|
||||
"symfony/console": "^7.4 || ^8.0",
|
||||
"symfony/deprecation-contracts": "^2 || ^3",
|
||||
"symfony/finder": "^5.0 || ^6.0 || ^7.0 || ^8.0",
|
||||
"symfony/yaml": "^5.4 || ^6.0 || ^7.0 || ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/process": ">=6, <6.4.14"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer/package-versions-deprecated": "^1.11",
|
||||
"doctrine/annotations": "^2.0",
|
||||
"friendsofphp/php-cs-fixer": "^3.62.0",
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"phpunit/phpunit": "^11.5 || >=12.5.22",
|
||||
"rector/rector": "^2.3.1"
|
||||
},
|
||||
"time": "2026-06-14T06:51:56+00:00",
|
||||
"bin": [
|
||||
"bin/openapi"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "6.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"OpenApi\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"Apache-2.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Robert Allen",
|
||||
"email": "zircote@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Bob Fanger",
|
||||
"email": "bfanger@gmail.com",
|
||||
"homepage": "https://bfanger.nl"
|
||||
},
|
||||
{
|
||||
"name": "Martin Rademacher",
|
||||
"email": "mano@radebatz.net",
|
||||
"homepage": "https://radebatz.net"
|
||||
}
|
||||
],
|
||||
"description": "Generate interactive documentation for your RESTful API using PHP attributes (preferred) or PHPDoc annotations",
|
||||
"homepage": "https://github.com/zircote/swagger-php",
|
||||
"keywords": [
|
||||
"api",
|
||||
"json",
|
||||
"rest",
|
||||
"service discovery"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/zircote/swagger-php/issues",
|
||||
"source": "https://github.com/zircote/swagger-php/tree/6.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/zircote",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"install-path": "../zircote/swagger-php"
|
||||
}
|
||||
],
|
||||
"dev": true,
|
||||
"dev-package-names": [
|
||||
"dedoc/scramble",
|
||||
"fakerphp/faker",
|
||||
"filp/whoops",
|
||||
"hamcrest/hamcrest-php",
|
||||
@@ -9244,6 +9001,7 @@
|
||||
"nunomaduro/collision",
|
||||
"phar-io/manifest",
|
||||
"phar-io/version",
|
||||
"phpstan/phpdoc-parser",
|
||||
"phpunit/php-code-coverage",
|
||||
"phpunit/php-file-iterator",
|
||||
"phpunit/php-invoker",
|
||||
@@ -9265,7 +9023,9 @@
|
||||
"sebastian/recursion-context",
|
||||
"sebastian/type",
|
||||
"sebastian/version",
|
||||
"spatie/laravel-package-tools",
|
||||
"staabm/side-effects-detector",
|
||||
"symfony/yaml",
|
||||
"theseer/tokenizer"
|
||||
]
|
||||
}
|
||||
|
||||
Vendored
+26
-53
@@ -1,9 +1,9 @@
|
||||
<?php return array(
|
||||
'root' => array(
|
||||
'name' => 'laravel/laravel',
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'reference' => null,
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'reference' => '2f805a233dbd854665db766b12582701833e8622',
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
@@ -34,21 +34,21 @@
|
||||
0 => '*',
|
||||
),
|
||||
),
|
||||
'darkaonline/l5-swagger' => array(
|
||||
'pretty_version' => '11.1.0',
|
||||
'version' => '11.1.0.0',
|
||||
'reference' => '110b59478c9417c13794cef62a82b019433d642a',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../darkaonline/l5-swagger',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'davedevelopment/hamcrest-php' => array(
|
||||
'dev_requirement' => true,
|
||||
'replaced' => array(
|
||||
0 => '*',
|
||||
),
|
||||
),
|
||||
'dedoc/scramble' => array(
|
||||
'pretty_version' => 'v0.13.28',
|
||||
'version' => '0.13.28.0',
|
||||
'reference' => 'e50927c732a341bb743671066892eec6bd2e958b',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../dedoc/scramble',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'dflydev/dot-access-data' => array(
|
||||
'pretty_version' => 'v3.0.3',
|
||||
'version' => '3.0.3.0',
|
||||
@@ -407,9 +407,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'laravel/laravel' => array(
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'reference' => null,
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'reference' => '2f805a233dbd854665db766b12582701833e8622',
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
@@ -662,7 +662,7 @@
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../phpstan/phpdoc-parser',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'phpunit/php-code-coverage' => array(
|
||||
'pretty_version' => '11.0.12',
|
||||
@@ -848,15 +848,6 @@
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'radebatz/type-info-extras' => array(
|
||||
'pretty_version' => '1.0.7',
|
||||
'version' => '1.0.7.0',
|
||||
'reference' => '95a524a74a61648b44e355cb33d38db4b17ef5ce',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../radebatz/type-info-extras',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'ralouphie/getallheaders' => array(
|
||||
'pretty_version' => '3.0.3',
|
||||
'version' => '3.0.3.0',
|
||||
@@ -1025,6 +1016,15 @@
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'spatie/laravel-package-tools' => array(
|
||||
'pretty_version' => '1.93.1',
|
||||
'version' => '1.93.1.0',
|
||||
'reference' => 'd5552849801f2642aea710557463234b59ef65eb',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../spatie/laravel-package-tools',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'spatie/once' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
@@ -1040,15 +1040,6 @@
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'swagger-api/swagger-ui' => array(
|
||||
'pretty_version' => 'v5.32.6',
|
||||
'version' => '5.32.6.0',
|
||||
'reference' => 'dcdca62c8b64a0a54e4decd4e1a6c3c712fdcc60',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../swagger-api/swagger-ui',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/clock' => array(
|
||||
'pretty_version' => 'v7.4.8',
|
||||
'version' => '7.4.8.0',
|
||||
@@ -1313,15 +1304,6 @@
|
||||
0 => '2.3|3.0',
|
||||
),
|
||||
),
|
||||
'symfony/type-info' => array(
|
||||
'pretty_version' => 'v7.4.9',
|
||||
'version' => '7.4.9.0',
|
||||
'reference' => 'cafeedbf157b890e94ac5b83eaed85595106d5d6',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/type-info',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/uid' => array(
|
||||
'pretty_version' => 'v7.4.9',
|
||||
'version' => '7.4.9.0',
|
||||
@@ -1347,7 +1329,7 @@
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/yaml',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'theseer/tokenizer' => array(
|
||||
'pretty_version' => '1.3.1',
|
||||
@@ -1385,14 +1367,5 @@
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'zircote/swagger-php' => array(
|
||||
'pretty_version' => '6.2.0',
|
||||
'version' => '6.2.0.0',
|
||||
'reference' => '060af3bb9c4cba6a5859aba2c51cd1c129479410',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../zircote/swagger-php',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -1,273 +0,0 @@
|
||||
---
|
||||
name: write-tests
|
||||
description: Write PHPUnit tests for the L5-Swagger Laravel package using Orchestra Testbench, following project conventions for mocking, config manipulation, and PHPUnit attributes
|
||||
allowed-tools: Read, Edit, Write, Bash(vendor/bin/phpunit *), Bash(composer run-script phpunit), Bash(composer run-script analyse), Bash(grep *), Bash(find *), Bash(ls *), Bash(diff *), Bash(cat *)
|
||||
---
|
||||
|
||||
# Write Tests for L5-Swagger
|
||||
|
||||
Generate PHPUnit tests for the L5-Swagger package following its established patterns.
|
||||
|
||||
## Context
|
||||
|
||||
- Test runner: !`composer run-script phpunit -- --version 2>/dev/null | head -1`
|
||||
- Existing test files: !`ls tests/Unit/*.php 2>/dev/null | xargs -I{} basename {}`
|
||||
- Source files: !`ls src/*.php src/**/*.php 2>/dev/null | grep -v vendor`
|
||||
|
||||
## Project Test Architecture
|
||||
|
||||
All tests extend `Tests\Unit\TestCase` which extends Orchestra Testbench's `OrchestraTestCase`. This gives every test a full Laravel application with the `L5SwaggerServiceProvider` registered.
|
||||
|
||||
### Base TestCase provides:
|
||||
|
||||
| Property / Method | Purpose |
|
||||
|---|---|
|
||||
| `$this->configFactory` | `ConfigFactory` instance resolved from the app container |
|
||||
| `$this->generator` | `Generator` instance resolved from the app container |
|
||||
| `$this->fileSystem` | PHPUnit mock of `Illuminate\Filesystem\Filesystem` (created via `createMock`) |
|
||||
| `setAnnotationsPath()` | Points config to `tests/storage/annotations/OpenApi/` fixtures, enables `generate_always` and `generate_yaml_copy`, sets `L5_SWAGGER_CONST_HOST` constant, rebuilds the generator |
|
||||
| `makeGeneratorWithMockedFileSystem()` | Injects `$this->fileSystem` mock into the generator via reflection |
|
||||
| `setCustomDocsFileName($name, $type)` | Overrides docs filename in config for JSON or YAML |
|
||||
| `crateJsonDocumentationFile()` | Creates a minimal `{}` JSON docs file |
|
||||
| `createYamlDocumentationFile()` | Creates an empty YAML docs file |
|
||||
| `jsonDocsFile()` | Returns absolute path to the JSON docs file (creates dir if needed) |
|
||||
| `yamlDocsFile()` | Returns absolute path to the YAML docs file (creates dir if needed) |
|
||||
| `copyAssets()` | Copies swagger-ui dist into testbench vendor dir (runs in setUp) |
|
||||
| `deleteAssets()` | Removes the copied swagger-ui assets |
|
||||
|
||||
### tearDown cleanup
|
||||
|
||||
The base TestCase automatically deletes generated JSON/YAML docs files and the docs directory in `tearDown()`. You do NOT need to clean up generated files.
|
||||
|
||||
## Instructions
|
||||
|
||||
### Step 1: Determine what to test
|
||||
|
||||
Read the source file(s) the user wants tested. Identify:
|
||||
- Public methods and their behavior
|
||||
- Error/exception paths
|
||||
- Config-driven behavior branches
|
||||
- Interactions with the filesystem or external dependencies
|
||||
|
||||
### Step 2: Create or edit the test file
|
||||
|
||||
**File location**: `tests/Unit/{ClassName}Test.php`
|
||||
|
||||
**Required class-level attributes** (PHPUnit 11 attributes, not annotations):
|
||||
```php
|
||||
#[TestDox('Human readable class description')]
|
||||
#[CoversClass(FullyQualifiedClassName::class)]
|
||||
```
|
||||
|
||||
**Required test method conventions**:
|
||||
- Method names: `testItDoesX` or `testCanDoX` (camelCase, descriptive)
|
||||
- Visibility: `public function testXxx(): void`
|
||||
- Add `@throws` docblock for expected exceptions
|
||||
- Use `expectException()` and `expectExceptionMessage()` for exception tests
|
||||
|
||||
### Step 3: Follow these patterns based on what you're testing
|
||||
|
||||
#### Pattern A: Testing Generator behavior with mocked filesystem
|
||||
|
||||
Use when testing `Generator` methods that interact with the filesystem (directory creation, file writing, permission checks).
|
||||
|
||||
```php
|
||||
public function testItThrowsExceptionIfSomethingFails(): void
|
||||
{
|
||||
$this->setAnnotationsPath();
|
||||
|
||||
$config = $this->configFactory->documentationConfig();
|
||||
$docs = $config['paths']['docs'];
|
||||
|
||||
// Set up filesystem mock expectations
|
||||
$this->fileSystem
|
||||
->expects($this->once())
|
||||
->method('exists')
|
||||
->with($docs)
|
||||
->willReturn(true);
|
||||
|
||||
// ... more mock setup ...
|
||||
|
||||
$this->expectException(L5SwaggerException::class);
|
||||
$this->expectExceptionMessage('Expected error message');
|
||||
|
||||
// IMPORTANT: call makeGeneratorWithMockedFileSystem() AFTER mock setup
|
||||
$this->makeGeneratorWithMockedFileSystem();
|
||||
$this->generator->generateDocs();
|
||||
}
|
||||
```
|
||||
|
||||
#### Pattern B: Testing full generation pipeline (integration)
|
||||
|
||||
Use when testing that docs generate correctly with specific config.
|
||||
|
||||
```php
|
||||
public function testCanGenerateWithSpecificConfig(): void
|
||||
{
|
||||
$this->setAnnotationsPath();
|
||||
|
||||
// Optionally override config
|
||||
$cfg = config('l5-swagger.documentations.default');
|
||||
$cfg['paths']['base'] = 'https://custom-server.url';
|
||||
config(['l5-swagger' => [
|
||||
'default' => 'default',
|
||||
'documentations' => ['default' => $cfg],
|
||||
'defaults' => config('l5-swagger.defaults'),
|
||||
]]);
|
||||
|
||||
$this->generator->generateDocs();
|
||||
|
||||
$this->assertFileExists($this->jsonDocsFile());
|
||||
|
||||
// Verify via HTTP response
|
||||
$this->get(route('l5-swagger.default.docs'))
|
||||
->assertSee('expected content')
|
||||
->assertStatus(200);
|
||||
}
|
||||
```
|
||||
|
||||
#### Pattern C: Testing routes and HTTP responses
|
||||
|
||||
Use when testing controller behavior, middleware, or route registration.
|
||||
|
||||
```php
|
||||
public function testRouteReturnsExpectedResponse(): void
|
||||
{
|
||||
// For tests needing generated docs, call setAnnotationsPath() first
|
||||
// For tests checking behavior without docs, don't call it
|
||||
|
||||
$this->get(route('l5-swagger.default.docs'))
|
||||
->assertStatus(200)
|
||||
->assertSee('expected')
|
||||
->assertHeader('Content-Type', 'application/json');
|
||||
}
|
||||
```
|
||||
|
||||
#### Pattern D: Testing config merging
|
||||
|
||||
Use when testing `ConfigFactory` behavior.
|
||||
|
||||
```php
|
||||
#[DataProvider('configDataProvider')]
|
||||
public function testConfigMergesCorrectly(array $data, array $expected): void
|
||||
{
|
||||
config(['l5-swagger' => array_merge($data, [
|
||||
'defaults' => [/* base defaults */],
|
||||
])]);
|
||||
|
||||
$config = $this->configFactory->documentationConfig();
|
||||
|
||||
$this->assertSame($expected['key'], $config['key']);
|
||||
}
|
||||
|
||||
public static function configDataProvider(): \Generator
|
||||
{
|
||||
yield 'descriptive case name' => [
|
||||
'data' => [/* input */],
|
||||
'expected' => [/* expected output */],
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
#### Pattern E: Mocking the Generator via GeneratorFactory
|
||||
|
||||
Use when testing controllers/routes that call `generateDocs()` and you want to control generator behavior without actual generation.
|
||||
|
||||
```php
|
||||
public function testBehaviorWhenGenerationFails(): void
|
||||
{
|
||||
$mockGenerator = $this->createMock(Generator::class);
|
||||
$mockGeneratorFactory = $this->createMock(GeneratorFactory::class);
|
||||
$mockGeneratorFactory->method('make')->willReturn($mockGenerator);
|
||||
app()->extend(GeneratorFactory::class, function () use ($mockGeneratorFactory) {
|
||||
return $mockGeneratorFactory;
|
||||
});
|
||||
|
||||
$mockGenerator->expects($this->once())
|
||||
->method('generateDocs')
|
||||
->willThrowException(new L5SwaggerException());
|
||||
|
||||
$this->get(route('l5-swagger.default.docs'))->assertNotFound();
|
||||
}
|
||||
```
|
||||
|
||||
### Step 4: Config manipulation pattern
|
||||
|
||||
When overriding config, always preserve the full structure:
|
||||
|
||||
```php
|
||||
config(['l5-swagger' => [
|
||||
'default' => 'default',
|
||||
'documentations' => [
|
||||
'default' => $cfg, // your modified config
|
||||
],
|
||||
'defaults' => config('l5-swagger.defaults'),
|
||||
]]);
|
||||
```
|
||||
|
||||
After changing config that affects the generator, call `$this->makeGenerator()` to rebuild it.
|
||||
|
||||
### Step 5: Run and verify with coverage gate
|
||||
|
||||
New tests must never decrease code coverage. Follow this sequence:
|
||||
|
||||
#### 5a. Capture baseline coverage BEFORE writing tests
|
||||
|
||||
```bash
|
||||
vendor/bin/phpunit --coverage-text --only-summary-for-coverage-text 2>&1 | tee /tmp/l5-coverage-before.txt
|
||||
```
|
||||
|
||||
Extract the baseline percentages:
|
||||
|
||||
```bash
|
||||
grep -E 'Lines:|Methods:|Classes:' /tmp/l5-coverage-before.txt
|
||||
```
|
||||
|
||||
Record both **Lines** and **Methods** percentages — these are the numbers that must not drop.
|
||||
|
||||
#### 5b. Run the new/modified tests in isolation
|
||||
|
||||
```bash
|
||||
vendor/bin/phpunit tests/Unit/YourNewTest.php --testdox
|
||||
```
|
||||
|
||||
#### 5c. Run the full suite with coverage AFTER adding tests
|
||||
|
||||
```bash
|
||||
vendor/bin/phpunit --coverage-text --only-summary-for-coverage-text 2>&1 | tee /tmp/l5-coverage-after.txt
|
||||
```
|
||||
|
||||
#### 5d. Compare coverage
|
||||
|
||||
```bash
|
||||
diff /tmp/l5-coverage-before.txt /tmp/l5-coverage-after.txt
|
||||
```
|
||||
|
||||
Verify:
|
||||
- **Lines coverage**: must be >= baseline
|
||||
- **Methods coverage**: must be >= baseline
|
||||
|
||||
If coverage decreased, identify the cause:
|
||||
1. A new test file with `#[CoversClass]` pulled in a class that was previously uncovered — add tests for the uncovered methods
|
||||
2. A test is covering code paths that were already covered but skipping others — add assertions for the missing branches
|
||||
3. A new fixture or helper class landed under `src/` — it needs its own tests
|
||||
|
||||
**Do not proceed until coverage is equal to or higher than the baseline.**
|
||||
|
||||
#### 5e. Run static analysis
|
||||
|
||||
```bash
|
||||
composer run-script analyse
|
||||
```
|
||||
|
||||
## Important Rules
|
||||
|
||||
- **Coverage must not decrease.** Always capture baseline coverage before writing tests and verify it afterwards. If a `#[CoversClass]` attribute pulls in a class with uncovered methods, you must add tests for those methods too — not just remove the attribute. This is a hard gate: do not report the task as complete until coverage is verified equal or higher.
|
||||
- Use PHP 8.2+ features: constructor property promotion, union types, named arguments, match expressions
|
||||
- Use PHPUnit 11 **attributes** (`#[TestDox]`, `#[CoversClass]`, `#[DataProvider]`), NOT docblock annotations (`@testdox`, `@covers`, `@dataProvider`)
|
||||
- Data providers must be `public static` methods returning `\Generator` (using `yield`)
|
||||
- Fixture annotations live in `tests/storage/annotations/OpenApi/` — read existing ones before creating new fixtures
|
||||
- The `$this->fileSystem` mock is created fresh via `#[Before]` attribute before each test — no shared mock state between tests
|
||||
- Route names follow the pattern `l5-swagger.{documentation}.{type}` where type is `api`, `docs`, `asset`, or `oauth2_callback`
|
||||
- The test environment sets `SWAGGER_VERSION=3.0` and `APP_KEY` via `phpunit.xml`
|
||||
- StyleCI enforces Laravel preset — don't fight the code style
|
||||
-83
@@ -1,83 +0,0 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
L5-Swagger is a Laravel package that integrates swagger-php and swagger-ui into Laravel. It does NOT implement the OpenAPI spec — it wraps [swagger-php](https://github.com/zircote/swagger-php) for annotation scanning and [swagger-ui](https://github.com/swagger-api/swagger-ui) for the documentation frontend.
|
||||
|
||||
Supports multiple independent documentation sets, each with its own routes, paths, and settings via a two-level config: `defaults` (shared) merged with `documentations.{name}` (per-doc overrides). `ConfigFactory::mergeConfig()` recursively merges associative arrays.
|
||||
|
||||
## Development Commands
|
||||
|
||||
```bash
|
||||
# Run all tests
|
||||
composer run-script phpunit
|
||||
|
||||
# Run a single test file
|
||||
vendor/bin/phpunit tests/Unit/GeneratorTest.php
|
||||
|
||||
# Run a single test method
|
||||
vendor/bin/phpunit --filter testCanGenerateApiJsonFile
|
||||
|
||||
# Static analysis (PHPStan level 8)
|
||||
composer run-script analyse
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
### Generation Pipeline
|
||||
|
||||
`GeneratorFactory::make(documentation)` → creates `Generator` with merged config → `Generator::generateDocs()` chains:
|
||||
|
||||
1. `prepareDirectory()` — ensure output dir exists/writable
|
||||
2. `defineConstants()` — define PHP constants from config (usable in annotations)
|
||||
3. `scanFilesForDocumentation()` — swagger-php scans PHP files using `ReflectionAnalyser` + `AttributeAnnotationFactory`
|
||||
4. `populateServers()` — injects base path as a Server URL
|
||||
5. `saveJson()` — writes JSON, then `SecurityDefinitions::generate()` injects security schemes
|
||||
6. `makeYamlCopy()` — optional YAML conversion via `symfony/yaml`
|
||||
|
||||
Custom processors can be positioned relative to any existing processor via `scanOptions.processors` using `['class' => ..., 'after' => ...]` syntax. A `CustomGeneratorInterface` implementation can be provided via `scanOptions.generator_factory` to supply a pre-configured `OpenApi\Generator`.
|
||||
|
||||
### Service Container Bindings
|
||||
|
||||
`L5SwaggerServiceProvider` binds `Generator::class` as a factory — each resolution creates a new Generator via `GeneratorFactory::make()` using the `l5-swagger.default` documentation name. The `GenerateDocsCommand` is registered as a singleton under `command.l5-swagger.generate`.
|
||||
|
||||
### Routing
|
||||
|
||||
Routes are registered dynamically in `src/routes.php` by iterating all documentation sets. Each set gets up to 4 routes (api UI, docs JSON/YAML, assets, OAuth2 callback), all wrapped with the `Config` middleware that sets the active documentation context. Route names follow `l5-swagger.{documentation}.{type}`.
|
||||
|
||||
### Helpers
|
||||
|
||||
`swagger_ui_dist_path()` resolves swagger-ui asset paths with an allowlist of permitted files. `l5_swagger_asset()` generates versioned (cache-busted) URLs for those assets.
|
||||
|
||||
## Testing
|
||||
|
||||
Tests use Orchestra Testbench (`Tests\Unit\TestCase` extends `OrchestraTestCase`) for a full Laravel environment.
|
||||
|
||||
Key patterns:
|
||||
- `$this->fileSystem` is a PHPUnit mock of `Filesystem`, injected into `Generator` via reflection in `makeGeneratorWithMockedFileSystem()`
|
||||
- `setAnnotationsPath()` reconfigures the app to use `tests/storage/annotations/OpenApi/` fixtures and rebuilds the generator
|
||||
- `setCustomDocsFileName()` overrides the output filename for JSON/YAML format tests
|
||||
- `copyAssets()` copies swagger-ui dist into testbench's vendor directory in setUp; `tearDown` cleans up generated docs
|
||||
- PHPUnit attributes: `#[TestDox('...')]`, `#[CoversClass(...)]`
|
||||
|
||||
Test fixtures live in `tests/storage/annotations/OpenApi/` with sample PHP attribute annotations.
|
||||
|
||||
## Code Style
|
||||
|
||||
- **StyleCI**: `preset: laravel` — enforced automatically
|
||||
- **PHPStan**: Level 8, analyzes `src/` and `tests/Unit/`, ignores `argument.templateType`
|
||||
- PHP 8.2+ required; uses constructor property promotion, union types, named arguments
|
||||
- Supports Laravel 11.44+, 12.1+, and 13.0+
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Purpose |
|
||||
|---|---|
|
||||
| `L5_SWAGGER_GENERATE_ALWAYS` | Regenerate docs on every request (dev mode) |
|
||||
| `L5_SWAGGER_GENERATE_YAML_COPY` | Also create YAML version |
|
||||
| `L5_SWAGGER_CONST_HOST` | Default host constant for annotations |
|
||||
| `L5_SWAGGER_OPEN_API_SPEC_VERSION` | `3.0.0` (default) or `3.1.0` |
|
||||
| `L5_SWAGGER_UI_DARK_MODE` | Dark mode for Swagger UI |
|
||||
| `SWAGGER_VERSION` | Used in tests to set OpenAPI version |
|
||||
-65
@@ -1,65 +0,0 @@
|
||||
{
|
||||
"name": "darkaonline/l5-swagger",
|
||||
"description": "OpenApi or Swagger integration to Laravel",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"swagger",
|
||||
"api",
|
||||
"OpenApi",
|
||||
"specification",
|
||||
"documentation",
|
||||
"API",
|
||||
"UI"
|
||||
],
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Darius Matulionis",
|
||||
"email": "darius@matulionis.lt"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"L5Swagger\\": "src"
|
||||
},
|
||||
"files": [
|
||||
"src/helpers.php"
|
||||
]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Tests\\": "tests"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.2",
|
||||
"laravel/framework": "^13.0 || ^12.1 || ^11.44",
|
||||
"zircote/swagger-php": "^6.0",
|
||||
"swagger-api/swagger-ui": ">=5.18.3",
|
||||
"symfony/yaml": "^5.0 || ^6.0 || ^7.0 || ^8.0",
|
||||
"ext-json": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^11.0",
|
||||
"mockery/mockery": "1.*",
|
||||
"orchestra/testbench": "^11.0 || ^10.0 || ^9.0 || ^8.0 || 7.* || ^6.15 || 5.*",
|
||||
"php-coveralls/php-coveralls": "^2.0",
|
||||
"phpstan/phpstan": "^2.1"
|
||||
},
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"L5Swagger\\L5SwaggerServiceProvider"
|
||||
],
|
||||
"aliases": {
|
||||
"L5Swagger": "L5Swagger\\L5SwaggerFacade"
|
||||
}
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true,
|
||||
"scripts": {
|
||||
"phpunit": "vendor/bin/phpunit --testdox",
|
||||
"analyse": "vendor/bin/phpstan analyse --memory-limit=256M"
|
||||
}
|
||||
}
|
||||
-333
@@ -1,333 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'default' => 'default',
|
||||
'documentations' => [
|
||||
'default' => [
|
||||
'api' => [
|
||||
'title' => 'L5 Swagger UI',
|
||||
],
|
||||
|
||||
'routes' => [
|
||||
/*
|
||||
* Route for accessing api documentation interface
|
||||
*/
|
||||
'api' => 'api/documentation',
|
||||
],
|
||||
'paths' => [
|
||||
/*
|
||||
* Edit to include full URL in ui for assets
|
||||
*/
|
||||
'use_absolute_path' => env('L5_SWAGGER_USE_ABSOLUTE_PATH', true),
|
||||
|
||||
/*
|
||||
* Edit to set path where swagger ui assets should be stored
|
||||
*/
|
||||
'swagger_ui_assets_path' => env('L5_SWAGGER_UI_ASSETS_PATH', 'vendor/swagger-api/swagger-ui/dist/'),
|
||||
|
||||
/*
|
||||
* File name of the generated json documentation file
|
||||
*/
|
||||
'docs_json' => 'api-docs.json',
|
||||
|
||||
/*
|
||||
* File name of the generated YAML documentation file
|
||||
*/
|
||||
'docs_yaml' => 'api-docs.yaml',
|
||||
|
||||
/*
|
||||
* Set this to `json` or `yaml` to determine which documentation file to use in UI
|
||||
*/
|
||||
'format_to_use_for_docs' => env('L5_FORMAT_TO_USE_FOR_DOCS', 'json'),
|
||||
|
||||
/*
|
||||
* Absolute paths to directory containing the swagger annotations are stored.
|
||||
*/
|
||||
'annotations' => [
|
||||
base_path('app'),
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'defaults' => [
|
||||
'routes' => [
|
||||
/*
|
||||
* Route for accessing parsed swagger annotations.
|
||||
*/
|
||||
'docs' => 'docs',
|
||||
|
||||
/*
|
||||
* Route for Oauth2 authentication callback.
|
||||
*/
|
||||
'oauth2_callback' => 'api/oauth2-callback',
|
||||
|
||||
/*
|
||||
* Middleware allows to prevent unexpected access to API documentation
|
||||
*/
|
||||
'middleware' => [
|
||||
'api' => [],
|
||||
'asset' => [],
|
||||
'docs' => [],
|
||||
'oauth2_callback' => [],
|
||||
],
|
||||
|
||||
/*
|
||||
* Route Group options
|
||||
*/
|
||||
'group_options' => [],
|
||||
],
|
||||
|
||||
'paths' => [
|
||||
/*
|
||||
* Absolute path to location where parsed annotations will be stored
|
||||
*/
|
||||
'docs' => storage_path('api-docs'),
|
||||
|
||||
/*
|
||||
* Absolute path to directory where to export views
|
||||
*/
|
||||
'views' => base_path('resources/views/vendor/l5-swagger'),
|
||||
|
||||
/*
|
||||
* Edit to set the api's base path
|
||||
*/
|
||||
'base' => env('L5_SWAGGER_BASE_PATH', null),
|
||||
|
||||
/*
|
||||
* Absolute path to directories that should be excluded from scanning
|
||||
* @deprecated Please use `scanOptions.exclude`
|
||||
* `scanOptions.exclude` overwrites this
|
||||
*/
|
||||
'excludes' => [],
|
||||
],
|
||||
|
||||
'scanOptions' => [
|
||||
/**
|
||||
* Optional CustomGeneratorInterface implementation that creates an OpenApi\Generator instance.
|
||||
* Use this to provide a custom pre-configured generator.
|
||||
* Accepts an instance or a class name (FQCN) implementing the interface.
|
||||
*
|
||||
* @see \L5Swagger\CustomGeneratorInterface
|
||||
*/
|
||||
'generator_factory' => null,
|
||||
|
||||
/**
|
||||
* Configuration for default processors. Allows to pass processors configuration to swagger-php.
|
||||
*
|
||||
* @link https://zircote.github.io/swagger-php/reference/processors.html
|
||||
*/
|
||||
'default_processors_configuration' => [
|
||||
/** Example */
|
||||
/**
|
||||
* 'operationId.hash' => true,
|
||||
* 'pathFilter' => [
|
||||
* 'tags' => [
|
||||
* '/pets/',
|
||||
* '/store/',
|
||||
* ],
|
||||
* ],.
|
||||
*/
|
||||
],
|
||||
|
||||
/**
|
||||
* analyser: defaults to \OpenApi\StaticAnalyser .
|
||||
*
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'analyser' => null,
|
||||
|
||||
/**
|
||||
* analysis: defaults to a new \OpenApi\Analysis .
|
||||
*
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'analysis' => null,
|
||||
|
||||
/**
|
||||
* Custom processors.
|
||||
*
|
||||
* Each entry can be:
|
||||
* - A class name or instance (inserted after BuildPaths by default)
|
||||
* - An array with 'class' and 'after' keys for precise positioning:
|
||||
* ['class' => MyProcessor::class, 'after' => SomeProcessor::class]
|
||||
*
|
||||
* @link https://github.com/zircote/swagger-php/tree/master/Examples/processors/schema-query-parameter
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'processors' => [
|
||||
// \App\SwaggerProcessors\SchemaQueryParameter::class,
|
||||
// ['class' => \App\SwaggerProcessors\Custom::class, 'after' => \OpenApi\Processors\AugmentSchemas::class],
|
||||
],
|
||||
|
||||
/**
|
||||
* pattern: string $pattern File pattern(s) to scan (default: *.php) .
|
||||
*
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'pattern' => null,
|
||||
|
||||
/*
|
||||
* Absolute path to directories that should be excluded from scanning
|
||||
* @note This option overwrites `paths.excludes`
|
||||
* @see \OpenApi\scan
|
||||
*/
|
||||
'exclude' => [],
|
||||
|
||||
/*
|
||||
* Allows to generate specs either for OpenAPI 3.0.0 or OpenAPI 3.1.0.
|
||||
* By default the spec will be in version 3.0.0
|
||||
*/
|
||||
'open_api_spec_version' => env('L5_SWAGGER_OPEN_API_SPEC_VERSION', \L5Swagger\Generator::OPEN_API_DEFAULT_SPEC_VERSION),
|
||||
],
|
||||
|
||||
/*
|
||||
* API security definitions. Will be generated into documentation file.
|
||||
*/
|
||||
'securityDefinitions' => [
|
||||
'securitySchemes' => [
|
||||
/*
|
||||
* Examples of Security schemes
|
||||
*/
|
||||
/*
|
||||
'api_key_security_example' => [ // Unique name of security
|
||||
'type' => 'apiKey', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'A short description for security scheme',
|
||||
'name' => 'api_key', // The name of the header or query parameter to be used.
|
||||
'in' => 'header', // The location of the API key. Valid values are "query" or "header".
|
||||
],
|
||||
'oauth2_security_example' => [ // Unique name of security
|
||||
'type' => 'oauth2', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'A short description for oauth2 security scheme.',
|
||||
'flow' => 'implicit', // The flow used by the OAuth2 security scheme. Valid values are "implicit", "password", "application" or "accessCode".
|
||||
'authorizationUrl' => 'http://example.com/auth', // The authorization URL to be used for (implicit/accessCode)
|
||||
//'tokenUrl' => 'http://example.com/auth' // The authorization URL to be used for (password/application/accessCode)
|
||||
'scopes' => [
|
||||
'read:projects' => 'read your projects',
|
||||
'write:projects' => 'modify projects in your account',
|
||||
]
|
||||
],
|
||||
*/
|
||||
|
||||
/* Open API 3.0 support
|
||||
'passport' => [ // Unique name of security
|
||||
'type' => 'oauth2', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'Laravel passport oauth2 security.',
|
||||
'in' => 'header',
|
||||
'scheme' => 'https',
|
||||
'flows' => [
|
||||
"password" => [
|
||||
"authorizationUrl" => config('app.url') . '/oauth/authorize',
|
||||
"tokenUrl" => config('app.url') . '/oauth/token',
|
||||
"refreshUrl" => config('app.url') . '/token/refresh',
|
||||
"scopes" => []
|
||||
],
|
||||
],
|
||||
],
|
||||
'sanctum' => [ // Unique name of security
|
||||
'type' => 'apiKey', // Valid values are "basic", "apiKey" or "oauth2".
|
||||
'description' => 'Enter token in format (Bearer <token>)',
|
||||
'name' => 'Authorization', // The name of the header or query parameter to be used.
|
||||
'in' => 'header', // The location of the API key. Valid values are "query" or "header".
|
||||
],
|
||||
*/
|
||||
],
|
||||
'security' => [
|
||||
/*
|
||||
* Examples of Securities
|
||||
*/
|
||||
[
|
||||
/*
|
||||
'oauth2_security_example' => [
|
||||
'read',
|
||||
'write'
|
||||
],
|
||||
|
||||
'passport' => []
|
||||
*/
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* Set this to `true` in development mode so that docs would be regenerated on each request
|
||||
* Set this to `false` to disable swagger generation on production
|
||||
*/
|
||||
'generate_always' => env('L5_SWAGGER_GENERATE_ALWAYS', false),
|
||||
|
||||
/*
|
||||
* Set this to `true` to generate a copy of documentation in yaml format
|
||||
*/
|
||||
'generate_yaml_copy' => env('L5_SWAGGER_GENERATE_YAML_COPY', false),
|
||||
|
||||
/*
|
||||
* Edit to trust the proxy's ip address - needed for AWS Load Balancer
|
||||
* string[]
|
||||
*/
|
||||
'proxy' => false,
|
||||
|
||||
/*
|
||||
* Configs plugin allows to fetch external configs instead of passing them to SwaggerUIBundle.
|
||||
* See more at: https://github.com/swagger-api/swagger-ui#configs-plugin
|
||||
*/
|
||||
'additional_config_url' => null,
|
||||
|
||||
/*
|
||||
* Apply a sort to the operation list of each API. It can be 'alpha' (sort by paths alphanumerically),
|
||||
* 'method' (sort by HTTP method).
|
||||
* Default is the order returned by the server unchanged.
|
||||
*/
|
||||
'operations_sort' => env('L5_SWAGGER_OPERATIONS_SORT', null),
|
||||
|
||||
/*
|
||||
* Pass the validatorUrl parameter to SwaggerUi init on the JS side.
|
||||
* A null value here disables validation.
|
||||
*/
|
||||
'validator_url' => null,
|
||||
|
||||
/*
|
||||
* Swagger UI configuration parameters
|
||||
*/
|
||||
'ui' => [
|
||||
'display' => [
|
||||
'dark_mode' => env('L5_SWAGGER_UI_DARK_MODE', false),
|
||||
/*
|
||||
* Controls the default expansion setting for the operations and tags. It can be :
|
||||
* 'list' (expands only the tags),
|
||||
* 'full' (expands the tags and operations),
|
||||
* 'none' (expands nothing).
|
||||
*/
|
||||
'doc_expansion' => env('L5_SWAGGER_UI_DOC_EXPANSION', 'none'),
|
||||
|
||||
/**
|
||||
* If set, enables filtering. The top bar will show an edit box that
|
||||
* you can use to filter the tagged operations that are shown. Can be
|
||||
* Boolean to enable or disable, or a string, in which case filtering
|
||||
* will be enabled using that string as the filter expression. Filtering
|
||||
* is case-sensitive matching the filter expression anywhere inside
|
||||
* the tag.
|
||||
*/
|
||||
'filter' => env('L5_SWAGGER_UI_FILTERS', true), // true | false
|
||||
],
|
||||
|
||||
'authorization' => [
|
||||
/*
|
||||
* If set to true, it persists authorization data, and it would not be lost on browser close/refresh
|
||||
*/
|
||||
'persist_authorization' => env('L5_SWAGGER_UI_PERSIST_AUTHORIZATION', false),
|
||||
|
||||
'oauth2' => [
|
||||
/*
|
||||
* If set to true, adds PKCE to AuthorizationCodeGrant flow
|
||||
*/
|
||||
'use_pkce_with_authorization_code_grant' => false,
|
||||
],
|
||||
],
|
||||
],
|
||||
/*
|
||||
* Constants which can be used in annotations
|
||||
*/
|
||||
'constants' => [
|
||||
'L5_SWAGGER_CONST_HOST' => env('L5_SWAGGER_CONST_HOST', 'http://my-default-host.com'),
|
||||
],
|
||||
],
|
||||
];
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
parameters:
|
||||
level: 8
|
||||
paths:
|
||||
- src
|
||||
- tests/Unit
|
||||
ignoreErrors:
|
||||
- identifier: argument.templateType
|
||||
@@ -1,174 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{{ $documentationTitle }}</title>
|
||||
<link rel="stylesheet" type="text/css" href="{{ l5_swagger_asset($documentation, 'swagger-ui.css') }}">
|
||||
<link rel="icon" type="image/png" href="{{ l5_swagger_asset($documentation, 'favicon-32x32.png') }}" sizes="32x32"/>
|
||||
<link rel="icon" type="image/png" href="{{ l5_swagger_asset($documentation, 'favicon-16x16.png') }}" sizes="16x16"/>
|
||||
<style>
|
||||
html
|
||||
{
|
||||
box-sizing: border-box;
|
||||
overflow: -moz-scrollbars-vertical;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after
|
||||
{
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin:0;
|
||||
background: #fafafa;
|
||||
}
|
||||
</style>
|
||||
@if(config('l5-swagger.defaults.ui.display.dark_mode'))
|
||||
<style>
|
||||
body#dark-mode,
|
||||
#dark-mode .scheme-container {
|
||||
background: #1b1b1b;
|
||||
}
|
||||
#dark-mode .scheme-container,
|
||||
#dark-mode .opblock .opblock-section-header{
|
||||
box-shadow: 0 1px 2px 0 rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
#dark-mode .operation-filter-input,
|
||||
#dark-mode .dialog-ux .modal-ux,
|
||||
#dark-mode input[type=email],
|
||||
#dark-mode input[type=file],
|
||||
#dark-mode input[type=password],
|
||||
#dark-mode input[type=search],
|
||||
#dark-mode input[type=text],
|
||||
#dark-mode textarea{
|
||||
background: #343434;
|
||||
color: #e7e7e7;
|
||||
}
|
||||
#dark-mode .title,
|
||||
#dark-mode li,
|
||||
#dark-mode p,
|
||||
#dark-mode table,
|
||||
#dark-mode label,
|
||||
#dark-mode .opblock-tag,
|
||||
#dark-mode .opblock .opblock-summary-operation-id,
|
||||
#dark-mode .opblock .opblock-summary-path,
|
||||
#dark-mode .opblock .opblock-summary-path__deprecated,
|
||||
#dark-mode h1,
|
||||
#dark-mode h2,
|
||||
#dark-mode h3,
|
||||
#dark-mode h4,
|
||||
#dark-mode h5,
|
||||
#dark-mode .btn,
|
||||
#dark-mode .tab li,
|
||||
#dark-mode .parameter__name,
|
||||
#dark-mode .parameter__type,
|
||||
#dark-mode .prop-format,
|
||||
#dark-mode .loading-container .loading:after{
|
||||
color: #e7e7e7;
|
||||
}
|
||||
#dark-mode .opblock-description-wrapper p,
|
||||
#dark-mode .opblock-external-docs-wrapper p,
|
||||
#dark-mode .opblock-title_normal p,
|
||||
#dark-mode .response-col_status,
|
||||
#dark-mode table thead tr td,
|
||||
#dark-mode table thead tr th,
|
||||
#dark-mode .response-col_links,
|
||||
#dark-mode .swagger-ui{
|
||||
color: wheat;
|
||||
}
|
||||
#dark-mode .parameter__extension,
|
||||
#dark-mode .parameter__in,
|
||||
#dark-mode .model-title{
|
||||
color: #949494;
|
||||
}
|
||||
#dark-mode table thead tr td,
|
||||
#dark-mode table thead tr th{
|
||||
border-color: rgba(120,120,120,.2);
|
||||
}
|
||||
#dark-mode .opblock .opblock-section-header{
|
||||
background: transparent;
|
||||
}
|
||||
#dark-mode .opblock.opblock-post{
|
||||
background: rgba(73,204,144,.25);
|
||||
}
|
||||
#dark-mode .opblock.opblock-get{
|
||||
background: rgba(97,175,254,.25);
|
||||
}
|
||||
#dark-mode .opblock.opblock-put{
|
||||
background: rgba(252,161,48,.25);
|
||||
}
|
||||
#dark-mode .opblock.opblock-delete{
|
||||
background: rgba(249,62,62,.25);
|
||||
}
|
||||
#dark-mode .loading-container .loading:before{
|
||||
border-color: rgba(255,255,255,10%);
|
||||
border-top-color: rgba(255,255,255,.6);
|
||||
}
|
||||
#dark-mode svg:not(:root){
|
||||
fill: #e7e7e7;
|
||||
}
|
||||
#dark-mode .opblock-summary-description {
|
||||
color: #fafafa;
|
||||
}
|
||||
</style>
|
||||
@endif
|
||||
</head>
|
||||
|
||||
<body @if(config('l5-swagger.defaults.ui.display.dark_mode')) id="dark-mode" @endif>
|
||||
<div id="swagger-ui"></div>
|
||||
|
||||
<script src="{{ l5_swagger_asset($documentation, 'swagger-ui-bundle.js') }}"></script>
|
||||
<script src="{{ l5_swagger_asset($documentation, 'swagger-ui-standalone-preset.js') }}"></script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
const urls = [];
|
||||
|
||||
@foreach($urlsToDocs as $title => $url)
|
||||
urls.push({name: "{{ $title }}", url: "{{ $url }}"});
|
||||
@endforeach
|
||||
|
||||
// Build a system
|
||||
const ui = SwaggerUIBundle({
|
||||
dom_id: '#swagger-ui',
|
||||
urls: urls,
|
||||
"urls.primaryName": "{{ $documentationTitle }}",
|
||||
operationsSorter: {!! isset($operationsSorter) ? '"' . $operationsSorter . '"' : 'null' !!},
|
||||
configUrl: {!! isset($configUrl) ? '"' . $configUrl . '"' : 'null' !!},
|
||||
validatorUrl: {!! isset($validatorUrl) ? '"' . $validatorUrl . '"' : 'null' !!},
|
||||
oauth2RedirectUrl: "{{ route('l5-swagger.'.$documentation.'.oauth2_callback', [], $useAbsolutePath) }}",
|
||||
|
||||
requestInterceptor: function(request) {
|
||||
request.headers['X-CSRF-TOKEN'] = '{{ csrf_token() }}';
|
||||
return request;
|
||||
},
|
||||
|
||||
presets: [
|
||||
SwaggerUIBundle.presets.apis,
|
||||
SwaggerUIStandalonePreset
|
||||
],
|
||||
|
||||
plugins: [
|
||||
SwaggerUIBundle.plugins.DownloadUrl
|
||||
],
|
||||
|
||||
layout: "StandaloneLayout",
|
||||
docExpansion : "{!! config('l5-swagger.defaults.ui.display.doc_expansion', 'none') !!}",
|
||||
deepLinking: true,
|
||||
filter: {!! config('l5-swagger.defaults.ui.display.filter') ? 'true' : 'false' !!},
|
||||
persistAuthorization: "{!! config('l5-swagger.defaults.ui.authorization.persist_authorization') ? 'true' : 'false' !!}",
|
||||
|
||||
})
|
||||
|
||||
window.ui = ui
|
||||
|
||||
@if(in_array('oauth2', array_column(config('l5-swagger.defaults.securityDefinitions.securitySchemes'), 'type')))
|
||||
ui.initOAuth({
|
||||
usePkceWithAuthorizationCodeGrant: "{!! (bool)config('l5-swagger.defaults.ui.authorization.oauth2.use_pkce_with_authorization_code_grant') !!}"
|
||||
})
|
||||
@endif
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,71 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger;
|
||||
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
|
||||
class ConfigFactory
|
||||
{
|
||||
/**
|
||||
* Retrieves and merges the configuration for the specified documentation.
|
||||
*
|
||||
* @param string|null $documentation The name of the documentation configuration to retrieve.
|
||||
* If null, the default documentation configuration is used.
|
||||
* @return array<string, mixed> The merged configuration for the specified documentation.
|
||||
*
|
||||
* @throws L5SwaggerException If the specified documentation configuration is not found.
|
||||
*/
|
||||
public function documentationConfig(?string $documentation = null): array
|
||||
{
|
||||
if ($documentation === null) {
|
||||
$documentation = config('l5-swagger.default');
|
||||
}
|
||||
|
||||
$defaults = config('l5-swagger.defaults', []);
|
||||
$documentations = config('l5-swagger.documentations', []);
|
||||
|
||||
if (! isset($documentations[$documentation])) {
|
||||
throw new L5SwaggerException('Documentation config not found');
|
||||
}
|
||||
|
||||
return $this->mergeConfig($defaults, $documentations[$documentation]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges two configuration arrays recursively, with the values from the second array
|
||||
* overriding those in the first array when keys overlap.
|
||||
*
|
||||
* @param array<string, mixed> $defaults The default configuration array.
|
||||
* @param array<string, mixed> $config The configuration array to merge into the defaults.
|
||||
* @return array<string, mixed> The merged configuration array.
|
||||
*/
|
||||
private function mergeConfig(array $defaults, array $config): array
|
||||
{
|
||||
$merged = $defaults;
|
||||
|
||||
foreach ($config as $key => &$value) {
|
||||
if (isset($defaults[$key])
|
||||
&& $this->isAssociativeArray($defaults[$key])
|
||||
&& $this->isAssociativeArray($value)
|
||||
) {
|
||||
$merged[$key] = $this->mergeConfig($defaults[$key], $value);
|
||||
continue;
|
||||
}
|
||||
|
||||
$merged[$key] = $value;
|
||||
}
|
||||
|
||||
return $merged;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether a given value is an associative array.
|
||||
*
|
||||
* @param mixed $value The value to be checked.
|
||||
* @return bool True if the value is an associative array, false otherwise.
|
||||
*/
|
||||
private function isAssociativeArray(mixed $value): bool
|
||||
{
|
||||
return is_array($value) && count(array_filter(array_keys($value), 'is_string')) > 0;
|
||||
}
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger\Console;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
use L5Swagger\GeneratorFactory;
|
||||
|
||||
class GenerateDocsCommand extends Command
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'l5-swagger:generate {documentation?} {--all}';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Regenerate docs';
|
||||
|
||||
/**
|
||||
* @param GeneratorFactory $generatorFactory
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
public function handle(GeneratorFactory $generatorFactory): void
|
||||
{
|
||||
$all = $this->option('all');
|
||||
|
||||
if ($all) {
|
||||
/** @var array<string> $documentations */
|
||||
$documentations = array_keys(config('l5-swagger.documentations', []));
|
||||
|
||||
foreach ($documentations as $documentation) {
|
||||
$this->generateDocumentation($generatorFactory, $documentation);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$documentation = $this->argument('documentation');
|
||||
|
||||
if (! $documentation) {
|
||||
$documentation = config('l5-swagger.default');
|
||||
}
|
||||
|
||||
$this->generateDocumentation($generatorFactory, $documentation);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates documentation using the specified generator factory.
|
||||
*
|
||||
* @param GeneratorFactory $generatorFactory The factory used to create the documentation generator.
|
||||
* @param string $documentation The name or identifier of the documentation to be generated.
|
||||
* @return void
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
private function generateDocumentation(GeneratorFactory $generatorFactory, string $documentation): void
|
||||
{
|
||||
$this->info('Regenerating docs '.$documentation);
|
||||
|
||||
$generator = $generatorFactory->make($documentation);
|
||||
$generator->generateDocs();
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger;
|
||||
|
||||
use OpenApi\Generator as OpenApiGenerator;
|
||||
|
||||
interface CustomGeneratorInterface
|
||||
{
|
||||
public function create(): OpenApiGenerator;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger\Exceptions;
|
||||
|
||||
class L5SwaggerException extends \Exception
|
||||
{
|
||||
}
|
||||
-359
@@ -1,359 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Contracts\Filesystem\FileNotFoundException;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Support\Arr;
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
use OpenApi\Annotations\OpenApi;
|
||||
use OpenApi\Annotations\Server;
|
||||
use OpenApi\Generator as OpenApiGenerator;
|
||||
use OpenApi\OpenApiException;
|
||||
use OpenApi\Pipeline;
|
||||
use OpenApi\SourceFinder;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\Yaml\Dumper as YamlDumper;
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
|
||||
class Generator
|
||||
{
|
||||
public const OPEN_API_DEFAULT_SPEC_VERSION = '3.0.0';
|
||||
|
||||
protected const SCAN_OPTION_PROCESSORS = 'processors';
|
||||
protected const SCAN_OPTION_PATTERN = 'pattern';
|
||||
protected const SCAN_OPTION_ANALYSER = 'analyser';
|
||||
protected const SCAN_OPTION_ANALYSIS = 'analysis';
|
||||
protected const SCAN_OPTION_EXCLUDE = 'exclude';
|
||||
|
||||
protected const AVAILABLE_SCAN_OPTIONS = [
|
||||
self::SCAN_OPTION_PATTERN,
|
||||
self::SCAN_OPTION_ANALYSER,
|
||||
self::SCAN_OPTION_ANALYSIS,
|
||||
self::SCAN_OPTION_EXCLUDE,
|
||||
];
|
||||
|
||||
/**
|
||||
* @var string|array<string>
|
||||
*/
|
||||
protected string|array $annotationsDir;
|
||||
|
||||
protected string $docDir;
|
||||
|
||||
protected string $docsFile;
|
||||
|
||||
protected string $yamlDocsFile;
|
||||
|
||||
/**
|
||||
* @var array<string>
|
||||
*/
|
||||
protected array $excludedDirs;
|
||||
|
||||
/**
|
||||
* @var array<string>
|
||||
*/
|
||||
protected array $constants;
|
||||
|
||||
protected ?OpenApi $openApi;
|
||||
|
||||
protected bool $yamlCopyRequired;
|
||||
|
||||
protected ?string $basePath;
|
||||
|
||||
protected SecurityDefinitions $security;
|
||||
|
||||
/**
|
||||
* @var array<string,mixed>
|
||||
*/
|
||||
protected array $scanOptions;
|
||||
|
||||
protected Filesystem $fileSystem;
|
||||
|
||||
/**
|
||||
* Constructor to initialize documentation generation settings and dependencies.
|
||||
*
|
||||
* @param array<string,mixed> $paths Array of paths including annotations, docs, excluded directories, and base path.
|
||||
* @param array<string> $constants Array of constants to be used during documentation generation.
|
||||
* @param bool $yamlCopyRequired Determines if a YAML copy of the documentation is required.
|
||||
* @param SecurityDefinitions $security Security definitions for the documentation.
|
||||
* @param array<string> $scanOptions Additional options for scanning files or directories.
|
||||
* @param Filesystem|null $filesystem Filesystem instance, optional, defaults to a new Filesystem.
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
array $paths,
|
||||
array $constants,
|
||||
bool $yamlCopyRequired,
|
||||
SecurityDefinitions $security,
|
||||
array $scanOptions,
|
||||
?Filesystem $filesystem = null
|
||||
) {
|
||||
$this->annotationsDir = $paths['annotations'];
|
||||
$this->docDir = $paths['docs'];
|
||||
$this->docsFile = $this->docDir.DIRECTORY_SEPARATOR.($paths['docs_json'] ?? 'api-docs.json');
|
||||
$this->yamlDocsFile = $this->docDir.DIRECTORY_SEPARATOR.($paths['docs_yaml'] ?? 'api-docs.yaml');
|
||||
$this->excludedDirs = $paths['excludes'];
|
||||
$this->basePath = $paths['base'];
|
||||
$this->constants = $constants;
|
||||
$this->yamlCopyRequired = $yamlCopyRequired;
|
||||
$this->security = $security;
|
||||
$this->scanOptions = $scanOptions;
|
||||
|
||||
$this->fileSystem = $filesystem ?? new Filesystem();
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate necessary documentation files by scanning and processing the required data.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
* @throws Exception
|
||||
*/
|
||||
public function generateDocs(): void
|
||||
{
|
||||
$this->prepareDirectory()
|
||||
->defineConstants()
|
||||
->scanFilesForDocumentation()
|
||||
->populateServers()
|
||||
->saveJson()
|
||||
->makeYamlCopy();
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares the directory for storing documentation by ensuring it exists and is writable.
|
||||
*
|
||||
* @return self
|
||||
*
|
||||
* @throws L5SwaggerException If the directory is not writable or cannot be created.
|
||||
*/
|
||||
protected function prepareDirectory(): self
|
||||
{
|
||||
if ($this->fileSystem->exists($this->docDir) && ! $this->fileSystem->isWritable($this->docDir)) {
|
||||
throw new L5SwaggerException('Documentation storage directory is not writable');
|
||||
}
|
||||
|
||||
if (! $this->fileSystem->exists($this->docDir)) {
|
||||
$this->fileSystem->makeDirectory($this->docDir);
|
||||
}
|
||||
|
||||
if (! $this->fileSystem->exists($this->docDir)) {
|
||||
throw new L5SwaggerException('Documentation storage directory could not be created');
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Define and set constants if not already defined.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function defineConstants(): self
|
||||
{
|
||||
if (! empty($this->constants)) {
|
||||
foreach ($this->constants as $key => $value) {
|
||||
defined($key) || define($key, $value);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scans files to generate documentation.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function scanFilesForDocumentation(): self
|
||||
{
|
||||
$generator = $this->createOpenApiGenerator();
|
||||
$finder = $this->createScanFinder();
|
||||
|
||||
// Analysis.
|
||||
$analysis = Arr::get($this->scanOptions, self::SCAN_OPTION_ANALYSIS);
|
||||
|
||||
$this->openApi = $generator->generate($finder, $analysis);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and configure an instance of OpenApiGenerator.
|
||||
*
|
||||
* @return OpenApiGenerator
|
||||
*/
|
||||
protected function createOpenApiGenerator(): OpenApiGenerator
|
||||
{
|
||||
$factory = $this->scanOptions['generator_factory'] ?? null;
|
||||
|
||||
if (is_string($factory) && is_subclass_of($factory, CustomGeneratorInterface::class)) {
|
||||
$factory = new $factory();
|
||||
}
|
||||
|
||||
$generator = $factory instanceof CustomGeneratorInterface
|
||||
? $factory->create()
|
||||
: new OpenApiGenerator();
|
||||
|
||||
if (! empty($this->scanOptions['default_processors_configuration'])
|
||||
&& is_array($this->scanOptions['default_processors_configuration'])
|
||||
) {
|
||||
$generator->setConfig($this->scanOptions['default_processors_configuration']);
|
||||
}
|
||||
|
||||
$generator->setVersion(
|
||||
$this->scanOptions['open_api_spec_version'] ?? self::OPEN_API_DEFAULT_SPEC_VERSION
|
||||
);
|
||||
|
||||
// Processors.
|
||||
$this->setProcessors($generator);
|
||||
|
||||
// Analyser.
|
||||
$this->setAnalyser($generator);
|
||||
|
||||
return $generator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the processors for the OpenAPI generator.
|
||||
*
|
||||
* @param OpenApiGenerator $generator The OpenAPI generator instance to configure.
|
||||
* @return void
|
||||
*/
|
||||
protected function setProcessors(OpenApiGenerator $generator): void
|
||||
{
|
||||
$processorConfigs = Arr::get($this->scanOptions, self::SCAN_OPTION_PROCESSORS, []);
|
||||
|
||||
if (empty($processorConfigs)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$normalizedConfigs = [];
|
||||
foreach ($processorConfigs as $config) {
|
||||
$normalizedConfigs[] = is_array($config)
|
||||
? $config
|
||||
: ['class' => $config, 'after' => \OpenApi\Processors\BuildPaths::class];
|
||||
}
|
||||
|
||||
$newPipeLine = [];
|
||||
$generator->getProcessorPipeline()->walk(
|
||||
function (callable $pipe) use ($normalizedConfigs, &$newPipeLine) {
|
||||
$newPipeLine[] = $pipe;
|
||||
foreach ($normalizedConfigs as $entry) {
|
||||
$after = $entry['after'];
|
||||
if ($pipe instanceof $after) {
|
||||
$processor = $entry['class'];
|
||||
$newPipeLine[] = is_string($processor) ? new $processor() : $processor;
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
$generator->setProcessorPipeline(new Pipeline($newPipeLine));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the analyzer for the OpenAPI generator based on scan options.
|
||||
*
|
||||
* @param OpenApiGenerator $generator The OpenAPI generator instance.
|
||||
* @return void
|
||||
*/
|
||||
protected function setAnalyser(OpenApiGenerator $generator): void
|
||||
{
|
||||
$analyser = Arr::get($this->scanOptions, self::SCAN_OPTION_ANALYSER);
|
||||
|
||||
if (! empty($analyser)) {
|
||||
$generator->setAnalyser($analyser);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Use AttributeAnnotationFactory for PHP 8.1+ native attributes
|
||||
$generator->setAnalyser(new \OpenApi\Analysers\ReflectionAnalyser([
|
||||
new \OpenApi\Analysers\AttributeAnnotationFactory(),
|
||||
]));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and return a Finder instance configured for scanning directories.
|
||||
*
|
||||
* @return Finder
|
||||
*/
|
||||
protected function createScanFinder(): Finder
|
||||
{
|
||||
$pattern = Arr::get($this->scanOptions, self::SCAN_OPTION_PATTERN) ?: '*.php';
|
||||
$exclude = Arr::get($this->scanOptions, self::SCAN_OPTION_EXCLUDE);
|
||||
|
||||
$exclude = ! empty($exclude) ? $exclude : $this->excludedDirs;
|
||||
|
||||
return new SourceFinder($this->annotationsDir, $exclude, $pattern);
|
||||
}
|
||||
|
||||
/**
|
||||
* Populate the servers list in the OpenAPI configuration using the base path.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function populateServers(): self
|
||||
{
|
||||
if ($this->basePath !== null && $this->openApi !== null) {
|
||||
if (
|
||||
$this->openApi->servers === OpenApiGenerator::UNDEFINED // @phpstan-ignore-line
|
||||
|| is_array($this->openApi->servers) === false // @phpstan-ignore-line
|
||||
) {
|
||||
$this->openApi->servers = [];
|
||||
}
|
||||
|
||||
$this->openApi->servers[] = new Server(['url' => $this->basePath]);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the JSON data and applies security measures to the file.
|
||||
*
|
||||
* @return self
|
||||
*
|
||||
* @throws FileNotFoundException
|
||||
* @throws OpenApiException
|
||||
*/
|
||||
protected function saveJson(): self
|
||||
{
|
||||
if ($this->openApi !== null) {
|
||||
$this->openApi->saveAs($this->docsFile);
|
||||
}
|
||||
|
||||
$this->security->generate($this->docsFile);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a YAML copy of the OpenAPI documentation if required.
|
||||
*
|
||||
* This method converts the JSON documentation file to YAML format and saves it
|
||||
* to the specified file path when the YAML copy requirement is enabled.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
protected function makeYamlCopy(): void
|
||||
{
|
||||
if ($this->yamlCopyRequired) {
|
||||
$yamlDocs = (new YamlDumper(2))->dump(
|
||||
json_decode($this->fileSystem->get($this->docsFile), true),
|
||||
20,
|
||||
0,
|
||||
Yaml::DUMP_OBJECT_AS_MAP ^ Yaml::DUMP_EMPTY_ARRAY_AS_SEQUENCE
|
||||
);
|
||||
|
||||
$this->fileSystem->put(
|
||||
$this->yamlDocsFile,
|
||||
$yamlDocs
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger;
|
||||
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
|
||||
class GeneratorFactory
|
||||
{
|
||||
public function __construct(private readonly ConfigFactory $configFactory)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a new Generator instance based on the provided documentation configuration.
|
||||
*
|
||||
* @param string $documentation The name or identifier of the documentation to generate.
|
||||
* @return Generator The configured Generator instance.
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
public function make(string $documentation): Generator
|
||||
{
|
||||
$config = $this->configFactory->documentationConfig($documentation);
|
||||
|
||||
$paths = $config['paths'];
|
||||
$scanOptions = $config['scanOptions'] ?? [];
|
||||
$constants = $config['constants'] ?? [];
|
||||
$yamlCopyRequired = $config['generate_yaml_copy'] ?? false;
|
||||
|
||||
$secSchemesConfig = $config['securityDefinitions']['securitySchemes'] ?? [];
|
||||
$secConfig = $config['securityDefinitions']['security'] ?? [];
|
||||
|
||||
$security = new SecurityDefinitions($secSchemesConfig, $secConfig);
|
||||
|
||||
return new Generator(
|
||||
$paths,
|
||||
$constants,
|
||||
$yamlCopyRequired,
|
||||
$security,
|
||||
$scanOptions
|
||||
);
|
||||
}
|
||||
}
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger\Http\Controllers;
|
||||
|
||||
use Illuminate\Contracts\Filesystem\FileNotFoundException;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
|
||||
/**
|
||||
* Handles requests for serving Swagger UI assets.
|
||||
*/
|
||||
class SwaggerAssetController extends BaseController
|
||||
{
|
||||
/**
|
||||
* Serves a specific documentation asset for the Swagger UI interface.
|
||||
*
|
||||
* @param Request $request The incoming HTTP request, which includes parameters to locate the requested asset.
|
||||
* @return Response The HTTP response containing the requested asset content
|
||||
* or a 404 error if the asset is not found.
|
||||
*
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
public function index(Request $request): Response
|
||||
{
|
||||
$fileSystem = new Filesystem();
|
||||
$documentation = $request->offsetGet('documentation');
|
||||
$asset = $request->offsetGet('asset');
|
||||
|
||||
try {
|
||||
$path = swagger_ui_dist_path($documentation, $asset);
|
||||
|
||||
return (new Response(
|
||||
$fileSystem->get($path),
|
||||
200,
|
||||
[
|
||||
'Content-Type' => (isset(pathinfo($asset)['extension']) && pathinfo($asset)['extension'] === 'css')
|
||||
? 'text/css'
|
||||
: 'application/javascript',
|
||||
]
|
||||
))->setSharedMaxAge(31536000)
|
||||
->setMaxAge(31536000)
|
||||
->setExpires(new \DateTime('+1 year'));
|
||||
} catch (L5SwaggerException $exception) {
|
||||
return abort(404, $exception->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,201 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger\Http\Controllers;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Contracts\Filesystem\FileNotFoundException;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Request as RequestFacade;
|
||||
use L5Swagger\ConfigFactory;
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
use L5Swagger\GeneratorFactory;
|
||||
|
||||
class SwaggerController extends BaseController
|
||||
{
|
||||
public function __construct(
|
||||
private readonly GeneratorFactory $generatorFactory,
|
||||
private readonly ConfigFactory $configFactory
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles requests for API documentation and returns the corresponding file content.
|
||||
*
|
||||
* @param Request $request The HTTP request containing parameters such as documentation and configuration.
|
||||
* @return Response The HTTP response containing the documentation file content with appropriate headers.
|
||||
*
|
||||
* @throws FileNotFoundException If the documentation file does not exist.
|
||||
* @throws Exception If the documentation generation process fails.
|
||||
*/
|
||||
public function docs(Request $request): Response
|
||||
{
|
||||
$fileSystem = new Filesystem();
|
||||
$documentation = $request->offsetGet('documentation');
|
||||
$config = $request->offsetGet('config');
|
||||
|
||||
$formatToUseForDocs = $config['paths']['format_to_use_for_docs'] ?? 'json';
|
||||
$yamlFormat = ($formatToUseForDocs === 'yaml');
|
||||
|
||||
$filePath = sprintf(
|
||||
'%s/%s',
|
||||
$config['paths']['docs'],
|
||||
$yamlFormat ? $config['paths']['docs_yaml'] : $config['paths']['docs_json']
|
||||
);
|
||||
|
||||
if ($config['generate_always']) {
|
||||
$generator = $this->generatorFactory->make($documentation);
|
||||
|
||||
try {
|
||||
$generator->generateDocs();
|
||||
} catch (Exception $e) {
|
||||
Log::error($e);
|
||||
|
||||
abort(
|
||||
404,
|
||||
sprintf(
|
||||
'Unable to generate documentation file to: "%s". Please make sure directory is writable. Error: %s',
|
||||
$filePath,
|
||||
$e->getMessage()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (! $fileSystem->exists($filePath)) {
|
||||
abort(404, sprintf('Unable to locate documentation file at: "%s"', $filePath));
|
||||
}
|
||||
|
||||
$content = $fileSystem->get($filePath);
|
||||
|
||||
if ($yamlFormat) {
|
||||
return response($content, 200, [
|
||||
'Content-Type' => 'application/yaml',
|
||||
'Content-Disposition' => 'inline',
|
||||
]);
|
||||
}
|
||||
|
||||
return response($content, 200, [
|
||||
'Content-Type' => 'application/json',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the API request and renders the Swagger documentation view.
|
||||
*
|
||||
* @param Request $request The HTTP request containing necessary parameters such as documentation and configuration details.
|
||||
* @return Response The HTTP response rendering the Swagger documentation view.
|
||||
*/
|
||||
public function api(Request $request): Response
|
||||
{
|
||||
$documentation = $request->offsetGet('documentation');
|
||||
$config = $request->offsetGet('config');
|
||||
$proxy = $config['proxy'];
|
||||
|
||||
if ($proxy) {
|
||||
if (! is_array($proxy)) {
|
||||
$proxy = [$proxy];
|
||||
}
|
||||
Request::setTrustedProxies(
|
||||
$proxy,
|
||||
Request::HEADER_X_FORWARDED_FOR |
|
||||
Request::HEADER_X_FORWARDED_HOST |
|
||||
Request::HEADER_X_FORWARDED_PORT |
|
||||
Request::HEADER_X_FORWARDED_PROTO |
|
||||
Request::HEADER_X_FORWARDED_AWS_ELB
|
||||
);
|
||||
}
|
||||
|
||||
$urlToDocs = $this->generateDocumentationFileURL($documentation, $config);
|
||||
$urlsToDocs = $this->getAllDocumentationUrls();
|
||||
$useAbsolutePath = config('l5-swagger.documentations.'.$documentation.'.paths.use_absolute_path', true);
|
||||
|
||||
// Need the / at the end to avoid CORS errors on Homestead systems.
|
||||
return response(
|
||||
view('l5-swagger::index', [
|
||||
'documentation' => $documentation,
|
||||
'documentationTitle' => $config['api']['title'] ?? $documentation,
|
||||
'secure' => RequestFacade::secure(),
|
||||
'urlToDocs' => $urlToDocs, // Is not used in the view, but still passed for backwards compatibility
|
||||
'urlsToDocs' => $urlsToDocs,
|
||||
'operationsSorter' => $config['operations_sort'],
|
||||
'configUrl' => $config['additional_config_url'],
|
||||
'validatorUrl' => $config['validator_url'],
|
||||
'useAbsolutePath' => $useAbsolutePath,
|
||||
]),
|
||||
200
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the OAuth2 callback and retrieves the required file for the redirect.
|
||||
*
|
||||
* @param Request $request The HTTP request containing necessary parameters.
|
||||
* @return string The content of the OAuth2 redirect file.
|
||||
*
|
||||
* @throws FileNotFoundException
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
public function oauth2Callback(Request $request): string
|
||||
{
|
||||
$fileSystem = new Filesystem();
|
||||
$documentation = $request->offsetGet('documentation');
|
||||
|
||||
return $fileSystem->get(swagger_ui_dist_path($documentation, 'oauth2-redirect.html'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the URL for accessing the documentation file based on the provided configuration.
|
||||
*
|
||||
* @param string $documentation The name of the documentation instance.
|
||||
* @param array<string,mixed> $config The configuration settings for generating the documentation URL.
|
||||
* @return string The generated URL for the documentation file.
|
||||
*/
|
||||
protected function generateDocumentationFileURL(string $documentation, array $config): string
|
||||
{
|
||||
$fileUsedForDocs = $config['paths']['docs_json'] ?? 'api-docs.json';
|
||||
|
||||
if (! empty($config['paths']['format_to_use_for_docs'])
|
||||
&& $config['paths']['format_to_use_for_docs'] === 'yaml'
|
||||
&& $config['paths']['docs_yaml']
|
||||
) {
|
||||
$fileUsedForDocs = $config['paths']['docs_yaml'];
|
||||
}
|
||||
|
||||
$useAbsolutePath = config('l5-swagger.documentations.'.$documentation.'.paths.use_absolute_path', true);
|
||||
|
||||
return route(
|
||||
'l5-swagger.'.$documentation.'.docs',
|
||||
$fileUsedForDocs,
|
||||
$useAbsolutePath
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all available documentation URLs with their corresponding titles.
|
||||
*
|
||||
* @return array<string,string> An associative array where the keys are documentation titles
|
||||
* and the values are the corresponding URLs.
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
protected function getAllDocumentationUrls(): array
|
||||
{
|
||||
/** @var array<string> $documentations */
|
||||
$documentations = array_keys(config('l5-swagger.documentations', []));
|
||||
|
||||
$urlsToDocs = [];
|
||||
|
||||
foreach ($documentations as $documentationName) {
|
||||
$config = $this->configFactory->documentationConfig($documentationName);
|
||||
$title = $config['api']['title'] ?? $documentationName;
|
||||
|
||||
$urlsToDocs[$title] = $this->generateDocumentationFileURL($documentationName, $config);
|
||||
}
|
||||
|
||||
return $urlsToDocs;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use L5Swagger\ConfigFactory;
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
|
||||
class Config
|
||||
{
|
||||
public function __construct(
|
||||
private readonly ConfigFactory $configFactory
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the incoming request by extracting documentation configuration and setting it on the request.
|
||||
*
|
||||
* @param mixed $request The incoming HTTP request.
|
||||
* @param Closure $next The next middleware in the pipeline.
|
||||
* @return mixed The processed HTTP response after passing through the next middleware.
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
public function handle(mixed $request, Closure $next): mixed
|
||||
{
|
||||
$actions = $request->route()->getAction();
|
||||
|
||||
$documentation = $actions['l5-swagger.documentation'];
|
||||
|
||||
$config = $this->configFactory->documentationConfig($documentation);
|
||||
|
||||
$request->offsetSet('documentation', $documentation);
|
||||
$request->offsetSet('config', $config);
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger;
|
||||
|
||||
use Illuminate\Support\Facades\Facade;
|
||||
|
||||
class L5SwaggerFacade extends Facade
|
||||
{
|
||||
/**
|
||||
* Get the registered name of the component being accessed through the facade.
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*
|
||||
* @return string The name or class of the underlying component.
|
||||
*/
|
||||
protected static function getFacadeAccessor(): string
|
||||
{
|
||||
return Generator::class;
|
||||
}
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger;
|
||||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use L5Swagger\Console\GenerateDocsCommand;
|
||||
|
||||
class L5SwaggerServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap the application events.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
$viewPath = __DIR__.'/../resources/views';
|
||||
$this->loadViewsFrom($viewPath, 'l5-swagger');
|
||||
|
||||
// Publish a config file
|
||||
$configPath = __DIR__.'/../config/l5-swagger.php';
|
||||
$this->publishes([
|
||||
$configPath => config_path('l5-swagger.php'),
|
||||
], 'config');
|
||||
|
||||
//Publish views
|
||||
$this->publishes([
|
||||
__DIR__.'/../resources/views' => config('l5-swagger.defaults.paths.views'),
|
||||
], 'views');
|
||||
|
||||
//Include routes
|
||||
$this->loadRoutesFrom(__DIR__.'/routes.php');
|
||||
|
||||
//Register commands
|
||||
$this->commands([GenerateDocsCommand::class]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register(): void
|
||||
{
|
||||
$configPath = __DIR__.'/../config/l5-swagger.php';
|
||||
$this->mergeConfigFrom($configPath, 'l5-swagger');
|
||||
|
||||
$this->app->singleton('command.l5-swagger.generate', function ($app) {
|
||||
return $app->make(GenerateDocsCommand::class);
|
||||
});
|
||||
|
||||
$this->app->bind(Generator::class, function ($app) {
|
||||
$documentation = config('l5-swagger.default');
|
||||
|
||||
/** @var GeneratorFactory $factory */
|
||||
$factory = $app->make(GeneratorFactory::class);
|
||||
|
||||
return $factory->make($documentation);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the services provided by the provider.
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*
|
||||
* @return array<string>
|
||||
*/
|
||||
public function provides(): array
|
||||
{
|
||||
return [
|
||||
'command.l5-swagger.generate',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace L5Swagger;
|
||||
|
||||
use Illuminate\Contracts\Filesystem\FileNotFoundException;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class SecurityDefinitions
|
||||
{
|
||||
/**
|
||||
* @param array<string,mixed> $schemasConfig
|
||||
* @param array<string,mixed> $securityConfig
|
||||
*/
|
||||
public function __construct(
|
||||
private readonly array $schemasConfig = [],
|
||||
private readonly array $securityConfig = []
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads in the l5-swagger configuration and appends security settings to documentation.
|
||||
*
|
||||
* @param string $filename The path to the generated json documentation
|
||||
*
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
public function generate(string $filename): void
|
||||
{
|
||||
$fileSystem = new Filesystem();
|
||||
|
||||
$documentation = collect(
|
||||
json_decode($fileSystem->get($filename))
|
||||
);
|
||||
|
||||
if (! empty($this->schemasConfig)) {
|
||||
$documentation = $this->injectSecuritySchemes($documentation, $this->schemasConfig);
|
||||
}
|
||||
|
||||
if (! empty($this->securityConfig)) {
|
||||
$documentation = $this->injectSecurity($documentation, $this->securityConfig);
|
||||
}
|
||||
|
||||
$fileSystem->put(
|
||||
$filename,
|
||||
$documentation->toJson(JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Inject security schemes settings.
|
||||
*
|
||||
* @param Collection<int|string, mixed> $documentation The parse json
|
||||
* @param array<string,mixed> $config The securityScheme settings from l5-swagger
|
||||
* @return Collection<int|string, mixed>
|
||||
*/
|
||||
protected function injectSecuritySchemes(Collection $documentation, array $config): Collection
|
||||
{
|
||||
$components = collect();
|
||||
if ($documentation->has('components')) {
|
||||
$components = collect($documentation->get('components'));
|
||||
}
|
||||
|
||||
$securitySchemes = collect();
|
||||
if ($components->has('securitySchemes')) {
|
||||
$securitySchemes = collect($components->get('securitySchemes'));
|
||||
}
|
||||
|
||||
foreach ($config as $key => $cfg) {
|
||||
$securitySchemes->offsetSet($key, $this->arrayToObject($cfg));
|
||||
}
|
||||
|
||||
$components->offsetSet('securitySchemes', $securitySchemes);
|
||||
|
||||
$documentation->offsetSet('components', $components);
|
||||
|
||||
return $documentation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Inject security settings.
|
||||
*
|
||||
* @param Collection<int|string, mixed> $documentation The parse json
|
||||
* @param array<string, mixed> $config The security settings from l5-swagger
|
||||
* @return Collection<int|string, mixed>
|
||||
*/
|
||||
protected function injectSecurity(Collection $documentation, array $config): Collection
|
||||
{
|
||||
$security = collect();
|
||||
if ($documentation->has('security')) {
|
||||
$security = collect($documentation->get('security'));
|
||||
}
|
||||
|
||||
foreach ($config as $key => $cfg) {
|
||||
if (! empty($cfg)) {
|
||||
$security->put($key, $this->arrayToObject($cfg));
|
||||
}
|
||||
}
|
||||
|
||||
if ($security->count()) {
|
||||
$documentation->offsetSet('security', $security);
|
||||
}
|
||||
|
||||
return $documentation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts an array to an object.
|
||||
*
|
||||
* @param $array<string, mixed>
|
||||
* @return object
|
||||
*/
|
||||
protected function arrayToObject(mixed $array): mixed
|
||||
{
|
||||
return json_decode(json_encode($array) ?: '');
|
||||
}
|
||||
}
|
||||
-66
@@ -1,66 +0,0 @@
|
||||
<?php
|
||||
|
||||
use L5Swagger\Exceptions\L5SwaggerException;
|
||||
|
||||
if (! function_exists('swagger_ui_dist_path')) {
|
||||
/**
|
||||
* Returns swagger-ui composer dist path.
|
||||
*
|
||||
* @param string $documentation
|
||||
* @param string|null $asset
|
||||
* @return string
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
function swagger_ui_dist_path(string $documentation, ?string $asset = null): string
|
||||
{
|
||||
$allowedFiles = [
|
||||
'favicon-16x16.png',
|
||||
'favicon-32x32.png',
|
||||
'oauth2-redirect.html',
|
||||
'swagger-ui-bundle.js',
|
||||
'swagger-ui-standalone-preset.js',
|
||||
'swagger-ui.css',
|
||||
'swagger-ui.js',
|
||||
];
|
||||
|
||||
$defaultPath = 'vendor/swagger-api/swagger-ui/dist/';
|
||||
$path = base_path(
|
||||
config('l5-swagger.documentations.'.$documentation.'.paths.swagger_ui_assets_path', $defaultPath)
|
||||
);
|
||||
|
||||
if (! $asset) {
|
||||
return realpath($path) ?: '';
|
||||
}
|
||||
|
||||
if (! in_array($asset, $allowedFiles, true)) {
|
||||
throw new L5SwaggerException(sprintf('(%s) - this L5 Swagger asset is not allowed', $asset));
|
||||
}
|
||||
|
||||
return realpath($path.$asset) ?: '';
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('l5_swagger_asset')) {
|
||||
/**
|
||||
* Returns asset from swagger-ui composer package.
|
||||
*
|
||||
* @param string $documentation
|
||||
* @param $asset string
|
||||
* @return string
|
||||
*
|
||||
* @throws L5SwaggerException
|
||||
*/
|
||||
function l5_swagger_asset(string $documentation, string $asset): string
|
||||
{
|
||||
$file = swagger_ui_dist_path($documentation, $asset);
|
||||
|
||||
if (! file_exists($file)) {
|
||||
throw new L5SwaggerException(sprintf('Requested L5 Swagger asset file (%s) does not exists', $asset));
|
||||
}
|
||||
|
||||
$useAbsolutePath = config('l5-swagger.documentations.'.$documentation.'.paths.use_absolute_path', true);
|
||||
|
||||
return route('l5-swagger.'.$documentation.'.asset', $asset, $useAbsolutePath).'?v='.md5_file($file);
|
||||
}
|
||||
}
|
||||
-66
@@ -1,66 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Routing\Router;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use L5Swagger\ConfigFactory;
|
||||
use L5Swagger\Http\Middleware\Config as L5SwaggerConfig;
|
||||
|
||||
Route::group(['namespace' => 'L5Swagger'], static function (Router $router) {
|
||||
$configFactory = resolve(ConfigFactory::class);
|
||||
|
||||
/** @var array<string,string> $documentations */
|
||||
$documentations = config('l5-swagger.documentations', []);
|
||||
|
||||
foreach (array_keys($documentations) as $name) {
|
||||
$config = $configFactory->documentationConfig($name);
|
||||
|
||||
if (! isset($config['routes'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$groupOptions = $config['routes']['group_options'] ?? [];
|
||||
|
||||
if (! isset($groupOptions['middleware'])) {
|
||||
$groupOptions['middleware'] = [];
|
||||
}
|
||||
|
||||
if (is_string($groupOptions['middleware'])) {
|
||||
$groupOptions['middleware'] = [$groupOptions['middleware']];
|
||||
}
|
||||
|
||||
$groupOptions['l5-swagger.documentation'] = $name;
|
||||
$groupOptions['middleware'][] = L5SwaggerConfig::class;
|
||||
|
||||
Route::group($groupOptions, static function (Router $router) use ($name, $config) {
|
||||
if (isset($config['routes']['api'])) {
|
||||
$router->get($config['routes']['api'], [
|
||||
'as' => 'l5-swagger.'.$name.'.api',
|
||||
'middleware' => $config['routes']['middleware']['api'] ?? [],
|
||||
'uses' => '\L5Swagger\Http\Controllers\SwaggerController@api',
|
||||
]);
|
||||
}
|
||||
|
||||
if (isset($config['routes']['docs'])) {
|
||||
$router->get($config['routes']['docs'], [
|
||||
'as' => 'l5-swagger.'.$name.'.docs',
|
||||
'middleware' => $config['routes']['middleware']['docs'] ?? [],
|
||||
'uses' => '\L5Swagger\Http\Controllers\SwaggerController@docs',
|
||||
]);
|
||||
|
||||
$router->get($config['routes']['docs'].'/asset/{asset}', [
|
||||
'as' => 'l5-swagger.'.$name.'.asset',
|
||||
'middleware' => $config['routes']['middleware']['asset'] ?? [],
|
||||
'uses' => '\L5Swagger\Http\Controllers\SwaggerAssetController@index',
|
||||
]);
|
||||
}
|
||||
|
||||
if (isset($config['routes']['oauth2_callback'])) {
|
||||
$router->get($config['routes']['oauth2_callback'], [
|
||||
'as' => 'l5-swagger.'.$name.'.oauth2_callback',
|
||||
'middleware' => $config['routes']['middleware']['oauth2_callback'] ?? [],
|
||||
'uses' => '\L5Swagger\Http\Controllers\SwaggerController@oauth2Callback',
|
||||
]);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to `scramble` will be documented in this file.
|
||||
@@ -1,14 +1,16 @@
|
||||
Copyright (c) 2024-present Fabien Potencier
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) dedoc <litvinenko95@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
Vendored
+41
@@ -0,0 +1,41 @@
|
||||
<p>
|
||||
<a href="https://scramble.dedoc.co" target="_blank">
|
||||
<img src="./.github/gh-img.png?v=1" alt="Scramble – Laravel API documentation generator"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
# Scramble
|
||||
|
||||
Scramble generates API documentation for Laravel project. Without requiring you to manually write PHPDoc annotations. Docs are generated in OpenAPI 3.1.0 format.
|
||||
|
||||
## Documentation
|
||||
|
||||
You can find full documentation at [scramble.dedoc.co](https://scramble.dedoc.co).
|
||||
|
||||
## Introduction
|
||||
|
||||
The main motto of the project is generating your API documentation without requiring you to annotate your code.
|
||||
|
||||
This allows you to focus on code and avoid annotating every possible param/field as it may result in outdated documentation. By generating docs automatically from the code your API will always have up-to-date docs which you can trust.
|
||||
|
||||
## Installation
|
||||
You can install the package via composer:
|
||||
```shell
|
||||
composer require dedoc/scramble
|
||||
```
|
||||
|
||||
## Usage
|
||||
After install you will have 2 routes added to your application:
|
||||
|
||||
- `/docs/api` - UI viewer for your documentation
|
||||
- `/docs/api.json` - Open API document in JSON format describing your API.
|
||||
|
||||
By default, these routes are available only in `local` environment. You can change this behavior [by defining `viewApiDocs` gate](https://scramble.dedoc.co/usage/getting-started#docs-authorization).
|
||||
|
||||
---
|
||||
|
||||
<p>
|
||||
<a href="https://savelife.in.ua/en/donate-en/" target="_blank">
|
||||
<img src="./.github/gh-promo.svg?v=1" alt="Donate"/>
|
||||
</a>
|
||||
</p>
|
||||
Vendored
+73
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"name": "dedoc/scramble",
|
||||
"description": "Automatic generation of API documentation for Laravel applications.",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"documentation",
|
||||
"openapi"
|
||||
],
|
||||
"homepage": "https://github.com/dedoc/scramble",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Roman Lytvynenko",
|
||||
"email": "litvinenko95@gmail.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.1",
|
||||
"illuminate/contracts": "^10.0|^11.0|^12.0|^13.0",
|
||||
"myclabs/deep-copy": "^1.12",
|
||||
"nikic/php-parser": "^5.0",
|
||||
"phpstan/phpdoc-parser": "^1.0|^2.0",
|
||||
"spatie/laravel-package-tools": "^1.9.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"larastan/larastan": "^3.3",
|
||||
"laravel/pint": "^v1.1.0",
|
||||
"nunomaduro/collision": "^7.0|^8.0",
|
||||
"orchestra/testbench": "^8.0|^9.0|^10.0|^11.0",
|
||||
"pestphp/pest": "^2.34|^3.7|^4.4",
|
||||
"pestphp/pest-plugin-laravel": "^2.3|^3.1|^4.1",
|
||||
"phpstan/extension-installer": "^1.4",
|
||||
"phpstan/phpstan-deprecation-rules": "^2.0",
|
||||
"phpstan/phpstan-phpunit": "^2.0",
|
||||
"phpunit/phpunit": "^10.5|^11.5.3|^12.5.12",
|
||||
"spatie/laravel-permission": "^6.10|^7.2",
|
||||
"spatie/pest-plugin-snapshots": "^2.1"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Dedoc\\Scramble\\": "src",
|
||||
"Dedoc\\Scramble\\Database\\Factories\\": "database/factories"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Dedoc\\Scramble\\Tests\\": "tests"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"analyse": "vendor/bin/phpstan analyse",
|
||||
"test": "vendor/bin/pest",
|
||||
"test-coverage": "vendor/bin/pest --coverage",
|
||||
"format": "vendor/bin/pint"
|
||||
},
|
||||
"config": {
|
||||
"sort-packages": true,
|
||||
"allow-plugins": {
|
||||
"pestphp/pest-plugin": true,
|
||||
"phpstan/extension-installer": true
|
||||
}
|
||||
},
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Dedoc\\Scramble\\ScrambleServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
}
|
||||
+174
@@ -0,0 +1,174 @@
|
||||
<?php
|
||||
|
||||
use Dedoc\Scramble\Http\Middleware\RestrictedDocsAccess;
|
||||
|
||||
return [
|
||||
/*
|
||||
* Which routes to document. String or array form; use Scramble::routes() for custom selection.
|
||||
*
|
||||
* 'api_path' => [
|
||||
* 'include' => 'api',
|
||||
* 'exclude' => ['api/internal'],
|
||||
* ],
|
||||
*
|
||||
* Without *, patterns match path segments (api matches api and api/users, not apiary).
|
||||
* With *, Str::is is used (e.g. api/v*).
|
||||
*
|
||||
* One static include → default server is /{include} and paths are stripped (/users).
|
||||
* Multiple includes or wildcards → server defaults to / and paths stay full (/api/users).
|
||||
* Override with `servers`, or use Scramble::registerApi() for separate bases.
|
||||
*/
|
||||
'api_path' => 'api',
|
||||
|
||||
/*
|
||||
* Your API domain. By default, app domain is used. This is also a part of the default API routes
|
||||
* matcher, so when implementing your own, make sure you use this config if needed.
|
||||
*/
|
||||
'api_domain' => null,
|
||||
|
||||
/*
|
||||
* The path where your OpenAPI specification will be exported.
|
||||
*/
|
||||
'export_path' => 'api.json',
|
||||
|
||||
/*
|
||||
* Cache configuration for the generated OpenAPI document.
|
||||
*
|
||||
* Use `scramble:cache` to warm the cache and `scramble:clear` to invalidate it.
|
||||
*/
|
||||
'cache' => [
|
||||
'key' => 'scramble.openapi',
|
||||
'store' => 'file',
|
||||
],
|
||||
|
||||
'info' => [
|
||||
/*
|
||||
* API version.
|
||||
*/
|
||||
'version' => env('API_VERSION', '0.0.1'),
|
||||
|
||||
/*
|
||||
* Description rendered on the home page of the API documentation (`/docs/api`).
|
||||
*/
|
||||
'description' => '',
|
||||
],
|
||||
|
||||
'ui' => [
|
||||
'title' => null,
|
||||
],
|
||||
|
||||
'renderer' => 'elements',
|
||||
|
||||
'renderers' => [
|
||||
/*
|
||||
* Stoplight Elements config options: https://docs.stoplight.io/docs/elements/b074dc47b2826-elements-configuration-options
|
||||
*/
|
||||
'elements' => [
|
||||
'view' => 'scramble::docs',
|
||||
'theme' => 'light',
|
||||
'hideTryIt' => false,
|
||||
'hideSchemas' => false,
|
||||
'logo' => '',
|
||||
'tryItCredentialsPolicy' => 'include',
|
||||
'layout' => 'responsive',
|
||||
'router' => 'hash',
|
||||
],
|
||||
/*
|
||||
* Scalar API reference config options: https://scalar.com/products/api-references/configuration
|
||||
*/
|
||||
'scalar' => [
|
||||
'view' => 'scramble::scalar',
|
||||
'cdn' => 'https://cdn.jsdelivr.net/npm/@scalar/api-reference',
|
||||
'theme' => 'laravel',
|
||||
'proxyUrl' => 'https://proxy.scalar.com',
|
||||
'darkMode' => false,
|
||||
'showDeveloperTools' => 'never',
|
||||
'agent' => ['disabled' => true],
|
||||
'credentials' => 'include',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* The list of servers of the API. By default, when `null`, server URL will be created from
|
||||
* `scramble.api_path` and `scramble.api_domain` config variables. When providing an array, you
|
||||
* will need to specify the local server URL manually (if needed).
|
||||
*
|
||||
* Example of non-default config (final URLs are generated using Laravel `url` helper):
|
||||
*
|
||||
* ```php
|
||||
* 'servers' => [
|
||||
* 'Live' => 'api',
|
||||
* 'Prod' => 'https://scramble.dedoc.co/api',
|
||||
* ],
|
||||
* ```
|
||||
*/
|
||||
'servers' => null,
|
||||
|
||||
/**
|
||||
* Determines how Scramble stores the descriptions of enum cases.
|
||||
* Available options:
|
||||
* - 'description' – Case descriptions are stored as the enum schema's description using table formatting.
|
||||
* - 'extension' – Case descriptions are stored in the `x-enumDescriptions` enum schema extension.
|
||||
*
|
||||
* @see https://redocly.com/docs-legacy/api-reference-docs/specification-extensions/x-enum-descriptions
|
||||
* - false - Case descriptions are ignored.
|
||||
*/
|
||||
'enum_cases_description_strategy' => 'description',
|
||||
|
||||
/**
|
||||
* Determines how Scramble stores the names of enum cases.
|
||||
* Available options:
|
||||
* - 'names' – Case names are stored in the `x-enumNames` enum schema extension.
|
||||
* - 'varnames' - Case names are stored in the `x-enum-varnames` enum schema extension.
|
||||
* - false - Case names are not stored.
|
||||
*/
|
||||
'enum_cases_names_strategy' => false,
|
||||
|
||||
/**
|
||||
* When Scramble encounters deep objects in query parameters, it flattens the parameters so the generated
|
||||
* OpenAPI document correctly describes the API. Flattening deep query parameters is relevant until
|
||||
* OpenAPI 3.2 is released and query string structure can be described properly.
|
||||
*
|
||||
* For example, this nested validation rule describes the object with `bar` property:
|
||||
* `['foo.bar' => ['required', 'int']]`.
|
||||
*
|
||||
* When `flatten_deep_query_parameters` is `true`, Scramble will document the parameter like so:
|
||||
* `{"name":"foo[bar]", "schema":{"type":"int"}, "required":true}`.
|
||||
*
|
||||
* When `flatten_deep_query_parameters` is `false`, Scramble will document the parameter like so:
|
||||
* `{"name":"foo", "schema": {"type":"object", "properties":{"bar":{"type": "int"}}, "required": ["bar"]}, "required":true}`.
|
||||
*/
|
||||
'flatten_deep_query_parameters' => true,
|
||||
|
||||
'middleware' => [
|
||||
'web',
|
||||
RestrictedDocsAccess::class,
|
||||
],
|
||||
|
||||
'extensions' => [],
|
||||
|
||||
/*
|
||||
* Automatically document API security (OpenAPI `security` / `securitySchemes`) based on route
|
||||
* middleware.
|
||||
*
|
||||
* Disabled by default. Uncomment the line below to enable `MiddlewareAuthSecurityStrategy`.
|
||||
* When at least one documented route uses middleware matching the configured patterns (by default
|
||||
* `auth` and `auth:*`), bearer auth is applied globally. Routes without matching middleware are
|
||||
* marked as public (`security: []`).
|
||||
*
|
||||
* Set to `null` explicitly to disable. If you already configure security manually via
|
||||
* `afterOpenApiGenerated` / `extendOpenApi`, keep this disabled to avoid duplicate schemes.
|
||||
*
|
||||
* Customize with a class-string or [class, options]:
|
||||
*
|
||||
* 'security_strategy' => [
|
||||
* \Dedoc\Scramble\SecurityDocumentation\MiddlewareAuthSecurityStrategy::class,
|
||||
* [
|
||||
* 'middleware' => ['auth', 'auth:*'],
|
||||
* 'scheme' => \Dedoc\Scramble\Support\Generator\SecurityScheme::http('bearer'),
|
||||
* ],
|
||||
* ],
|
||||
*/
|
||||
// 'security_strategy' => \Dedoc\Scramble\SecurityDocumentation\MiddlewareAuthSecurityStrategy::class,
|
||||
'security_strategy' => null,
|
||||
];
|
||||
+10
File diff suppressed because one or more lines are too long
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
use Dedoc\Scramble\Infer\Scope\Index;
|
||||
use Dedoc\Scramble\Infer\Services\FileParser;
|
||||
use PhpParser\ParserFactory;
|
||||
|
||||
include 'vendor/autoload.php';
|
||||
|
||||
$classes = [
|
||||
Exception::class,
|
||||
RuntimeException::class,
|
||||
\Symfony\Component\HttpKernel\Exception\HttpException::class,
|
||||
];
|
||||
|
||||
app()->singleton(FileParser::class, function () {
|
||||
return new FileParser(
|
||||
(new ParserFactory)->createForHostVersion()
|
||||
);
|
||||
});
|
||||
app()->singleton(Index::class);
|
||||
|
||||
$classesDefinitions = [];
|
||||
foreach ($classes as $className) {
|
||||
$classesDefinitions[$className] = generateClassDefinitionInitialization($className);
|
||||
}
|
||||
|
||||
function generateClassDefinitionInitialization(string $name)
|
||||
{
|
||||
$classAnalyzer = app(\Dedoc\Scramble\Infer\Analyzer\ClassAnalyzer::class);
|
||||
|
||||
$classDefinition = $classAnalyzer->analyze($name);
|
||||
foreach ($classDefinition->methods as $methodName => $method) {
|
||||
$classDefinition->getMethodDefinition($methodName);
|
||||
}
|
||||
|
||||
return serialize($classAnalyzer->analyze($name));
|
||||
}
|
||||
|
||||
$def = var_export($classesDefinitions, true);
|
||||
file_put_contents(__DIR__.'/../classMap.php', <<<EOL
|
||||
<?php
|
||||
/*
|
||||
* Do not change! This file is generated via scripts/generate.php.
|
||||
*/
|
||||
return {$def};
|
||||
EOL);
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
includes:
|
||||
- phpstan-baseline.neon
|
||||
|
||||
parameters:
|
||||
level: 9
|
||||
paths:
|
||||
- src
|
||||
- config
|
||||
stubFiles:
|
||||
- stubs/DeepCopy.stub
|
||||
tmpDir: build/phpstan
|
||||
checkOctaneCompatibility: true
|
||||
checkModelProperties: true
|
||||
typeAliases:
|
||||
Rule: 'string|\Illuminate\Contracts\Validation\ValidationRule'
|
||||
RuleSet: 'Rule|Rule[]'
|
||||
#reportUnmatchedIgnoredErrors: false
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"preset": "laravel",
|
||||
"rules": {
|
||||
"fully_qualified_strict_types": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
<!doctype html>
|
||||
<html lang="en" data-theme="{{ $config->renderer()->get('theme', 'light') }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="color-scheme" content="{{ $config->renderer()->get('theme', 'light') }}">
|
||||
<title>{{ $config->get('ui.title') ?? config('app.name') . ' - API Docs' }}</title>
|
||||
|
||||
<script src="https://unpkg.com/@stoplight/elements@8.4.2/web-components.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@stoplight/elements@8.4.2/styles.min.css">
|
||||
|
||||
<script>
|
||||
const originalFetch = window.fetch;
|
||||
|
||||
// intercept TryIt requests and add the XSRF-TOKEN header,
|
||||
// which is necessary for Sanctum cookie-based authentication to work correctly
|
||||
window.fetch = (url, options) => {
|
||||
const CSRF_TOKEN_COOKIE_KEY = "XSRF-TOKEN";
|
||||
const CSRF_TOKEN_HEADER_KEY = "X-XSRF-TOKEN";
|
||||
const getCookieValue = (key) => {
|
||||
const cookie = document.cookie.split(';').find((cookie) => cookie.trim().startsWith(key));
|
||||
return cookie?.split("=")[1];
|
||||
};
|
||||
|
||||
const updateFetchHeaders = (
|
||||
headers,
|
||||
headerKey,
|
||||
headerValue,
|
||||
) => {
|
||||
if (headers instanceof Headers) {
|
||||
headers.set(headerKey, headerValue);
|
||||
} else if (Array.isArray(headers)) {
|
||||
headers.push([headerKey, headerValue]);
|
||||
} else if (headers) {
|
||||
headers[headerKey] = headerValue;
|
||||
}
|
||||
};
|
||||
const csrfToken = getCookieValue(CSRF_TOKEN_COOKIE_KEY);
|
||||
if (csrfToken) {
|
||||
const { headers = new Headers() } = options || {};
|
||||
updateFetchHeaders(headers, CSRF_TOKEN_HEADER_KEY, decodeURIComponent(csrfToken));
|
||||
return originalFetch(url, {
|
||||
...options,
|
||||
headers,
|
||||
});
|
||||
}
|
||||
|
||||
return originalFetch(url, options);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
html, body { margin:0; height:100%; }
|
||||
body { background-color: var(--color-canvas); }
|
||||
/* issues about the dark theme of stoplight/mosaic-code-viewer using web component:
|
||||
* https://github.com/stoplightio/elements/issues/2188#issuecomment-1485461965
|
||||
*/
|
||||
[data-theme="dark"] .token.property {
|
||||
color: rgb(128, 203, 196) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.operator {
|
||||
color: rgb(255, 123, 114) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.number {
|
||||
color: rgb(247, 140, 108) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.string {
|
||||
color: rgb(165, 214, 255) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.boolean {
|
||||
color: rgb(121, 192, 255) !important;
|
||||
}
|
||||
[data-theme="dark"] .token.punctuation {
|
||||
color: #dbdbdb !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="height: 100vh; overflow-y: hidden">
|
||||
<elements-api
|
||||
id="docs"
|
||||
@foreach($config->renderer()->all(except: ['theme']) as $key => $value)
|
||||
@continue(! $value)
|
||||
{{ $key }}="{{ $value === true ? 'true' : ($value === false ? 'false' : $value) }}"
|
||||
@endforeach
|
||||
/>
|
||||
<script>
|
||||
(async () => {
|
||||
const docs = document.getElementById('docs');
|
||||
docs.apiDescriptionDocument = @json($spec);
|
||||
})();
|
||||
</script>
|
||||
|
||||
@if($config->renderer()->get('theme', 'light') === 'system')
|
||||
<script>
|
||||
var mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
||||
|
||||
function updateTheme(e) {
|
||||
if (e.matches) {
|
||||
window.document.documentElement.setAttribute('data-theme', 'dark');
|
||||
window.document.getElementsByName('color-scheme')[0].setAttribute('content', 'dark');
|
||||
} else {
|
||||
window.document.documentElement.setAttribute('data-theme', 'light');
|
||||
window.document.getElementsByName('color-scheme')[0].setAttribute('content', 'light');
|
||||
}
|
||||
}
|
||||
|
||||
mediaQuery.addEventListener('change', updateTheme);
|
||||
updateTheme(mediaQuery);
|
||||
</script>
|
||||
@endif
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,32 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>{{ $config->get('ui.title') ?? config('app.name') . ' - API Docs' }}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script src="{{ $config->renderer()->get('cdn', 'https://cdn.jsdelivr.net/npm/@scalar/api-reference') }}"></script>
|
||||
|
||||
<script>
|
||||
const CSRF_TOKEN_COOKIE_KEY = "XSRF-TOKEN";
|
||||
const CSRF_TOKEN_HEADER_KEY = "X-XSRF-TOKEN";
|
||||
const getCookieValue = (key) => {
|
||||
const cookie = document.cookie.split(';').find((cookie) => cookie.trim().startsWith(key));
|
||||
return cookie?.split("=")[1];
|
||||
};
|
||||
|
||||
Scalar.createApiReference('#app', {
|
||||
content: @json($spec),
|
||||
...@json($config->renderer()->all(except: ['cdn', 'credentials'])),
|
||||
onBeforeRequest: ({ requestBuilder }) => {
|
||||
requestBuilder.headers.set(CSRF_TOKEN_HEADER_KEY, decodeURIComponent(getCookieValue(CSRF_TOKEN_COOKIE_KEY)))
|
||||
},
|
||||
customFetch: (input, init) => {
|
||||
return window.fetch(input, { ...init, credentials: @json($config->renderer()->get('credentials', 'include')) })
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Dedoc\Scramble\Scramble;
|
||||
|
||||
Scramble::registerUiRoute(path: 'docs/api')->name('scramble.docs.ui');
|
||||
|
||||
Scramble::registerJsonSpecificationRoute(path: 'docs/api.json')->name('scramble.docs.document');
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble;
|
||||
|
||||
class AbstractOpenApiVisitor implements OpenApiVisitor
|
||||
{
|
||||
public function enter(mixed $object, array $path = []) {}
|
||||
|
||||
public function leave(mixed $object, array $path = []) {}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_ALL)]
|
||||
class BodyParameter extends Parameter
|
||||
{
|
||||
public function __construct(
|
||||
string $name,
|
||||
?string $description = null,
|
||||
?bool $required = null,
|
||||
$deprecated = false,
|
||||
?string $type = null,
|
||||
?string $format = null,
|
||||
bool $infer = true,
|
||||
mixed $default = new MissingValue,
|
||||
mixed $example = new MissingValue,
|
||||
array $examples = [],
|
||||
) {
|
||||
parent::__construct('body', $name, $description, $required, $deprecated, $type, $format, $infer, $default, $example, $examples);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_ALL)]
|
||||
class CookieParameter extends Parameter
|
||||
{
|
||||
public function __construct(
|
||||
string $name,
|
||||
?string $description = null,
|
||||
?bool $required = null,
|
||||
$deprecated = false,
|
||||
?string $type = null,
|
||||
?string $format = null,
|
||||
bool $infer = true,
|
||||
mixed $default = new MissingValue,
|
||||
mixed $example = new MissingValue,
|
||||
array $examples = [],
|
||||
) {
|
||||
parent::__construct('cookie', $name, $description, $required, $deprecated, $type, $format, $infer, $default, $example, $examples);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Adds metadata to endpoints.
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
|
||||
class Endpoint
|
||||
{
|
||||
public function __construct(
|
||||
/**
|
||||
* Assigns an OperationID to a controller method.
|
||||
*/
|
||||
public readonly ?string $operationId = null,
|
||||
/**
|
||||
* Sets the title (summary) of the endpoint.
|
||||
*/
|
||||
public readonly ?string $title = null,
|
||||
/**
|
||||
* Sets the description of the endpoint.
|
||||
*/
|
||||
public readonly ?string $description = null,
|
||||
/**
|
||||
* Allows to override the method of the endpoint in the documentation. Useful when you want to document the
|
||||
* `PUT|PATCH` endpoint as `PATCH`. The method provided here MUST be the actual method the API will reply to.
|
||||
*/
|
||||
public readonly ?string $method = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Dedoc\Scramble\Support\Generator\Example as OpenApiExample;
|
||||
use Dedoc\Scramble\Support\Generator\MissingValue as OpenApiMissingValue;
|
||||
|
||||
class Example
|
||||
{
|
||||
public function __construct(
|
||||
public mixed $value = new MissingValue,
|
||||
public ?string $summary = null,
|
||||
public ?string $description = null,
|
||||
public ?string $externalValue = null,
|
||||
) {}
|
||||
|
||||
public static function toOpenApiExample(Example $example): OpenApiExample
|
||||
{
|
||||
return new OpenApiExample(
|
||||
value: $example->value instanceof MissingValue ? new OpenApiMissingValue : $example->value,
|
||||
summary: $example->summary,
|
||||
description: $example->description,
|
||||
externalValue: $example->externalValue,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Excludes all routes of a controller from the API documentation. Applies to controller's methods.
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_CLASS)]
|
||||
class ExcludeAllRoutesFromDocs {}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Excludes a route from API documentation. Applies to controller's methods.
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
|
||||
class ExcludeRouteFromDocs {}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Groups endpoints.
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)]
|
||||
class Group
|
||||
{
|
||||
public function __construct(
|
||||
public readonly ?string $name = null,
|
||||
public readonly ?string $description = null,
|
||||
|
||||
/**
|
||||
* Determines the ordering of the groups. Groups with the same weight, are sorted
|
||||
* by the name (with `SORT_LOCALE_STRING` sorting flag).
|
||||
*/
|
||||
public readonly int $weight = PHP_INT_MAX,
|
||||
) {}
|
||||
}
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
use Dedoc\Scramble\PhpDoc\PhpDocTypeHelper;
|
||||
use Dedoc\Scramble\Support\Generator\Header as OpenApiHeader;
|
||||
use Dedoc\Scramble\Support\Generator\MissingValue as OpenApiMissingValue;
|
||||
use Dedoc\Scramble\Support\Generator\Schema;
|
||||
use Dedoc\Scramble\Support\Generator\Types\MixedType;
|
||||
use Dedoc\Scramble\Support\Generator\Types\StringType;
|
||||
use Dedoc\Scramble\Support\Generator\Types\Type as OpenApiType;
|
||||
use Dedoc\Scramble\Support\Generator\TypeTransformer;
|
||||
use Dedoc\Scramble\Support\PhpDoc;
|
||||
use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
|
||||
class Header
|
||||
{
|
||||
/**
|
||||
* @param scalar|array<mixed>|object|MissingValue $example
|
||||
*/
|
||||
public function __construct(
|
||||
public readonly string $name,
|
||||
public readonly ?string $description = null,
|
||||
public readonly ?string $type = null,
|
||||
public readonly ?string $format = null,
|
||||
public readonly ?bool $required = null,
|
||||
/** @var array<mixed>|scalar|null|MissingValue */
|
||||
public readonly mixed $default = new MissingValue,
|
||||
public readonly mixed $example = new MissingValue,
|
||||
/** @var array<string, Example> $examples */
|
||||
public readonly array $examples = [],
|
||||
public readonly ?bool $deprecated = null,
|
||||
public readonly ?bool $explode = null,
|
||||
public readonly int|string $status = 200,
|
||||
) {}
|
||||
|
||||
public static function toOpenApiHeader(Header $header, TypeTransformer $openApiTransformer): OpenApiHeader
|
||||
{
|
||||
$type = self::getType($header, $openApiTransformer);
|
||||
$default = $header->default instanceof MissingValue ? new OpenApiMissingValue : $header->default;
|
||||
$format = $header->format ?: '';
|
||||
|
||||
if ($type instanceof MixedType && ($format || ! $default instanceof OpenApiMissingValue)) {
|
||||
$type = new StringType;
|
||||
}
|
||||
|
||||
return new OpenApiHeader(
|
||||
description: $header->description,
|
||||
required: $header->required,
|
||||
deprecated: $header->deprecated,
|
||||
explode: $header->explode,
|
||||
schema: Schema::fromType(
|
||||
$type->default($default)->format($format)
|
||||
),
|
||||
example: $header->example instanceof MissingValue ? new OpenApiMissingValue : $header->example,
|
||||
examples: array_map(fn ($e) => Example::toOpenApiExample($e), $header->examples),
|
||||
);
|
||||
}
|
||||
|
||||
public static function getType(Header $header, TypeTransformer $openApiTransformer): OpenApiType
|
||||
{
|
||||
return $header->type ? $openApiTransformer->transform(
|
||||
PhpDocTypeHelper::toType(
|
||||
PhpDoc::parse("/** @return $header->type */")->getReturnTagValues()[0]->type ?? new IdentifierTypeNode('mixed')
|
||||
)
|
||||
) : new MixedType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_ALL)]
|
||||
class HeaderParameter extends Parameter
|
||||
{
|
||||
public function __construct(
|
||||
string $name,
|
||||
?string $description = null,
|
||||
?bool $required = null,
|
||||
$deprecated = false,
|
||||
?string $type = null,
|
||||
?string $format = null,
|
||||
bool $infer = true,
|
||||
mixed $default = new MissingValue,
|
||||
mixed $example = new MissingValue,
|
||||
array $examples = [],
|
||||
) {
|
||||
parent::__construct('header', $name, $description, $required, $deprecated, $type, $format, $infer, $default, $example, $examples);
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Marks a class property as hidden from OpenAPI object schema.
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_PROPERTY)]
|
||||
class Hidden {}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
|
||||
class IgnoreParam
|
||||
{
|
||||
/**
|
||||
* @param 'query'|'path'|'header'|'cookie'|'body'|null $in
|
||||
*/
|
||||
public function __construct(
|
||||
public readonly string $name,
|
||||
public readonly ?string $in = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
class MissingValue {}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_ALL)]
|
||||
class Parameter
|
||||
{
|
||||
public readonly bool $required;
|
||||
|
||||
/**
|
||||
* @param 'query'|'path'|'header'|'cookie'|'body' $in
|
||||
* @param scalar|array|object|MissingValue $example
|
||||
* @param array<string, Example> $examples The key is a distinct name and the value is an example object.
|
||||
*/
|
||||
public function __construct(
|
||||
public readonly string $in,
|
||||
public readonly string $name,
|
||||
public readonly ?string $description = null,
|
||||
?bool $required = null,
|
||||
public bool $deprecated = false,
|
||||
public ?string $type = null,
|
||||
public ?string $format = null,
|
||||
public bool $infer = true,
|
||||
public mixed $default = new MissingValue,
|
||||
public mixed $example = new MissingValue,
|
||||
public array $examples = [],
|
||||
) {
|
||||
$this->required = $required !== null ? $required : $this->in === 'path';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_ALL)]
|
||||
class PathParameter extends Parameter
|
||||
{
|
||||
public function __construct(
|
||||
string $name,
|
||||
?string $description = null,
|
||||
?bool $required = null,
|
||||
$deprecated = false,
|
||||
?string $type = null,
|
||||
?string $format = null,
|
||||
bool $infer = true,
|
||||
mixed $default = new MissingValue,
|
||||
mixed $example = new MissingValue,
|
||||
array $examples = [],
|
||||
) {
|
||||
parent::__construct('path', $name, $description, $required, $deprecated, $type, $format, $infer, $default, $example, $examples);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_ALL)]
|
||||
class QueryParameter extends Parameter
|
||||
{
|
||||
public function __construct(
|
||||
string $name,
|
||||
?string $description = null,
|
||||
?bool $required = null,
|
||||
$deprecated = false,
|
||||
?string $type = null,
|
||||
?string $format = null,
|
||||
bool $infer = true,
|
||||
mixed $default = new MissingValue,
|
||||
mixed $example = new MissingValue,
|
||||
array $examples = [],
|
||||
) {
|
||||
parent::__construct('query', $name, $description, $required, $deprecated, $type, $format, $infer, $default, $example, $examples);
|
||||
}
|
||||
}
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
use Dedoc\Scramble\Infer\Services\FileNameResolver;
|
||||
use Dedoc\Scramble\PhpDoc\PhpDocTypeHelper;
|
||||
use Dedoc\Scramble\Support\Generator\Reference;
|
||||
use Dedoc\Scramble\Support\Generator\Response as OpenApiResponse;
|
||||
use Dedoc\Scramble\Support\Generator\Schema;
|
||||
use Dedoc\Scramble\Support\Generator\Types\StringType;
|
||||
use Dedoc\Scramble\Support\Generator\Types\Type;
|
||||
use Dedoc\Scramble\Support\Generator\TypeTransformer;
|
||||
use Dedoc\Scramble\Support\PhpDoc;
|
||||
use Illuminate\Support\Str;
|
||||
use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
|
||||
|
||||
use function DeepCopy\deep_copy;
|
||||
|
||||
/**
|
||||
* @phpstan-type BaseExample array<mixed>|scalar|null
|
||||
*/
|
||||
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
|
||||
class Response
|
||||
{
|
||||
public function __construct(
|
||||
public readonly int|string $status = 200,
|
||||
public readonly ?string $description = null,
|
||||
public readonly string $mediaType = 'application/json',
|
||||
public readonly ?string $type = null,
|
||||
public readonly ?string $format = null,
|
||||
/** @var BaseExample|BaseExample[] $examples */
|
||||
public readonly mixed $examples = [],
|
||||
) {}
|
||||
|
||||
public static function toOpenApiResponse(Response $responseAttribute, ?OpenApiResponse $originalResponse, TypeTransformer $openApiTransformer, ?FileNameResolver $nameResolver): OpenApiResponse
|
||||
{
|
||||
$response = $originalResponse ? deep_copy($originalResponse) : OpenApiResponse::make($responseAttribute->status);
|
||||
|
||||
$response = self::applyResponseMediaType($responseAttribute, $response, $openApiTransformer, $nameResolver);
|
||||
|
||||
$response->setDescription(self::getDescription($responseAttribute, $response));
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
private static function applyResponseMediaType(Response $responseAttribute, OpenApiResponse $response, TypeTransformer $openApiTransformer, ?FileNameResolver $nameResolver): OpenApiResponse
|
||||
{
|
||||
if (! $responseAttribute->type) {
|
||||
return $response
|
||||
->setContent(
|
||||
$responseAttribute->mediaType,
|
||||
self::getMediaType($responseAttribute, $response),
|
||||
);
|
||||
}
|
||||
|
||||
$responseFromType = $openApiTransformer->toResponse(
|
||||
PhpDocTypeHelper::toType(
|
||||
PhpDoc::parse("/** @return $responseAttribute->type */", $nameResolver)->getReturnTagValues()[0]->type ?? new IdentifierTypeNode('mixed')
|
||||
)
|
||||
);
|
||||
|
||||
if ($responseFromType instanceof Reference) {
|
||||
$responseFromType = deep_copy($responseFromType->resolve());
|
||||
}
|
||||
|
||||
/** @var OpenApiResponse|null $responseFromType */
|
||||
if (! $responseFromType) {
|
||||
return $response->setContent(
|
||||
$responseAttribute->mediaType,
|
||||
self::getMediaType($responseAttribute, $response),
|
||||
);
|
||||
}
|
||||
|
||||
return $response
|
||||
->setDescription($responseFromType->description ?: self::getDescription($responseAttribute, $response))
|
||||
->setContent(
|
||||
$responseAttribute->mediaType,
|
||||
self::getMediaType($responseAttribute, $responseFromType),
|
||||
);
|
||||
}
|
||||
|
||||
private static function getDescription(Response $responseAttribute, OpenApiResponse $response): string
|
||||
{
|
||||
if ($responseAttribute->description === null) {
|
||||
return $response->description;
|
||||
}
|
||||
|
||||
return Str::replace('$0', $response->description, $responseAttribute->description);
|
||||
}
|
||||
|
||||
private static function getMediaType(Response $responseAttribute, OpenApiResponse $response): Schema|Reference
|
||||
{
|
||||
return self::getSchema($responseAttribute, $response->content[$responseAttribute->mediaType] ?? null);
|
||||
}
|
||||
|
||||
private static function getSchema(Response $responseAttribute, Schema|Reference|null $schema): Schema|Reference
|
||||
{
|
||||
if (! $responseAttribute->format && ! $responseAttribute->examples) {
|
||||
return $schema ?: Schema::fromType(new StringType);
|
||||
}
|
||||
|
||||
$schemaType = $schema
|
||||
? clone ($schema instanceof Reference ? $schema->resolve()->type : $schema->type)
|
||||
: new StringType;
|
||||
|
||||
/** @var Type $schemaType */
|
||||
if ($responseAttribute->format) {
|
||||
$schemaType->format($responseAttribute->format);
|
||||
}
|
||||
|
||||
if ($responseAttribute->examples) {
|
||||
$schemaType->examples($responseAttribute->examples); // @phpstan-ignore argument.type
|
||||
}
|
||||
|
||||
return Schema::fromType($schemaType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Allows naming class based schemas for different contexts.
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_CLASS)]
|
||||
class SchemaName
|
||||
{
|
||||
public function __construct(
|
||||
public readonly string $name,
|
||||
/**
|
||||
* Some classes can be used both as input and output schemas. So this property is used to
|
||||
* explicitly name the schema when is in input context.
|
||||
*/
|
||||
public readonly ?string $input = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble;
|
||||
|
||||
class CacheableGenerator
|
||||
{
|
||||
public function __construct(
|
||||
private Generator $generator,
|
||||
) {}
|
||||
|
||||
public function __invoke(?GeneratorConfig $config = null): array
|
||||
{
|
||||
$config ??= Scramble::getGeneratorConfig(Scramble::DEFAULT_API);
|
||||
|
||||
$store = config('scramble.cache.store');
|
||||
$keyBase = config('scramble.cache.key');
|
||||
|
||||
if (! $store || ! $keyBase) {
|
||||
return ($this->generator)($config);
|
||||
}
|
||||
|
||||
$key = $keyBase.':'.$this->resolveApi($config);
|
||||
|
||||
if ($cached = cache()->store($store)->get($key)) {
|
||||
return $cached;
|
||||
}
|
||||
|
||||
return ($this->generator)($config);
|
||||
}
|
||||
|
||||
private function resolveApi(GeneratorConfig $config): string
|
||||
{
|
||||
foreach (Scramble::getConfigurationsInstance()->all() as $api => $generatorConfig) {
|
||||
if ($generatorConfig === $config) {
|
||||
return $api;
|
||||
}
|
||||
}
|
||||
|
||||
return Scramble::DEFAULT_API;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
use InvalidArgumentException;
|
||||
|
||||
class ApiPath
|
||||
{
|
||||
/**
|
||||
* @param list<string> $includes
|
||||
* @param list<string> $excludes
|
||||
*/
|
||||
private function __construct(
|
||||
private readonly array $includes,
|
||||
private readonly array $excludes,
|
||||
) {}
|
||||
|
||||
/**
|
||||
* @param string|array{include?: string|string[], exclude?: string|string[]}|null $config
|
||||
*/
|
||||
public static function from(mixed $config, string $default = 'api'): self
|
||||
{
|
||||
if ($config === null || is_string($config)) {
|
||||
return new self(self::normalizePrefixes($config ?? $default), []);
|
||||
}
|
||||
|
||||
if (is_array($config) && (array_key_exists('include', $config) || array_key_exists('exclude', $config))) {
|
||||
return new self(
|
||||
self::normalizePrefixes($config['include'] ?? $default),
|
||||
self::normalizePrefixes($config['exclude'] ?? []),
|
||||
);
|
||||
}
|
||||
|
||||
throw new InvalidArgumentException(
|
||||
'Invalid scramble.api_path config. Expected a string or an array with `include` and/or `exclude` keys.'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<string>
|
||||
*/
|
||||
private static function normalizePrefixes(mixed $prefixes): array
|
||||
{
|
||||
if ($prefixes === '' || $prefixes === null) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return array_values(array_filter(Arr::wrap($prefixes), fn ($prefix) => is_string($prefix) && $prefix !== ''));
|
||||
}
|
||||
|
||||
public function matches(string $uri): bool
|
||||
{
|
||||
if ($this->includes !== [] && ! $this->matchesAny($uri, $this->includes)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ! $this->matchesAny($uri, $this->excludes);
|
||||
}
|
||||
|
||||
public function stripPrefix(string $uri): string
|
||||
{
|
||||
if (! $this->usesSingleBase()) {
|
||||
return $uri;
|
||||
}
|
||||
|
||||
return (string) Str::of($uri)
|
||||
->replaceStart($this->includes[0], '')
|
||||
->trim('/');
|
||||
}
|
||||
|
||||
public function serverPath(): string
|
||||
{
|
||||
return $this->usesSingleBase() ? $this->includes[0] : '';
|
||||
}
|
||||
|
||||
private function usesSingleBase(): bool
|
||||
{
|
||||
return count($this->includes) === 1 && ! str_contains($this->includes[0], '*');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param list<string> $patterns
|
||||
*/
|
||||
private function matchesAny(string $uri, array $patterns): bool
|
||||
{
|
||||
foreach ($patterns as $pattern) {
|
||||
if (str_contains($pattern, '*') ? Str::is($pattern, $uri) : ($uri === $pattern || Str::startsWith($uri, $pattern.'/'))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\Contracts\DocumentTransformer;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
class DocumentTransformers
|
||||
{
|
||||
protected array $transformers = [];
|
||||
|
||||
protected array $appends = [];
|
||||
|
||||
protected array $prepends = [];
|
||||
|
||||
public function append(array|callable|string $transformers)
|
||||
{
|
||||
$this->appends = array_merge(
|
||||
$this->appends,
|
||||
Arr::wrap($transformers)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function prepend(array|callable|string $transformers)
|
||||
{
|
||||
$this->prepends = array_merge(
|
||||
$this->prepends,
|
||||
Arr::wrap($transformers)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function use(array $transformers)
|
||||
{
|
||||
$this->transformers = $transformers;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return (callable|class-string<DocumentTransformer>)[]
|
||||
*/
|
||||
public function all(): array
|
||||
{
|
||||
$base = $this->transformers;
|
||||
|
||||
return array_values(array_unique([
|
||||
...$this->prepends,
|
||||
...$base,
|
||||
...$this->appends,
|
||||
], SORT_REGULAR));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\GeneratorConfig;
|
||||
use Dedoc\Scramble\Scramble;
|
||||
use Illuminate\Routing\Router;
|
||||
use LogicException;
|
||||
|
||||
class GeneratorConfigCollection
|
||||
{
|
||||
/**
|
||||
* @var array<string, GeneratorConfig>
|
||||
*/
|
||||
private array $apis = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->apis[Scramble::DEFAULT_API] = $this->buildDefaultApiConfiguration();
|
||||
}
|
||||
|
||||
private function buildDefaultApiConfiguration(): GeneratorConfig
|
||||
{
|
||||
return (new GeneratorConfig)
|
||||
->expose(
|
||||
ui: fn (Router $router, $action) => $router->get('docs/api', $action)->name('scramble.docs.ui'),
|
||||
document: fn (Router $router, $action) => $router->get('docs/api.json', $action)->name('scramble.docs.document'),
|
||||
);
|
||||
}
|
||||
|
||||
public function get(string $name): GeneratorConfig
|
||||
{
|
||||
if (! array_key_exists($name, $this->apis)) {
|
||||
throw new LogicException("$name API is not registered. Register the API using `Scramble::registerApi` first.");
|
||||
}
|
||||
|
||||
return $this->apis[$name];
|
||||
}
|
||||
|
||||
public function register(string $name, array $config): GeneratorConfig
|
||||
{
|
||||
$this->apis[$name] = $generatorConfig = $this->apis[Scramble::DEFAULT_API]
|
||||
->cloneWithoutExposing()
|
||||
->useConfig(array_merge(config('scramble') ?: [], $config));
|
||||
|
||||
return $generatorConfig;
|
||||
}
|
||||
|
||||
public function all(): array
|
||||
{
|
||||
return $this->apis;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\Infer\Configuration\ClassLike;
|
||||
use Dedoc\Scramble\Infer\Configuration\DefinitionMatcher;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class InferConfig
|
||||
{
|
||||
/** @var DefinitionMatcher[] */
|
||||
private array $forcedAstSourcedDefinitionsMatchers = [];
|
||||
|
||||
/** @var DefinitionMatcher[] */
|
||||
private array $forcedReflectionSourcedDefinitionsMatchers = [];
|
||||
|
||||
/**
|
||||
* @param (string|DefinitionMatcher)[] $items
|
||||
* @return $this
|
||||
*/
|
||||
public function buildDefinitionsUsingAstFor(array $items): static
|
||||
{
|
||||
$this->forcedAstSourcedDefinitionsMatchers = [
|
||||
...$this->forcedAstSourcedDefinitionsMatchers,
|
||||
...array_map(
|
||||
fn ($item) => is_string($item) ? new ClassLike($item) : $item,
|
||||
Arr::wrap($items),
|
||||
),
|
||||
];
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param (string|DefinitionMatcher)[] $items
|
||||
* @return $this
|
||||
*/
|
||||
public function buildDefinitionsUsingReflectionFor(array $items): static
|
||||
{
|
||||
$this->forcedReflectionSourcedDefinitionsMatchers = [
|
||||
...$this->forcedReflectionSourcedDefinitionsMatchers,
|
||||
...array_map(
|
||||
fn ($item) => is_string($item) ? new ClassLike($item) : $item,
|
||||
Arr::wrap($items),
|
||||
),
|
||||
];
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DefinitionMatcher[] $matchers
|
||||
*/
|
||||
private function matchesAnyDefinitionMatcher(string $class, array $matchers): bool
|
||||
{
|
||||
foreach ($matchers as $item) {
|
||||
if ($item->matches($class)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function shouldAnalyzeAst(string $class): bool
|
||||
{
|
||||
if ($this->matchesAnyDefinitionMatcher($class, $this->forcedReflectionSourcedDefinitionsMatchers)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->matchesAnyDefinitionMatcher($class, $this->forcedAstSourcedDefinitionsMatchers)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Ignoring static analysis error due to it is fine to exception to be thrown here if bad input.
|
||||
$reflection = new \ReflectionClass($class); // @phpstan-ignore argument.type
|
||||
|
||||
$path = $reflection->getFileName();
|
||||
|
||||
if (! $path) {
|
||||
return true; // Keep in mind the internal classes are analyzed via AST analyzer
|
||||
}
|
||||
|
||||
return ! Str::contains($path, DIRECTORY_SEPARATOR.'vendor'.DIRECTORY_SEPARATOR);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\Enums\JsonApiArraySerialization;
|
||||
use Illuminate\Http\Resources\JsonApi\JsonApiResource;
|
||||
|
||||
class JsonApiConfig
|
||||
{
|
||||
public function __construct(
|
||||
public readonly JsonApiArraySerialization $arraySerialization = JsonApiArraySerialization::Comma,
|
||||
public readonly ?int $maxRelationshipDepth = null,
|
||||
) {}
|
||||
|
||||
/** @return non-negative-int */
|
||||
public function maxRelationshipDepth(): int
|
||||
{
|
||||
if ($this->maxRelationshipDepth === null) {
|
||||
return JsonApiResource::$maxRelationshipDepth; // @phpstan-ignore return.type
|
||||
}
|
||||
|
||||
return max(0, min($this->maxRelationshipDepth, JsonApiResource::$maxRelationshipDepth));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\Contracts\OperationTransformer;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\DeprecationExtension;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ErrorResponsesExtension;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\RequestBodyExtension;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\RequestEssentialsExtension;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ResponseExtension;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ResponseHeadersExtension;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
class OperationTransformers
|
||||
{
|
||||
protected array $transformers = [];
|
||||
|
||||
protected array $appends = [];
|
||||
|
||||
protected array $prepends = [];
|
||||
|
||||
public function append(array|callable|string $transformers)
|
||||
{
|
||||
$this->appends = array_merge(
|
||||
$this->appends,
|
||||
Arr::wrap($transformers)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function prepend(array|callable|string $transformers)
|
||||
{
|
||||
$this->prepends = array_merge(
|
||||
$this->prepends,
|
||||
Arr::wrap($transformers)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function use(array $transformers)
|
||||
{
|
||||
$this->transformers = $transformers;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<callable|class-string<OperationTransformer>>
|
||||
*/
|
||||
public function all(): array
|
||||
{
|
||||
$base = $this->transformers ?: [
|
||||
RequestEssentialsExtension::class,
|
||||
RequestBodyExtension::class,
|
||||
ErrorResponsesExtension::class,
|
||||
ResponseExtension::class,
|
||||
ResponseHeadersExtension::class,
|
||||
DeprecationExtension::class,
|
||||
];
|
||||
|
||||
return array_values(array_unique([
|
||||
...$this->prepends,
|
||||
...$base,
|
||||
...$this->appends,
|
||||
], SORT_REGULAR));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ParameterExtractor\AttributesParametersExtractor;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ParameterExtractor\FormRequestParametersExtractor;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ParameterExtractor\JsonApiResourceParametersExtractor;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ParameterExtractor\MethodCallsParametersExtractor;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ParameterExtractor\ParameterExtractor;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ParameterExtractor\PathParametersExtractor;
|
||||
use Dedoc\Scramble\Support\OperationExtensions\ParameterExtractor\ValidateCallParametersExtractor;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
class ParametersExtractors
|
||||
{
|
||||
/** @var class-string<ParameterExtractor>[] */
|
||||
protected array $extractors = [];
|
||||
|
||||
/** @var class-string<ParameterExtractor>[] */
|
||||
protected array $appends = [];
|
||||
|
||||
/** @var class-string<ParameterExtractor>[] */
|
||||
protected array $prepends = [];
|
||||
|
||||
/**
|
||||
* @param class-string<ParameterExtractor>[]|class-string<ParameterExtractor> $extractor
|
||||
* @return $this
|
||||
*/
|
||||
public function append(array|string $extractor): self
|
||||
{
|
||||
$this->appends = array_merge(
|
||||
$this->appends,
|
||||
Arr::wrap($extractor)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param class-string<ParameterExtractor>[]|class-string<ParameterExtractor> $extractor
|
||||
* @return $this
|
||||
*/
|
||||
public function prepend(array|string $extractor): self
|
||||
{
|
||||
$this->prepends = array_merge(
|
||||
$this->prepends,
|
||||
Arr::wrap($extractor)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param class-string<ParameterExtractor>[] $extractors
|
||||
* @return $this
|
||||
*/
|
||||
public function use(array $extractors): self
|
||||
{
|
||||
$this->extractors = $extractors;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string<ParameterExtractor>[]
|
||||
*/
|
||||
public function all(): array
|
||||
{
|
||||
$base = $this->extractors ?: [
|
||||
PathParametersExtractor::class,
|
||||
FormRequestParametersExtractor::class,
|
||||
ValidateCallParametersExtractor::class,
|
||||
JsonApiResourceParametersExtractor::class,
|
||||
];
|
||||
|
||||
$defaultAppends = [
|
||||
MethodCallsParametersExtractor::class,
|
||||
AttributesParametersExtractor::class,
|
||||
];
|
||||
|
||||
return array_values(array_unique([
|
||||
...$this->prepends,
|
||||
...$base,
|
||||
...$this->appends,
|
||||
...$defaultAppends,
|
||||
]));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
class RendererConfig
|
||||
{
|
||||
public readonly string $view;
|
||||
|
||||
private array $config;
|
||||
|
||||
/**
|
||||
* @param array{view: string} $config
|
||||
*/
|
||||
public function __construct(
|
||||
array $config = []
|
||||
) {
|
||||
$this->config = Arr::except($config, ['view']);
|
||||
$this->view = $config['view'];
|
||||
}
|
||||
|
||||
public function get(string $key, mixed $default = null): mixed
|
||||
{
|
||||
return Arr::get($this->config, $key, $default);
|
||||
}
|
||||
|
||||
public function all(array $except = []): array
|
||||
{
|
||||
return Arr::except($this->config, $except);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\Contracts\AllRulesSchemasTransformer;
|
||||
use Dedoc\Scramble\Contracts\RuleTransformer;
|
||||
use Dedoc\Scramble\RuleTransformers\ConfirmedRule;
|
||||
use Dedoc\Scramble\RuleTransformers\EnumRule;
|
||||
use Dedoc\Scramble\RuleTransformers\ExistsRule;
|
||||
use Dedoc\Scramble\RuleTransformers\InRule;
|
||||
use Dedoc\Scramble\RuleTransformers\RegexRule;
|
||||
use Dedoc\Scramble\Support\ContainerUtils;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class RuleTransformers
|
||||
{
|
||||
/** @var list<class-string<RuleTransformer|AllRulesSchemasTransformer>> */
|
||||
protected array $transformers = [];
|
||||
|
||||
/** @var list<class-string<RuleTransformer|AllRulesSchemasTransformer>> */
|
||||
protected array $appends = [];
|
||||
|
||||
/** @var list<class-string<RuleTransformer|AllRulesSchemasTransformer>> */
|
||||
protected array $prepends = [];
|
||||
|
||||
/**
|
||||
* @param class-string<RuleTransformer|AllRulesSchemasTransformer>|list<class-string<RuleTransformer|AllRulesSchemasTransformer>> $transformers
|
||||
*/
|
||||
public function append(array|string $transformers): self
|
||||
{
|
||||
$this->appends = array_values(array_merge( // @phpstan-ignore arrayValues.list
|
||||
$this->appends,
|
||||
Arr::wrap($transformers)
|
||||
));
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param class-string<RuleTransformer|AllRulesSchemasTransformer>|list<class-string<RuleTransformer|AllRulesSchemasTransformer>> $transformers
|
||||
*/
|
||||
public function prepend(array|string $transformers): self
|
||||
{
|
||||
$this->prepends = array_values(array_merge( // @phpstan-ignore arrayValues.list
|
||||
$this->prepends,
|
||||
Arr::wrap($transformers)
|
||||
));
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param list<class-string<RuleTransformer|AllRulesSchemasTransformer>> $transformers
|
||||
*/
|
||||
public function use(array $transformers): self
|
||||
{
|
||||
$this->transformers = $transformers;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @template TExtensionType of object
|
||||
*
|
||||
* @param class-string<TExtensionType> $type
|
||||
* @param array<string, mixed> $contextfulBindings
|
||||
* @return Collection<int, TExtensionType>
|
||||
*/
|
||||
public function instances(string $type, array $contextfulBindings): Collection
|
||||
{
|
||||
return collect($this->all()) // @phpstan-ignore return.type
|
||||
->filter(fn ($class) => is_a($class, $type, true))
|
||||
->map(fn ($class) => ContainerUtils::makeContextable($class, $contextfulBindings))
|
||||
->values();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<class-string<RuleTransformer|AllRulesSchemasTransformer>>
|
||||
*/
|
||||
public function all(): array
|
||||
{
|
||||
$base = $this->transformers ?: [
|
||||
EnumRule::class,
|
||||
InRule::class,
|
||||
ConfirmedRule::class,
|
||||
ExistsRule::class,
|
||||
RegexRule::class,
|
||||
];
|
||||
|
||||
return array_values(array_unique([
|
||||
...$this->prepends,
|
||||
...$base,
|
||||
...$this->appends,
|
||||
], SORT_REGULAR));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\GeneratorConfig;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class SecurityDocumentationContext
|
||||
{
|
||||
/**
|
||||
* @param Collection<int, \Illuminate\Routing\Route> $routes
|
||||
*/
|
||||
public function __construct(
|
||||
public readonly Collection $routes,
|
||||
public readonly GeneratorConfig $config,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Dedoc\Scramble\Configuration;
|
||||
|
||||
use Dedoc\Scramble\Support\Generator\ServerVariable;
|
||||
|
||||
class ServerVariables
|
||||
{
|
||||
/**
|
||||
* @param array<string, ServerVariable> $items
|
||||
*/
|
||||
public function __construct(public array $items = []) {}
|
||||
|
||||
public function use(array $items)
|
||||
{
|
||||
$this->items = $items;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function all()
|
||||
{
|
||||
return $this->items;
|
||||
}
|
||||
|
||||
public function set(string $name, ServerVariable $serverVariable)
|
||||
{
|
||||
$this->items[$name] = $serverVariable;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user