Skip to content

Instantly share code, notes, and snippets.

@Rasalexman
Created August 27, 2019 21:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rasalexman/e55afb34afae839cc55704f416d7db8e to your computer and use it in GitHub Desktop.
Save Rasalexman/e55afb34afae839cc55704f416d7db8e to your computer and use it in GitHub Desktop.
typealias UserAddressBuilderLambda = () -> UserAddress // 1
class UserAddressBuilder(
addressInit: UserAddressBuilder.() -> Unit // 2
) : UserAddressBuilderLambda {
init {
this.addressInit() // 3
}
var userCity: String = ""
var userCountry: String = ""
override fun invoke(): UserAddress { // 4
return object : UserAddress {
override val city: String = userCity
override val country: String = userCountry
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment