Fix compile errors in DriverModule

pull/1323/head
lihenggui 2 years ago
parent 5e792f08d9
commit e0ac78cb12

@ -57,6 +57,7 @@ kotlin {
val jsMain by getting {
dependencies {
implementation(libs.sqldelight.webworker.driver)
implementation(npm("sql.js", "1.6.2"))
implementation(devNpm("copy-webpack-plugin", "9.1.0"))
}
}

@ -22,8 +22,14 @@ import app.cash.sqldelight.db.QueryResult
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.db.SqlSchema
import app.cash.sqldelight.driver.android.AndroidSqliteDriver
import me.tatarka.inject.annotations.Component
import me.tatarka.inject.annotations.Inject
import me.tatarka.inject.annotations.Provides
actual class DriverFactory(private val context: Context) {
@Inject
actual class DriverModule(private val context: Context) {
@Provides
actual suspend fun provideDbDriver(
schema: SqlSchema<QueryResult.AsyncValue<Unit>>,
): SqlDriver {

@ -16,38 +16,42 @@
package com.google.samples.apps.nowinandroid.core.database
import app.cash.sqldelight.db.SqlDriver
import com.google.samples.apps.nowinandroid.core.database.dao.NewsResourceDao
import com.google.samples.apps.nowinandroid.core.database.dao.NewsResourceFtsDao
import com.google.samples.apps.nowinandroid.core.database.dao.RecentSearchQueryDao
import com.google.samples.apps.nowinandroid.core.database.dao.TopicDao
import com.google.samples.apps.nowinandroid.core.database.dao.TopicFtsDao
import kotlinx.coroutines.Dispatchers
import me.tatarka.inject.annotations.Component
import me.tatarka.inject.annotations.Provides
@Component
internal object DaosModule {
internal object DatabaseModule {
@Provides
fun providesNiaDatabase(driver: SqlDriver): NiaDatabase = NiaDatabase(driver)
@Provides
fun providesTopicsDao(
database: NiaDatabase,
): TopicDao = database.topicDao()
): TopicDao = TopicDao(database, Dispatchers.Default)
@Provides
fun providesNewsResourceDao(
database: NiaDatabase,
): NewsResourceDao = database.newsResourceDao()
): NewsResourceDao = NewsResourceDao(database, Dispatchers.Default)
@Provides
fun providesTopicFtsDao(
database: NiaDatabase,
): TopicFtsDao = database.topicFtsDao()
): TopicFtsDao = TopicFtsDao(database, Dispatchers.Default)
@Provides
fun providesNewsResourceFtsDao(
database: NiaDatabase,
): NewsResourceFtsDao = database.newsResourceFtsDao()
): NewsResourceFtsDao = NewsResourceFtsDao(database, Dispatchers.Default)
@Provides
fun providesRecentSearchQueryDao(
database: NiaDatabase,
): RecentSearchQueryDao = database.recentSearchQueryDao()
): RecentSearchQueryDao = RecentSearchQueryDao(database, Dispatchers.Default)
}

@ -19,8 +19,11 @@ package com.google.samples.apps.nowinandroid.core.database
import app.cash.sqldelight.db.QueryResult
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.db.SqlSchema
import me.tatarka.inject.annotations.Component
import me.tatarka.inject.annotations.Provides
expect class DriverFactory {
expect class DriverModule {
@Provides
suspend fun provideDbDriver(
schema: SqlSchema<QueryResult.AsyncValue<Unit>>,
): SqlDriver

@ -16,27 +16,18 @@
package com.google.samples.apps.nowinandroid.core.database.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
import kotlinx.datetime.Instant
/**
* Defines an NiA news resource.
*/
@Entity(
tableName = "news_resources",
)
data class NewsResourceEntity(
@PrimaryKey
val id: String,
val title: String,
val content: String,
val url: String,
@ColumnInfo(name = "header_image_url")
val headerImageUrl: String?,
@ColumnInfo(name = "publish_date")
val publishDate: Instant,
val type: String,
)

@ -20,9 +20,12 @@ import app.cash.sqldelight.db.QueryResult
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.db.SqlSchema
import app.cash.sqldelight.driver.worker.WebWorkerDriver
import me.tatarka.inject.annotations.Component
import me.tatarka.inject.annotations.Provides
import org.w3c.dom.Worker
actual class DriverFactory {
actual class DriverModule {
@Provides
actual suspend fun provideDbDriver(
schema: SqlSchema<QueryResult.AsyncValue<Unit>>,
): SqlDriver {

@ -20,8 +20,11 @@ import app.cash.sqldelight.db.QueryResult
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.db.SqlSchema
import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver
import me.tatarka.inject.annotations.Component
import me.tatarka.inject.annotations.Provides
actual class DriverFactory {
actual class DriverModule {
@Provides
actual suspend fun provideDbDriver(
schema: SqlSchema<QueryResult.AsyncValue<Unit>>,
): SqlDriver {

@ -21,8 +21,13 @@ import app.cash.sqldelight.db.QueryResult
import app.cash.sqldelight.db.SqlDriver
import app.cash.sqldelight.db.SqlSchema
import app.cash.sqldelight.driver.native.NativeSqliteDriver
import me.tatarka.inject.annotations.Component
import me.tatarka.inject.annotations.Provides
actual class DriverFactory {
@Component
actual class DriverModule {
@Provides
actual suspend fun provideDbDriver(
schema: SqlSchema<QueryResult.AsyncValue<Unit>>,
): SqlDriver {
Loading…
Cancel
Save