Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
expect class AtomicLong(initial: Long)
actual class AtomicLong(initial: Long)
actual class AtomicLong(initial: Long)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract class CollectorStepOutputSerializer<E, InternalCollectionT, CollectionT>(val inputElementSerializer: KSerializer<IStepOutput<E>>) : KSerializer<CollectorStepOutput<E, InternalCollectionT, CollectionT>>
Link copied to clipboard
Link copied to clipboard
open class ConstantSourceStep<E>(val element: E, val type: KType) : ProducingStep<E> , IMonoStep<E>
Link copied to clipboard
expect class ContextValue<E : Any>
actual class ContextValue<E : Any>
actual class ContextValue<E : Any>
Link copied to clipboard
@Serializable
sealed class CoreStepDescriptor : StepDescriptor
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class DropStep<E>(val count: Int) : TransformingStep<E, E> , IMonoStep<E> , IFluxStep<E>
Link copied to clipboard
class ExecuteLocalStep<In, Out>(transformation: (In) -> Out) : LocalMappingStep<In, Out>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class FlowInstantiationContext(var evaluationContext: QueryEvaluationContext, val coroutineScope: CoroutineScope?, val query: UnboundQuery<*, *, *>) : IFlowInstantiationContext
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract class FoldingStep<In, Out>(initial: Out) : AggregationStep<In, Out>
Link copied to clipboard
typealias FragmentBody<ContextT> = ContextT.() -> Unit
Link copied to clipboard
interface IBoundFragment<in Context>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface IConsumingStep<in E> : IStep
Link copied to clipboard
Link copied to clipboard
class IfEmptyStep<In : Out, Out>(val alternative: UnboundQuery<Unit, *, Out>) : TransformingStep<In, Out> , IFluxOrMonoStep<Out>
Link copied to clipboard
Link copied to clipboard
interface IFluxOrMonoStep<out E> : IMonoStep<E> , IFluxStep<E>
Link copied to clipboard
interface IFluxQuery<out Out> : IQuery<List<IStepOutput<Out>>, Out>
Link copied to clipboard
interface IFluxStep<out E> : IProducingStep<E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface IMonoQuery<out Out> : IQuery<Out, Out>
Link copied to clipboard
interface IMonoStep<out E> : IProducingStep<E>
Link copied to clipboard
interface IMonoUnboundQuery<in In, out Out> : IUnboundQuery<In, Out, Out>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface IProducingStep<out E> : IStep
Link copied to clipboard
interface IQuery<out AggregationOut, out ElementOut>
Link copied to clipboard
Link copied to clipboard
interface IQueryExecutor<out In>
Link copied to clipboard
sealed interface IQueryReference<out Q : IUnboundQuery<*, *, *>>
Link copied to clipboard
Link copied to clipboard
interface IStep
Link copied to clipboard
interface IStepOutput<out E>

