commonMain.com.algolia.client.model.recommend.RemoveStopWords.kt Maven / Gradle / Ivy
/** 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 - 2025 Weber Informatics LLC | Privacy Policy