
commonMain.com.algolia.search.dsl.attributes.DSLAttributes.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 [List] of [Attribute].
*/
@DSLParameters
public class DSLAttributes(
private val attributes: MutableList = mutableListOf()
) {
/**
* 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: DSLAttributes.() -> Unit): List {
return DSLAttributes().apply(block).attributes
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy