wthealth/laravel-enum-transformer

1.1.1 2023-03-06 08:02 UTC

This package is auto-updated.

Last update: 2024-04-28 05:28:12 UTC


README

CI Action Scrutinizer Code Quality Code Coverage

Adds transformation support for bensampo/laravel-enum based enums to the spatie/laravel-typescript-transformer package.

Installation & Configuration

 composer require wthealth/laravel-enum-transformer

Add the following Transformer to the configuration config/type-script-transformer

'transformers' => [
    Webtools\LaravelEnumTransformer\LaravelEnumTransformer::class,
],

Usage

Now any enum created based on BenSampo\Enum\Enum can be transformed to typescript like below

final class UserType extends Enum
{
    const Administrator = 0;
    const Moderator = 1;
    const Subscriber = 2;
    const SuperAdministrator = 3;
}
export type UserType = {
    Administrator = 0,
    Moderator = 1,
    Subscriber = 2,
    SuperAdministrator = 3,
}

Or transform to enums:

This must be enabled in config/type-script-transformer

'transform_to_native_enums' => true,

export enum UserType {
    Administrator = 0,
    Moderator = 1,
    Subscriber = 2,
    SuperAdministrator = 3,
}

Read the documentation for further details.

License

The MIT License (MIT). Please see License File for more information.