mirror of
https://github.com/InsanusMokrassar/SDI.git
synced 2024-06-01 23:45:12 +00:00
36 lines
1.2 KiB
Kotlin
36 lines
1.2 KiB
Kotlin
package dev.inmo.sdi
|
|
|
|
import kotlin.reflect.KClass
|
|
import kotlinx.serialization.json.Json
|
|
import kotlinx.serialization.modules.SerializersModuleBuilder
|
|
import java.io.File
|
|
import java.io.InputStream
|
|
|
|
|
|
fun Json.loadModule(
|
|
stream: InputStream,
|
|
vararg additionalClassesToInclude: KClass<*>,
|
|
moduleBuilder: (SerializersModuleBuilder.() -> Unit)? = null
|
|
) = loadModule(stream.reader().readText(), *additionalClassesToInclude, moduleBuilder = moduleBuilder)
|
|
|
|
|
|
fun loadModule(
|
|
stream: InputStream,
|
|
vararg additionalClassesToInclude: KClass<*>,
|
|
moduleBuilder: (SerializersModuleBuilder.() -> Unit)? = null
|
|
) = nonStrictJson.loadModule(stream, *additionalClassesToInclude, moduleBuilder = moduleBuilder)
|
|
|
|
|
|
fun Json.loadModule(
|
|
file: File,
|
|
vararg additionalClassesToInclude: KClass<*>,
|
|
moduleBuilder: (SerializersModuleBuilder.() -> Unit)? = null
|
|
) = loadModule(file.inputStream(), *additionalClassesToInclude, moduleBuilder = moduleBuilder)
|
|
|
|
|
|
fun loadModule(
|
|
file: File,
|
|
vararg additionalClassesToInclude: KClass<*>,
|
|
moduleBuilder: (SerializersModuleBuilder.() -> Unit)? = null
|
|
) = nonStrictJson.loadModule(file, *additionalClassesToInclude, moduleBuilder = moduleBuilder)
|