override fun selectDeserializer()

in common/src/main/kotlin/com/google/ai/client/generativeai/common/shared/Types.kt [115:127]


  override fun selectDeserializer(element: JsonElement): DeserializationStrategy<Part> {
    val jsonObject = element.jsonObject
    return when {
      "text" in jsonObject -> TextPart.serializer()
      "functionCall" in jsonObject -> FunctionCallPart.serializer()
      "functionResponse" in jsonObject -> FunctionResponsePart.serializer()
      "inlineData" in jsonObject -> BlobPart.serializer()
      "fileData" in jsonObject -> FileDataPart.serializer()
      "executableCode" in jsonObject -> ExecutableCodePart.serializer()
      "codeExecutionResult" in jsonObject -> CodeExecutionResultPart.serializer()
      else -> throw SerializationException("Unknown Part type")
    }
  }