io.github.serpro69.kfaker.provider.Superhero.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kotlin-faker Show documentation
Show all versions of kotlin-faker Show documentation
https://github.com/serpro69/kotlin-faker
package io.github.serpro69.kfaker.provider
import io.github.serpro69.kfaker.*
import io.github.serpro69.kfaker.dictionary.*
import io.github.serpro69.kfaker.provider.unique.LocalUniqueDataProvider
import io.github.serpro69.kfaker.provider.unique.UniqueProviderDelegate
/**
* [FakeDataProvider] implementation for [YamlCategory.SUPERHERO] category.
*/
@Suppress("unused")
class Superhero internal constructor(fakerService: FakerService) : YamlFakeDataProvider(fakerService) {
override val yamlCategory = YamlCategory.SUPERHERO
override val localUniqueDataProvider = LocalUniqueDataProvider()
override val unique by UniqueProviderDelegate(localUniqueDataProvider)
init {
fakerService.load(yamlCategory)
}
// These functions are needed because the value for `name` property
// is resolved with these properties through yml expression in the form of `#{Superhero.prefix}`
internal fun prefix() = resolve("prefix")
internal fun suffix() = resolve("suffix")
internal fun descriptor() = resolve("descriptor")
fun power() = resolve("power")
fun name() = resolve("name")
}