vagebond / runtype
将 Laravel 资源和模型转换为 TypeScript 接口
0.2.1
2024-04-02 22:57 UTC
Requires
- php: ^8.1||^8.2
- laravel/framework: ^9.0||^10.0||^11.0
- nikic/php-parser: ^5.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9.2
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.1.1||^7.10.0||^6.0
- orchestra/testbench: ^7.0.0||^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.5.10||^9.5
- spatie/temporary-directory: ^2.1
This package is auto-updated.
Last update: 2024-09-02 23:52:13 UTC
README
从 Laravel 模型和资源生成 TypeScript 接口
此资源
use Illuminate\Http\Resources\Json\JsonResource; /** @mixin \App\Models\Product */ class ProductResource extends JsonResource { public $showHiddenData = false; public function toArray($request) { return [ 'id' => $this->id, 'name' => $this->name, 'hidden' => $this->when($this->showHiddenData, false), ]; } }
将被转换为此接口
export interface ProductResourceType { id: number; name: string; hidden?: boolean; }
您可以在此处阅读完整的文档。
安装
您可以通过 composer 安装此包
composer require vagebond/runtype --dev
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="runtype-config"
用法
php artisan runtype:generate
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请参阅我们的安全策略了解如何报告安全漏洞。
致谢
许可证
MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。