public MethodParametersBuilder WithParametersForApiParameters()

in src/JetBrains.Space.Generator/CodeGeneration/CSharp/MethodParametersBuilder.cs [76:110]


    public MethodParametersBuilder WithParametersForApiParameters(IEnumerable<ApiParameter> apiParameters)
    {
        var methodParametersBuilder = this;
        var orderedParameters = apiParameters.OrderBy(it => !it.Field.Type.Nullable ? 0 : 1).ToList();
        foreach (var parameter in orderedParameters)
        {
            var parameterType = parameter.Field.Type.ToCSharpType(_context);
            if (parameter.Field.Type.Nullable)
            {
                parameterType += "?";
            }

            if (!parameter.Field.Type.Nullable)
            {
                if (parameter.Field.RequiresAddedNullability())
                {
                    parameterType += "?";
                }
                    
                if (parameter.Field.DefaultValue is ApiDefaultValue.Collection or ApiDefaultValue.Map)
                {
                    parameterType += "?";
                }
            }
                
            var parameterName = parameter.Field.ToCSharpVariableName();
            var parameterDefaultValue = parameter.Field.ToCSharpDefaultValueForParameterList(_context);
            var parameterDescription = parameter.Field.ToCSharpDocumentationParameter(parameterName);

            methodParametersBuilder = methodParametersBuilder
                .WithParameter(parameterType, parameterName, parameterDefaultValue, parameterDescription);
        }

        return methodParametersBuilder;
    }