package com.ys.bdtp.adm.mvvm.model

/**
 * 网络请求状态
 *
 * @author bai
 */
sealed class Response<T> {
    companion object {
        fun <T> create(message: String): FailureResponse<T> {
            return FailureResponse(message)
        }

        fun <T> create(data: T): SuccessResponse<T> {
            return SuccessResponse(data)
        }
    }
}

/**
 * 网络请求成功
 *
 * @author bai
 */
data class SuccessResponse<T>(val data: T) : Response<T>()


/**
 * 网络请求失败
 *
 * @author bai
 */
data class FailureResponse<T>(val message: String) : Response<T>()