io.github.serpro69.kfaker.provider.Name.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.NAME] category.
*/
@Suppress("unused")
class Name internal constructor(fakerService: FakerService) : YamlFakeDataProvider(fakerService) {
override val yamlCategory = YamlCategory.NAME
override val localUniqueDataProvider = LocalUniqueDataProvider()
override val unique by UniqueProviderDelegate(localUniqueDataProvider)
init {
fakerService.load(category)
}
fun maleFirstName() = resolve("male_first_name")
fun femaleFirstName() = resolve("female_first_name")
fun neutralFirstName() = resolve("neutral_first_name")
fun firstName() = resolve("first_name")
fun lastName() = resolve("last_name")
fun name() = resolve("name")
fun nameWithMiddle() = resolve("name_with_middle")
// NB! These are not part of original name.yml
// but are here to support some discrepancies with some localized dicts ('bg', 'ru', 'uk')
// See also https://github.com/serpro69/kotlin-faker/issues/89
@Deprecated(
message = "This function is deprecated and will be removed in future releases",
ReplaceWith("lastName()")
)
fun maleLastName() = lastName()
@Deprecated(
message = "This function is deprecated and will be removed in future releases",
ReplaceWith("lastName()")
)
fun femaleLastName() = lastName()
}