@@ -174,7 +174,7 @@ class SchemaParser internal constructor(
174
174
.name(inputDefinition.name)
175
175
.definition(inputDefinition)
176
176
.description(getDocumentation(inputDefinition, options))
177
- .defaultValue(buildDefaultValue( inputDefinition.defaultValue))
177
+ .apply { inputDefinition.defaultValue?. let { v -> defaultValueLiteral(v) } }
178
178
.type(determineInputType(inputDefinition.type, inputObjects, referencingInputObjects))
179
179
.withDirectives(* buildDirectives(inputDefinition.directives, Introspection .DirectiveLocation .INPUT_FIELD_DEFINITION ))
180
180
builder.field(fieldBuilder.build())
@@ -288,7 +288,7 @@ class SchemaParser internal constructor(
288
288
.definition(argumentDefinition)
289
289
.description(getDocumentation(argumentDefinition, options))
290
290
.type(determineInputType(argumentDefinition.type, inputObjects, setOf ()))
291
- .apply { buildDefaultValue( argumentDefinition.defaultValue) ?.let { defaultValue (it) } }
291
+ .apply { argumentDefinition.defaultValue?.let { defaultValueLiteral (it) } }
292
292
.withDirectives(* buildDirectives(argumentDefinition.directives, Introspection .DirectiveLocation .ARGUMENT_DEFINITION ))
293
293
294
294
field.argument(argumentBuilder.build())
@@ -364,20 +364,6 @@ class SchemaParser internal constructor(
364
364
return nonNullValueList[0 ]
365
365
}
366
366
367
- private fun buildDefaultValue (value : Value <* >? ): Any? {
368
- return when (value) {
369
- null -> null
370
- is IntValue -> value.value.toInt()
371
- is FloatValue -> value.value.toDouble()
372
- is StringValue -> value.value
373
- is EnumValue -> value.name
374
- is BooleanValue -> value.isValue
375
- is ArrayValue -> value.values.map { buildDefaultValue(it) }
376
- is ObjectValue -> value.objectFields.associate { it.name to buildDefaultValue(it.value) }
377
- else -> throw SchemaError (" Unrecognized default value: $value " )
378
- }
379
- }
380
-
381
367
private fun determineOutputType (typeDefinition : Type <* >, inputObjects : List <GraphQLInputObjectType >) =
382
368
determineType(GraphQLOutputType ::class , typeDefinition, permittedTypesForObject, inputObjects) as GraphQLOutputType
383
369
0 commit comments