Remove some experimental flags
This commit is contained in:
parent
db2da2027d
commit
facf7c3c7e
@ -6,7 +6,6 @@ import space.kscience.dataforge.meta.MutableMeta
|
|||||||
import space.kscience.dataforge.meta.seal
|
import space.kscience.dataforge.meta.seal
|
||||||
import space.kscience.dataforge.meta.toMutableMeta
|
import space.kscience.dataforge.meta.toMutableMeta
|
||||||
import space.kscience.dataforge.misc.DFBuilder
|
import space.kscience.dataforge.misc.DFBuilder
|
||||||
import space.kscience.dataforge.misc.DFExperimental
|
|
||||||
import space.kscience.dataforge.misc.DFInternal
|
import space.kscience.dataforge.misc.DFInternal
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import kotlin.reflect.KType
|
import kotlin.reflect.KType
|
||||||
@ -95,7 +94,7 @@ internal class MapAction<T, R>(
|
|||||||
/**
|
/**
|
||||||
* A one-to-one mapping action
|
* A one-to-one mapping action
|
||||||
*/
|
*/
|
||||||
@DFExperimental
|
|
||||||
public inline fun <T, reified R> Action.Companion.mapping(
|
public inline fun <T, reified R> Action.Companion.mapping(
|
||||||
noinline builder: MapActionBuilder<T, R>.() -> Unit,
|
noinline builder: MapActionBuilder<T, R>.() -> Unit,
|
||||||
): Action<T, R> = MapAction(typeOf<R>(), builder)
|
): Action<T, R> = MapAction(typeOf<R>(), builder)
|
||||||
|
@ -4,7 +4,6 @@ import space.kscience.dataforge.data.*
|
|||||||
import space.kscience.dataforge.meta.Meta
|
import space.kscience.dataforge.meta.Meta
|
||||||
import space.kscience.dataforge.meta.MutableMeta
|
import space.kscience.dataforge.meta.MutableMeta
|
||||||
import space.kscience.dataforge.misc.DFBuilder
|
import space.kscience.dataforge.misc.DFBuilder
|
||||||
import space.kscience.dataforge.misc.DFExperimental
|
|
||||||
import space.kscience.dataforge.misc.DFInternal
|
import space.kscience.dataforge.misc.DFInternal
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.parseAsName
|
import space.kscience.dataforge.names.parseAsName
|
||||||
@ -22,12 +21,12 @@ public class JoinGroup<T, R>(
|
|||||||
|
|
||||||
public lateinit var result: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R
|
public lateinit var result: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R
|
||||||
|
|
||||||
internal fun <R1 : R> result(outputType: KType, f: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R1) {
|
internal fun <R1 : R> result(outputType: KType, f: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R1) {
|
||||||
this.outputType = outputType
|
this.outputType = outputType
|
||||||
this.result = f;
|
this.result = f;
|
||||||
}
|
}
|
||||||
|
|
||||||
public inline fun <reified R1 : R> result(noinline f: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R1) {
|
public inline fun <reified R1 : R> result(noinline f: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R1) {
|
||||||
outputType = typeOf<R1>()
|
outputType = typeOf<R1>()
|
||||||
this.result = f;
|
this.result = f;
|
||||||
}
|
}
|
||||||
@ -67,7 +66,7 @@ public class ReduceGroupBuilder<T, R>(
|
|||||||
/**
|
/**
|
||||||
* Apply transformation to the whole node
|
* Apply transformation to the whole node
|
||||||
*/
|
*/
|
||||||
public fun result(resultName: String, f: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R) {
|
public fun result(resultName: String, f: suspend ActionEnv.(Map<Name, ValueWithMeta<T>>) -> R) {
|
||||||
groupRules += { node ->
|
groupRules += { node ->
|
||||||
listOf(JoinGroup<T, R>(resultName, node, outputType).apply { result(outputType, f) })
|
listOf(JoinGroup<T, R>(resultName, node, outputType).apply { result(outputType, f) })
|
||||||
}
|
}
|
||||||
@ -111,7 +110,6 @@ internal class ReduceAction<T, R>(
|
|||||||
/**
|
/**
|
||||||
* A one-to-one mapping action
|
* A one-to-one mapping action
|
||||||
*/
|
*/
|
||||||
@DFExperimental
|
public inline fun <reified T, reified R> Action.Companion.reducing(
|
||||||
public inline fun <reified T : Any, reified R : Any> Action.Companion.reducing(
|
|
||||||
noinline builder: ReduceGroupBuilder<T, R>.() -> Unit,
|
noinline builder: ReduceGroupBuilder<T, R>.() -> Unit,
|
||||||
): Action<T, R> = ReduceAction(typeOf<R>(), builder)
|
): Action<T, R> = ReduceAction(typeOf<R>(), builder)
|
||||||
|
@ -5,7 +5,6 @@ import space.kscience.dataforge.meta.Laminate
|
|||||||
import space.kscience.dataforge.meta.Meta
|
import space.kscience.dataforge.meta.Meta
|
||||||
import space.kscience.dataforge.meta.MutableMeta
|
import space.kscience.dataforge.meta.MutableMeta
|
||||||
import space.kscience.dataforge.meta.toMutableMeta
|
import space.kscience.dataforge.meta.toMutableMeta
|
||||||
import space.kscience.dataforge.misc.DFExperimental
|
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.parseAsName
|
import space.kscience.dataforge.names.parseAsName
|
||||||
import kotlin.collections.set
|
import kotlin.collections.set
|
||||||
@ -85,7 +84,7 @@ internal class SplitAction<T, R>(
|
|||||||
/**
|
/**
|
||||||
* Action that splits each incoming element into a number of fragments defined in builder
|
* Action that splits each incoming element into a number of fragments defined in builder
|
||||||
*/
|
*/
|
||||||
@DFExperimental
|
|
||||||
public inline fun <T : Any, reified R : Any> Action.Companion.splitting(
|
public inline fun <T, reified R> Action.Companion.splitting(
|
||||||
noinline builder: SplitBuilder<T, R>.() -> Unit,
|
noinline builder: SplitBuilder<T, R>.() -> Unit,
|
||||||
): Action<T, R> = SplitAction(typeOf<R>(), builder)
|
): Action<T, R> = SplitAction(typeOf<R>(), builder)
|
@ -84,4 +84,4 @@ public fun <R> ObservableDataTree<*>.filterByType(
|
|||||||
public inline fun <reified R> ObservableDataTree<*>.filterByType(
|
public inline fun <reified R> ObservableDataTree<*>.filterByType(
|
||||||
scope: CoroutineScope,
|
scope: CoroutineScope,
|
||||||
predicate: DataFilter = DataFilter.EMPTY,
|
predicate: DataFilter = DataFilter.EMPTY,
|
||||||
): ObservableDataTree<R> = filterByType(typeOf<R>(),scope,predicate)
|
): ObservableDataTree<R> = filterByType(typeOf<R>(), scope, predicate)
|
@ -5,7 +5,6 @@ import kotlinx.io.bytestring.ByteString
|
|||||||
import kotlinx.io.bytestring.decodeToString
|
import kotlinx.io.bytestring.decodeToString
|
||||||
import kotlinx.io.bytestring.encodeToByteString
|
import kotlinx.io.bytestring.encodeToByteString
|
||||||
import space.kscience.dataforge.meta.Meta
|
import space.kscience.dataforge.meta.Meta
|
||||||
import space.kscience.dataforge.misc.DFExperimental
|
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -52,7 +51,6 @@ public fun IOPlugin.peekBinaryEnvelopeFormat(binary: Binary): EnvelopeFormat? {
|
|||||||
/**
|
/**
|
||||||
* A zero-copy read from
|
* A zero-copy read from
|
||||||
*/
|
*/
|
||||||
@DFExperimental
|
|
||||||
public fun IOPlugin.readEnvelope(
|
public fun IOPlugin.readEnvelope(
|
||||||
binary: Binary,
|
binary: Binary,
|
||||||
readNonEnvelopes: Boolean = false,
|
readNonEnvelopes: Boolean = false,
|
||||||
@ -62,7 +60,6 @@ public fun IOPlugin.readEnvelope(
|
|||||||
Envelope(Meta.EMPTY, binary)
|
Envelope(Meta.EMPTY, binary)
|
||||||
} else error("Can't infer format for $binary")
|
} else error("Can't infer format for $binary")
|
||||||
|
|
||||||
@DFExperimental
|
|
||||||
public fun IOPlugin.readEnvelope(
|
public fun IOPlugin.readEnvelope(
|
||||||
string: String,
|
string: String,
|
||||||
readNonEnvelopes: Boolean = false,
|
readNonEnvelopes: Boolean = false,
|
||||||
|
@ -77,14 +77,12 @@ public fun Path.rewrite(block: Sink.() -> Unit): Unit {
|
|||||||
stream.asSink().buffered().use(block)
|
stream.asSink().buffered().use(block)
|
||||||
}
|
}
|
||||||
|
|
||||||
@DFExperimental
|
|
||||||
public fun EnvelopeFormat.readFile(path: Path): Envelope = readFrom(path.asBinary())
|
public fun EnvelopeFormat.readFile(path: Path): Envelope = readFrom(path.asBinary())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolve IOFormat based on type
|
* Resolve IOFormat based on type
|
||||||
*/
|
*/
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
@DFExperimental
|
|
||||||
public inline fun <reified T : Any> IOPlugin.resolveIOFormat(): IOFormat<T>? =
|
public inline fun <reified T : Any> IOPlugin.resolveIOFormat(): IOFormat<T>? =
|
||||||
ioFormatFactories.find { it.type.isSupertypeOf(typeOf<T>()) } as IOFormat<T>?
|
ioFormatFactories.find { it.type.isSupertypeOf(typeOf<T>()) } as IOFormat<T>?
|
||||||
|
|
||||||
@ -192,7 +190,6 @@ public fun IOPlugin.peekFileEnvelopeFormat(path: Path): EnvelopeFormat? {
|
|||||||
*
|
*
|
||||||
* Return null otherwise.
|
* Return null otherwise.
|
||||||
*/
|
*/
|
||||||
@DFExperimental
|
|
||||||
public fun IOPlugin.readEnvelopeFile(
|
public fun IOPlugin.readEnvelopeFile(
|
||||||
path: Path,
|
path: Path,
|
||||||
readNonEnvelopes: Boolean = false,
|
readNonEnvelopes: Boolean = false,
|
||||||
|
@ -7,8 +7,6 @@ import space.kscience.dataforge.data.StaticData
|
|||||||
import space.kscience.dataforge.io.*
|
import space.kscience.dataforge.io.*
|
||||||
import space.kscience.dataforge.meta.Meta
|
import space.kscience.dataforge.meta.Meta
|
||||||
import space.kscience.dataforge.meta.copy
|
import space.kscience.dataforge.meta.copy
|
||||||
import space.kscience.dataforge.misc.DFExperimental
|
|
||||||
import space.kscience.dataforge.misc.DFInternal
|
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.NameToken
|
import space.kscience.dataforge.names.NameToken
|
||||||
import space.kscience.dataforge.names.asName
|
import space.kscience.dataforge.names.asName
|
||||||
@ -39,7 +37,6 @@ public object FileData {
|
|||||||
* Read data with supported envelope format and binary format. If the envelope format is null, then read binary directly from file.
|
* Read data with supported envelope format and binary format. If the envelope format is null, then read binary directly from file.
|
||||||
* The operation is blocking since it must read the meta header. The reading of envelope body is lazy
|
* The operation is blocking since it must read the meta header. The reading of envelope body is lazy
|
||||||
*/
|
*/
|
||||||
@OptIn(DFExperimental::class)
|
|
||||||
public fun IOPlugin.readFileData(
|
public fun IOPlugin.readFileData(
|
||||||
path: Path,
|
path: Path,
|
||||||
): Data<Binary> {
|
): Data<Binary> {
|
||||||
@ -127,8 +124,6 @@ public fun DataSink<Binary>.files(
|
|||||||
|
|
||||||
private fun Path.toName() = Name(map { NameToken.parse(it.nameWithoutExtension) })
|
private fun Path.toName() = Name(map { NameToken.parse(it.nameWithoutExtension) })
|
||||||
|
|
||||||
@DFInternal
|
|
||||||
@DFExperimental
|
|
||||||
public fun DataSink<Binary>.monitorFiles(
|
public fun DataSink<Binary>.monitorFiles(
|
||||||
io: IOPlugin,
|
io: IOPlugin,
|
||||||
name: Name,
|
name: Name,
|
||||||
@ -171,7 +166,6 @@ public fun DataSink<Binary>.monitorFiles(
|
|||||||
* @param resources The names of the resources to read.
|
* @param resources The names of the resources to read.
|
||||||
* @param classLoader The class loader to use for loading the resources. By default, it uses the current thread's context class loader.
|
* @param classLoader The class loader to use for loading the resources. By default, it uses the current thread's context class loader.
|
||||||
*/
|
*/
|
||||||
@DFExperimental
|
|
||||||
public fun DataSink<Binary>.resources(
|
public fun DataSink<Binary>.resources(
|
||||||
io: IOPlugin,
|
io: IOPlugin,
|
||||||
vararg resources: String,
|
vararg resources: String,
|
||||||
|
Loading…
Reference in New Issue
Block a user