
commonMain.com.algolia.search.dsl.attributes.DSLAttributesSet.kt Maven / Gradle / Ivy
package com.algolia.search.dsl.attributes
import com.algolia.search.dsl.DSL
import com.algolia.search.dsl.DSLParameters
import com.algolia.search.model.Attribute
/**
* DSL for building a [Set] of [Attribute].
*/
@DSLParameters
public class DSLAttributesSet(
private val attributes: MutableSet = mutableSetOf()
) {
/**
* Convenience method.
*/
public operator fun String.unaryPlus() {
+Attribute(this)
}
/**
* Add [this] to [attributes].
*/
public operator fun Attribute.unaryPlus() {
attributes += this
}
public companion object : DSL> {
override operator fun invoke(block: DSLAttributesSet.() -> Unit): Set {
return DSLAttributesSet().apply(block).attributes
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy