chore: fix broken links in documentation, improve code snippets, and remove unnecessary imports in guides

This commit is contained in:
2026-03-15 20:05:23 +01:00
parent daeae0f868
commit 5f6114450d
6 changed files with 20 additions and 88 deletions
@@ -138,10 +138,6 @@ FROM User;
In `shared/src/commonMain/kotlin/database/DatabaseDriverFactory.kt`:
```kotlin
package com.example.database
import app.cash.sqldelight.db.SqlDriver
expect class DatabaseDriverFactory {
fun createDriver(): SqlDriver
}
@@ -154,12 +150,6 @@ expect class DatabaseDriverFactory {
`shared/src/androidMain/kotlin/database/DatabaseDriverFactory.android.kt`:
```kotlin
package com.example.database
import android.content.Context
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.driver.android.AndroidSqliteDriver
actual class DatabaseDriverFactory(private val context: Context) {
actual fun createDriver(): SqlDriver {
return AndroidSqliteDriver(
@@ -176,11 +166,6 @@ actual class DatabaseDriverFactory(private val context: Context) {
`shared/src/iosMain/kotlin/database/DatabaseDriverFactory.ios.kt`:
```kotlin
package com.example.database
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.driver.native.NativeSqliteDriver
actual class DatabaseDriverFactory {
actual fun createDriver(): SqlDriver {
return NativeSqliteDriver(
@@ -197,11 +182,6 @@ actual class DatabaseDriverFactory {
`shared/src/desktopMain/kotlin/database/DatabaseDriverFactory.desktop.kt`:
```kotlin
package com.example.database
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver
actual class DatabaseDriverFactory {
actual fun createDriver(): SqlDriver {
val driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY)
@@ -217,14 +197,6 @@ actual class DatabaseDriverFactory {
In `shared/src/commonMain/kotlin/repository/UserRepository.kt`:
```kotlin
package com.example.repository
import com.example.database.AppDatabase
import com.example.database.User
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.IO
import kotlinx.coroutines.withContext
class UserRepository(private val database: AppDatabase) {
private val queries = database.userQueries
@@ -261,13 +233,6 @@ class UserRepository(private val database: AppDatabase) {
In `shared/src/commonMain/kotlin/di/DatabaseModule.kt`:
```kotlin
package com.example.di
import com.example.database.AppDatabase
import com.example.database.DatabaseDriverFactory
import com.example.repository.UserRepository
import org.koin.dsl.module
val databaseModule = module {
single { DatabaseDriverFactory() }
single { AppDatabase(get<DatabaseDriverFactory>().createDriver()) }
@@ -283,12 +248,6 @@ val databaseModule = module {
`shared/src/androidMain/kotlin/di/PlatformModule.android.kt`:
```kotlin
package com.example.di
import com.example.database.DatabaseDriverFactory
import org.koin.android.ext.koin.androidContext
import org.koin.dsl.module
actual val platformModule = module {
single { DatabaseDriverFactory(androidContext()) }
}
@@ -300,11 +259,6 @@ actual val platformModule = module {
`shared/src/iosMain/kotlin/di/PlatformModule.ios.kt`:
```kotlin
package com.example.di
import com.example.database.DatabaseDriverFactory
import org.koin.dsl.module
actual val platformModule = module {
single { DatabaseDriverFactory() }
}
@@ -316,11 +270,6 @@ actual val platformModule = module {
`shared/src/desktopMain/kotlin/di/PlatformModule.desktop.kt`:
```kotlin
package com.example.di
import com.example.database.DatabaseDriverFactory
import org.koin.dsl.module
actual val platformModule = module {
single { DatabaseDriverFactory() }
}
@@ -332,10 +281,6 @@ actual val platformModule = module {
`shared/src/commonMain/kotlin/di/PlatformModule.kt`:
```kotlin
package com.example.di
import org.koin.core.module.Module
expect val platformModule: Module
```
@@ -345,11 +290,6 @@ expect val platformModule: Module
In `shared/src/commonMain/kotlin/di/KoinInit.kt`:
```kotlin
package com.example.di
import org.koin.core.context.startKoin
import org.koin.dsl.KoinAppDeclaration
fun initKoin(appDeclaration: KoinAppDeclaration = {}) = startKoin {
appDeclaration()
modules(
@@ -388,9 +328,6 @@ class MainActivity : ComponentActivity() {
In `iosApp/iosApp/iOSApp.swift`:
```kotlin
import SwiftUI
import shared
@main
struct iOSApp : App {
@@ -431,17 +368,6 @@ fun main() {
In `shared/src/commonMain/kotlin/viewmodel/UserViewModel.kt`:
```kotlin
package com.example.viewmodel
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.example.database.User
import com.example.repository.UserRepository
import kotlinx.coroutines.launch
class UserViewModel(private val userRepository: UserRepository) : ViewModel() {
var users by mutableStateOf<List<User>>(emptyList())
@@ -39,8 +39,6 @@ Anstatt die Datenbank direkt beim App-Start zu initialisieren (was im Web blocki
**Datei:** `shared/src/commonMain/kotlin/.../DatabaseDriverFactory.kt`
```kotlin
import app.cash.sqldelight.db.SqlDriver
interface DatabaseDriverFactory {
suspend fun createDriver(): SqlDriver
}
@@ -54,9 +52,6 @@ Diese Komponente löst das Problem des Nutzers, indem sie die Initialisierung bi
**Datei:** `shared/src/commonMain/kotlin/.../DatabaseWrapper.kt`
```kotlin
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
class DatabaseWrapper(private val driverFactory: DatabaseDriverFactory) {
private var _database: AppDatabase? = null
private val mutex = Mutex()
@@ -87,9 +82,6 @@ Hier liegt der Kern der Lösung: Wir warten explizit auf die Schema-Erstellung (
**Datei:** `shared/src/jsMain/kotlin/.../WebDatabaseDriverFactory.kt`
```kotlin
import app.cash.sqldelight.driver.worker.WebWorkerDriver
import org.w3c.dom.Worker
class WebDatabaseDriverFactory : DatabaseDriverFactory {
override suspend fun createDriver(): SqlDriver {
val worker = Worker(