fun paramWithDefault()

in generator/src/main/kotlin/space/jetbrains/api/generator/GenerateResources.kt [403:426]


    fun paramWithDefault(paramField: HA_Field): Pair<ParameterSpec, String?> {
        val type = when {
            WEBHOOK_PAYLOAD_FIELDS_TAG in paramField.type.tags -> {
                LambdaTypeName.get(receiver = webhookEventPartialType, returnType = UNIT)
                    .copy(nullable = paramField.type.nullable, option = paramField.requiresOption)
            }
            PERMISSION_SCOPE_TAG in paramField.type.tags -> {
                permissionScopeType.copy(nullable = paramField.type.nullable, option = paramField.requiresOption)
            }
            else -> paramField.nullableTypeIfRequired().kotlinPoet(model, paramField.requiresOption)
        }
        val parameter = ParameterSpec.builder(
            paramField.name,
            type
        )
        when {
            paramField.requiresOption -> parameter.defaultValue("%T", optionNoneType)
            paramField.requiresAddedNullability -> parameter.defaultValue("null")
            paramField.defaultValue != null -> parameter.defaultValue(buildCodeBlock {
                default(paramField.type, model, paramField.defaultValue)
            })
        }
        return parameter.build() to paramDescription(paramField)
    }