Skip to content

Commit baae7c3

Browse files
committed
[WEB] implement shared js module
1 parent ccd739b commit baae7c3

File tree

5 files changed

+55
-0
lines changed

5 files changed

+55
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package me.moallemi.kmpshowcase.shared
2+
3+
actual class Platform actual constructor() {
4+
actual val platform: String = "Web"
5+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package me.moallemi.kmpshowcase.shared.di
2+
3+
import io.ktor.client.engine.js.Js
4+
import org.koin.core.module.Module
5+
import org.koin.dsl.module
6+
7+
fun initKoinJs() = initKoin {
8+
modules(
9+
viewModelsModule
10+
)
11+
}
12+
13+
actual val platformModule: Module = module {
14+
single {
15+
Js.create()
16+
}
17+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package me.moallemi.kmpshowcase.shared.presentation
2+
3+
import kotlinx.coroutines.CoroutineScope
4+
import kotlin.coroutines.CoroutineContext
5+
6+
actual abstract class BaseViewModel actual constructor(
7+
viewModelContext: CoroutineContext
8+
) : CoroutineScope {
9+
actual override val coroutineContext: CoroutineContext = viewModelContext
10+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package me.moallemi.kmpshowcase.shared.utils
2+
3+
import kotlinx.coroutines.Dispatchers
4+
import kotlin.coroutines.CoroutineContext
5+
6+
internal actual val applicationDispatcher: CoroutineContext = Dispatchers.Main
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package me.moallemi.kmpshowcase.shared.utils
2+
3+
import me.moallemi.kmpshowcase.shared.utils.LogLevel.DEBUG
4+
import me.moallemi.kmpshowcase.shared.utils.LogLevel.ERROR
5+
import me.moallemi.kmpshowcase.shared.utils.LogLevel.WARN
6+
7+
actual fun log(
8+
message: String?,
9+
tag: String,
10+
level: LogLevel
11+
) {
12+
when (level) {
13+
DEBUG -> console.log(message)
14+
WARN -> console.warn(message)
15+
ERROR -> console.error(message)
16+
}.exhaustive
17+
}

0 commit comments

Comments
 (0)