Bradleycorn
05/10/2023, 2:31 PMval appConfig = AppConfig {
name = "My App"
storage {
filePath = "/path/to/some/dir"
}
network {
baseUrl = "<https://api.mysite.com>"
authType = "Basic"
}
}
Wondering if someone might provide some advice on the best way to do this? I have written some code that works, but as this is my first attempt, I’m wondering if I’ve done it the “right”/“best” way. Code is in the 🧵Bradleycorn
05/10/2023, 2:35 PMclass NetworkConfig {
var baseUrl: String = ""
var authType: String = "None"
}
class StorageConfig {
var filePath = "/"
}
class AppConfig {
var name: String = "
var storageConfig: StorageConfig = StorageConfig()
private set
var networkConfig: NetworkConfig = NetworkConfig()
private set
fun storage(block: StorageConfig.()->Unit) {
storageConfig = StorageConfig().apply(block)
}
fun network(block: StorageConfig.()->Unit) {
networkConfig = NetworkConfig().apply(block)
}
}
fun AppConfig(block: AppConfig.()->Unit): AppConfig {
return AppConfig().apply(block)
}
Does this seem good?Yogeshvu
05/10/2023, 5:18 PMandyg
05/13/2023, 2:56 AMMatteo Mirk
05/16/2023, 2:56 PM