All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.algolia.client.model.search.RemoveStopWords.kt Maven / Gradle / Ivy

Go to download

"Algolia is a powerful search-as-a-service solution, made easy to use with API clients, UI libraries, and pre-built integrations. Algolia API Client for Kotlin lets you easily use the Algolia Search REST API from your JVM project, such as Android or backend implementations."

There is a newer version: 3.10.1
Show newest version
/** Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT. */
package com.algolia.client.model.search

import com.algolia.client.exception.AlgoliaClientException
import com.algolia.client.extensions.internal.*
import kotlinx.serialization.*
import kotlinx.serialization.builtins.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
import kotlinx.serialization.json.*
import kotlin.jvm.JvmInline

/**
 * Removes stop words from the search query.  Stop words are common words like articles, conjunctions, prepositions, or pronouns that have little or no meaning on their own. In English, \"the\", \"a\", or \"and\" are stop words.  You should only use this feature for the languages used in your index.
 *
 * Implementations:
 * - [Boolean] - *[RemoveStopWords.of]*
 * - [List] - *[RemoveStopWords.of]*
 */
@Serializable(RemoveStopWordsSerializer::class)
public sealed interface RemoveStopWords {
  @Serializable
  @JvmInline
  public value class ListOfSupportedLanguageValue(public val value: List) : RemoveStopWords

  @Serializable
  @JvmInline
  public value class BooleanValue(public val value: Boolean) : RemoveStopWords

  public companion object {

    public fun of(value: List): RemoveStopWords {
      return ListOfSupportedLanguageValue(value)
    }
    public fun of(value: Boolean): RemoveStopWords {
      return BooleanValue(value)
    }
  }
}

internal class RemoveStopWordsSerializer : JsonContentPolymorphicSerializer(RemoveStopWords::class) {
  override fun selectDeserializer(element: JsonElement): DeserializationStrategy {
    return when {
      element is JsonArray -> RemoveStopWords.ListOfSupportedLanguageValue.serializer()
      element.isBoolean -> RemoveStopWords.BooleanValue.serializer()
      else -> throw AlgoliaClientException("Failed to deserialize json element: $element")
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy