PHP and TypeScript have their own conventions when it comes to coding style, specifically regarding objects and arrays.
While it's common to have
snake_case array keys in PHP, TypeScript objects are generally written using
camelCase. Vue's style guide also recommends using
camelCase when defining properties in single-file components.
Hybridly provides a way to keep using
snake_case when defining hybrid properties, while still receiving them in
camelCase in single-file components.
Enabling case conversion
By default, in order to avoid any confusion, this feature is disabled. It may be configured in
'force_case' => [
'input' => 'snake',
'output' => 'camel',
input option converts properties that are sent to Laravel, specifically partial properties. In the example above, partial properties can be referred to using any case, as long as they are using
snake_case in PHP code.
output option converts properties that are sent to single-file components. In the example above, properties can be sent to single-file components using any case, and single-file components will receive them as
Top-level properties only
Note that this feature only applies to top-level properties. While it could be implemented for nested properties as well, this could create a lot of confusion and would interfere with generated TypeScript definitions.