Darryl Pierce
11/14/2023, 12:12 PMJeff Lockhart
11/14/2023, 5:39 PMDarryl Pierce
11/16/2023, 2:25 PMkotlin {
// ...
commonTest.dependencies {
implementation(libs.kotlin.test)
}
}
Darryl Pierce
11/16/2023, 2:26 PMJeff Lockhart
11/16/2023, 5:17 PMDarryl Pierce
11/16/2023, 6:29 PMJeff Lockhart
11/16/2023, 9:40 PMjava.lang.IllegalStateException: Module entity with name: variant should be availableinitially during Gradle sync. I fixed this by changing
rootProject.name = "Variant"
to lowercase
rootProject.name = "variant"
in settings.gradle.kts.Darryl Pierce
11/17/2023, 2:17 PMDarryl Pierce
11/17/2023, 2:34 PMJeff Lockhart
11/17/2023, 8:04 PMJeff Lockhart
11/17/2023, 8:31 PMval database = Database("db")
val mutableDoc = MutableDocument("remote-servers")
mutableDoc["servers"].array = MutableArray()
.setData(listOf("<https://foo.com>", "<https://bar.com>"))
database.save(mutableDoc)
val doc = database.getDocument("remote-servers")
?: MutableDocument("remote-servers") // not found
val firstServer = doc["servers"][0].string
Or you can use kotlinx-serialization to map the JSON data to a model object. The docs have examples doing this from a query result using the KTX extensions library. Or similar to the above code accessing by document ID:
@Serializable
class RemoteServers(
servers: List<String> = emptyList()
)
val database = Database("db")
val remoteServers = RemoteServers(listOf("<https://foo.com>", "<https://bar.com>"))
val json = Json.encodeToString(remoteServers)
val mutableDoc = MutableDocument("remote-servers", json)
database.save(mutableDoc)
val doc = database.getDocument("remote-servers")
val remoteServersFromDb = Json.decodeFromString<RemoteServers>(doc?.toJSON() ?: "{}")