FiktionBuilder

Builder exposed when creating isolated Fiktion instances.

Inheritors

Functions

Link copied to clipboard
inline fun <CollectionType : Collection<*>> configureCollection(unique: Boolean = false, noinline convert: (List<Any?>) -> CollectionType)

Configures how generated elements are materialized as collection type CollectionType.

fun configureCollection(type: KType, convert: (List<Any?>) -> Collection<*>)
fun configureCollection(type: KType, convert: (List<Any?>) -> Collection<*>, unique: Boolean)

Configures how generated elements are materialized as collection type type.

Link copied to clipboard
inline fun <MapType : Map<*, *>> configureMap(noinline convert: (List<Pair<Any?, Any?>>) -> MapType)

Configures how generated entries are materialized as map type MapType.

fun configureMap(type: KType, convert: (List<Pair<Any?, Any?>>) -> Map<*, *>)

Configures how generated entries are materialized as map type type.

Link copied to clipboard

Generates value for this nested property path.

Generates this nested property path using Fiktion's automatic generation.

Generates value for this property.

Generates this property using Fiktion's automatic generation.

Link copied to clipboard

Generates this nested property path by invoking generator.

infix inline fun <Owner, Value> KProperty1<Owner, Value>.generatesBy(noinline generator: Generator<Value>): GenerationSpec<Value>

Generates this property by invoking generator.

Link copied to clipboard
abstract fun install(addon: FiktionAddon)

Installs reusable rules from addon.

Link copied to clipboard

Targets generated values whose property name is name, inferring the value type from the generator.

Targets generated values whose property name matches regex, inferring the value type from the generator.

inline fun <Value> name(name: String, typed: Unit = Unit): RuleTarget<Value>

Targets generated values of Value whose property name is name, regardless of owner.

fun name(name: String, value: KType): RuleTarget<*>

Targets generated values of value whose property name is name, regardless of owner.

inline fun <Value> name(regex: Regex, typed: Unit = Unit): RuleTarget<Value>

Targets generated values of Value whose property name matches regex, regardless of owner.

fun name(regex: Regex, value: KType): RuleTarget<*>

Targets generated values of value whose property name matches regex, regardless of owner.

Link copied to clipboard
inline fun <Owner, Value> property(): RuleTarget<Value>

Targets generated values of Value whose owner is Owner, regardless of property name.

Targets values generated for path.

inline fun <Owner, Value> property(name: String): RuleTarget<Value>

Targets generated values of Value whose owner is Owner and property name is name.

inline fun <Owner, Value> property(property: KProperty1<Owner, Value>): RuleTarget<Value>

Targets values generated for property.

inline fun <Owner, Value> property(regex: Regex): RuleTarget<Value>

Targets generated values of Value whose owner is Owner and property name matches regex.

Groups declarations for values generated for path.

inline fun <Owner, Value> property(property: KProperty1<Owner, Value>, noinline configure: RuleTarget<Value>.() -> Unit): RuleTarget<Value>

Groups declarations for values generated for property.

fun property(owner: KType, value: KType): RuleTarget<*>

Targets generated values of value whose owner is owner, regardless of property name.

fun <Owner, Value> property(property: KProperty1<Owner, Value>, owner: KType, value: KType): RuleTarget<Value>

Targets generated values for property whose owner is owner and value type is value.

fun property(owner: KType, name: String, value: KType): RuleTarget<*>

Targets generated values of value whose owner is owner and property name is name.

fun property(owner: KType, regex: Regex, value: KType): RuleTarget<*>

Targets generated values of value whose owner is owner and property name matches regex.

Link copied to clipboard
abstract fun <T> register(metadata: FiktionTypeMetadata<T>)

Registers type construction metadata.

Link copied to clipboard
inline fun <T> type(): RuleTarget<T>

Targets every generated value of T.

inline fun <T> type(noinline configure: RuleTarget<T>.() -> Unit): RuleTarget<T>

Groups declarations for every generated value of T.

fun type(type: KType): RuleTarget<*>

Targets every generated value of type.

Link copied to clipboard

Targets every generated value whose type belongs to T's type family.

Targets every generated value whose type belongs to type's type family.

Link copied to clipboard

Configures built-in or add-on generator behavior for every generated value matching value's scope.

fun <Scope, Value : Any> using(key: FiktionConfig<Scope, Value>, value: Value)

Configures built-in or add-on generator behavior for every generated value matching key's scope.

Link copied to clipboard
abstract infix fun withSeed(seed: Long)

Sets the root seed used by generated values.