From a2ec09d1c1f0a7edf241fd7e8411191c8d84604b Mon Sep 17 00:00:00 2001 From: Jerry Okafor Date: Tue, 18 Jun 2024 12:05:33 -0600 Subject: [PATCH] chore : update README.md --- .../Datastore.native.kt | 21 +++++++++++++++++++ .../Injection.native.kt | 7 +++++++ 2 files changed, 28 insertions(+) create mode 100644 core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Datastore.native.kt create mode 100644 core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Injection.native.kt diff --git a/core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Datastore.native.kt b/core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Datastore.native.kt new file mode 100644 index 0000000..14908d8 --- /dev/null +++ b/core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Datastore.native.kt @@ -0,0 +1,21 @@ +package com.jerryokafor.core.datastore + +import kotlinx.cinterop.ExperimentalForeignApi +import platform.Foundation.NSDocumentDirectory +import platform.Foundation.NSFileManager +import platform.Foundation.NSURL +import platform.Foundation.NSUserDomainMask + +@OptIn(ExperimentalForeignApi::class) +fun createDataStore(): UserDataStore = + UserDataStore { + val documentDirectory: NSURL? = + NSFileManager.defaultManager.URLForDirectory( + directory = NSDocumentDirectory, + inDomain = NSUserDomainMask, + appropriateForURL = null, + create = false, + error = null, + ) + requireNotNull(documentDirectory).path + "/$dataStoreFileName" + } diff --git a/core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Injection.native.kt b/core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Injection.native.kt new file mode 100644 index 0000000..99e65ea --- /dev/null +++ b/core/datastore/src/nativeMain/kotlin/com.jerryokafor.core.datastore/Injection.native.kt @@ -0,0 +1,7 @@ +package com.jerryokafor.core.datastore + +import org.koin.dsl.module + +fun nativeUserDatastoreModule() = module { + single { createDataStore() } + }