Download the PHP package strucura/transpose without Composer
On this page you can find all versions of the php package strucura/transpose. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download strucura/transpose
More information about strucura/transpose
Files in strucura/transpose
Package transpose
Short Description Handles the transposition of data structures to TypeScript, with the ability to incorporate other languages.
License MIT
Homepage https://github.com/strucura/transpose
Informations about the package transpose
Transpose is a package designed to streamline the creation of types for your Laravel application across different languages by introducing standardized data types, which can then be consumed by a writer of your choice.
Installation
You can install the package via composer:
Configuration:
You can publish the config file with:
Registering Transpositions
To register a transposition, you need to define it in the transpose.php
configuration file. A transposition
consists of
discovery
paths, discovery conditions, transformers, and a writer.
Example configuration:
For more information on discovery conditions, please refer to the php-structure-discoverer package.
Transformers and Writers
Transformers take concepts within your application like ENUMs and JsonResources and map them to a standardized set of data types. From there, a writer will be utilized to handle writing your language-specific conversion of those data types. There are several default writers and transformers included by default that will handle conversions of Laravel JSON Resources as well as Backed ENUMS to TypeScript. You can generate your types with:
Attributes
DefineObjectProperties
The DefineObjectProperties
attribute allows developers to manually assign properties to an object for edge cases where automated property assignment is not possible.
DerivePropertiesFromModel
The DerivePropertiesFromModel
attribute allows developers to derive properties from a model.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Andrew Leach
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of transpose with dependencies
illuminate/contracts Version ^10.0||^11.0
spatie/laravel-package-tools Version ^1.16
spatie/php-structure-discoverer Version ^2.2