GraphQLBundle
GraphQLBundle copied to clipboard
Multiline documentation with a graphql schema leads to unnececairy indent/code block formatting
| Q | A |
|---|---|
| Bug report? | yes |
| Feature request? | no |
| BC Break report? | no |
| RFC? | no |
| Version/Branch | 1.2.0 |
I have a schema like this:
"""
A date time in RFC3339-Extended format.
Eg. 2023-03-02T14:12:12.1222Z
"""
scalar DateTime
However, it renders like this:
In the JSON schema:
"A date time in RFC3339-Extended format.\n \n Eg. 2023-03-02T14:12:12.1222Z"
It seems to be inserting unnecessary spaces after every line break.
Some more debug info
The generated class seems to have indented the string:
<?php
/**
* THIS FILE WAS GENERATED AND SHOULD NOT BE EDITED MANUALLY.
*/
final class DateTimeType extends CustomScalarType implements GeneratedTypeInterface, AliasedInterface
{
public const NAME = 'DateTime';
public function __construct(ConfigProcessor $configProcessor, GraphQLServices $services)
{
$config = [
'name' => self::NAME,
'description' => 'A date time in RFC3339-Extended format.
Eg. 2023-03-02T14:12:12.1222Z',
'serialize' => fn() => CustomScalarNode::mustOverrideConfig(...\func_get_args()),
'parseValue' => fn() => CustomScalarNode::mustOverrideConfig(...\func_get_args()),
'parseLiteral' => fn() => CustomScalarNode::mustOverrideConfig(...\func_get_args()),
];
Using a double quoted string with escapes instead of actual newlines might be better, or wrapping it in a function that can properly remove the indentation.
The generation is made by https://github.com/murtukov/php-code-generator.git It should be handled there. @mousetail can you re-open the issue here describing the need to have multilines string?