Can carry some additional data required for processing the result on the client side.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface IUnboundQuery<in In, out AggregationOut, out ElementOut>
Link copied to clipboard
interface IValueRequest<out E>
Link copied to clipboard
typealias IWithIndex<V> = IZip2Output<Any?, V, Int>
Link copied to clipboard
interface IZip1Output<out Common, out E1> : IZipOutput<Common>
Link copied to clipboard
interface IZip2Output<out Common, out E1, out E2> : IZip1Output<Common, E1>
Link copied to clipboard
interface IZip3Output<out Common, out E1, out E2, out E3> : IZip2Output<Common, E1, E2>
Link copied to clipboard
interface IZip4Output<out Common, out E1, out E2, out E3, out E4> : IZip3Output<Common, E1, E2, E3>
Link copied to clipboard
interface IZip5Output<out Common, out E1, out E2, out E3, out E4, out E5> : IZip4Output<Common, E1, E2, E3, E4>
Link copied to clipboard
interface IZip6Output<out Common, out E1, out E2, out E3, out E4, out E5, out E6> : IZip5Output<Common, E1, E2, E3, E4, E5>
Link copied to clipboard
interface IZip7Output<out Common, out E1, out E2, out E3, out E4, out E5, out E6, out E7> : IZip6Output<Common, E1, E2, E3, E4, E5, E6>
Link copied to clipboard
interface IZip8Output<out Common, out E1, out E2, out E3, out E4, out E5, out E6, out E7, out E8> : IZip7Output<Common, E1, E2, E3, E4, E5, E6, E7>
Link copied to clipboard
interface IZip9Output<out Common, out E1, out E2, out E3, out E4, out E5, out E6, out E7, out E8, out E9> : IZip8Output<Common, E1, E2, E3, E4, E5, E6, E7, E8>
Link copied to clipboard
Link copied to clipboard
interface IZipOutput<out Common>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class ListCollectorStepOutputSerializer<E>(inputElementSerializer: KSerializer<IStepOutput<E>>) : CollectorStepOutputSerializer<E, List<IStepOutput<E>>, List<E>>
Link copied to clipboard
class LocalMappingSerializer<In, Out>(val step: LocalMappingStep<In, Out>, val inputSerializer: KSerializer<out IStepOutput<In>>) : KSerializer<Out>
Link copied to clipboard
open class LocalMappingStep<In, Out>(val transformation: (In) -> Out) : MonoTransformingStep<In, Out>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class MapCollectorStepOutputSerializer<K, V>(inputElementSerializer: KSerializer<IStepOutput<IZip2Output<Any?, K, V>>>) : CollectorStepOutputSerializer<IZip2Output<Any?, K, V>, Map<K, IStepOutput<V>>, Map<K, V>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class MultiplexedOutput<out E>(val muxIndex: Int, val output: IStepOutput<E>) : IStepOutput<E>
Link copied to clipboard
data class MultiplexedOutputSerializer<E>(val owner: IStep, val serializers: List<KSerializer<IStepOutput<E>>>) : KSerializer<MultiplexedOutput<E>>
Link copied to clipboard
Link copied to clipboard
value class Optional<out E>(value: Any?)
Link copied to clipboard
@Serializable
data class PortConnection(val producer: PortReference, val consumer: PortReference)
Link copied to clipboard
@Serializable
data class PortReference(val step: Int, val port: Int = 0)
Link copied to clipboard
class PrintStep<E>(val prefix: String) : MonoTransformingStep<E, E>
Link copied to clipboard
abstract class ProducingStep<E> : IProducingStep<E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Serializable
data class QueryDescriptor(val input: Int, val output: Int, val sharedSteps: List<Int> = emptyList(), val isFluxOutput: Boolean = false, val queryId: Long)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Serializable
data class QueryGraphDescriptor(val queries: List<QueryDescriptor>, val steps: Map<Int, StepDescriptor>, val connections: List<PortConnection>)
Link copied to clipboard
typealias QueryId = Long
Link copied to clipboard
Link copied to clipboard
class QueryReference<Q : IUnboundQuery<*, *, *>>(initiallyProvidedQuery: Q?, queryId: Long?, queryInitializer: () -> Q?) : IQueryReference<Q>
Link copied to clipboard
class RecursiveQuerySerializer<Out>(val query: IUnboundQuery<*, *, Out>, val owner: QueryCallStep<*, Out>, val serializationContext: SerializationContext) : KSerializer<IStepOutput<Out>>
Link copied to clipboard
Link copied to clipboard
class SerializationContext(val serializersModule: SerializersModule, val queryInputSerializers: Map<QueryInput<*>, KSerializer<IStepOutput<*>>> = emptyMap())

The output serializer of a query is context dependent when used by multiple QueryCallSteps. This class carries the correct serializer for the input of a query depending on from where it is called.

