Czytam sobie dokumentację Arrow i zastanawia mnie jeden z przykładów.
sealed class CookingException {
object NastyLettuce: CookingException()
object KnifeIsDull: CookingException()
data class InsufficientAmountOfLettuce(val quantityInGrams : Int): CookingException()
}
typealias NastyLettuce = CookingException.NastyLettuce
typealias KnifeIsDull = CookingException.KnifeIsDull
typealias InsufficientAmountOfLettuce = CookingException.InsufficientAmountOfLettuce
Po co są te typealiasy? Dlaczego nie po prostu:
sealed class CookingException
object NastyLettuce: CookingException()
object KnifeIsDull: CookingException()
data class InsufficientAmountOfLettuce(val quantityInGrams : Int): CookingException()