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

commonMain.com.algolia.search.dsl.strategy.DSLAlternativesAsExact.kt Maven / Gradle / Ivy

package com.algolia.search.dsl.strategy

import com.algolia.search.dsl.DSL
import com.algolia.search.dsl.DSLParameters
import com.algolia.search.model.search.AlternativesAsExact

/**
 * DSL for building a [List] of [AlternativesAsExact].
 */
@Suppress("PropertyName")
@DSLParameters
public class DSLAlternativesAsExact(
    private val alternativesAsExacts: MutableList = mutableListOf()
) {

    public val IgnorePlurals: AlternativesAsExact.IgnorePlurals = AlternativesAsExact.IgnorePlurals
    public val SingleWordSynonym: AlternativesAsExact.SingleWordSynonym = AlternativesAsExact.SingleWordSynonym
    public val MultiWordsSynonym: AlternativesAsExact.MultiWordsSynonym = AlternativesAsExact.MultiWordsSynonym

    /**
     * Add [this] to [alternativesAsExacts].
     */
    public operator fun AlternativesAsExact.unaryPlus() {
        alternativesAsExacts += this
    }

    public companion object : DSL> {

        override operator fun invoke(block: DSLAlternativesAsExact.() -> Unit): List {
            return DSLAlternativesAsExact().apply(block).alternativesAsExacts
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy