Remove some experimental flags

This commit is contained in:
Alexander Nozik 2024-02-19 20:10:15 +03:00
parent db2da2027d
commit facf7c3c7e
7 changed files with 8 additions and 24 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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,

View File

@ -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,

View File

@ -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,