kgraphql / com.apurebase.kgraphql.schema.dsl / DataLoaderPropertyDSL

DataLoaderPropertyDSL

class DataLoaderPropertyDSL<T, K, R> : LimitedAccessItemDSL<T>, Target

Constructors

<init>

DataLoaderPropertyDSL(name: String, returnType: KType, block: DataLoaderPropertyDSL<T, K, R>.() -> Unit)

Properties

name

val name: String

returnType

val returnType: KType

Functions

accessRule

fun accessRule(rule: (T, Context) -> Exception?): Unit

addInputValues

fun addInputValues(inputValues: Collection<InputValueDef<*>>): Unit

loader

fun loader(block: BatchLoader<K, R>): Unit

prepare

fun prepare(block: suspend (T) -> K): Unit
fun <E> prepare(block: suspend (T, E) -> K): Unit
fun <E, W> prepare(block: suspend (T, E, W) -> K): Unit
fun <E, W, Q> prepare(block: suspend (T, E, W, Q) -> K): Unit
fun <E, W, Q, A> prepare(block: suspend (T, E, W, Q, A) -> K): Unit
fun <E, W, Q, A, S> prepare(block: suspend (T, E, W, Q, A, S) -> K): Unit
fun <E, W, Q, A, S, B> prepare(block: suspend (T, E, W, Q, A, S, B) -> K): Unit
fun <E, W, Q, A, S, B, U> prepare(block: suspend (T, E, W, Q, A, S, B, U) -> K): Unit
fun <E, W, Q, A, S, B, U, C> prepare(block: suspend (T, E, W, Q, A, S, B, U, C) -> K): Unit

setReturnType

fun setReturnType(type: KType): Unit

toKQLProperty

fun toKQLProperty(): DataLoadedFunction<T, K, R>