Removed IO dependency from Output
This commit is contained in:
parent
01c209d1d6
commit
d6ed5f94e4
@ -9,6 +9,7 @@
|
|||||||
- Empty query in Name is null instead of ""
|
- Empty query in Name is null instead of ""
|
||||||
- Provider provides an empty map instead of error by default
|
- Provider provides an empty map instead of error by default
|
||||||
- Hidden delegates hierarchy in favor of stdlib properties
|
- Hidden delegates hierarchy in favor of stdlib properties
|
||||||
|
- Removed io depdendency from `dataforge-output`. Replaced Output by Appendable.
|
||||||
|
|
||||||
### Deprecated
|
### Deprecated
|
||||||
- Context activation API
|
- Context activation API
|
||||||
|
@ -12,7 +12,7 @@ allprojects {
|
|||||||
group = "hep.dataforge"
|
group = "hep.dataforge"
|
||||||
version = dataforgeVersion
|
version = dataforgeVersion
|
||||||
|
|
||||||
apply(plugin = "org.jetbrains.dokka")
|
apply<org.jetbrains.dokka.gradle.DokkaPlugin>()
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package hep.dataforge.names
|
||||||
|
|
||||||
|
import kotlinx.serialization.json.Json
|
||||||
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
|
|
||||||
|
class NameSerializationTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testNameSerialization() {
|
||||||
|
val name = "aaa.bbb.ccc".toName()
|
||||||
|
val json = Json.encodeToJsonElement(Name.serializer(), name)
|
||||||
|
println(json)
|
||||||
|
val reconstructed = Json.decodeFromJsonElement(Name.serializer(), json)
|
||||||
|
assertEquals(name, reconstructed)
|
||||||
|
}
|
||||||
|
}
|
@ -8,7 +8,7 @@ kotlin {
|
|||||||
val commonMain by getting{
|
val commonMain by getting{
|
||||||
dependencies {
|
dependencies {
|
||||||
api(project(":dataforge-context"))
|
api(project(":dataforge-context"))
|
||||||
api(project(":dataforge-io"))
|
//api(project(":dataforge-io"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,6 @@ import hep.dataforge.provider.Type
|
|||||||
import hep.dataforge.provider.top
|
import hep.dataforge.provider.top
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.io.Output
|
|
||||||
import kotlinx.io.text.writeUtf8String
|
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
|
||||||
@ -26,7 +24,7 @@ public interface TextFormat {
|
|||||||
*/
|
*/
|
||||||
public val type: KClass<*>
|
public val type: KClass<*>
|
||||||
|
|
||||||
public suspend fun Output.render(obj: Any)
|
public suspend fun Appendable.render(obj: Any)
|
||||||
|
|
||||||
public companion object {
|
public companion object {
|
||||||
public const val TEXT_RENDERER_TYPE: String = "dataforge.textRenderer"
|
public const val TEXT_RENDERER_TYPE: String = "dataforge.textRenderer"
|
||||||
@ -37,15 +35,15 @@ public object DefaultTextFormat : TextFormat {
|
|||||||
override val priority: Int = Int.MAX_VALUE
|
override val priority: Int = Int.MAX_VALUE
|
||||||
override val type: KClass<*> = Any::class
|
override val type: KClass<*> = Any::class
|
||||||
|
|
||||||
override suspend fun Output.render(obj: Any) {
|
override suspend fun Appendable.render(obj: Any) {
|
||||||
writeUtf8String(obj.toString() + "\n")
|
append(obj.toString() + "\n")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A text-based renderer
|
* A text-based renderer
|
||||||
*/
|
*/
|
||||||
public class TextRenderer(override val context: Context, private val output: Output) : Renderer<Any> {
|
public class TextRenderer(override val context: Context, private val output: Appendable) : Renderer<Any> {
|
||||||
private val cache = HashMap<KClass<*>, TextFormat>()
|
private val cache = HashMap<KClass<*>, TextFormat>()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -10,6 +10,7 @@ kotlin {
|
|||||||
api(project(":dataforge-context"))
|
api(project(":dataforge-context"))
|
||||||
api(project(":dataforge-data"))
|
api(project(":dataforge-data"))
|
||||||
api(project(":dataforge-output"))
|
api(project(":dataforge-output"))
|
||||||
|
api(project(":dataforge-io"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user