
commonMain.com.algolia.search.dsl.rule.DSLTimeRanges.kt Maven / Gradle / Ivy
package com.algolia.search.dsl.rule
import com.algolia.search.dsl.DSL
import com.algolia.search.dsl.DSLParameters
import com.algolia.search.model.rule.TimeRange
/**
* DSL for building a [List] of [TimeRange].
*/
@DSLParameters
public class DSLTimeRanges(
private val timeRanges: MutableList = mutableListOf()
) {
/**
* Convenience method.
*/
public operator fun LongRange.unaryPlus() {
+TimeRange(start, endInclusive)
}
/**
* Add [this] to [timeRanges]
*/
public operator fun TimeRange.unaryPlus() {
timeRanges += this
}
public companion object : DSL> {
override operator fun invoke(block: DSLTimeRanges.() -> Unit): List {
return DSLTimeRanges().apply(block).timeRanges
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy