commonMain.com.algolia.client.model.recommend.RemoveStopWords.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of algoliasearch-client-kotlin-jvm Show documentation
Show all versions of algoliasearch-client-kotlin-jvm Show documentation
"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."
/** 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.recommend
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