     }
 }
 
-public typealias InputObjectFieldMap = [String: InputObjectFieldDefinition]
+public typealias InputObjectFieldDefinitionMap = [String: InputObjectFieldDefinition]
 
 /**
  * List Modifier

            name: name,
            fields: fields
        )
    }
}



func defineInputObjectFieldMap(
    name: String,
    fields: InputObjectFieldMap
) throws -> InputObjectFieldDefinitionMap {
    guard !fields.isEmpty else {
        throw GraphQLError(
            message:
            "\(name) fields must be an object with field names as " +
            "keys or a function which returns such an object."
        )
    }

    var definitionMap = InputObjectFieldDefinitionMap()

    for (name, field) in fields {
        try assertValid(name: name)

        let definition = InputObjectFieldDefinition(
            name: name,
            type: field.type,
            description: field.description,
            defaultValue: field.defaultValue
        )

        definitionMap[name] = definition
    }

    return definitionMap
}

public struct InputObjectField {