Link copied to clipboard
Link copied to clipboard
class SetCollectorStepOutputSerializer<E>(inputElementSerializer: KSerializer<IStepOutput<E>>) : CollectorStepOutputSerializer<E, List<IStepOutput<E>>, Set<E>>
Link copied to clipboard
Link copied to clipboard
class SimpleQueryExecutor<E>(val input: E) : IQueryExecutor<E>
Link copied to clipboard
class SimpleStepOutput<out E>(val value: E, val owner: IProducingStep<E>?) : IStepOutput<E>
Link copied to clipboard
class SimpleStepOutputSerializer<E>(val valueSerializer: KSerializer<E>, val owner: IProducingStep<E>?) : KSerializer<SimpleStepOutput<E>>
Link copied to clipboard
class SinglePathFlowInstantiationContext(val evaluationContext: QueryEvaluationContext, val queryInput: QueryInput<*>, val inputFlow: StepFlow<*>) : IFlowInstantiationContext
Link copied to clipboard
Link copied to clipboard
@Serializable
abstract class StepDescriptor
Link copied to clipboard
typealias StepFlow<E> = Flow<IStepOutput<E>>
Link copied to clipboard
class TakeStep<E>(val count: Int) : TransformingStep<E, E> , IMonoStep<E> , IFluxStep<E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Serializable
class VersionAndData<E>(val data: E, val version: String?)
Link copied to clipboard
Link copied to clipboard
class WhenStepBuilder<In, Out>(input: IMonoStep<In>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
typealias ZipNOutput = ZipOutput<Any?, Any?, Any?, Any?, Any?, Any?, Any?, Any?, Any?, Any?>
Link copied to clipboard
typealias ZipNOutputC<Common> = ZipOutput<Common, Any?, Any?, Any?, Any?, Any?, Any?, Any?, Any?, Any?>
Link copied to clipboard
@Serializable
@SerialName(value = "modelix.modelql.zip.output")
data class ZipOutput<out Common, out E1, out E2, out E3, out E4, out E5, out E6, out E7, out E8, out E9>(val values: List<Common>) : IZip9Output<Common, E1, E2, E3, E4, E5, E6, E7, E8, E9>
Link copied to clipboard
class ZipOutputSerializer<CommonT, Out : IZipOutput<CommonT>>(val elementSerializers: Array<KSerializer<IStepOutput<CommonT>>>) : KSerializer<ZipStepOutput<Out, CommonT>>
Link copied to clipboard

Properties

Link copied to clipboard
val <T> IMonoStep<IZip8Output<*, *, *, *, *, *, *, *, T>>.eighth: IMonoStep<T>
Link copied to clipboard
val <T> IMonoStep<IZip5Output<*, *, *, *, *, T>>.fifth: IMonoStep<T>
Link copied to clipboard
Link copied to clipboard
val <T> IMonoStep<IZip4Output<*, *, *, *, T>>.forth: IMonoStep<T>
Link copied to clipboard
val <T> IMonoStep<IZip4Output<*, *, *, *, T>>.fourth: IMonoStep<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val <T> IMonoStep<IZip9Output<*, *, *, *, *, *, *, *, *, T>>.ninth: IMonoStep<T>
Link copied to clipboard
Link copied to clipboard
val <T> IMonoStep<IZip7Output<*, *, *, *, *, *, *, T>>.seventh: IMonoStep<T>
Link copied to clipboard
val <T> IMonoStep<IZip6Output<*, *, *, *, *, *, T>>.sixth: IMonoStep<T>
Link copied to clipboard
val <T> IMonoStep<IZip3Output<*, *, *, T>>.third: IMonoStep<T>
Link copied to clipboard
val <T> Flow<IStepOutput<T>>.value: Flow<T>

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@JvmName(name = "asMono_nullable")
fun Boolean?.asMono(): IMonoStep<Boolean?>
@JvmName(name = "asMono_nullable")
fun Byte?.asMono(): IMonoStep<Byte?>
@JvmName(name = "asMono_nullable")
fun Char?.asMono(): IMonoStep<Char?>
@JvmName(name = "asMono_nullable")
fun Double?.asMono(): IMonoStep<Double?>
@JvmName(name = "asMono_nullable")
fun Float?.asMono(): IMonoStep<Float?>
@JvmName(name = "asMono_nullable")
fun Int?.asMono(): IMonoStep<Int?>
@JvmName(name = "asMono_nullable")
fun Long?.asMono(): IMonoStep<Long?>
@JvmName(name = "asMono_nullable")
fun Short?.asMono(): IMonoStep<Short?>
@JvmName(name = "asMono_nullable")
fun String?.asMono(): IMonoStep<String?>
@JvmName(name = "asMono_nullable")
fun Set<String?>.asMono(): IMonoStep<Set<String?>>
Link copied to clipboard
suspend fun <T> Flow<T>.asSequence(): Sequence<T>
Link copied to clipboard
fun <T> Flow<T>.assertNotEmpty(additionalMessage: () -> String = { "" }): Flow<T>
Link copied to clipboard
fun <In, K, V> IFluxStep<In>.associate(keySelector: (IMonoStep<In>) -> IMonoStep<K>, valueSelector: (IMonoStep<In>) -> IMonoStep<V>): IMonoStep<Map<K, V>>
Link copied to clipboard
fun <K, V> IFluxStep<V>.associateBy(keySelector: (IMonoStep<V>) -> IMonoStep<K>): IMonoStep<Map<K, V>>
Link copied to clipboard
fun <K, V> IFluxStep<K>.associateWith(valueSelector: (IMonoStep<K>) -> IMonoStep<V>): IMonoStep<Map<K, V>>
Link copied to clipboard
fun <T> Flow<T>.asStepFlow(owner: IProducingStep<T>?): StepFlow<T>
Link copied to clipboard
Link copied to clipboard
@JvmName(name = "asStringNullable")
fun IFluxStep<Any?>.asString(): IFluxStep<String?>
@JvmName(name = "asStringNullable")
fun IMonoStep<Any?>.asString(): IMonoStep<String?>
Link copied to clipboard
fun <T, R> Flow<T>.batchTransform(batchSize: Int, transform: (List<T>) -> List<R>): Flow<R>
Link copied to clipboard
fun <T> Flow<T>.chunked(chunkSize: Int): Flow<List<T>>
Link copied to clipboard
operator fun <T> IMonoStep<IZip1Output<*, T>>.component1(): IMonoStep<T>
operator fun <T> IZip1Output<*, T>.component1(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip2Output<*, *, T>>.component2(): IMonoStep<T>
operator fun <T> IZip2Output<*, *, T>.component2(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip3Output<*, *, *, T>>.component3(): IMonoStep<T>
operator fun <T> IZip3Output<*, *, *, T>.component3(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip4Output<*, *, *, *, T>>.component4(): IMonoStep<T>
operator fun <T> IZip4Output<*, *, *, *, T>.component4(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip5Output<*, *, *, *, *, T>>.component5(): IMonoStep<T>
operator fun <T> IZip5Output<*, *, *, *, *, T>.component5(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip6Output<*, *, *, *, *, *, T>>.component6(): IMonoStep<T>
operator fun <T> IZip6Output<*, *, *, *, *, *, T>.component6(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip7Output<*, *, *, *, *, *, *, T>>.component7(): IMonoStep<T>
operator fun <T> IZip7Output<*, *, *, *, *, *, *, T>.component7(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip8Output<*, *, *, *, *, *, *, *, T>>.component8(): IMonoStep<T>
operator fun <T> IZip8Output<*, *, *, *, *, *, *, *, T>.component8(): T
Link copied to clipboard
operator fun <T> IMonoStep<IZip9Output<*, *, *, *, *, *, *, *, *, T>>.component9(): IMonoStep<T>
operator fun <T> IZip9Output<*, *, *, *, *, *, *, *, *, T>.component9(): T
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T> IFluxStep<T>.drop(count: Int): IFluxStep<T>
Link copied to clipboard
suspend fun <In, Out> IMonoUnboundQuery<In, Out>.evaluate(evaluationContext: QueryEvaluationContext, input: In): Optional<Out>
Link copied to clipboard
fun <In, Out> IFluxStep<In>.executeLocal(body: (In) -> Out): IFluxStep<Out>
fun <In, Out> IMonoStep<In>.executeLocal(body: (In) -> Out): IMonoStep<Out>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T, R> Flow<T>.flatMapConcatConcurrent(transform: suspend (T) -> Flow<R>): Flow<R>
Link copied to clipboard
fun <T> Flow<Flow<T>>.flattenConcatConcurrent(): Flow<T>

The result is the same as .flattenConcat(), but each Flow is collected in a separate coroutine. This allows the bulk query to collect all low level request into bigger batches.

Link copied to clipboard
operator fun <K, V> IMonoStep<Map<K, V>>.get(operand: IMonoStep<K>): IMonoStep<V?>
Link copied to clipboard
fun <T> Optional<T>.getOrElse(defaultValue: T): T
Link copied to clipboard
Link copied to clipboard
@JvmName(name = "ifEmpty_flux_mono")
fun <In : Out, Out> IFluxStep<In>.ifEmpty(alternative: () -> IMonoStep<Out>): IFluxStep<Out>
@JvmName(name = "ifEmpty_mono_mono")
fun <In : Out, Out> IMonoStep<In>.ifEmpty(alternative: () -> IMonoStep<Out>): IMonoStep<Out>
Link copied to clipboard
@JvmName(name = "ifEmpty_flux_flux")
fun <In : Out, Out> IFluxStep<In>.ifEmptyFlux(alternative: () -> IFluxStep<Out>): IFluxStep<Out>
@JvmName(name = "ifEmpty_mono_flux")
fun <In : Out, Out> IMonoStep<In>.ifEmptyFlux(alternative: () -> IFluxStep<Out>): IFluxStep<Out>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <In, Out> IFluxStep<In>.mapLocal(body: (In) -> Out): IFluxStep<Out>
fun <In, Out> IMonoStep<In>.mapLocal(body: (In) -> Out): IMonoStep<Out>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <T> nullMono(): IMonoStep<T?>
Link copied to clipboard
fun <T> nullSerializer(): KSerializer<T?>
Link copied to clipboard
suspend fun <T> Flow<T>.optionalSingle(): Optional<T>

Like .single(), but also allows an empty input.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
operator fun Int.plus(other: IFluxStep<Int>): IFluxStep<Int>
operator fun Int.plus(other: IMonoStep<Int>): IMonoStep<Int>
operator fun IFluxStep<Int>.plus(other: Int): IFluxStep<Int>
operator fun IMonoStep<Int>.plus(other: Int): IMonoStep<Int>
Link copied to clipboard
Link copied to clipboard
fun <T> IFluxStep<T>.print(prefix: String = ""): IFluxStep<T>
fun <T> IMonoStep<T>.print(prefix: String = ""): IMonoStep<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T> IFluxStep<T>.take(count: Int): IFluxStep<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <K, V> IFluxStep<IZip2Output<*, K, V>>.toMap(): IMonoStep<Map<K, V>>
Link copied to clipboard
Link copied to clipboard

Sometimes you need an additional wrapper list, but to avoid this being done accidentally it has a different name.

Link copied to clipboard
Link copied to clipboard
fun <T> KSerializer<out T>.upcast(): KSerializer<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T> IMonoStep<T>.zip(vararg others: IMonoStep<T>): IMonoStep<IZipOutput<T>>
fun <Common, T1 : Common, T2 : Common, T3 : Common, T4 : Common> IMonoStep<T1>.zip(other2: IMonoStep<T2>, other3: IMonoStep<T3>, other4: IMonoStep<T4>): IMonoStep<IZip4Output<Common, T1, T2, T3, T4>>
fun <Common, T1 : Common, T2 : Common, T3 : Common, T4 : Common, T5 : Common> IMonoStep<T1>.zip(other2: IMonoStep<T2>, other3: IMonoStep<T3>, other4: IMonoStep<T4>, other5: IMonoStep<T5>): IMonoStep<IZip5Output<Common, T1, T2, T3, T4, T5>>
Link copied to clipboard
fun <T> zipList(vararg steps: IMonoStep<T>): IMonoStep<IZipOutput<T>>
Link copied to clipboard
fun <T> IMonoStep<T>.zipN(vararg others: IMonoStep<T>): IMonoStep<IZipOutput<T>>