remove unnecessary type limitations in actions
This commit is contained in:
parent
e850ca4145
commit
aa4c745819
@ -21,7 +21,7 @@ internal fun MutableMap<Name, *>.removeWhatStartsWith(name: Name) {
|
|||||||
/**
|
/**
|
||||||
* An action that caches results on-demand and recalculates them on source push
|
* An action that caches results on-demand and recalculates them on source push
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractAction<T : Any, R : Any>(
|
public abstract class AbstractAction<T, R>(
|
||||||
public val outputType: KType,
|
public val outputType: KType,
|
||||||
) : Action<T, R> {
|
) : Action<T, R> {
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ public class MapActionBuilder<T, R>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PublishedApi
|
@PublishedApi
|
||||||
internal class MapAction<T : Any, R : Any>(
|
internal class MapAction<T, R>(
|
||||||
outputType: KType,
|
outputType: KType,
|
||||||
private val block: MapActionBuilder<T, R>.() -> Unit,
|
private val block: MapActionBuilder<T, R>.() -> Unit,
|
||||||
) : AbstractAction<T, R>(outputType) {
|
) : AbstractAction<T, R>(outputType) {
|
||||||
@ -96,7 +96,7 @@ internal class MapAction<T : Any, R : Any>(
|
|||||||
* A one-to-one mapping action
|
* A one-to-one mapping action
|
||||||
*/
|
*/
|
||||||
@DFExperimental
|
@DFExperimental
|
||||||
public inline fun <T : Any, reified R : Any> 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)
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import kotlin.reflect.KType
|
|||||||
import kotlin.reflect.typeOf
|
import kotlin.reflect.typeOf
|
||||||
|
|
||||||
|
|
||||||
public class JoinGroup<T : Any, R : Any>(
|
public class JoinGroup<T, R>(
|
||||||
public var name: String,
|
public var name: String,
|
||||||
internal val set: DataTree<T>,
|
internal val set: DataTree<T>,
|
||||||
@PublishedApi internal var outputType: KType,
|
@PublishedApi internal var outputType: KType,
|
||||||
@ -35,7 +35,7 @@ public class JoinGroup<T : Any, R : Any>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DFBuilder
|
@DFBuilder
|
||||||
public class ReduceGroupBuilder<T : Any, R : Any>(
|
public class ReduceGroupBuilder<T, R>(
|
||||||
public val actionMeta: Meta,
|
public val actionMeta: Meta,
|
||||||
private val outputType: KType,
|
private val outputType: KType,
|
||||||
) {
|
) {
|
||||||
@ -79,7 +79,7 @@ public class ReduceGroupBuilder<T : Any, R : Any>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PublishedApi
|
@PublishedApi
|
||||||
internal class ReduceAction<T : Any, R : Any>(
|
internal class ReduceAction<T, R>(
|
||||||
outputType: KType,
|
outputType: KType,
|
||||||
private val action: ReduceGroupBuilder<T, R>.() -> Unit,
|
private val action: ReduceGroupBuilder<T, R>.() -> Unit,
|
||||||
) : AbstractAction<T, R>(outputType) {
|
) : AbstractAction<T, R>(outputType) {
|
||||||
|
@ -13,9 +13,9 @@ import kotlin.reflect.KType
|
|||||||
import kotlin.reflect.typeOf
|
import kotlin.reflect.typeOf
|
||||||
|
|
||||||
|
|
||||||
public class SplitBuilder<T : Any, R : Any>(public val name: Name, public val meta: Meta) {
|
public class SplitBuilder<T, R>(public val name: Name, public val meta: Meta) {
|
||||||
|
|
||||||
public class FragmentRule<T : Any, R : Any>(
|
public class FragmentRule<T, R>(
|
||||||
public val name: Name,
|
public val name: Name,
|
||||||
public var meta: MutableMeta,
|
public var meta: MutableMeta,
|
||||||
@PublishedApi internal var outputType: KType,
|
@PublishedApi internal var outputType: KType,
|
||||||
@ -44,7 +44,7 @@ public class SplitBuilder<T : Any, R : Any>(public val name: Name, public val me
|
|||||||
* 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
|
||||||
*/
|
*/
|
||||||
@PublishedApi
|
@PublishedApi
|
||||||
internal class SplitAction<T : Any, R : Any>(
|
internal class SplitAction<T, R>(
|
||||||
outputType: KType,
|
outputType: KType,
|
||||||
private val action: SplitBuilder<T, R>.() -> Unit,
|
private val action: SplitBuilder<T, R>.() -> Unit,
|
||||||
) : AbstractAction<T, R>(outputType) {
|
) : AbstractAction<T, R>(outputType) {
|
||||||
|
@ -20,7 +20,7 @@ import space.kscience.dataforge.meta.string
|
|||||||
import space.kscience.dataforge.misc.DFInternal
|
import space.kscience.dataforge.misc.DFInternal
|
||||||
|
|
||||||
public interface GroupRule {
|
public interface GroupRule {
|
||||||
public fun <T : Any> gather(set: DataTree<T>): Map<String, DataTree<T>>
|
public fun <T> gather(set: DataTree<T>): Map<String, DataTree<T>>
|
||||||
|
|
||||||
public companion object {
|
public companion object {
|
||||||
/**
|
/**
|
||||||
@ -37,7 +37,7 @@ public interface GroupRule {
|
|||||||
defaultTagValue: String,
|
defaultTagValue: String,
|
||||||
): GroupRule = object : GroupRule {
|
): GroupRule = object : GroupRule {
|
||||||
|
|
||||||
override fun <T : Any> gather(
|
override fun <T> gather(
|
||||||
set: DataTree<T>,
|
set: DataTree<T>,
|
||||||
): Map<String, DataTree<T>> {
|
): Map<String, DataTree<T>> {
|
||||||
val map = HashMap<String, DataTreeBuilder<T>>()
|
val map = HashMap<String, DataTreeBuilder<T>>()
|
||||||
|
Loading…
Reference in New Issue
Block a user