21 lines
656 B
Kotlin
21 lines
656 B
Kotlin
package net.sergeych.bintools
|
|
|
|
import java.nio.file.Paths
|
|
import kotlin.io.path.createDirectories
|
|
|
|
actual fun defaultNamedStorage(name: String): KVStorage {
|
|
val rootFolder = Paths.get(when {
|
|
// absolute path
|
|
name.startsWith("/") -> name
|
|
// path - assume the caller knows what to do
|
|
name.contains("/") -> name
|
|
// simple name - we will create it in the user home:
|
|
else -> {
|
|
val home = System.getProperty("user.home")
|
|
"$home/.local_storage/$name"
|
|
}
|
|
})
|
|
rootFolder.createDirectories()
|
|
val provider = FileDataProvider(rootFolder)
|
|
return DataKVStorage(provider)
|
|
} |