vagebond/runtype

将 Laravel 资源和模型转换为 TypeScript 接口

0.2.1 2024-04-02 22:57 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

从 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)。请参阅许可证文件以获取更多信息。